Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data ProgressEvent
- data ProgressReporting = ProgressReporting {
- progressUpdate :: ProgressEvent -> IO ()
- inProgress :: forall a. NormalizedFilePath -> Action a -> Action a
- progressStop :: IO ()
- noProgressReporting :: IO ProgressReporting
- delayedProgressReporting :: Seconds -> Seconds -> Maybe (LanguageContextEnv c) -> ProgressReportingStyle -> IO ProgressReporting
- mRunLspT :: Applicative m => Maybe (LanguageContextEnv c) -> LspT c m () -> m ()
- mRunLspTCallback :: Monad m => Maybe (LanguageContextEnv c) -> (LspT c m a -> LspT c m a) -> m a -> m a
- recordProgress :: InProgressState -> NormalizedFilePath -> (Int -> Int) -> IO ()
- data InProgressState = InProgressState {
- todoVar :: TVar Int
- doneVar :: TVar Int
- currentVar :: Map NormalizedFilePath Int
Documentation
data ProgressReporting Source #
ProgressReporting | |
|
delayedProgressReporting Source #
:: Seconds | Grace period before starting |
-> Seconds | sampling delay |
-> Maybe (LanguageContextEnv c) | |
-> ProgressReportingStyle | |
-> IO ProgressReporting |
A ProgressReporting
that enqueues Begin and End notifications in a new
thread, with a grace period (nothing will be sent if KickCompleted
arrives
before the end of the grace period).
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 #
recordProgress :: InProgressState -> NormalizedFilePath -> (Int -> Int) -> IO () Source #
data InProgressState Source #
Data structure to track progress across the project
InProgressState | |
|