hie
https://github.com/haskell/haskell-ide-engine
the following init_options are supported (see https://github.com/haskell/haskell-ide-engine#configuration):
init_options = {
languageServerHaskell = {
hlintOn = bool;
maxNumberOfProblems = number;
diagnosticsDebounceDuration = number;
liquidOn = bool (default false);
completionSnippetsOn = bool (default true);
formatOnImportOn = bool (default true);
formattingProvider = string (default "brittany", alternate "floskell");
}
}
Setup
require'lspconfig'.hie.setup{}
Default values
cmd = { "hie-wrapper", "--lsp" }
filetypes = { "haskell" }
root_dir = function(startpath)
return M.search_ancestors(startpath, matcher)
end
Available settings
haskell.diagnosticsOnChange
- Type:
boolean
- Default:
true
Compute diagnostics continuously as you type. Turn off to only generate diagnostics on file save.
haskell.formatOnImportOn
- Type:
boolean
- Default:
true
When adding an import\, use the formatter on the result
haskell.formattingProvider
- Type:
enum { "brittany", "floskell", "fourmolu", "ormolu", "stylish-haskell", "none" }
- Default:
"ormolu"
The formatter to use when formatting a document or range. Ensure the plugin is enabled.
haskell.logFile
- Type:
string
- Default:
""
If set\, redirects the logs to a file.
haskell.plugin.class.globalOn
- Type:
boolean
- Default:
true
Enables type class plugin
haskell.plugin.eval.globalOn
- Type:
boolean
- Default:
true
Enables eval plugin
haskell.plugin.ghcide-completions.config.autoExtendOn
- Type:
boolean
- Default:
true
null
haskell.plugin.ghcide-completions.config.snippetsOn
- Type:
boolean
- Default:
true
null
haskell.plugin.ghcide-type-lenses.config.mode
- Type:
enum { "always", "exported", "diagnostics" }
- Default:
true
Control how type lenses are shown
haskell.plugin.ghcide-type-lenses.globalOn
- Type:
boolean
- Default:
true
Enables type lenses plugin
haskell.plugin.haddockComments.globalOn
- Type:
boolean
- Default:
true
Enables haddock comments plugin
haskell.plugin.hlint.codeActionsOn
- Type:
boolean
- Default:
true
Enables hlint code actions (apply hints)
haskell.plugin.hlint.config.flags
- Type:
array
- Default:
{}
null
haskell.plugin.hlint.diagnosticsOn
- Type:
boolean
- Default:
true
Enables hlint diagnostics
haskell.plugin.importLens.codeActionsOn
- Type:
boolean
- Default:
true
Enables explicit imports code actions
haskell.plugin.importLens.codeLensOn
- Type:
boolean
- Default:
true
Enables explicit imports code lenses
haskell.plugin.moduleName.globalOn
- Type:
boolean
- Default:
true
Enables module name plugin
haskell.plugin.pragmas.codeActionsOn
- Type:
boolean
- Default:
true
Enables pragmas code actions
haskell.plugin.pragmas.completionOn
- Type:
boolean
- Default:
true
Enables pragmas completions
haskell.plugin.retrie.globalOn
- Type:
boolean
- Default:
true
Enables retrie plugin
haskell.plugin.splice.globalOn
- Type:
boolean
- Default:
true
Enables splice plugin (expand template haskell definitions)
haskell.plugin.tactics.config.auto_gas
- Type:
integer
- Default:
4
null
haskell.plugin.tactics.config.hole_severity
- Type:
enum { 1, 2, 3, 4, vim.NIL }
- Default:
vim.NIL
The severity to use when showing hole diagnostics.
haskell.plugin.tactics.config.max_use_ctor_actions
- Type:
integer
- Default:
5
null
haskell.plugin.tactics.config.proofstate_styling
- Type:
boolean
- Default:
true
null
haskell.plugin.tactics.config.timeout_duration
- Type:
integer
- Default:
2
null
haskell.plugin.tactics.globalOn
- Type:
boolean
- Default:
true
Enables Wingman (tactics) plugin
haskell.releasesURL
- Type:
string
- Default:
""
An optional URL to override where to check for haskell-language-server releases
haskell.serverExecutablePath
- Type:
string
- Default:
""
null
haskell.trace.server
- Type:
enum { "off", "messages" }
- Default:
"off"
Traces the communication between VS Code and the language server.
haskell.updateBehavior
- Type:
enum { "keep-up-to-date", "prompt", "never-check" }
- Default:
"keep-up-to-date"
null