haskell-lsp-0.24.0.0: Haskell library for the Microsoft Language Server Protocol
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.LSP.Core

Synopsis

Documentation

data LanguageContextData config Source #

state used by the LSP dispatcher to manage the message loop

data VFSData Source #

Constructors

VFSData 

type Handler b = b -> IO () Source #

The Handler type captures a function that receives local read-only state a, a function to send a reply message once encoded as a ByteString, and a received message of type b

data InitializeCallbacks config Source #

Contains all the callbacks to use for initialized the language server. it is parameterized over a config type variable representing the type for the specific configuration data the language server needs to use.

Constructors

InitializeCallbacks 

Fields

  • onInitialConfiguration :: InitializeRequest -> Either Text config

    Invoked on the first message from the language client, containg the client configuration This callback should return either the parsed configuration data or an error indicating what went wrong. The parsed configuration object will be stored internally and passed to hanlder functions as context.

  • onConfigurationChange :: DidChangeConfigurationNotification -> Either Text config

    Invoked whenever the clients sends a message with a changed client configuration. This callback should return either the parsed configuration data or an error indicating what went wrong. The parsed configuration object will be stored internally and passed to hanlder functions as context.

  • onStartup :: LspFuncs config -> IO (Maybe ResponseError)

    Once the initial configuration has been received, this callback will be invoked to offer the language server implementation the chance to create any processes or start new threads that may be necesary for the server lifecycle.

data LspFuncs c Source #

Returned to the server on startup, providing ways to interact with the client.

Constructors

LspFuncs 

Fields

data Progress Source #

A package indicating the perecentage of progress complete and a an optional message to go with it during a withProgress

Since: 0.10.0.0

Constructors

Progress (Maybe Double) (Maybe Text) 

data ProgressCancellable Source #

Whether or not the user should be able to cancel a withProgress/withIndefiniteProgress session

Since: 0.11.0.0

type SendFunc = FromServerMessage -> IO () Source #

A function to send a message to the client

data Handlers Source #

Callbacks from the language server to the language handler

Constructors

Handlers 

Fields

Instances

Instances details
Default Handlers Source # 
Instance details

Defined in Language.Haskell.LSP.Core

Methods

def :: Handlers #

data Options Source #

Language Server Protocol options that the server may configure. If you set handlers for some requests, you may need to set some of these options.

Constructors

Options 

Fields

Instances

Instances details
Default Options Source # 
Instance details

Defined in Language.Haskell.LSP.Core

Methods

def :: Options #

reverseSortEdit :: WorkspaceEdit -> WorkspaceEdit Source #

The changes in a workspace edit should be applied from the end of the file toward the start. Sort them into this order.

data Priority #

Priorities are used to define how important a log message is. Users can filter log messages based on priorities.

These have their roots on the traditional syslog system. The standard definitions are given below, but you are free to interpret them however you like. They are listed here in ascending importance order.

Constructors

DEBUG

Debug messages

INFO

Information

NOTICE

Normal runtime conditions

WARNING

General Warnings

ERROR

General Errors

CRITICAL

Severe situations

ALERT

Take immediate action

EMERGENCY

System is unusable

Instances

Instances details
Bounded Priority 
Instance details

Defined in System.Log

Enum Priority 
Instance details

Defined in System.Log

Eq Priority 
Instance details

Defined in System.Log

Data Priority 
Instance details

Defined in System.Log

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Priority -> c Priority #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Priority #

toConstr :: Priority -> Constr #

dataTypeOf :: Priority -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Priority) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Priority) #

gmapT :: (forall b. Data b => b -> b) -> Priority -> Priority #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Priority -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Priority -> r #

gmapQ :: (forall d. Data d => d -> u) -> Priority -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Priority -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Priority -> m Priority #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Priority -> m Priority #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Priority -> m Priority #

Ord Priority 
Instance details

Defined in System.Log

Read Priority 
Instance details

Defined in System.Log

Show Priority 
Instance details

Defined in System.Log

Generic Priority 
Instance details

Defined in System.Log

Associated Types

type Rep Priority :: Type -> Type #

Methods

from :: Priority -> Rep Priority x #

to :: Rep Priority x -> Priority #

NFData Priority

Since: hslogger-1.3.1.0

Instance details

Defined in System.Log

Methods

rnf :: Priority -> () #

type Rep Priority 
Instance details

Defined in System.Log

type Rep Priority = D1 ('MetaData "Priority" "System.Log" "hslogger-1.3.1.0-1gOGa33mZOW24lXQ2NncWL" 'False) (((C1 ('MetaCons "DEBUG" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "INFO" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NOTICE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WARNING" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ERROR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CRITICAL" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ALERT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EMERGENCY" 'PrefixI 'False) (U1 :: Type -> Type))))