aboutsummaryrefslogtreecommitdiff
path: root/languages.toml
diff options
context:
space:
mode:
authorBlaž Hrastnik2023-05-19 00:39:35 +0000
committerGitHub2023-05-19 00:39:35 +0000
commit53f47bc47771c94dab51626ca025be28e62eba0c (patch)
treec8f5c59d40d1ecde227c209f898cc7afd6da5477 /languages.toml
parent7f5940be80eaa3aec7903903072b7108f41dd97b (diff)
parent2a512f7c487f0a707a7eb158e24bd478433bcd91 (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.toml415
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"