diff options
author | Blaž Hrastnik | 2023-05-19 00:39:35 +0000 |
---|---|---|
committer | GitHub | 2023-05-19 00:39:35 +0000 |
commit | 53f47bc47771c94dab51626ca025be28e62eba0c (patch) | |
tree | c8f5c59d40d1ecde227c209f898cc7afd6da5477 /languages.toml | |
parent | 7f5940be80eaa3aec7903903072b7108f41dd97b (diff) | |
parent | 2a512f7c487f0a707a7eb158e24bd478433bcd91 (diff) |
Merge pull request #2507 from Philipp-M/multiple-language-servers
Add support for multiple language servers per language
Diffstat (limited to 'languages.toml')
-rw-r--r-- | languages.toml | 415 |
1 files changed, 235 insertions, 180 deletions
diff --git a/languages.toml b/languages.toml index 6516cc37..21fe917f 100644 --- a/languages.toml +++ b/languages.toml @@ -1,6 +1,143 @@ # Language support configuration. # See the languages documentation: https://docs.helix-editor.com/master/languages.html +[language-server] + +awk-language-server = { command = "awk-language-server" } +bash-language-server = { command = "bash-language-server", args = ["start"] } +bass = { command = "bass", args = ["--lsp"] } +bicep-langserver = { command = "bicep-langserver" } +cl-lsp = { command = "cl-lsp", args = [ "stdio" ] } +clangd = { command = "clangd" } +clojure-lsp = { command = "clojure-lsp" } +cmake-language-server = { command = "cmake-language-server" } +crystalline = { command = "crystalline", args = ["--stdio"] } +cs = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } +cuelsp = { command = "cuelsp" } +dart = { command = "dart", args = ["language-server", "--client-id=helix"] } +dhall-lsp-server = { command = "dhall-lsp-server" } +docker-langserver = { command = "docker-langserver", args = ["--stdio"] } +dot-language-server = { command = "dot-language-server", args = ["--stdio"] } +elixir-ls = { command = "elixir-ls", config = { elixirLS.dialyzerEnabled = false } } +elm-language-server = { command = "elm-language-server" } +elvish = { command = "elvish", args = ["-lsp"] } +erlang-ls = { command = "erlang_ls" } +forc = { command = "forc", args = ["lsp"] } +fortls = { command = "fortls", args = ["--lowercase_intrinsics"] } +gleam = { command = "gleam", args = ["lsp"] } +haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } +idris2-lsp = { command = "idris2-lsp" } +intelephense = { command = "intelephense", args = ["--stdio"] } +jdtls = { command = "jdtls" } +jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } +julia = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] } +kotlin-language-server = { command = "kotlin-language-server" } +lean = { command = "lean", args = [ "--server" ] } +markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] } +marksman = { command = "marksman", args = ["server"] } +metals = { command = "metals", config = { "isHttpEnabled" = true } } +mint = { command = "mint", args = ["ls"] } +nil = { command = "nil" } +nimlangserver = { command = "nimlangserver" } +nls = { command = "nls" } +ocamllsp = { command = "ocamllsp" } +ols = { command = "ols", args = [] } +omnisharp = { command = "OmniSharp", args = [ "--languageserver" ] } +openscad-lsp = { command = "openscad-lsp", args = ["--stdio"] } +pasls = { command = "pasls", args = [] } +perlnavigator = { command = "perlnavigator", args= ["--stdio"] } +prisma-language-server = { command = "prisma-language-server", args = ["--stdio"] } +purescript-language-server = { command = "purescript-language-server", args = ["--stdio"] } +pylsp = { command = "pylsp" } +qmlls = { command = "qmlls" } +r = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } +racket = { command = "racket", args = ["-l", "racket-langserver"] } +regols = { command = "regols" } +rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] } +robotframework_ls = { command = "robotframework_ls" } +serve-d = { command = "serve-d" } +slint-lsp = { command = "slint-lsp", args = [] } +solargraph = { command = "solargraph", args = ["stdio"] } +solc = { command = "solc", args = ["--lsp"] } +sourcekit-lsp = { command = "sourcekit-lsp" } +svelteserver = { command = "svelteserver", args = ["--stdio"] } +svlangserver = { command = "svlangserver", args = [] } +swipl = { command = "swipl", args = [ "-g", "use_module(library(lsp_server))", "-g", "lsp_server:main", "-t", "halt", "--", "stdio" ] } +taplo = { command = "taplo", args = ["lsp", "stdio"] } +terraform-ls = { command = "terraform-ls", args = ["serve"] } +texlab = { command = "texlab" } +vala-language-server = { command = "vala-language-server" } +vhdl_ls = { command = "vhdl_ls", args = [] } +vlang-language-server = { command = "v", args = ["ls"] } +vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { "provideFormatter" = true }} +vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } } +vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } } +vuels = { command = "vls" } +wgsl_analyzer = { command = "wgsl_analyzer" } +yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } +zls = { command = "zls" } + + +[language-server.lua-language-server] +command = "lua-language-server" + +[language-server.lua-language-server.config.Lua.hint] +enable = true +arrayIndex = "Enable" +setType = true +paramName = "All" +paramType = true +await = true + + +[language-server.gopls] +command = "gopls" + +[language-server.gopls.config.hints] +assignVariableTypes = true +compositeLiteralFields = true +constantValues = true +functionTypeParameters = true +parameterNames = true +rangeVariableTypes = true + + +[language-server.rust-analyzer] +command = "rust-analyzer" + +[language-server.rust-analyzer.config] +inlayHints.bindingModeHints.enable = false +inlayHints.closingBraceHints.minLines = 10 +inlayHints.closureReturnTypeHints.enable = "with_block" +inlayHints.discriminantHints.enable = "fieldless" +inlayHints.lifetimeElisionHints.enable = "skip_trivial" +inlayHints.typeHints.hideClosureInitialization = false + + +[language-server.typescript-language-server] +command = "typescript-language-server" +args = ["--stdio"] +config.hostInfo = "helix" + +[language-server.typescript-language-server.config.typescript.inlayHints] +includeInlayEnumMemberValueHints = true +includeInlayFunctionLikeReturnTypeHints = true +includeInlayFunctionParameterTypeHints = true +includeInlayParameterNameHints = "all" +includeInlayParameterNameHintsWhenArgumentMatchesName = true +includeInlayPropertyDeclarationTypeHints = true +includeInlayVariableTypeHints = true + +[language-server.typescript-language-server.config.javascript.inlayHints] +includeInlayEnumMemberValueHints = true +includeInlayFunctionLikeReturnTypeHints = true +includeInlayFunctionParameterTypeHints = true +includeInlayParameterNameHints = "all" +includeInlayParameterNameHintsWhenArgumentMatchesName = true +includeInlayPropertyDeclarationTypeHints = true +includeInlayVariableTypeHints = true + + [[language]] name = "rust" scope = "source.rust" @@ -9,7 +146,7 @@ file-types = ["rs"] roots = ["Cargo.toml", "Cargo.lock"] auto-format = true comment-token = "//" -language-server = { command = "rust-analyzer" } +language-servers = [ "rust-analyzer" ] indent = { tab-width = 4, unit = " " } [language.auto-pairs] @@ -19,14 +156,6 @@ indent = { tab-width = 4, unit = " " } '"' = '"' '`' = '`' -[language.config] -inlayHints.bindingModeHints.enable = false -inlayHints.closingBraceHints.minLines = 10 -inlayHints.closureReturnTypeHints.enable = "with_block" -inlayHints.discriminantHints.enable = "fieldless" -inlayHints.lifetimeElisionHints.enable = "skip_trivial" -inlayHints.typeHints.hideClosureInitialization = false - [language.debugger] name = "lldb-vscode" transport = "stdio" @@ -65,7 +194,7 @@ name = "sway" scope = "source.sway" injection-regex = "sway" file-types = ["sw"] -language-server = { command = "forc", args = ["lsp"] } +language-servers = [ "forc" ] roots = ["Forc.toml", "Forc.lock"] indent = { tab-width = 4, unit = " " } comment-token = "//" @@ -81,7 +210,7 @@ injection-regex = "toml" file-types = ["toml", "poetry.lock"] roots = [] comment-token = "#" -language-server = { command = "taplo", args = ["lsp", "stdio"] } +language-servers = [ "taplo" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -95,7 +224,7 @@ injection-regex = "awk" file-types = ["awk", "gawk", "nawk", "mawk"] roots = [] comment-token = "#" -language-server = { command = "awk-language-server" } +language-servers = [ "awk-language-server" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -123,8 +252,7 @@ file-types = ["ex", "exs", "mix.lock"] shebangs = ["elixir"] roots = ["mix.exs", "mix.lock"] comment-token = "#" -language-server = { command = "elixir-ls" } -config = { elixirLS.dialyzerEnabled = false } +language-servers = [ "elixir-ls" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -153,7 +281,7 @@ file-types = ["mint"] shebangs = [] roots = [] comment-token = "//" -language-server = { command = "mint", args = ["ls"] } +language-servers = [ "mint" ] indent = { tab-width = 2, unit = " " } [[language]] @@ -162,9 +290,8 @@ scope = "source.json" injection-regex = "json" file-types = ["json", "jsonc", "arb", "ipynb", "geojson"] roots = [] -language-server = { command = "vscode-json-language-server", args = ["--stdio"] } +language-servers = [ "vscode-json-language-server" ] auto-format = true -config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -178,7 +305,7 @@ injection-regex = "c" file-types = ["c"] # TODO: ["h"] roots = [] comment-token = "//" -language-server = { command = "clangd" } +language-servers = [ "clangd" ] indent = { tab-width = 2, unit = " " } [language.debugger] @@ -215,7 +342,7 @@ injection-regex = "cpp" file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh"] roots = [] comment-token = "//" -language-server = { command = "clangd" } +language-servers = [ "clangd" ] indent = { tab-width = 2, unit = " " } [language.debugger] @@ -253,7 +380,7 @@ roots = ["shard.yml", "shard.lock"] comment-token = "#" indent = { tab-width = 2, unit = " " } grammar = "ruby" -language-server = { command = "crystalline", args = ["--stdio"] } +language-servers = [ "crystalline" ] [[language]] name = "c-sharp" @@ -263,7 +390,7 @@ file-types = ["cs"] roots = ["sln", "csproj"] comment-token = "//" indent = { tab-width = 4, unit = "\t" } -language-server = { command = "OmniSharp", args = [ "--languageserver" ] } +language-servers = [ "omnisharp" ] [language.debugger] name = "netcoredbg" @@ -296,18 +423,10 @@ file-types = ["go"] roots = ["go.work", "go.mod"] auto-format = true comment-token = "//" -language-server = { command = "gopls" } +language-servers = [ "gopls" ] # TODO: gopls needs utf-8 offsets? indent = { tab-width = 4, unit = "\t" } -[language.config.hints] -assignVariableTypes = true -compositeLiteralFields = true -constantValues = true -functionTypeParameters = true -parameterNames = true -rangeVariableTypes = true - [language.debugger] name = "go" transport = "tcp" @@ -351,7 +470,7 @@ file-types = ["go.mod"] roots = [] auto-format = true comment-token = "//" -language-server = { command = "gopls" } +language-servers = [ "gopls" ] indent = { tab-width = 4, unit = "\t" } [[grammar]] @@ -365,7 +484,7 @@ injection-regex = "gotmpl" file-types = ["gotmpl"] roots = [] comment-token = "//" -language-server = { command = "gopls" } +language-servers = [ "gopls" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -380,7 +499,7 @@ file-types = ["go.work"] roots = [] auto-format = true comment-token = "//" -language-server = { command = "gopls" } +language-servers = [ "gopls" ] indent = { tab-width = 4, unit = "\t" } [[grammar]] @@ -391,26 +510,15 @@ source = { git = "https://github.com/omertuc/tree-sitter-go-work", rev = "6dd9dd name = "javascript" scope = "source.js" injection-regex = "(js|javascript)" +language-id = "javascript" file-types = ["js", "mjs", "cjs"] shebangs = ["node"] roots = [] comment-token = "//" # TODO: highlights-params -language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" } +language-servers = [ "typescript-language-server" ] indent = { tab-width = 2, unit = " " } -[language.config] -hostInfo = "helix" - -[language.config.javascript.inlayHints] -includeInlayEnumMemberValueHints = true -includeInlayFunctionLikeReturnTypeHints = true -includeInlayFunctionParameterTypeHints = true -includeInlayParameterNameHints = "all" -includeInlayParameterNameHintsWhenArgumentMatchesName = true -includeInlayPropertyDeclarationTypeHints = true -includeInlayVariableTypeHints = true - [language.debugger] name = "node-debug2" transport = "stdio" @@ -431,48 +539,26 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = name = "jsx" scope = "source.jsx" injection-regex = "jsx" +language-id = "javascriptreact" file-types = ["jsx"] roots = [] comment-token = "//" -language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascriptreact" } +language-servers = [ "typescript-language-server" ] indent = { tab-width = 2, unit = " " } grammar = "javascript" -[language.config] -hostInfo = "helix" - -[language.config.javascript.inlayHints] -includeInlayEnumMemberValueHints = true -includeInlayFunctionLikeReturnTypeHints = true -includeInlayFunctionParameterTypeHints = true -includeInlayParameterNameHints = "all" -includeInlayParameterNameHintsWhenArgumentMatchesName = true -includeInlayPropertyDeclarationTypeHints = true -includeInlayVariableTypeHints = true - [[language]] name = "typescript" scope = "source.ts" injection-regex = "(ts|typescript)" file-types = ["ts", "mts", "cts"] +language-id = "typescript" shebangs = [] roots = [] # TODO: highlights-params -language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescript"} +language-servers = [ "typescript-language-server" ] indent = { tab-width = 2, unit = " " } -[language.config] -hostInfo = "helix" - -[language.config.typescript.inlayHints] -includeInlayEnumMemberValueHints = true -includeInlayFunctionLikeReturnTypeHints = true -includeInlayFunctionParameterTypeHints = true -includeInlayParameterNameHints = "all" -includeInlayParameterNameHintsWhenArgumentMatchesName = true -includeInlayPropertyDeclarationTypeHints = true -includeInlayVariableTypeHints = true - [[grammar]] name = "typescript" source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "6aac031ad88dd6317f02ac0bb27d099a553a7d8c", subpath = "typescript" } @@ -481,24 +567,13 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = name = "tsx" scope = "source.tsx" injection-regex = "(tsx)" # |typescript +language-id = "typescriptreact" file-types = ["tsx"] roots = [] # TODO: highlights-params -language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescriptreact" } +language-servers = [ "typescript-language-server" ] indent = { tab-width = 2, unit = " " } -[language.config] -hostInfo = "helix" - -[language.config.typescript.inlayHints] -includeInlayEnumMemberValueHints = true -includeInlayFunctionLikeReturnTypeHints = true -includeInlayFunctionParameterTypeHints = true -includeInlayParameterNameHints = "all" -includeInlayParameterNameHintsWhenArgumentMatchesName = true -includeInlayPropertyDeclarationTypeHints = true -includeInlayVariableTypeHints = true - [[grammar]] name = "tsx" source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "6aac031ad88dd6317f02ac0bb27d099a553a7d8c", subpath = "tsx" } @@ -509,9 +584,8 @@ scope = "source.css" injection-regex = "css" file-types = ["css", "scss"] roots = [] -language-server = { command = "vscode-css-language-server", args = ["--stdio"] } +language-servers = [ "vscode-css-language-server" ] auto-format = true -config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -524,9 +598,8 @@ scope = "source.scss" injection-regex = "scss" file-types = ["scss"] roots = [] -language-server = { command = "vscode-css-language-server", args = ["--stdio"] } +language-servers = [ "vscode-css-language-server" ] auto-format = true -config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -539,9 +612,8 @@ scope = "text.html.basic" injection-regex = "html" file-types = ["html"] roots = [] -language-server = { command = "vscode-html-language-server", args = ["--stdio"] } +language-servers = [ "vscode-html-language-server" ] auto-format = true -config = { "provideFormatter" = true } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -556,7 +628,7 @@ file-types = ["py","pyi","py3","pyw","ptl",".pythonstartup",".pythonrc","SConstr shebangs = ["python"] roots = [] comment-token = "#" -language-server = { command = "pylsp" } +language-servers = [ "pylsp" ] # TODO: pyls needs utf-8 offsets indent = { tab-width = 4, unit = " " } @@ -572,7 +644,7 @@ file-types = ["ncl"] shebangs = [] roots = [] comment-token = "#" -language-server = { command = "nls" } +language-servers = [ "nls" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -587,7 +659,7 @@ file-types = ["nix"] shebangs = [] roots = [] comment-token = "#" -language-server = { command = "nil" } +language-servers = [ "nil" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -602,7 +674,7 @@ file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec", "Rakefile", shebangs = ["ruby"] roots = [] comment-token = "#" -language-server = { command = "solargraph", args = ["stdio"] } +language-servers = [ "solargraph" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -617,7 +689,7 @@ file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile shebangs = ["sh", "bash", "dash", "zsh"] roots = [] comment-token = "#" -language-server = { command = "bash-language-server", args = ["start"] } +language-servers = [ "bash-language-server" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -631,7 +703,7 @@ injection-regex = "php" file-types = ["php", "inc"] shebangs = ["php"] roots = ["composer.json", "index.php"] -language-server = { command = "intelephense", args = ["--stdio"] } +language-servers = [ "intelephense" ] indent = { tab-width = 4, unit = " " } [[grammar]] @@ -657,7 +729,7 @@ injection-regex = "tex" file-types = ["tex", "sty", "cls"] roots = [] comment-token = "%" -language-server = { command = "texlab" } +language-servers = [ "texlab" ] indent = { tab-width = 4, unit = "\t" } [[grammar]] @@ -671,7 +743,7 @@ injection-regex = "bib" file-types = ["bib"] roots = [] comment-token = "%" -language-server = { command = "texlab" } +language-servers = [ "texlab" ] indent = { tab-width = 4, unit = "\t" } auto-format = true @@ -699,7 +771,7 @@ injection-regex = "lean" file-types = ["lean"] roots = [ "lakefile.lean" ] comment-token = "--" -language-server = { command = "lean", args = [ "--server" ] } +language-servers = [ "lean" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -713,13 +785,7 @@ injection-regex = "julia" file-types = ["jl"] roots = ["Manifest.toml", "Project.toml"] comment-token = "#" -language-server = { command = "julia", timeout = 60, args = [ - "--startup-file=no", - "--history-file=no", - "--quiet", - "-e", - "using LanguageServer; runserver()", - ] } +language-servers = [ "julia" ] indent = { tab-width = 4, unit = " " } [[grammar]] @@ -732,7 +798,7 @@ scope = "source.java" injection-regex = "java" file-types = ["java"] roots = ["pom.xml", "build.gradle", "build.gradle.kts"] -language-server = { command = "jdtls" } +language-servers = [ "jdtls" ] indent = { tab-width = 4, unit = " " } [[grammar]] @@ -773,7 +839,7 @@ file-types = ["ml"] shebangs = [] roots = [] comment-token = "(**)" -language-server = { command = "ocamllsp" } +language-servers = [ "ocamllsp" ] indent = { tab-width = 2, unit = " " } [language.auto-pairs] @@ -794,7 +860,7 @@ file-types = ["mli"] shebangs = [] roots = [] comment-token = "(**)" -language-server = { command = "ocamllsp" } +language-servers = [ "ocamllsp" ] indent = { tab-width = 2, unit = " " } [language.auto-pairs] @@ -817,15 +883,7 @@ shebangs = ["lua"] roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"] comment-token = "--" indent = { tab-width = 2, unit = " " } -language-server = { command = "lua-language-server", args = [] } - -[language.config.Lua.hint] -enable = true -arrayIndex = "Enable" -setType = true -paramName = "All" -paramType = true -await = true +language-servers = [ "lua-language-server" ] [[grammar]] name = "lua" @@ -838,7 +896,7 @@ injection-regex = "svelte" file-types = ["svelte"] roots = [] indent = { tab-width = 2, unit = " " } -language-server = { command = "svelteserver", args = ["--stdio"] } +language-servers = [ "svelteserver" ] [[grammar]] name = "svelte" @@ -851,7 +909,7 @@ injection-regex = "vue" file-types = ["vue"] roots = ["package.json", "vue.config.js"] indent = { tab-width = 2, unit = " " } -language-server = { command = "vls" } +language-servers = [ "vuels" ] [[grammar]] name = "vue" @@ -864,7 +922,7 @@ file-types = ["yml", "yaml"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "yaml-language-server", args = ["--stdio"] } +language-servers = [ "yaml-language-server" ] injection-regex = "yml|yaml" [[grammar]] @@ -878,7 +936,7 @@ injection-regex = "haskell" file-types = ["hs", "hs-boot"] roots = ["Setup.hs", "stack.yaml", "cabal.project"] comment-token = "--" -language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } +language-servers = [ "haskell-language-server" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -892,7 +950,7 @@ injection-regex = "purescript" file-types = ["purs"] roots = ["spago.dhall", "bower.json"] comment-token = "--" -language-server = { command = "purescript-language-server", args = ["--stdio"] } +language-servers = [ "purescript-language-server" ] indent = { tab-width = 2, unit = " " } auto-format = true formatter = { command = "purs-tidy", args = ["format"] } @@ -906,7 +964,7 @@ file-types = ["zig"] roots = ["build.zig"] auto-format = true comment-token = "//" -language-server = { command = "zls" } +language-servers = [ "zls" ] indent = { tab-width = 4, unit = " " } formatter = { command = "zig" , args = ["fmt", "--stdin"] } @@ -944,10 +1002,7 @@ roots = [] file-types = ["pl", "prolog"] shebangs = ["swipl"] comment-token = "%" -language-server = { command = "swipl", args = [ - "-g", "use_module(library(lsp_server))", - "-g", "lsp_server:main", - "-t", "halt", "--", "stdio"] } +language-servers = [ "swipl" ] [[language]] name = "tsq" @@ -969,7 +1024,7 @@ file-types = ["cmake", "CMakeLists.txt"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "cmake-language-server" } +language-servers = [ "cmake-language-server" ] injection-regex = "cmake" [[grammar]] @@ -1009,7 +1064,7 @@ file-types = ["pl", "pm", "t"] shebangs = ["perl"] roots = [] comment-token = "#" -language-server = { command = "perlnavigator", args= ["--stdio"] } +language-servers = [ "perlnavigator" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1023,7 +1078,7 @@ roots = [] file-types = ["rkt", "rktd", "rktl", "scrbl"] shebangs = ["racket"] comment-token = ";" -language-server = { command = "racket", args = ["-l", "racket-langserver"] } +language-servers = [ "racket" ] grammar = "scheme" [[language]] @@ -1034,7 +1089,7 @@ file-types = ["lisp", "asd", "cl", "l", "lsp", "ny", "podsl", "sexp"] shebangs = ["lisp", "sbcl", "ccl", "clisp", "ecl"] comment-token = ";" indent = { tab-width = 2, unit = " " } -language-server = { command = "cl-lsp", args = [ "stdio" ] } +language-servers = [ "cl-lsp" ] grammar = "scheme" [language.auto-pairs] @@ -1060,7 +1115,7 @@ scope = "source.wgsl" file-types = ["wgsl"] roots = [] comment-token = "//" -language-server = { command = "wgsl_analyzer" } +language-servers = [ "wgsl_analyzer" ] indent = { tab-width = 4, unit = " " } [[grammar]] @@ -1123,7 +1178,7 @@ scope = "source.md" injection-regex = "md|markdown" file-types = ["md", "markdown", "PULLREQ_EDITMSG"] roots = [".marksman.toml"] -language-server = { command = "marksman", args=["server"] } +language-servers = [ "marksman" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1149,7 +1204,7 @@ file-types = ["dart"] roots = ["pubspec.yaml"] auto-format = true comment-token = "//" -language-server = { command = "dart", args = ["language-server", "--client-id=helix"] } +language-servers = [ "dart" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1163,8 +1218,7 @@ roots = ["build.sbt", "build.sc", "build.gradle", "build.gradle.kts", "pom.xml", file-types = ["scala", "sbt", "sc"] comment-token = "//" indent = { tab-width = 2, unit = " " } -language-server = { command = "metals" } -config = { "isHttpEnabled" = true } +language-servers = [ "metals" ] [[grammar]] name = "scala" @@ -1178,7 +1232,7 @@ roots = ["Dockerfile", "Containerfile"] file-types = ["Dockerfile", "dockerfile", "Containerfile", "containerfile"] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "docker-langserver", args = ["--stdio"] } +language-servers = [ "docker-langserver" ] [[grammar]] name = "dockerfile" @@ -1218,7 +1272,7 @@ roots = [] file-types = ["git-rebase-todo"] injection-regex = "git-rebase" comment-token = "#" -indent = { tab-width = 2, unit = " " } +indent = { tab-width = 2, unit = "y" } [[grammar]] name = "git-rebase" @@ -1294,7 +1348,7 @@ file-types = ["elm"] roots = ["elm.json"] auto-format = true comment-token = "--" -language-server = { command = "elm-language-server" } +language-servers = [ "elm-language-server" ] indent = { tab-width = 4, unit = " " } [[grammar]] @@ -1320,7 +1374,7 @@ file-types = ["res"] roots = ["bsconfig.json"] auto-format = true comment-token = "//" -language-server = { command = "rescript-language-server", args = ["--stdio"] } +language-servers = [ "rescript-language-server" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1336,7 +1390,7 @@ roots = ["rebar.config"] shebangs = ["escript"] comment-token = "%%" indent = { tab-width = 4, unit = " " } -language-server = { command = "erlang_ls" } +language-servers = [ "erlang-ls" ] [language.auto-pairs] '(' = ')' @@ -1357,7 +1411,7 @@ file-types = ["kt", "kts"] roots = ["settings.gradle", "settings.gradle.kts"] comment-token = "//" indent = { tab-width = 4, unit = " " } -language-server = { command = "kotlin-language-server" } +language-servers = [ "kotlin-language-server" ] [[grammar]] name = "kotlin" @@ -1367,11 +1421,12 @@ source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "a4f71eb9b8 name = "hcl" scope = "source.hcl" injection-regex = "(hcl|tf|nomad)" +language-id = "terraform" file-types = ["hcl", "tf", "nomad"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform" } +language-servers = [ "terraform-ls" ] auto-format = true [[grammar]] @@ -1381,11 +1436,12 @@ source = { git = "https://github.com/MichaHoffmann/tree-sitter-hcl", rev = "3cb7 [[language]] name = "tfvars" scope = "source.tfvars" +language-id = "terraform-vars" file-types = ["tfvars"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform-vars" } +language-servers = [ "terraform-ls" ] auto-format = true grammar = "hcl" @@ -1409,7 +1465,7 @@ file-types = ["sol"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } -language-server = { command = "solc", args = ["--lsp"] } +language-servers = [ "solc" ] [[grammar]] name = "solidity" @@ -1423,7 +1479,7 @@ file-types = ["gleam"] roots = ["gleam.toml"] comment-token = "//" indent = { tab-width = 2, unit = " " } -language-server = { command = "gleam", args = ["lsp"] } +language-servers = [ "gleam" ] [[grammar]] name = "gleam" @@ -1447,7 +1503,7 @@ file-types = ["robot", "resource"] comment-token = "#" roots = [] indent = { tab-width = 4, unit = " " } -language-server = { command = "robotframework_ls" } +language-servers = [ "robotframework_ls" ] [[grammar]] name = "robot" @@ -1462,7 +1518,7 @@ shebangs = ["r", "R"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } +language-servers = [ "r" ] [[grammar]] name = "r" @@ -1476,7 +1532,7 @@ file-types = ["rmd", "Rmd"] roots = [] indent = { tab-width = 2, unit = " " } grammar = "markdown" -language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] } +language-servers = [ "r" ] [[language]] name = "swift" @@ -1486,7 +1542,7 @@ file-types = ["swift"] roots = [ "Package.swift" ] comment-token = "//" auto-format = true -language-server = { command = "sourcekit-lsp" } +language-servers = [ "sourcekit-lsp" ] [[grammar]] name = "swift" @@ -1533,8 +1589,7 @@ injection-regex = "heex" file-types = ["heex"] roots = ["mix.exs", "mix.lock"] indent = { tab-width = 2, unit = " " } -language-server = { command = "elixir-ls" } -config = { elixirLS.dialyzerEnabled = false } +language-servers = [ "elixir-ls" ] [[grammar]] name = "heex" @@ -1605,7 +1660,7 @@ file-types = ["vala", "vapi"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } -language-server = { command = "vala-language-server" } +language-servers = [ "vala-language-server" ] [[grammar]] name = "vala" @@ -1670,7 +1725,7 @@ auto-format = false scope = "source.odin" file-types = ["odin"] roots = ["ols.json"] -language-server = { command = "ols", args = [] } +language-servers = [ "ols" ] comment-token = "//" indent = { tab-width = 4, unit = "\t" } @@ -1721,7 +1776,7 @@ scope = "source.v" file-types = ["v", "vv", "vsh"] shebangs = ["v run"] roots = ["v.mod"] -language-server = { command = "v", args = ["ls"] } +language-servers = [ "vlang-language-server" ] auto-format = true comment-token = "//" indent = { tab-width = 4, unit = "\t" } @@ -1736,7 +1791,7 @@ scope = "source.verilog" file-types = ["v", "vh", "sv", "svh"] roots = [] comment-token = "//" -language-server = { command = "svlangserver", args = [] } +language-servers = [ "svlangserver" ] indent = { tab-width = 2, unit = " " } injection-regex = "verilog" @@ -1775,7 +1830,7 @@ injection-regex = "openscad" file-types = ["scad"] roots = [] comment-token = "//" -language-server = { command = "openscad-lsp", args = ["--stdio"] } +language-servers = [ "openscad-lsp" ] indent = { tab-width = 2, unit = "\t" } [[grammar]] @@ -1789,7 +1844,7 @@ injection-regex = "prisma" file-types = ["prisma"] roots = ["package.json"] comment-token = "//" -language-server = { command = "prisma-language-server", args = ["--stdio"] } +language-servers = [ "prisma-language-server" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1803,7 +1858,7 @@ injection-regex = "(clojure|clj|edn|boot)" file-types = ["clj", "cljs", "cljc", "clje", "cljr", "cljx", "edn", "boot"] roots = ["project.clj", "build.boot", "deps.edn", "shadow-cljs.edn"] comment-token = ";" -language-server = { command = "clojure-lsp" } +language-servers = [ "clojure-lsp" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1827,7 +1882,7 @@ file-types = ["elv"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "elvish", args = ["-lsp"] } +language-servers = [ "elvish" ] grammar = "elvish" [[grammar]] @@ -1843,7 +1898,7 @@ shebangs = [] roots = [] comment-token = "--" indent = { tab-width = 2, unit = " " } -language-server = { command = "idris2-lsp" } +language-servers = [ "idris2-lsp" ] [[language]] name = "fortran" @@ -1853,7 +1908,7 @@ file-types = ["f", "for", "f90", "f95", "f03"] roots = ["fpm.toml"] comment-token = "!" indent = { tab-width = 4, unit = " "} -language-server = { command = "fortls", args = ["--lowercase_intrinsics"] } +language-servers = [ "fortls" ] [[grammar]] name = "fortran" @@ -1880,7 +1935,7 @@ file-types = ["dot"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } -language-server = { command = "dot-language-server", args = ["--stdio"] } +language-servers = [ "dot-language-server" ] [[grammar]] name = "dot" @@ -1894,7 +1949,7 @@ file-types = ["cue"] roots = ["cue.mod"] auto-format = true comment-token = "//" -language-server = { command = "cuelsp" } +language-servers = [ "cuelsp" ] indent = { tab-width = 4, unit = "\t" } formatter = { command = "cue", args = ["fmt", "-"] } @@ -1910,7 +1965,7 @@ file-types = ["slint"] roots = [] comment-token = "//" indent = { tab-width = 4, unit = " " } -language-server = { command = "slint-lsp", args = [] } +language-servers = [ "slint-lsp" ] [[grammar]] name = "slint" @@ -1962,7 +2017,7 @@ file-types = ["pas", "pp", "inc", "lpr", "lfm"] roots = [] comment-token = "//" indent = { tab-width = 2, unit = " " } -language-server = { command = "pasls", args = [] } +language-servers = [ "pasls" ] [[grammar]] name = "pascal" @@ -1987,7 +2042,7 @@ file-types = ["libsonnet", "jsonnet"] roots = ["jsonnetfile.json"] comment-token = "//" indent = { tab-width = 2, unit = " " } -language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } +language-servers = [ "jsonnet-language-server" ] [[grammar]] name = "jsonnet" @@ -2013,7 +2068,7 @@ file-types = ["bass"] roots = [] comment-token = ";" indent = { tab-width = 2, unit = " " } -language-server = { command = "bass", args = ["--lsp"] } +language-servers = [ "bass" ] [[grammar]] name = "bass" @@ -2049,7 +2104,7 @@ roots = [] comment-token = "//" injection-regex = "d" indent = { tab-width = 4, unit = " "} -language-server = { command = "serve-d" } +language-servers = [ "serve-d" ] formatter = { command = "dfmt" } [[grammar]] @@ -2173,7 +2228,7 @@ roots = [] auto-format = true comment-token = "//" indent = { tab-width = 2, unit = " "} -language-server = { command = "bicep-langserver" } +language-servers = [ "bicep-langserver" ] [[grammar]] name = "bicep" @@ -2184,7 +2239,7 @@ name = "qml" scope = "source.qml" file-types = ["qml"] roots = [] -language-server = { command = "qmlls" } +language-servers = [ "qmlls" ] indent = { tab-width = 4, unit = " " } grammar = "qmljs" @@ -2239,7 +2294,7 @@ file-types = ["dhall"] roots = [] comment-token = "--" indent = { tab-width = 2, unit = " " } -language-server = { command = "dhall-lsp-server" } +language-servers = [ "dhall-lsp-server" ] formatter = { command = "dhall" , args = ["format"] } [[grammar]] @@ -2401,7 +2456,7 @@ file-types = ["smithy"] roots = ["smithy-build.json"] comment-token = "//" indent = { tab-width = 4, unit = " " } -language-server = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } +language-servers = [ "cs" ] [[grammar]] name = "smithy" @@ -2413,7 +2468,7 @@ scope = "source.vhdl" file-types = ["vhd", "vhdl"] roots = [] comment-token = "--" -language-server = { command = "vhdl_ls", args = [] } +language-servers = [ "vhdl_ls" ] indent = { tab-width = 2, unit = " " } injection-regex = "vhdl" @@ -2429,7 +2484,7 @@ injection-regex = "rego" file-types = ["rego"] auto-format = true comment-token = "#" -language-server = { command = "regols" } +language-servers = [ "regols" ] grammar = "rego" [[grammar]] @@ -2445,7 +2500,7 @@ shebangs = [] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "nimlangserver" } +language-servers = [ "nimlangserver" ] [language.auto-pairs] '(' = ')' @@ -2485,7 +2540,7 @@ name = "markdoc" scope = "text.markdoc" roots = [] file-types = ["mdoc"] -language-server = { command = "markdoc-ls", args = ["--stdio"] } +language-servers = [ "markdoc-ls" ] [[grammar]] name = "markdoc" @@ -2498,7 +2553,7 @@ injection-regex = "(cl|opencl)" file-types = ["cl"] roots = [] comment-token = "//" -language-server = { command = "clangd" } +language-servers = [ "clangd" ] [[grammar]] name = "opencl" |