lsp
lsp copied to clipboard
Haskell library for the Microsoft Language Server Protocol
A `MonadThrow` instance is useful in the `Session` monad so that you can make assertions in various test frameworks. This adds `exceptions` to the dependencies for `lsp-test`, but it's a...
Closes #445. Current status: - existing tests pass - breaks backward compatibility due to the necessity to add MonadThrow to the type of some functions - use `filepath-compat` to avoid...
The default `runSessionWithConfig` launches an LSP server process, but doesn't provide any flexibility for modifying the `CreateProcess` to be used. This prevented me from doing things like tweaking the environment...
This was originally found in https://github.com/haskell/haskell-language-server/pull/3072 In `lsp`, there is a debug log, printing response body: https://github.com/haskell/lsp/blob/8b63438313828a31ba1065ea865e504d532d093e/lsp/src/Language/LSP/Server/Control.hs#L224-L234 And in HLS, our logger sends a copy of log to LSP client:...
As suggested by @pepeiborra, we have a better alternative to `FilePath` now. See: https://hasufell.github.io/posts/2022-06-29-fixing-haskell-filepaths.html And changing the implementation of `NormalizedFilePath` might greatly impact HLS performance, according to the existing comment....
https://github.com/microsoft/language-server-protocol/issues/67 There's a machine-readable specification of the protocol coming. It's specified in a non-standard way, so we'd have to do some work to process it, but it's probably still better...
These packages could do with more maintainers! At the moment I think I am the most active maintainer, but it would be great to have more. It would be especially...
`dhall-lsp-server` is showing a build failure related to this: ``` src/Dhall/LSP/Handlers.hs:94:60: error: • Couldn't match expected type ‘Rope.Rope’ with actual type ‘text-rope-0.2:Data.Text.Utf16.Rope.Rope’ NB: ‘text-rope-0.2:Data.Text.Utf16.Rope.Rope’ is defined in ‘Data.Text.Utf16.Rope’ in package...
We were using this action in `dhall-lsp-server` ``` -- | The main entry point for the LSP server. run :: Maybe FilePath -> IO () run mlog = do setupLogger...
The goal here is to make the `Control` module as boring and dispensible as possible, so that users can put the pieces together as they like. Thisi s a step...