2022-02-19 16:31:53 +03:00
{
"identifier" : "iko.soy.HaskellLanguageServer" ,
"name" : "Haskell Language Server" ,
"organization" : "iko" ,
"description" : "Lorem ipsum, dolor sit amet." ,
"version" : "1.0" ,
"categories" : [ "languages" , "formatters" ] ,
"main" : "main.js" ,
2022-03-19 18:41:51 +03:00
"entitlements" :
{
2022-02-19 16:31:53 +03:00
"process" : true ,
"filesystem" : "readwrite" ,
"requests" : true
} ,
2022-03-19 18:41:51 +03:00
"configWorkspace" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell-language-server-path" ,
"title" : "Haskell Language Server path" ,
"description" : "If you want to use a custom HLS build for this project, then specify the path to it here." ,
"type" : "path" ,
"placeholder" : "/usr/local/bin/example"
2022-03-19 18:41:51 +03:00
} ,
2022-03-20 12:49:21 +03:00
{
"key" : "env-generator" ,
"title" : "Environment generator" ,
"description" : "You can specify a shell command which will be used to generate the environment, in which the extension will be executes. This is useful if you want to utilize `nix-shell`, `direnv` or any similar command.\n\nExpects the command to have the same stdout as the `env` command." ,
"type" : "enum" ,
"allowsCustom" : true ,
"values" : [ "nix-shell --run env" , "direnv exec env" ]
} ,
2022-03-19 18:41:51 +03:00
{
2022-02-19 16:31:53 +03:00
"type" : "section" ,
"title" : "Haskell Language Server settings" ,
2022-03-19 18:55:49 +03:00
"description" : "Some of the features are not supported in Nova. Some of them are explicitly marked as not supported, but it is not exhaustive." ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.formattingProvider" ,
"title" : "Code formatter" ,
"type" : "enum" ,
"values" : [
"brittany" ,
"floskell" ,
"fourmolu" ,
"ormolu" ,
"stylish-haskell" ,
"none"
] ,
"default" : "ormolu" ,
"description" : "The formatter to use when formatting a document or range. Ensure the plugin is enabled."
} ,
{
"key" : "haskell.checkProject" ,
"title" : "Check whole project" ,
"type" : "boolean" ,
"default" : false ,
"description" : "Whether to typecheck the entire project on load. It could lead to bad perfomance in large projects."
} ,
{
"title" : "Completions" ,
2022-02-19 16:31:53 +03:00
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.plugin.ghcide-completions.config.autoExtendOn" ,
"title" : "Extend with out-of-scope identifiers" ,
"description" : "Extends the import list automatically when completing a out-of-scope identifier" ,
2022-02-19 16:31:53 +03:00
"default" : true ,
2022-03-19 18:55:49 +03:00
"type" : "boolean"
2022-03-19 18:41:51 +03:00
} ,
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.plugin.ghcide-completions.config.snippetsOn" ,
"title" : "Insert snippets" ,
"description" : "Inserts snippets when using code completions" ,
2022-02-19 16:31:53 +03:00
"default" : true ,
2022-03-19 18:55:49 +03:00
"type" : "boolean"
} ,
{
"key" : "haskell.maxCompletions" ,
"type" : "number" ,
"title" : "Maximum number of completions" ,
"description" : "Maximum number of completions sent to the editor." ,
"default" : 40
2022-02-19 16:31:53 +03:00
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "HLint" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.hlint.codeActionsOn" ,
"title" : "Enable code actions" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables hlint code actions (apply hints)"
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.hlint.diagnosticsOn" ,
"title" : "Enable diagnostics" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables hlint diagnostics"
2022-03-19 18:41:51 +03:00
} ,
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.plugin.hlint.config.flags" ,
"title" : "Flags" ,
"description" : "Flags used by hlint" ,
"default" : [ ] ,
"type" : "stringArray"
2022-02-19 16:31:53 +03:00
} ]
2022-03-19 18:41:51 +03:00
} ,
2022-03-19 18:55:49 +03:00
{
"type" : "section" ,
"title" : "Import lens" ,
"description" : "Not currently implemented in Nova" ,
"children" : [
{
"key" : "haskell.plugin.importLens.codeActionsOn" ,
"title" : "Enable code actions" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables explicit imports code actions"
} ,
{
"key" : "haskell.plugin.importLens.codeLensOn" ,
"title" : "Enable code lens" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables explicit imports code lenses"
} ]
} ,
2022-03-19 18:41:51 +03:00
{
2022-02-19 16:31:53 +03:00
"title" : "Eval" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.eval.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables eval plugin"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Module name" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.moduleName.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables module name plugin"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Splice" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.splice.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables splice plugin (expand template haskell definitions)"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Haddock comments" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.haddockComments.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables haddock comments plugin"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Class" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.class.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables type class plugin"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Retrie" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.retrie.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables retrie plugin"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Wingman" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.tactics.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables Wingman (tactics) plugin"
2022-03-19 18:41:51 +03:00
} ,
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.plugin.tactics.config.auto_gas" ,
"title" : "Gas" ,
"description" : "The depth of the search tree when performing \"Attempt to fill hole\". Bigger values will be able to derive more solutions, but will take exponentially more time." ,
"default" : 4 ,
"type" : "number"
} ,
{
"key" : "haskell.plugin.tactics.config.hole_severity" ,
"title" : "Hole severity" ,
"description" : "The severity to use when showing hole diagnostics." ,
"values" : [
1 ,
2 ,
3 ,
4 ,
null
] ,
"default" : null ,
"type" : "enum"
} ,
{
"key" : "haskell.plugin.tactics.config.max_use_ctor_actions" ,
"title" : "Max number of constructors" ,
"type" : "number" ,
"default" : 5 ,
"description" : "Maximum number of `Use constructor <x>` code actions that can appear"
} ,
{
"key" : "haskell.plugin.tactics.config.timeout_duration" ,
"title" : "Timeout" ,
"description" : "The timeout for Wingman actions, in seconds" ,
"default" : 2 ,
"type" : "number"
} ,
{
"key" : "haskell.plugin.tactics.config.proofstate_styling" ,
"title" : "Proof states" ,
"description" : "Should Wingman emit styling markup when showing metaprogram proof states?" ,
"default" : true ,
"type" : "boolean"
2022-02-19 16:31:53 +03:00
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Pragmas" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.pragmas.codeActionsOn" ,
"title" : "Enable code actions" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables pragmas code actions"
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.pragmas.completionOn" ,
"title" : "Enable completions" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables pragmas completions"
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-03-19 18:55:49 +03:00
"title" : "Type lenses" ,
2022-02-19 16:31:53 +03:00
"description" : "Not currently implemented in Nova" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.ghcide-type-lenses.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables type lenses plugin"
2022-03-19 18:41:51 +03:00
} ,
{
2022-03-19 18:55:49 +03:00
"key" : "haskell.plugin.ghcide-type-lenses.config.mode" ,
"title" : "Mode" ,
"type" : "enum" ,
"default" : true ,
"description" : "Control how type lenses are shown" ,
"values" : [ "always" , "exported" , "diagnostics" ]
2022-02-19 16:31:53 +03:00
} ]
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Refine imports" ,
"type" : "section" ,
2022-03-19 18:41:51 +03:00
"children" : [
{
2022-02-19 16:31:53 +03:00
"key" : "haskell.plugin.refineImports.globalOn" ,
"title" : "Enable" ,
"type" : "boolean" ,
"default" : true ,
"description" : "Enables refine imports plugin"
} ]
2022-03-19 18:55:49 +03:00
}
]
2022-02-19 16:31:53 +03:00
} ] ,
"activationEvents" : [ "onLanguage:haskell" , "onLanguage:hs" ] ,
2022-03-19 18:41:51 +03:00
"commands" :
{
"editor" : [
{
2022-02-19 16:31:53 +03:00
"title" : "Format file with Haskell Language Server" ,
"command" : "format" ,
"when" : "editorSyntax == 'haskell' && editorHasFocus" ,
2022-03-19 18:41:51 +03:00
"filters" :
{
2022-02-19 16:31:53 +03:00
"syntaxes" : [ "haskell" ]
}
} ] ,
2022-03-19 18:41:51 +03:00
"extensions" : [
{
2022-02-19 16:31:53 +03:00
"title" : "Stop" ,
"paletteTitle" : "Stop Haskell Language Server" ,
"command" : "stop"
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Restart" ,
"paletteTitle" : "Restart Haskell Language Server" ,
"command" : "restart"
2022-03-19 18:41:51 +03:00
} ,
{
2022-02-19 16:31:53 +03:00
"title" : "Clear cached versions" ,
"paletteTitle" : "Clear cached versions of Haskell Language Server" ,
"command" : "clear-cache"
} ]
}
}