ghcide-2.10.0.0: The core of an IDE
Safe HaskellSafe-Inferred
LanguageGHC2021

Development.IDE.Core.ProgressReporting

Synopsis

Documentation

data PerFileProgressReporting Source #

Constructors

PerFileProgressReporting 

Fields

progressReporting :: Maybe (LanguageContextEnv c) -> Text -> ProgressReportingStyle -> IO PerFileProgressReporting Source #

progressReporting initiates a new progress reporting session. It necessitates the active tracking of progress using the inProgress function. Refer to Note [ProgressReporting API and InProgressState] for more details.

progressReportingNoTrace :: STM Int -> STM Int -> Maybe (LanguageContextEnv c) -> Text -> ProgressReportingStyle -> IO ProgressReporting Source #

progressReportingNoTrace initiates a new progress reporting session. It functions similarly to progressReporting, but it utilizes an external state for progress tracking. Refer to Note [ProgressReporting API and InProgressState] for more details.

mRunLspT :: Applicative m => Maybe (LanguageContextEnv c) -> LspT c m () -> m () Source #

mRunLspTCallback :: Monad m => Maybe (LanguageContextEnv c) -> (LspT c m a -> LspT c m a) -> m a -> m a Source #

data InProgressState Source #

Data structure to track progress across the project see Note [ProgressReporting API and InProgressState]

Constructors

InProgressState 

Fields

progressStop :: ProgressReporter a => a -> IO () Source #

progressUpdate :: ProgressReporter a => a -> ProgressEvent -> IO () Source #