From 71551d395b4e47804df2d8ecea99e34dbbf16157 Mon Sep 17 00:00:00 2001 From: Philipp Mildenberger Date: Mon, 23 May 2022 18:10:48 +0200 Subject: Adds support for multiple language servers per language. Language Servers are now configured in a separate table in `languages.toml`: ```toml [langauge-server.mylang-lsp] command = "mylang-lsp" args = ["--stdio"] config = { provideFormatter = true } [language-server.efm-lsp-prettier] command = "efm-langserver" [language-server.efm-lsp-prettier.config] documentFormatting = true languages = { typescript = [ { formatCommand ="prettier --stdin-filepath ${INPUT}", formatStdin = true } ] } ``` The language server for a language is configured like this (`typescript-language-server` is configured by default): ```toml [[language]] name = "typescript" language-servers = [ { name = "efm-lsp-prettier", only-features = [ "format" ] }, "typescript-language-server" ] ``` or equivalent: ```toml [[language]] name = "typescript" language-servers = [ { name = "typescript-language-server", except-features = [ "format" ] }, "efm-lsp-prettier" ] ``` Each requested LSP feature is priorized in the order of the `language-servers` array. For example the first `goto-definition` supported language server (in this case `typescript-language-server`) will be taken for the relevant LSP request (command `goto_definition`). If no `except-features` or `only-features` is given all features for the language server are enabled, as long as the language server supports these. If it doesn't the next language server which supports the feature is tried. The list of supported features are: - `format` - `goto-definition` - `goto-declaration` - `goto-type-definition` - `goto-reference` - `goto-implementation` - `signature-help` - `hover` - `document-highlight` - `completion` - `code-action` - `workspace-command` - `document-symbols` - `workspace-symbols` - `diagnostics` - `rename-symbol` - `inlay-hints` Another side-effect/difference that comes with this PR, is that only one language server instance is started if different languages use the same language server. --- languages.toml | 425 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 245 insertions(+), 180 deletions(-) (limited to 'languages.toml') diff --git a/languages.toml b/languages.toml index 6516cc37..d5f07dcd 100644 --- a/languages.toml +++ b/languages.toml @@ -1,6 +1,153 @@ # Language support configuration. # See the languages documentation: https://docs.helix-editor.com/master/languages.html +[language-server] + +taplo = { command = "taplo", args = ["lsp", "stdio"] } +elixir-ls = { command = "elixir-ls", config = { elixirLS.dialyzerEnabled = false } } +mint = { command = "mint", args = ["ls"] } +vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } } +clangd = { command = "clangd" } +crystalline = { command = "crystalline", args = ["--stdio"] } +omnisharp = { command = "OmniSharp", args = [ "--languageserver" ] } +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 } } +pylsp = { command = "pylsp" } +nls = { command = "nls" } +nil = { command = "nil" } +solargraph = { command = "solargraph", args = ["stdio"] } +bash-language-server = { command = "bash-language-server", args = ["start"] } +intelephense = { command = "intelephense", args = ["--stdio"] } +texlab = { command = "texlab" } +lean = { command = "lean", args = [ "--server" ] } +julia = { command = "julia", timeout = 60, args = [ + "--startup-file=no", + "--history-file=no", + "--quiet", + "-e", + "using LanguageServer; runserver()", +] } +jdtls = { command = "jdtls" } +ocamllsp = { command = "ocamllsp" } + +svelteserver = { command = "svelteserver", args = ["--stdio"] } +vuels = { command = "vls" } +yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } +haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } +zls = { command = "zls" } +swipl = { command = "swipl", args = [ + "-g", "use_module(library(lsp_server))", + "-g", "lsp_server:main", + "-t", "halt", "--", "stdio" +] } +cmake-language-server = { command = "cmake-language-server" } +racket = { command = "racket", args = ["-l", "racket-langserver"] } +dart = { command = "dart", args = ["language-server", "--client-id=helix"] } +metals = { command = "metals", config = { "isHttpEnabled" = true } } +docker-langserver = { command = "docker-langserver", args = ["--stdio"] } +elm-language-server = { command = "elm-language-server" } +rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] } +robotframework_ls = { command = "robotframework_ls" } +erlang-ls = { command = "erlang_ls" } +kotlin-language-server = { command = "kotlin-language-server" } +terraform-ls = { command = "terraform-ls", args = ["serve"] } +solc = { command = "solc", args = ["--lsp"] } +R = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } +sourcekit-lsp = { command = "sourcekit-lsp" } +vala-language-server = { command = "vala-language-server" } +svlangserver = { command = "svlangserver", args = [] } +vlang-language-server = { command = "v", args = ["ls"] } +openscad-lsp = { command = "openscad-lsp", args = ["--stdio"] } +perlnavigator = { command = "perlnavigator", args= ["--stdio"] } +prisma-language-server = { command = "prisma-language-server", args = ["--stdio"] } +clojure-lsp = { command = "clojure-lsp" } +wgsl_analyzer = { command = "wgsl_analyzer" } +elvish = { command = "elvish", args = ["-lsp"] } +idris2-lsp = { command = "idris2-lsp" } +fortls = { command = "fortls", args = ["--lowercase_intrinsics"] } +gleam = { command = "gleam", args = ["lsp"] } +ols = { command = "ols", args = [] } +dot-language-server = { command = "dot-language-server", args = ["--stdio"] } +cuelsp = { command = "cuelsp" } +slint-lsp = { command = "slint-lsp", args = [] } +awk-language-server = { command = "awk-language-server" } +pasls = { command = "pasls", args = [] } +jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } +marksman = { command = "marksman", args = ["server"] } +markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] } +bass = { command = "bass", args = ["--lsp"] } +purescript-language-server = { command = "purescript-language-server", args = ["--stdio"] } +serve-d = { command = "serve-d" } +bicep-langserver = { command = "bicep-langserver" } +qmlls = { command = "qmlls" } +cl-lsp = { command = "cl-lsp", args = [ "stdio" ] } +dhall-lsp-server = { command = "dhall-lsp-server" } +forc = { command = "forc", args = ["lsp"] } +cs = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } +vhdl_ls = { command = "vhdl_ls", args = [] } +regols = { command = "regols" } +nimlangserver = { command = "nimlangserver" } + +[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.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.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 +156,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 +166,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 +204,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 +220,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 +234,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 +262,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 +291,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 +300,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 +315,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 +352,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 +390,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 +400,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 +433,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 +480,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 +494,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 +509,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 +520,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 +549,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 +577,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 +594,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 +608,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 +622,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 +638,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 +654,7 @@ file-types = ["ncl"] shebangs = [] roots = [] comment-token = "#" -language-server = { command = "nls" } +language-servers = [ "nls" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -587,7 +669,7 @@ file-types = ["nix"] shebangs = [] roots = [] comment-token = "#" -language-server = { command = "nil" } +language-servers = [ "nil" ] indent = { tab-width = 2, unit = " " } [[grammar]] @@ -602,7 +684,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 +699,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 +713,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 +739,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 +753,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 +781,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 +795,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 +808,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 +849,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 +870,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 +893,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 +906,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 +919,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 +932,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 +946,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 +960,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 +974,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 +1012,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 +1034,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 +1074,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 +1088,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 +1099,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 +1125,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 +1188,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 +1214,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 +1228,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 +1242,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 +1282,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 +1358,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 +1384,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 +1400,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 +1421,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 +1431,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 +1446,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 +1475,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 +1489,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 +1513,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 +1528,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 +1542,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 +1552,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 +1599,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 +1670,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 +1735,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 +1786,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 +1801,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 +1840,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 +1854,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 +1868,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 +1892,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 +1908,7 @@ shebangs = [] roots = [] comment-token = "--" indent = { tab-width = 2, unit = " " } -language-server = { command = "idris2-lsp" } +language-servers = [ "idris2-lsp" ] [[language]] name = "fortran" @@ -1853,7 +1918,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 +1945,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 +1959,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 +1975,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 +2027,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 +2052,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 +2078,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 +2114,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 +2238,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 +2249,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 +2304,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 +2466,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 +2478,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 +2494,7 @@ injection-regex = "rego" file-types = ["rego"] auto-format = true comment-token = "#" -language-server = { command = "regols" } +language-servers = [ "regols" ] grammar = "rego" [[grammar]] @@ -2445,7 +2510,7 @@ shebangs = [] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-server = { command = "nimlangserver" } +language-servers = [ "nimlangserver" ] [language.auto-pairs] '(' = ')' @@ -2485,7 +2550,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 +2563,7 @@ injection-regex = "(cl|opencl)" file-types = ["cl"] roots = [] comment-token = "//" -language-server = { command = "clangd" } +language-servers = [ "clangd" ] [[grammar]] name = "opencl" -- cgit v1.2.3-70-g09d2 From b6d0e26814c0e2c40a2ff49b2c3be7c8358d438b Mon Sep 17 00:00:00 2001 From: Philipp Mildenberger Date: Fri, 14 Apr 2023 01:12:01 +0200 Subject: Sort language servers table in languages.toml and rename language server 'R' to 'r' --- languages.toml | 158 +++++++++++++++++++++++++++------------------------------ 1 file changed, 74 insertions(+), 84 deletions(-) (limited to 'languages.toml') diff --git a/languages.toml b/languages.toml index d5f07dcd..21fe917f 100644 --- a/languages.toml +++ b/languages.toml @@ -3,101 +3,79 @@ [language-server] -taplo = { command = "taplo", args = ["lsp", "stdio"] } -elixir-ls = { command = "elixir-ls", config = { elixirLS.dialyzerEnabled = false } } -mint = { command = "mint", args = ["ls"] } -vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } } -clangd = { command = "clangd" } -crystalline = { command = "crystalline", args = ["--stdio"] } -omnisharp = { command = "OmniSharp", args = [ "--languageserver" ] } -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 } } -pylsp = { command = "pylsp" } -nls = { command = "nls" } -nil = { command = "nil" } -solargraph = { command = "solargraph", args = ["stdio"] } +awk-language-server = { command = "awk-language-server" } bash-language-server = { command = "bash-language-server", args = ["start"] } -intelephense = { command = "intelephense", args = ["--stdio"] } -texlab = { command = "texlab" } -lean = { command = "lean", args = [ "--server" ] } -julia = { command = "julia", timeout = 60, args = [ - "--startup-file=no", - "--history-file=no", - "--quiet", - "-e", - "using LanguageServer; runserver()", -] } -jdtls = { command = "jdtls" } -ocamllsp = { command = "ocamllsp" } - -svelteserver = { command = "svelteserver", args = ["--stdio"] } -vuels = { command = "vls" } -yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } -haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } -zls = { command = "zls" } -swipl = { command = "swipl", args = [ - "-g", "use_module(library(lsp_server))", - "-g", "lsp_server:main", - "-t", "halt", "--", "stdio" -] } +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" } -racket = { command = "racket", args = ["-l", "racket-langserver"] } +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"] } -metals = { command = "metals", config = { "isHttpEnabled" = true } } +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" } -rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] } -robotframework_ls = { command = "robotframework_ls" } -erlang-ls = { command = "erlang_ls" } -kotlin-language-server = { command = "kotlin-language-server" } -terraform-ls = { command = "terraform-ls", args = ["serve"] } -solc = { command = "solc", args = ["--lsp"] } -R = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } -sourcekit-lsp = { command = "sourcekit-lsp" } -vala-language-server = { command = "vala-language-server" } -svlangserver = { command = "svlangserver", args = [] } -vlang-language-server = { command = "v", args = ["ls"] } -openscad-lsp = { command = "openscad-lsp", args = ["--stdio"] } -perlnavigator = { command = "perlnavigator", args= ["--stdio"] } -prisma-language-server = { command = "prisma-language-server", args = ["--stdio"] } -clojure-lsp = { command = "clojure-lsp" } -wgsl_analyzer = { command = "wgsl_analyzer" } elvish = { command = "elvish", args = ["-lsp"] } -idris2-lsp = { command = "idris2-lsp" } +erlang-ls = { command = "erlang_ls" } +forc = { command = "forc", args = ["lsp"] } fortls = { command = "fortls", args = ["--lowercase_intrinsics"] } gleam = { command = "gleam", args = ["lsp"] } -ols = { command = "ols", args = [] } -dot-language-server = { command = "dot-language-server", args = ["--stdio"] } -cuelsp = { command = "cuelsp" } -slint-lsp = { command = "slint-lsp", args = [] } -awk-language-server = { command = "awk-language-server" } -pasls = { command = "pasls", args = [] } +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"] } -marksman = { command = "marksman", args = ["server"] } +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"] } -bass = { command = "bass", args = ["--lsp"] } +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"] } -serve-d = { command = "serve-d" } -bicep-langserver = { command = "bicep-langserver" } +pylsp = { command = "pylsp" } qmlls = { command = "qmlls" } -cl-lsp = { command = "cl-lsp", args = [ "stdio" ] } -dhall-lsp-server = { command = "dhall-lsp-server" } -forc = { command = "forc", args = ["lsp"] } -cs = { command = "cs", args = ["launch", "--contrib", "smithy-language-server", "--", "0"] } -vhdl_ls = { command = "vhdl_ls", args = [] } +r = { command = "R", args = ["--no-echo", "-e", "languageserver::run()"] } +racket = { command = "racket", args = ["-l", "racket-langserver"] } regols = { command = "regols" } -nimlangserver = { command = "nimlangserver" } - -[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 +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] @@ -124,6 +102,18 @@ 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"] @@ -1528,7 +1518,7 @@ shebangs = ["r", "R"] roots = [] comment-token = "#" indent = { tab-width = 2, unit = " " } -language-servers = [ "R" ] +language-servers = [ "r" ] [[grammar]] name = "r" @@ -1542,7 +1532,7 @@ file-types = ["rmd", "Rmd"] roots = [] indent = { tab-width = 2, unit = " " } grammar = "markdown" -language-servers = [ "R" ] +language-servers = [ "r" ] [[language]] name = "swift" -- cgit v1.2.3-70-g09d2