diff options
chore: add type annotation for configs
Diffstat (limited to 'lsp')
363 files changed, 363 insertions, 1 deletions
diff --git a/lsp/ada_ls.lua b/lsp/ada_ls.lua index ff43d9a0..eae327a7 100644 --- a/lsp/ada_ls.lua +++ b/lsp/ada_ls.lua @@ -20,6 +20,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'ada_language_server' }, filetypes = { 'ada' }, diff --git a/lsp/agda_ls.lua b/lsp/agda_ls.lua index b10f14e2..64ca6525 100644 --- a/lsp/agda_ls.lua +++ b/lsp/agda_ls.lua @@ -6,6 +6,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'als' }, filetypes = { 'agda' }, diff --git a/lsp/aiken.lua b/lsp/aiken.lua index f0054c21..78d09879 100644 --- a/lsp/aiken.lua +++ b/lsp/aiken.lua @@ -6,6 +6,7 @@ --- [Installation](https://aiken-lang.org/installation-instructions) --- --- It can be i +---@type vim.lsp.Config return { cmd = { 'aiken', 'lsp' }, filetypes = { 'aiken' }, diff --git a/lsp/air.lua b/lsp/air.lua index 8f90a73d..4c654fb4 100644 --- a/lsp/air.lua +++ b/lsp/air.lua @@ -5,6 +5,7 @@ --- Air is an R formatter and language server, written in Rust. --- --- Refer to the [documentation](https://posit-dev.github.io/air/editors.html) for more details. +---@type vim.lsp.Config return { cmd = { 'air', 'language-server' }, filetypes = { 'r' }, diff --git a/lsp/alloy_ls.lua b/lsp/alloy_ls.lua index e1fe24eb..890f011c 100644 --- a/lsp/alloy_ls.lua +++ b/lsp/alloy_ls.lua @@ -21,6 +21,7 @@ --- ``` --- --- Alternatively, you may use a syntax plugin like https://github.com/runoshun/vim-alloy. +---@type vim.lsp.Config return { cmd = { 'alloy', 'lsp' }, filetypes = { 'alloy' }, diff --git a/lsp/anakin_language_server.lua b/lsp/anakin_language_server.lua index a9934962..58ae2076 100644 --- a/lsp/anakin_language_server.lua +++ b/lsp/anakin_language_server.lua @@ -8,6 +8,7 @@ --- --- * Initialization: https://github.com/muffinmad/anakin-language-server#initialization-option --- * Configuration: https://github.com/muffinmad/anakin-language-server#configuration-options +---@type vim.lsp.Config return { cmd = { 'anakinls' }, filetypes = { 'python' }, diff --git a/lsp/angularls.lua b/lsp/angularls.lua index f527e091..80b9d11d 100644 --- a/lsp/angularls.lua +++ b/lsp/angularls.lua @@ -68,6 +68,7 @@ local ng_probe_dirs = vim end) :join(',') +---@type vim.lsp.Config return { cmd = { 'ngserver', diff --git a/lsp/ansiblels.lua b/lsp/ansiblels.lua index 75f03ac0..19ff885a 100644 --- a/lsp/ansiblels.lua +++ b/lsp/ansiblels.lua @@ -9,6 +9,7 @@ --- ```sh --- npm install -g @ansible/ansible-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'ansible-language-server', '--stdio' }, settings = { diff --git a/lsp/antlersls.lua b/lsp/antlersls.lua index fe01ea8d..f56b63f2 100644 --- a/lsp/antlersls.lua +++ b/lsp/antlersls.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g antlers-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'antlersls', '--stdio' }, filetypes = { 'html', 'antlers' }, diff --git a/lsp/arduino_language_server.lua b/lsp/arduino_language_server.lua index 0b47a700..0feccd56 100644 --- a/lsp/arduino_language_server.lua +++ b/lsp/arduino_language_server.lua @@ -70,6 +70,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { filetypes = { 'arduino' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/asm_lsp.lua b/lsp/asm_lsp.lua index 368fa9c3..44e6519b 100644 --- a/lsp/asm_lsp.lua +++ b/lsp/asm_lsp.lua @@ -6,6 +6,7 @@ --- --- `asm-lsp` can be installed via cargo: --- cargo install asm-lsp +---@type vim.lsp.Config return { cmd = { 'asm-lsp' }, filetypes = { 'asm', 'vmasm' }, diff --git a/lsp/ast_grep.lua b/lsp/ast_grep.lua index 6ba3d7ce..0a22693d 100644 --- a/lsp/ast_grep.lua +++ b/lsp/ast_grep.lua @@ -7,6 +7,7 @@ --- ```sh --- npm install [-g] @ast-grep/cli --- ``` +---@type vim.lsp.Config return { cmd = { 'ast-grep', 'lsp' }, workspace_required = true, diff --git a/lsp/astro.lua b/lsp/astro.lua index 6f33439c..a85aae39 100644 --- a/lsp/astro.lua +++ b/lsp/astro.lua @@ -9,6 +9,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'astro-ls', '--stdio' }, filetypes = { 'astro' }, diff --git a/lsp/atlas.lua b/lsp/atlas.lua index fbcbab8b..26e1089b 100644 --- a/lsp/atlas.lua +++ b/lsp/atlas.lua @@ -55,6 +55,7 @@ --- vim.treesitter.language.register('hcl', 'atlas-rule') --- ``` --- +---@type vim.lsp.Config return { cmd = { 'atlas', 'tool', 'lsp', '--stdio' }, filetypes = { diff --git a/lsp/autohotkey_lsp.lua b/lsp/autohotkey_lsp.lua index eac26a7d..cb92330b 100644 --- a/lsp/autohotkey_lsp.lua +++ b/lsp/autohotkey_lsp.lua @@ -11,6 +11,7 @@ local function get_autohotkey_path() return #path > 0 and path or '' end +---@type vim.lsp.Config return { cmd = { 'autohotkey_lsp', '--stdio' }, filetypes = { 'autohotkey' }, diff --git a/lsp/autotools_ls.lua b/lsp/autotools_ls.lua index caa17b29..721c24c4 100644 --- a/lsp/autotools_ls.lua +++ b/lsp/autotools_ls.lua @@ -13,6 +13,7 @@ local util = require 'lspconfig.util' local root_files = { 'configure.ac', 'Makefile', 'Makefile.am', '*.mk' } +---@type vim.lsp.Config return { cmd = { 'autotools-language-server' }, filetypes = { 'config', 'automake', 'make' }, diff --git a/lsp/awk_ls.lua b/lsp/awk_ls.lua index 1c609cdf..7932913c 100644 --- a/lsp/awk_ls.lua +++ b/lsp/awk_ls.lua @@ -7,6 +7,7 @@ --- npm install -g awk-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'awk-language-server' }, filetypes = { 'awk' }, diff --git a/lsp/azure_pipelines_ls.lua b/lsp/azure_pipelines_ls.lua index ade47ebb..d21de4cf 100644 --- a/lsp/azure_pipelines_ls.lua +++ b/lsp/azure_pipelines_ls.lua @@ -29,6 +29,7 @@ --- }) --- ``` --- The Azure Pipelines LSP is a fork of `yaml-language-server` and as such the same settings can be passed to it as `yaml-language-server`. +---@type vim.lsp.Config return { cmd = { 'azure-pipelines-language-server', '--stdio' }, filetypes = { 'yaml' }, diff --git a/lsp/bacon_ls.lua b/lsp/bacon_ls.lua index b3b271f7..cafd753b 100644 --- a/lsp/bacon_ls.lua +++ b/lsp/bacon_ls.lua @@ -37,6 +37,7 @@ --- synchronizeAllOpenFilesWaitMillis = 2000, --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'bacon-ls' }, filetypes = { 'rust' }, diff --git a/lsp/ballerina.lua b/lsp/ballerina.lua index 55d33698..84a00709 100644 --- a/lsp/ballerina.lua +++ b/lsp/ballerina.lua @@ -4,6 +4,7 @@ --- --- The Ballerina language's CLI tool comes with its own language server implementation. --- The `bal` command line tool must be installed and available in your system's PATH. +---@type vim.lsp.Config return { cmd = { 'bal', 'start-language-server' }, filetypes = { 'ballerina' }, diff --git a/lsp/basedpyright.lua b/lsp/basedpyright.lua index 2ec59448..9f93b9f1 100644 --- a/lsp/basedpyright.lua +++ b/lsp/basedpyright.lua @@ -19,6 +19,7 @@ local function set_python_path(path) end end +---@type vim.lsp.Config return { cmd = { 'basedpyright-langserver', '--stdio' }, filetypes = { 'python' }, diff --git a/lsp/bashls.lua b/lsp/bashls.lua index 79d86d32..33f088e4 100644 --- a/lsp/bashls.lua +++ b/lsp/bashls.lua @@ -8,6 +8,7 @@ --- ``` --- --- Language server for bash, written using tree sitter in typescript. +---@type vim.lsp.Config return { cmd = { 'bash-language-server', 'start' }, settings = { diff --git a/lsp/basics_ls.lua b/lsp/basics_ls.lua index a932d225..d7f5d57c 100644 --- a/lsp/basics_ls.lua +++ b/lsp/basics_ls.lua @@ -7,6 +7,7 @@ --- ```sh --- npm install -g basics-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'basics-language-server' }, settings = { diff --git a/lsp/bazelrc_lsp.lua b/lsp/bazelrc_lsp.lua index bf17b5a3..c3d76ffc 100644 --- a/lsp/bazelrc_lsp.lua +++ b/lsp/bazelrc_lsp.lua @@ -13,6 +13,7 @@ --- }, --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'bazelrc-lsp', 'lsp' }, filetypes = { 'bazelrc' }, diff --git a/lsp/beancount.lua b/lsp/beancount.lua index d14ae256..78b01f3b 100644 --- a/lsp/beancount.lua +++ b/lsp/beancount.lua @@ -3,6 +3,7 @@ --- https://github.com/polarmutex/beancount-language-server#installation --- --- See https://github.com/polarmutex/beancount-language-server#configuration for configuration options +---@type vim.lsp.Config return { cmd = { 'beancount-language-server', '--stdio' }, filetypes = { 'beancount', 'bean' }, diff --git a/lsp/bicep.lua b/lsp/bicep.lua index fe3ddb14..270d5671 100644 --- a/lsp/bicep.lua +++ b/lsp/bicep.lua @@ -31,6 +31,7 @@ --- && rm -rf /usr/local/bin/bicep-langserver \ --- && unzip -d /usr/local/bin/bicep-langserver bicep-langserver.zip) --- ``` +---@type vim.lsp.Config return { filetypes = { 'bicep', 'bicep-params' }, root_markers = { '.git' }, diff --git a/lsp/biome.lua b/lsp/biome.lua index b30c0e75..f7209042 100644 --- a/lsp/biome.lua +++ b/lsp/biome.lua @@ -13,6 +13,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = function(dispatchers, config) local cmd = 'biome' diff --git a/lsp/bitbake_language_server.lua b/lsp/bitbake_language_server.lua index 3abdb8bf..bdd343d7 100644 --- a/lsp/bitbake_language_server.lua +++ b/lsp/bitbake_language_server.lua @@ -1,6 +1,7 @@ ---@brief --- --- 🛠️ bitbake language server +---@type vim.lsp.Config return { cmd = { 'bitbake-language-server' }, filetypes = { 'bitbake' }, diff --git a/lsp/blueprint_ls.lua b/lsp/blueprint_ls.lua index f7c75ba3..20f57d73 100644 --- a/lsp/blueprint_ls.lua +++ b/lsp/blueprint_ls.lua @@ -6,6 +6,7 @@ --- --- Language server for the blueprint markup language, written in python and part --- of the blueprint-compiler. +---@type vim.lsp.Config return { cmd = { 'blueprint-compiler', 'lsp' }, cmd_env = { diff --git a/lsp/bqls.lua b/lsp/bqls.lua index 6ebc885b..d11131e8 100644 --- a/lsp/bqls.lua +++ b/lsp/bqls.lua @@ -7,6 +7,7 @@ --- ```sh --- $ go install github.com/kitagry/bqls@latest --- ``` +---@type vim.lsp.Config return { cmd = { 'bqls' }, filetypes = { 'sql' }, diff --git a/lsp/bright_script.lua b/lsp/bright_script.lua index ead26fc4..9689d6da 100644 --- a/lsp/bright_script.lua +++ b/lsp/bright_script.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g brighterscript --- ``` +---@type vim.lsp.Config return { cmd = { 'bsc', '--lsp', '--stdio' }, filetypes = { 'brs' }, diff --git a/lsp/bsl_ls.lua b/lsp/bsl_ls.lua index d96bf16c..1ab35f5a 100644 --- a/lsp/bsl_ls.lua +++ b/lsp/bsl_ls.lua @@ -4,6 +4,7 @@ --- --- Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages. +---@type vim.lsp.Config return { filetypes = { 'bsl', 'os' }, root_markers = { '.git' }, diff --git a/lsp/buck2.lua b/lsp/buck2.lua index 8c64746e..94686a24 100644 --- a/lsp/buck2.lua +++ b/lsp/buck2.lua @@ -9,6 +9,7 @@ --- ``` --- vim.cmd [[ autocmd BufRead,BufNewFile *.bxl,BUCK,TARGETS set filetype=bzl ]] --- ``` +---@type vim.lsp.Config return { cmd = { 'buck2', 'lsp' }, filetypes = { 'bzl' }, diff --git a/lsp/buddy_ls.lua b/lsp/buddy_ls.lua index 55f51ac7..74e898d1 100644 --- a/lsp/buddy_ls.lua +++ b/lsp/buddy_ls.lua @@ -4,6 +4,7 @@ --- The Language Server for the buddy-mlir, a drop-in replacement for mlir-lsp-server, --- supporting new dialects defined in buddy-mlir. --- `buddy-lsp-server` can be installed at the buddy-mlir repository (buddy-compiler/buddy-mlir) +---@type vim.lsp.Config return { cmd = { 'buddy-lsp-server' }, filetypes = { 'mlir' }, diff --git a/lsp/buf_ls.lua b/lsp/buf_ls.lua index 16f5dc11..75c0b448 100644 --- a/lsp/buf_ls.lua +++ b/lsp/buf_ls.lua @@ -5,6 +5,7 @@ --- --- buf beta lsp is a Protobuf language server compatible with Buf modules and workspaces +---@type vim.lsp.Config return { cmd = { 'buf', 'beta', 'lsp', '--timeout=0', '--log-format=text' }, filetypes = { 'proto' }, diff --git a/lsp/bufls.lua b/lsp/bufls.lua index cdde4e4f..6fab4fd0 100644 --- a/lsp/bufls.lua +++ b/lsp/bufls.lua @@ -8,6 +8,7 @@ --- ``` --- --- bufls is a Protobuf language server compatible with Buf modules and workspaces +---@type vim.lsp.Config return { cmd = { 'bufls', 'serve' }, filetypes = { 'proto' }, diff --git a/lsp/bzl.lua b/lsp/bzl.lua index 565f7cbd..a9b10077 100644 --- a/lsp/bzl.lua +++ b/lsp/bzl.lua @@ -5,6 +5,7 @@ --- https://docs.stack.build/docs/cli/installation --- --- https://docs.stack.build/docs/vscode/starlark-language-server +---@type vim.lsp.Config return { cmd = { 'bzl', 'lsp', 'serve' }, filetypes = { 'bzl' }, diff --git a/lsp/c3_lsp.lua b/lsp/c3_lsp.lua index a2c8dc27..8d2b40fc 100644 --- a/lsp/c3_lsp.lua +++ b/lsp/c3_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/pherrymason/c3-lsp --- --- Language Server for c3. +---@type vim.lsp.Config return { cmd = { 'c3lsp' }, root_markers = { 'project.json', 'manifest.json', '.git' }, diff --git a/lsp/cairo_ls.lua b/lsp/cairo_ls.lua index 69b508fd..1d262b1e 100644 --- a/lsp/cairo_ls.lua +++ b/lsp/cairo_ls.lua @@ -10,6 +10,7 @@ --- ``` --- --- *cairo-language-server is still under active development, some features might not work yet !* +---@type vim.lsp.Config return { init_options = { hostInfo = 'neovim' }, cmd = { 'scarb', 'cairo-language-server', '/C', '--node-ipc' }, diff --git a/lsp/ccls.lua b/lsp/ccls.lua index 0b72d6d6..44268df8 100644 --- a/lsp/ccls.lua +++ b/lsp/ccls.lua @@ -37,6 +37,7 @@ local function switch_source_header(client, bufnr) end, bufnr) end +---@type vim.lsp.Config return { cmd = { 'ccls' }, filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' }, diff --git a/lsp/cds_lsp.lua b/lsp/cds_lsp.lua index b1832e65..19da7e25 100644 --- a/lsp/cds_lsp.lua +++ b/lsp/cds_lsp.lua @@ -7,6 +7,7 @@ --- ```sh --- npm i -g @sap/cds-lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'cds-lsp', '--stdio' }, filetypes = { 'cds' }, diff --git a/lsp/circom-lsp.lua b/lsp/circom-lsp.lua index 2a6c3a31..eecbdd69 100644 --- a/lsp/circom-lsp.lua +++ b/lsp/circom-lsp.lua @@ -3,6 +3,7 @@ --- [Circom Language Server](https://github.com/rubydusa/circom-lsp) --- --- `circom-lsp`, the language server for the Circom language. +---@type vim.lsp.Config return { cmd = { 'circom-lsp' }, filetypes = { 'circom' }, diff --git a/lsp/clangd.lua b/lsp/clangd.lua index c3f5d522..1a1c1072 100644 --- a/lsp/clangd.lua +++ b/lsp/clangd.lua @@ -61,6 +61,7 @@ end ---@class ClangdInitializeResult: lsp.InitializeResult ---@field offsetEncoding? string +---@type vim.lsp.Config return { cmd = { 'clangd' }, filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' }, diff --git a/lsp/clarinet.lua b/lsp/clarinet.lua index 2c25f6a4..ba25779b 100644 --- a/lsp/clarinet.lua +++ b/lsp/clarinet.lua @@ -2,6 +2,7 @@ --- https://github.com/hirosystems/clarinet --- --- Clarinet is the fastest way to build, test, and deploy smart contracts on the Stacks blockchain. +---@type vim.lsp.Config return { cmd = { 'clarinet', 'lsp' }, filetypes = { 'clar', 'clarity' }, diff --git a/lsp/clojure_lsp.lua b/lsp/clojure_lsp.lua index e3aef9d4..7bc49d57 100644 --- a/lsp/clojure_lsp.lua +++ b/lsp/clojure_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/clojure-lsp/clojure-lsp --- --- Clojure Language Server +---@type vim.lsp.Config return { cmd = { 'clojure-lsp' }, filetypes = { 'clojure', 'edn' }, diff --git a/lsp/cmake.lua b/lsp/cmake.lua index fc05aed1..abb1a518 100644 --- a/lsp/cmake.lua +++ b/lsp/cmake.lua @@ -3,6 +3,7 @@ --- https://github.com/regen100/cmake-language-server --- --- CMake LSP Implementation +---@type vim.lsp.Config return { cmd = { 'cmake-language-server' }, filetypes = { 'cmake' }, diff --git a/lsp/cobol_ls.lua b/lsp/cobol_ls.lua index 0a4f4a9b..49e1b5a7 100644 --- a/lsp/cobol_ls.lua +++ b/lsp/cobol_ls.lua @@ -1,6 +1,7 @@ ---@brief --- --- Cobol language support +---@type vim.lsp.Config return { cmd = { 'cobol-language-support' }, filetypes = { 'cobol' }, diff --git a/lsp/codebook.lua b/lsp/codebook.lua index 649d4eca..fed3d9a5 100644 --- a/lsp/codebook.lua +++ b/lsp/codebook.lua @@ -8,6 +8,7 @@ --- --- The default `cmd` assumes that the `codebook-lsp` binary can be found in `$PATH`. --- +---@type vim.lsp.Config return { cmd = { 'codebook-lsp', 'serve' }, filetypes = { diff --git a/lsp/coffeesense.lua b/lsp/coffeesense.lua index 0aface5e..46c0612a 100644 --- a/lsp/coffeesense.lua +++ b/lsp/coffeesense.lua @@ -7,6 +7,7 @@ --- ```sh --- npm install -g coffeesense-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'coffeesense-language-server', '--stdio' }, filetypes = { 'coffee' }, diff --git a/lsp/contextive.lua b/lsp/contextive.lua index 5cb25447..380c0b55 100644 --- a/lsp/contextive.lua +++ b/lsp/contextive.lua @@ -9,6 +9,7 @@ --- To install the language server, you need to download the appropriate [GitHub release asset](https://github.com/dev-cycles/contextive/releases/) for your operating system and architecture. --- --- After the download unzip the Contextive.LanguageServer binary and copy the file into a folder that is included in your system's PATH. +---@type vim.lsp.Config return { cmd = { 'Contextive.LanguageServer' }, root_markers = { '.contextive', '.git' }, diff --git a/lsp/coq_lsp.lua b/lsp/coq_lsp.lua index a8d6eb84..29c6cc0c 100644 --- a/lsp/coq_lsp.lua +++ b/lsp/coq_lsp.lua @@ -1,6 +1,7 @@ ---@brief --- --- https://github.com/ejgallego/coq-lsp/ +---@type vim.lsp.Config return { cmd = { 'coq-lsp' }, filetypes = { 'coq' }, diff --git a/lsp/crystalline.lua b/lsp/crystalline.lua index 1b1ed5f1..f54338ba 100644 --- a/lsp/crystalline.lua +++ b/lsp/crystalline.lua @@ -3,6 +3,7 @@ --- https://github.com/elbywan/crystalline --- --- Crystal language server. +---@type vim.lsp.Config return { cmd = { 'crystalline' }, filetypes = { 'crystal' }, diff --git a/lsp/csharp_ls.lua b/lsp/csharp_ls.lua index e44bc81a..77645925 100644 --- a/lsp/csharp_ls.lua +++ b/lsp/csharp_ls.lua @@ -10,6 +10,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'csharp-ls' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/cspell_ls.lua b/lsp/cspell_ls.lua index 3588a74b..d33d51f8 100644 --- a/lsp/cspell_ls.lua +++ b/lsp/cspell_ls.lua @@ -2,6 +2,7 @@ --- --- [cspell language server](https://github.com/vlabo/cspell-lsp) --- +---@type vim.lsp.Config return { cmd = { 'cspell-lsp', '--stdio' }, root_markers = { diff --git a/lsp/css_variables.lua b/lsp/css_variables.lua index 1ee9c2bc..729b471f 100644 --- a/lsp/css_variables.lua +++ b/lsp/css_variables.lua @@ -9,6 +9,7 @@ --- ```sh --- npm i -g css-variables-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'css-variables-language-server', '--stdio' }, filetypes = { 'css', 'scss', 'less' }, diff --git a/lsp/cssls.lua b/lsp/cssls.lua index 9d69f400..3f590a5f 100644 --- a/lsp/cssls.lua +++ b/lsp/cssls.lua @@ -19,6 +19,7 @@ --- capabilities = capabilities, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'vscode-css-language-server', '--stdio' }, filetypes = { 'css', 'scss', 'less' }, diff --git a/lsp/cssmodules_ls.lua b/lsp/cssmodules_ls.lua index 7837d32f..e100520a 100644 --- a/lsp/cssmodules_ls.lua +++ b/lsp/cssmodules_ls.lua @@ -8,6 +8,7 @@ --- ```sh --- npm install -g cssmodules-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'cssmodules-language-server' }, filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact' }, diff --git a/lsp/cucumber_language_server.lua b/lsp/cucumber_language_server.lua index 8ca784d7..9dab595a 100644 --- a/lsp/cucumber_language_server.lua +++ b/lsp/cucumber_language_server.lua @@ -10,6 +10,7 @@ --- ```sh --- npm install -g @cucumber/language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'cucumber-language-server', '--stdio' }, filetypes = { 'cucumber' }, diff --git a/lsp/cue.lua b/lsp/cue.lua index d2760f9a..c07a11f0 100644 --- a/lsp/cue.lua +++ b/lsp/cue.lua @@ -3,6 +3,7 @@ --- https://github.com/cue-lang/cue --- --- CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. +---@type vim.lsp.Config return { cmd = { 'cue', 'lsp' }, filetypes = { 'cue' }, diff --git a/lsp/custom_elements_ls.lua b/lsp/custom_elements_ls.lua index 59acf709..3103f564 100644 --- a/lsp/custom_elements_ls.lua +++ b/lsp/custom_elements_ls.lua @@ -23,6 +23,7 @@ --- ] --- } --- ``` +---@type vim.lsp.Config return { init_options = { hostInfo = 'neovim' }, cmd = { 'custom-elements-languageserver', '--stdio' }, diff --git a/lsp/cypher_ls.lua b/lsp/cypher_ls.lua index 5c41a936..c50e8989 100644 --- a/lsp/cypher_ls.lua +++ b/lsp/cypher_ls.lua @@ -9,6 +9,7 @@ --- ```sh --- npm i -g @neo4j-cypher/language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'cypher-language-server', '--stdio' }, filetypes = { 'cypher' }, diff --git a/lsp/daedalus_ls.lua b/lsp/daedalus_ls.lua index 95da1eb7..b3adef8c 100644 --- a/lsp/daedalus_ls.lua +++ b/lsp/daedalus_ls.lua @@ -2,6 +2,7 @@ --- --- DaedalusLanguageServer +---@type vim.lsp.Config return { cmd = { 'DaedalusLanguageServer' }, filetypes = { 'd' }, diff --git a/lsp/dafny.lua b/lsp/dafny.lua index fbabe833..5b0fa86b 100644 --- a/lsp/dafny.lua +++ b/lsp/dafny.lua @@ -6,6 +6,7 @@ -- older versions of Dafny, you can compile the language server from source at -- [dafny-lang/language-server-csharp](https://github.com/dafny-lang/language-server-csharp) -- and set `cmd = {"dotnet", "<Path to your language server>"}`. +---@type vim.lsp.Config return { cmd = { 'dafny', 'server' }, filetypes = { 'dfy', 'dafny' }, diff --git a/lsp/dagger.lua b/lsp/dagger.lua index 352b569c..03425f75 100644 --- a/lsp/dagger.lua +++ b/lsp/dagger.lua @@ -3,6 +3,7 @@ --- https://github.com/dagger/cuelsp --- --- Dagger's lsp server for cuelang. +---@type vim.lsp.Config return { cmd = { 'cuelsp' }, filetypes = { 'cue' }, diff --git a/lsp/dartls.lua b/lsp/dartls.lua index db8684e9..327334d8 100644 --- a/lsp/dartls.lua +++ b/lsp/dartls.lua @@ -3,6 +3,7 @@ --- https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec --- --- Language server for dart. +---@type vim.lsp.Config return { cmd = { 'dart', 'language-server', '--protocol=lsp' }, filetypes = { 'dart' }, diff --git a/lsp/dcmls.lua b/lsp/dcmls.lua index 83b6a978..983f24c1 100644 --- a/lsp/dcmls.lua +++ b/lsp/dcmls.lua @@ -3,6 +3,7 @@ --- https://dcm.dev/ --- --- Language server for DCM analyzer. +---@type vim.lsp.Config return { cmd = { 'dcm', 'start-server', '--client=neovim' }, filetypes = { 'dart' }, diff --git a/lsp/debputy.lua b/lsp/debputy.lua index 7aa71bf1..0728b015 100644 --- a/lsp/debputy.lua +++ b/lsp/debputy.lua @@ -3,6 +3,7 @@ --- https://salsa.debian.org/debian/debputy --- --- Language Server for Debian packages. +---@type vim.lsp.Config return { cmd = { 'debputy', 'lsp', 'server' }, filetypes = { 'debcontrol', 'debcopyright', 'debchangelog', 'autopkgtest', 'make', 'yaml' }, diff --git a/lsp/denols.lua b/lsp/denols.lua index 2da17313..90155126 100644 --- a/lsp/denols.lua +++ b/lsp/denols.lua @@ -63,6 +63,7 @@ local function denols_handler(err, result, ctx, config) lsp.handlers[ctx.method](err, result, ctx, config) end +---@type vim.lsp.Config return { cmd = { 'deno', 'lsp' }, cmd_env = { NO_COLOR = true }, diff --git a/lsp/dhall_lsp_server.lua b/lsp/dhall_lsp_server.lua index 607d3fca..4953fba4 100644 --- a/lsp/dhall_lsp_server.lua +++ b/lsp/dhall_lsp_server.lua @@ -10,6 +10,7 @@ --- ``` --- prebuilt binaries can be found [here](https://github.com/dhall-lang/dhall-haskell/releases). +---@type vim.lsp.Config return { cmd = { 'dhall-lsp-server' }, filetypes = { 'dhall' }, diff --git a/lsp/diagnosticls.lua b/lsp/diagnosticls.lua index f4a93916..b9cee6b3 100644 --- a/lsp/diagnosticls.lua +++ b/lsp/diagnosticls.lua @@ -3,6 +3,7 @@ --- https://github.com/iamcco/diagnostic-languageserver --- --- Diagnostic language server integrate with linters. +---@type vim.lsp.Config return { -- Configuration from https://github.com/iamcco/diagnostic-languageserver#config--document cmd = { 'diagnostic-languageserver', '--stdio' }, diff --git a/lsp/digestif.lua b/lsp/digestif.lua index 064c32bf..55641607 100644 --- a/lsp/digestif.lua +++ b/lsp/digestif.lua @@ -7,6 +7,7 @@ --- context-sensitive completion, documentation, code navigation, and related functionality to any --- --- text editor that speaks the LSP protocol. +---@type vim.lsp.Config return { cmd = { 'digestif' }, filetypes = { 'tex', 'plaintex', 'context' }, diff --git a/lsp/djlsp.lua b/lsp/djlsp.lua index dca6f378..120dbe46 100644 --- a/lsp/djlsp.lua +++ b/lsp/djlsp.lua @@ -4,6 +4,7 @@ --- --- `djlsp`, a language server for Django templates. +---@type vim.lsp.Config return { cmd = { 'djlsp' }, filetypes = { 'html', 'htmldjango' }, diff --git a/lsp/docker_compose_language_service.lua b/lsp/docker_compose_language_service.lua index a146be25..f5bbf78b 100644 --- a/lsp/docker_compose_language_service.lua +++ b/lsp/docker_compose_language_service.lua @@ -11,6 +11,7 @@ --- --- Note: If the docker-compose-langserver doesn't startup when entering a `docker-compose.yaml` file, make sure that the filetype is `yaml.docker-compose`. You can set with: `:set filetype=yaml.docker-compose`. +---@type vim.lsp.Config return { cmd = { 'docker-compose-langserver', '--stdio' }, filetypes = { 'yaml.docker-compose' }, diff --git a/lsp/docker_language_server.lua b/lsp/docker_language_server.lua index 38f74f67..5a6a89fd 100644 --- a/lsp/docker_language_server.lua +++ b/lsp/docker_language_server.lua @@ -6,6 +6,7 @@ --- ```sh --- go install github.com/docker/docker-language-server/cmd/docker-language-server@latest --- ``` +---@type vim.lsp.Config return { cmd = { 'docker-language-server', 'start', '--stdio' }, filetypes = { 'dockerfile', 'yaml.docker-compose' }, diff --git a/lsp/dockerls.lua b/lsp/dockerls.lua index f4970354..c3ac3f0c 100644 --- a/lsp/dockerls.lua +++ b/lsp/dockerls.lua @@ -21,6 +21,7 @@ --- } --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'docker-langserver', '--stdio' }, filetypes = { 'dockerfile' }, diff --git a/lsp/dolmenls.lua b/lsp/dolmenls.lua index c0eefb4d..ec0981bc 100644 --- a/lsp/dolmenls.lua +++ b/lsp/dolmenls.lua @@ -6,6 +6,7 @@ --- ```sh --- opam install dolmen_lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'dolmenls' }, filetypes = { 'smt2', 'tptp', 'p', 'cnf', 'icnf', 'zf' }, diff --git a/lsp/dotls.lua b/lsp/dotls.lua index 8867fcfc..48c17d90 100644 --- a/lsp/dotls.lua +++ b/lsp/dotls.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g dot-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'dot-language-server', '--stdio' }, filetypes = { 'dot' }, diff --git a/lsp/dprint.lua b/lsp/dprint.lua index 57d6c96e..528e425a 100644 --- a/lsp/dprint.lua +++ b/lsp/dprint.lua @@ -3,6 +3,7 @@ --- https://github.com/dprint/dprint --- --- Pluggable and configurable code formatting platform written in Rust. +---@type vim.lsp.Config return { cmd = { 'dprint', 'lsp' }, filetypes = { diff --git a/lsp/ds_pinyin_lsp.lua b/lsp/ds_pinyin_lsp.lua index 528a5102..1c3a9643 100644 --- a/lsp/ds_pinyin_lsp.lua +++ b/lsp/ds_pinyin_lsp.lua @@ -42,6 +42,7 @@ local function ds_pinyin_lsp_on(bufnr) end end +---@type vim.lsp.Config return { cmd = { bin_name }, filetypes = { 'markdown', 'org' }, diff --git a/lsp/dts_lsp.lua b/lsp/dts_lsp.lua index a687fcba..dd9c4a8d 100644 --- a/lsp/dts_lsp.lua +++ b/lsp/dts_lsp.lua @@ -12,6 +12,7 @@ --- https://www.devicetree.org/ --- https://docs.zephyrproject.org/latest/build/dts/index.html +---@type vim.lsp.Config return { name = 'dts_lsp', cmd = { 'dts-lsp' }, diff --git a/lsp/earthlyls.lua b/lsp/earthlyls.lua index f62466f8..3beb399e 100644 --- a/lsp/earthlyls.lua +++ b/lsp/earthlyls.lua @@ -4,6 +4,7 @@ --- --- A fast language server for earthly. +---@type vim.lsp.Config return { cmd = { 'earthlyls' }, filetypes = { 'earthfile' }, diff --git a/lsp/ecsact.lua b/lsp/ecsact.lua index 2c9876c3..889e2c06 100644 --- a/lsp/ecsact.lua +++ b/lsp/ecsact.lua @@ -6,6 +6,7 @@ --- --- The default cmd assumes `ecsact_lsp_server` is in your PATH. Typically from the --- Ecsact SDK: https://ecsact.dev/start +---@type vim.lsp.Config return { cmd = { 'ecsact_lsp_server', '--stdio' }, filetypes = { 'ecsact' }, diff --git a/lsp/efm.lua b/lsp/efm.lua index 4515dafd..d4216690 100644 --- a/lsp/efm.lua +++ b/lsp/efm.lua @@ -18,6 +18,7 @@ --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'efm-langserver' }, root_markers = { '.git' }, diff --git a/lsp/elixirls.lua b/lsp/elixirls.lua index d3e5cb34..e21f9a89 100644 --- a/lsp/elixirls.lua +++ b/lsp/elixirls.lua @@ -25,6 +25,7 @@ --- ``` --- --- 'root_dir' is chosen like this: if two or more directories containing `mix.exs` were found when searching directories upward, the second one (higher up) is chosen, with the assumption that it is the root of an umbrella app. Otherwise the directory containing the single mix.exs that was found is chosen. +---@type vim.lsp.Config return { filetypes = { 'elixir', 'eelixir', 'heex', 'surface' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/elmls.lua b/lsp/elmls.lua index 33ff9eb4..8a76f81a 100644 --- a/lsp/elmls.lua +++ b/lsp/elmls.lua @@ -9,6 +9,7 @@ local api = vim.api +---@type vim.lsp.Config return { cmd = { 'elm-language-server' }, -- TODO(ashkan) if we comment this out, it will allow elmls to operate on elm.json. It seems like it could do that, but no other editor allows it right now. diff --git a/lsp/elp.lua b/lsp/elp.lua index 0731601b..d299a450 100644 --- a/lsp/elp.lua +++ b/lsp/elp.lua @@ -4,6 +4,7 @@ --- --- ELP integrates Erlang into modern IDEs via the language server protocol and was --- inspired by rust-analyzer. +---@type vim.lsp.Config return { cmd = { 'elp', 'server' }, filetypes = { 'erlang' }, diff --git a/lsp/ember.lua b/lsp/ember.lua index 73ceae1e..81d25d1e 100644 --- a/lsp/ember.lua +++ b/lsp/ember.lua @@ -7,6 +7,7 @@ --- ```sh --- npm install -g @ember-tooling/ember-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'ember-language-server', '--stdio' }, filetypes = { 'handlebars', 'typescript', 'javascript', 'typescript.glimmer', 'javascript.glimmer' }, diff --git a/lsp/emmet_language_server.lua b/lsp/emmet_language_server.lua index c3ee04db..82cbbf1d 100644 --- a/lsp/emmet_language_server.lua +++ b/lsp/emmet_language_server.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g @olrtg/emmet-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'emmet-language-server', '--stdio' }, filetypes = { diff --git a/lsp/emmet_ls.lua b/lsp/emmet_ls.lua index 148e4c04..ba532eb2 100644 --- a/lsp/emmet_ls.lua +++ b/lsp/emmet_ls.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g emmet-ls --- ``` +---@type vim.lsp.Config return { cmd = { 'emmet-ls', '--stdio' }, filetypes = { diff --git a/lsp/emmylua_ls.lua b/lsp/emmylua_ls.lua index c2046551..5621469c 100644 --- a/lsp/emmylua_ls.lua +++ b/lsp/emmylua_ls.lua @@ -10,6 +10,7 @@ --- The default `cmd` assumes that the `emmylua_ls` binary can be found in `$PATH`. --- It might require you to provide cargo binaries installation path in it. +---@type vim.lsp.Config return { cmd = { 'emmylua_ls' }, filetypes = { 'lua' }, diff --git a/lsp/erg_language_server.lua b/lsp/erg_language_server.lua index 5bd70145..45370723 100644 --- a/lsp/erg_language_server.lua +++ b/lsp/erg_language_server.lua @@ -11,6 +11,7 @@ --- erg --language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'erg', '--language-server' }, filetypes = { 'erg' }, diff --git a/lsp/erlangls.lua b/lsp/erlangls.lua index 2487df60..d03975d5 100644 --- a/lsp/erlangls.lua +++ b/lsp/erlangls.lua @@ -12,6 +12,7 @@ --- Installation requirements: --- - [Erlang OTP 21+](https://github.com/erlang/otp) --- - [rebar3 3.9.1+](https://github.com/erlang/rebar3) +---@type vim.lsp.Config return { cmd = { 'erlang_ls' }, filetypes = { 'erlang' }, diff --git a/lsp/esbonio.lua b/lsp/esbonio.lua index 9069e788..287c8a30 100644 --- a/lsp/esbonio.lua +++ b/lsp/esbonio.lua @@ -42,6 +42,7 @@ --- ``` --- --- A full list and explanation of the available options can be found [here](https://docs.esbon.io/en/esbonio-language-server-v0.16.4/lsp/getting-started.html?editor=neovim-lspconfig#configuration) +---@type vim.lsp.Config return { cmd = { 'python3', '-m', 'esbonio' }, filetypes = { 'rst' }, diff --git a/lsp/eslint.lua b/lsp/eslint.lua index c6cb92eb..d54bd65b 100644 --- a/lsp/eslint.lua +++ b/lsp/eslint.lua @@ -57,6 +57,7 @@ local eslint_config_files = { 'eslint.config.cts', } +---@type vim.lsp.Config return { cmd = { 'vscode-eslint-language-server', '--stdio' }, filetypes = { diff --git a/lsp/facility_language_server.lua b/lsp/facility_language_server.lua index 1e81a2b9..164b49b1 100644 --- a/lsp/facility_language_server.lua +++ b/lsp/facility_language_server.lua @@ -3,6 +3,7 @@ --- https://github.com/FacilityApi/FacilityLanguageServer --- --- Facility language server protocol (LSP) support. +---@type vim.lsp.Config return { cmd = { 'facility-language-server' }, filetypes = { 'fsd' }, diff --git a/lsp/fennel_language_server.lua b/lsp/fennel_language_server.lua index a0b69c02..f2f7cb16 100644 --- a/lsp/fennel_language_server.lua +++ b/lsp/fennel_language_server.lua @@ -3,6 +3,7 @@ --- https://github.com/rydesun/fennel-language-server --- --- Fennel language server protocol (LSP) support. +---@type vim.lsp.Config return { cmd = { 'fennel-language-server' }, filetypes = { 'fennel' }, diff --git a/lsp/fennel_ls.lua b/lsp/fennel_ls.lua index 4023e021..acd9341a 100644 --- a/lsp/fennel_ls.lua +++ b/lsp/fennel_ls.lua @@ -7,6 +7,7 @@ --- fennel-ls is configured using the closest file to your working directory named `flsproject.fnl`. --- All fennel-ls configuration options [can be found here](https://git.sr.ht/~xerool/fennel-ls/tree/HEAD/docs/manual.md#configuration). +---@type vim.lsp.Config return { cmd = { 'fennel-ls' }, filetypes = { 'fennel' }, diff --git a/lsp/fish_lsp.lua b/lsp/fish_lsp.lua index 73055cad..e7cb1f5f 100644 --- a/lsp/fish_lsp.lua +++ b/lsp/fish_lsp.lua @@ -8,6 +8,7 @@ --- scope aware symbol analysis, per-token hover generation, and many others. --- --- [homepage](https://www.fish-lsp.dev/) +---@type vim.lsp.Config return { cmd = { 'fish-lsp', 'start' }, filetypes = { 'fish' }, diff --git a/lsp/flow.lua b/lsp/flow.lua index bf91c596..5efdc71c 100644 --- a/lsp/flow.lua +++ b/lsp/flow.lua @@ -11,6 +11,7 @@ --- ```sh --- npx flow lsp --help --- ``` +---@type vim.lsp.Config return { cmd = { 'npx', '--no-install', 'flow', 'lsp' }, filetypes = { 'javascript', 'javascriptreact', 'javascript.jsx' }, diff --git a/lsp/flux_lsp.lua b/lsp/flux_lsp.lua index 642eabf5..7a00b55f 100644 --- a/lsp/flux_lsp.lua +++ b/lsp/flux_lsp.lua @@ -5,6 +5,7 @@ --- ```sh --- cargo install --git https://github.com/influxdata/flux-lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'flux-lsp' }, filetypes = { 'flux' }, diff --git a/lsp/foam_ls.lua b/lsp/foam_ls.lua index bbc9d728..cff7c03e 100644 --- a/lsp/foam_ls.lua +++ b/lsp/foam_ls.lua @@ -7,6 +7,7 @@ --- npm install -g foam-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'foam-ls', '--stdio' }, filetypes = { 'foam', 'OpenFOAM' }, diff --git a/lsp/fortls.lua b/lsp/fortls.lua index a96da1ae..daf91b5d 100644 --- a/lsp/fortls.lua +++ b/lsp/fortls.lua @@ -11,6 +11,7 @@ --- Settings to the server can be passed either through the `cmd` option or through --- a local configuration file e.g. `.fortls`. For more information --- see the `fortls` [documentation](https://fortls.fortran-lang.org/options.html). +---@type vim.lsp.Config return { cmd = { 'fortls', diff --git a/lsp/fsautocomplete.lua b/lsp/fsautocomplete.lua index 335da670..7e0376bc 100644 --- a/lsp/fsautocomplete.lua +++ b/lsp/fsautocomplete.lua @@ -19,6 +19,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'fsautocomplete', '--adaptive-lsp-server-enabled' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/fsharp_language_server.lua b/lsp/fsharp_language_server.lua index 59a9ce58..b1de1f70 100644 --- a/lsp/fsharp_language_server.lua +++ b/lsp/fsharp_language_server.lua @@ -15,6 +15,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'dotnet', 'FSharpLanguageServer.dll' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/fstar.lua b/lsp/fstar.lua index 29216217..5b3e0d47 100644 --- a/lsp/fstar.lua +++ b/lsp/fstar.lua @@ -3,6 +3,7 @@ --- https://github.com/FStarLang/FStar --- --- LSP support is included in FStar. Make sure `fstar.exe` is in your PATH. +---@type vim.lsp.Config return { cmd = { 'fstar.exe', '--lsp' }, filetypes = { 'fstar' }, diff --git a/lsp/futhark_lsp.lua b/lsp/futhark_lsp.lua index b467ed08..f8ed4c74 100644 --- a/lsp/futhark_lsp.lua +++ b/lsp/futhark_lsp.lua @@ -8,6 +8,7 @@ --- ``` --- futhark lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'futhark', 'lsp' }, filetypes = { 'futhark', 'fut' }, diff --git a/lsp/gdscript.lua b/lsp/gdscript.lua index 79fe975a..d0d25b2e 100644 --- a/lsp/gdscript.lua +++ b/lsp/gdscript.lua @@ -7,6 +7,7 @@ local port = os.getenv 'GDScript_Port' or '6005' local cmd = vim.lsp.rpc.connect('127.0.0.1', tonumber(port)) +---@type vim.lsp.Config return { cmd = cmd, filetypes = { 'gd', 'gdscript', 'gdscript3' }, diff --git a/lsp/gdshader_lsp.lua b/lsp/gdshader_lsp.lua index 2e0c08db..0bc90057 100644 --- a/lsp/gdshader_lsp.lua +++ b/lsp/gdshader_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/godofavacyn/gdshader-lsp --- --- A language server for the Godot Shading language. +---@type vim.lsp.Config return { cmd = { 'gdshader-lsp', '--stdio' }, filetypes = { 'gdshader', 'gdshaderinc' }, diff --git a/lsp/gh_actions_ls.lua b/lsp/gh_actions_ls.lua index 62e3d9e7..2a9d8d7f 100644 --- a/lsp/gh_actions_ls.lua +++ b/lsp/gh_actions_ls.lua @@ -13,6 +13,7 @@ --- ```sh --- npm install -g gh-actions-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'gh-actions-language-server', '--stdio' }, filetypes = { 'yaml' }, diff --git a/lsp/ghcide.lua b/lsp/ghcide.lua index 65b83e8a..77581d53 100644 --- a/lsp/ghcide.lua +++ b/lsp/ghcide.lua @@ -4,6 +4,7 @@ --- --- A library for building Haskell IDE tooling. --- "ghcide" isn't for end users now. Use "haskell-language-server" instead of "ghcide". +---@type vim.lsp.Config return { cmd = { 'ghcide', '--lsp' }, filetypes = { 'haskell', 'lhaskell' }, diff --git a/lsp/ghdl_ls.lua b/lsp/ghdl_ls.lua index 12a394aa..85961903 100644 --- a/lsp/ghdl_ls.lua +++ b/lsp/ghdl_ls.lua @@ -6,6 +6,7 @@ --- --- `ghdl-ls` is part of pyghdl, for installation instructions see --- [the upstream README](https://github.com/ghdl/ghdl/tree/master/pyGHDL/lsp). +---@type vim.lsp.Config return { cmd = { 'ghdl-ls' }, filetypes = { 'vhdl' }, diff --git a/lsp/ginko_ls.lua b/lsp/ginko_ls.lua index 501c5e7a..efeebd7a 100644 --- a/lsp/ginko_ls.lua +++ b/lsp/ginko_ls.lua @@ -7,6 +7,7 @@ --- Install `ginko_ls` from https://github.com/Schottkyc137/ginko and add it to path --- --- `ginko_ls` doesn't require any configuration. +---@type vim.lsp.Config return { cmd = { 'ginko_ls' }, filetypes = { 'dts' }, diff --git a/lsp/gitlab_ci_ls.lua b/lsp/gitlab_ci_ls.lua index 4832a91f..a7e92865 100644 --- a/lsp/gitlab_ci_ls.lua +++ b/lsp/gitlab_ci_ls.lua @@ -11,6 +11,7 @@ local util = require 'lspconfig.util' local cache_dir = vim.uv.os_homedir() .. '/.cache/gitlab-ci-ls/' +---@type vim.lsp.Config return { cmd = { 'gitlab-ci-ls' }, filetypes = { 'yaml.gitlab' }, diff --git a/lsp/glasgow.lua b/lsp/glasgow.lua index e7aff60f..7cf3f3db 100644 --- a/lsp/glasgow.lua +++ b/lsp/glasgow.lua @@ -20,6 +20,7 @@ --- ```sh --- cargo install glasgow --- ``` +---@type vim.lsp.Config return { cmd = { 'glasgow' }, filetypes = { 'wgsl' }, diff --git a/lsp/gleam.lua b/lsp/gleam.lua index 29e2994a..3e117a8c 100644 --- a/lsp/gleam.lua +++ b/lsp/gleam.lua @@ -5,6 +5,7 @@ --- A language server for Gleam Programming Language. --- --- It comes with the Gleam compiler, for installation see: [Installing Gleam](https://gleam.run/getting-started/installing/) +---@type vim.lsp.Config return { cmd = { 'gleam', 'lsp' }, filetypes = { 'gleam' }, diff --git a/lsp/glint.lua b/lsp/glint.lua index 2ed30bb5..7da94146 100644 --- a/lsp/glint.lua +++ b/lsp/glint.lua @@ -22,6 +22,7 @@ --- }, --- }) +---@type vim.lsp.Config return { cmd = function(dispatchers, config) local cmd = (config.init_options.glint.useGlobal or not config.root_dir) and { 'glint-language-server' } diff --git a/lsp/glsl_analyzer.lua b/lsp/glsl_analyzer.lua index 91f5861f..510a18fc 100644 --- a/lsp/glsl_analyzer.lua +++ b/lsp/glsl_analyzer.lua @@ -3,6 +3,7 @@ --- https://github.com/nolanderc/glsl_analyzer --- --- Language server for GLSL +---@type vim.lsp.Config return { cmd = { 'glsl_analyzer' }, filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' }, diff --git a/lsp/glslls.lua b/lsp/glslls.lua index 1c301010..ef2fbcbf 100644 --- a/lsp/glslls.lua +++ b/lsp/glslls.lua @@ -6,6 +6,7 @@ --- --- `glslls` can be compiled and installed manually, or, if your distribution has access to the AUR, --- via the `glsl-language-server` AUR package +---@type vim.lsp.Config return { cmd = { 'glslls', '--stdin' }, filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' }, diff --git a/lsp/gnls.lua b/lsp/gnls.lua index a44b8c83..e9621b67 100644 --- a/lsp/gnls.lua +++ b/lsp/gnls.lua @@ -12,6 +12,7 @@ --- --- exec node ${GNLS_SRC_DIR}/build/server.js $@ --- ``` +---@type vim.lsp.Config return { cmd = { 'gnls', '--stdio' }, filetypes = { 'gn' }, diff --git a/lsp/golangci_lint_ls.lua b/lsp/golangci_lint_ls.lua index 207f6e70..3ba4a36a 100644 --- a/lsp/golangci_lint_ls.lua +++ b/lsp/golangci_lint_ls.lua @@ -12,6 +12,7 @@ --- go install github.com/nametake/golangci-lint-langserver@latest --- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest --- ``` +---@type vim.lsp.Config return { cmd = { 'golangci-lint-langserver' }, filetypes = { 'go', 'gomod' }, diff --git a/lsp/gopls.lua b/lsp/gopls.lua index 0b4c59f6..558f0a92 100644 --- a/lsp/gopls.lua +++ b/lsp/gopls.lua @@ -85,6 +85,7 @@ local function get_root_dir(fname) return vim.fs.root(fname, 'go.work') or vim.fs.root(fname, 'go.mod') or vim.fs.root(fname, '.git') end +---@type vim.lsp.Config return { cmd = { 'gopls' }, filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' }, diff --git a/lsp/gradle_ls.lua b/lsp/gradle_ls.lua index 373a9267..1974d77f 100644 --- a/lsp/gradle_ls.lua +++ b/lsp/gradle_ls.lua @@ -11,6 +11,7 @@ if vim.fn.has 'win32' == 1 then bin_name = bin_name .. '.bat' end +---@type vim.lsp.Config return { filetypes = { 'groovy' }, root_markers = { diff --git a/lsp/grammarly.lua b/lsp/grammarly.lua index 4c7d379c..49ab4227 100644 --- a/lsp/grammarly.lua +++ b/lsp/grammarly.lua @@ -9,6 +9,7 @@ --- ``` --- --- WARNING: Since this language server uses Grammarly's API, any document you open with it running is shared with them. Please evaluate their [privacy policy](https://www.grammarly.com/privacy-policy) before using this. +---@type vim.lsp.Config return { cmd = { 'grammarly-languageserver', '--stdio' }, filetypes = { 'markdown' }, diff --git a/lsp/graphql.lua b/lsp/graphql.lua index 86206801..27a86035 100644 --- a/lsp/graphql.lua +++ b/lsp/graphql.lua @@ -12,6 +12,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'graphql-lsp', 'server', '-m', 'stream' }, filetypes = { 'graphql', 'typescriptreact', 'javascriptreact' }, diff --git a/lsp/groovyls.lua b/lsp/groovyls.lua index 7610bf0b..e548de60 100644 --- a/lsp/groovyls.lua +++ b/lsp/groovyls.lua @@ -17,6 +17,7 @@ --- ... --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'java', diff --git a/lsp/guile_ls.lua b/lsp/guile_ls.lua index 8beb2530..ad7c69cd 100644 --- a/lsp/guile_ls.lua +++ b/lsp/guile_ls.lua @@ -10,6 +10,7 @@ --- Checkout the repo for more info. --- --- Note: This LSP will start on `scheme.guile` filetype. You can set this file type using `:help modeline` or adding https://gitlab.com/HiPhish/guile.vim to your plugins to automatically set it. +---@type vim.lsp.Config return { cmd = { 'guile-lsp-server' }, filetypes = { diff --git a/lsp/harper_ls.lua b/lsp/harper_ls.lua index 922df069..ee7906d2 100644 --- a/lsp/harper_ls.lua +++ b/lsp/harper_ls.lua @@ -16,6 +16,7 @@ --- }, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'harper-ls', '--stdio' }, filetypes = { diff --git a/lsp/hdl_checker.lua b/lsp/hdl_checker.lua index 0ef83bee..c6b8b2c3 100644 --- a/lsp/hdl_checker.lua +++ b/lsp/hdl_checker.lua @@ -3,6 +3,7 @@ --- https://github.com/suoto/hdl_checker --- Language server for hdl-checker. --- Install using: `pip install hdl-checker --upgrade` +---@type vim.lsp.Config return { cmd = { 'hdl_checker', '--lsp' }, filetypes = { 'vhdl', 'verilog', 'systemverilog' }, diff --git a/lsp/helm_ls.lua b/lsp/helm_ls.lua index 9c92fa0e..3931b448 100644 --- a/lsp/helm_ls.lua +++ b/lsp/helm_ls.lua @@ -9,6 +9,7 @@ --- The default `cmd` assumes that the `helm_ls` binary can be found in `$PATH`. --- --- If need Helm file highlight use [vim-helm](https://github.com/towolf/vim-helm) plugin. +---@type vim.lsp.Config return { cmd = { 'helm_ls', 'serve' }, filetypes = { 'helm', 'yaml.helm-values' }, diff --git a/lsp/herb_ls.lua b/lsp/herb_ls.lua index 865a435c..3f83d932 100644 --- a/lsp/herb_ls.lua +++ b/lsp/herb_ls.lua @@ -20,6 +20,7 @@ --- ```sh --- yarn global add @herb-tools/language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'herb-language-server', '--stdio' }, filetypes = { 'html', 'ruby', 'eruby' }, diff --git a/lsp/hhvm.lua b/lsp/hhvm.lua index 4a08a86c..1dfa0277 100644 --- a/lsp/hhvm.lua +++ b/lsp/hhvm.lua @@ -5,6 +5,7 @@ --- https://github.com/facebook/hhvm --- See below for how to setup HHVM & typechecker: --- https://docs.hhvm.com/hhvm/getting-started/getting-started +---@type vim.lsp.Config return { cmd = { 'hh_client', 'lsp' }, filetypes = { 'php', 'hack' }, diff --git a/lsp/hie.lua b/lsp/hie.lua index 49d9f5d7..6e53cacc 100644 --- a/lsp/hie.lua +++ b/lsp/hie.lua @@ -16,6 +16,7 @@ --- } --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'hie-wrapper', '--lsp' }, filetypes = { 'haskell' }, diff --git a/lsp/hlasm.lua b/lsp/hlasm.lua index a7bcfcb4..1c86a24f 100644 --- a/lsp/hlasm.lua +++ b/lsp/hlasm.lua @@ -3,6 +3,7 @@ --- `hlasm_language_server` is a language server for the High Level Assembler language used on IBM SystemZ mainframes. --- --- To learn how to configure the HLASM language server, see the [HLASM Language Support documentation](https://github.com/eclipse-che4z/che-che4z-lsp-for-hlasm). +---@type vim.lsp.Config return { cmd = { 'hlasm_language_server' }, filetypes = { 'hlasm' }, diff --git a/lsp/hls.lua b/lsp/hls.lua index f6717e07..705a97d2 100644 --- a/lsp/hls.lua +++ b/lsp/hls.lua @@ -14,6 +14,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'haskell-language-server-wrapper', '--lsp' }, filetypes = { 'haskell', 'lhaskell' }, diff --git a/lsp/hoon_ls.lua b/lsp/hoon_ls.lua index f3e4fd1f..0c7cfeb6 100644 --- a/lsp/hoon_ls.lua +++ b/lsp/hoon_ls.lua @@ -8,6 +8,7 @@ --- --- Start a fake ~zod with `urbit -F zod`. --- Start the language server at the Urbit Dojo prompt with: `|start %language-server` +---@type vim.lsp.Config return { cmd = { 'hoon-language-server' }, filetypes = { 'hoon' }, diff --git a/lsp/html.lua b/lsp/html.lua index 523b8b44..ebbcb526 100644 --- a/lsp/html.lua +++ b/lsp/html.lua @@ -21,6 +21,7 @@ --- capabilities = capabilities, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'vscode-html-language-server', '--stdio' }, filetypes = { 'html', 'templ' }, diff --git a/lsp/htmx.lua b/lsp/htmx.lua index 2d20714b..d7561cad 100644 --- a/lsp/htmx.lua +++ b/lsp/htmx.lua @@ -8,6 +8,7 @@ --- ``` --- --- Lsp is still very much work in progress and experimental. Use at your own risk. +---@type vim.lsp.Config return { cmd = { 'htmx-lsp' }, filetypes = { -- filetypes copied and adjusted from tailwindcss-intellisense diff --git a/lsp/hydra_lsp.lua b/lsp/hydra_lsp.lua index 70c7960b..17e9905e 100644 --- a/lsp/hydra_lsp.lua +++ b/lsp/hydra_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/Retsediv/hydra-lsp --- --- LSP for Hydra Python package config files. +---@type vim.lsp.Config return { cmd = { 'hydra-lsp' }, filetypes = { 'yaml' }, diff --git a/lsp/hyprls.lua b/lsp/hyprls.lua index 2de333cb..6bd65e45 100644 --- a/lsp/hyprls.lua +++ b/lsp/hyprls.lua @@ -6,6 +6,7 @@ --- ```sh --- go install github.com/hyprland-community/hyprls/cmd/hyprls@latest --- ``` +---@type vim.lsp.Config return { cmd = { 'hyprls', '--stdio' }, filetypes = { 'hyprlang' }, diff --git a/lsp/idris2_lsp.lua b/lsp/idris2_lsp.lua index 3997863b..d7f153e8 100644 --- a/lsp/idris2_lsp.lua +++ b/lsp/idris2_lsp.lua @@ -31,6 +31,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'idris2-lsp' }, filetypes = { 'idris2' }, diff --git a/lsp/intelephense.lua b/lsp/intelephense.lua index 383da13b..8a91c401 100644 --- a/lsp/intelephense.lua +++ b/lsp/intelephense.lua @@ -25,6 +25,7 @@ --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'intelephense', '--stdio' }, filetypes = { 'php' }, diff --git a/lsp/janet_lsp.lua b/lsp/janet_lsp.lua index 0b2edbf2..4154678a 100644 --- a/lsp/janet_lsp.lua +++ b/lsp/janet_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/CFiggers/janet-lsp --- --- A Language Server Protocol implementation for Janet. +---@type vim.lsp.Config return { cmd = { 'janet-lsp', diff --git a/lsp/java_language_server.lua b/lsp/java_language_server.lua index 950e42bc..2ba0fe8b 100644 --- a/lsp/java_language_server.lua +++ b/lsp/java_language_server.lua @@ -5,6 +5,7 @@ --- Java language server --- --- Point `cmd` to `lang_server_linux.sh` or the equivalent script for macOS/Windows provided by java-language-server +---@type vim.lsp.Config return { filetypes = { 'java' }, root_markers = { 'build.gradle', 'build.gradle.kts', 'pom.xml', '.git' }, diff --git a/lsp/jdtls.lua b/lsp/jdtls.lua index e9cce6a9..4a57aa67 100644 --- a/lsp/jdtls.lua +++ b/lsp/jdtls.lua @@ -109,6 +109,7 @@ local function on_language_status(_, result) command 'echohl None' end +---@type vim.lsp.Config return { cmd = { 'jdtls', diff --git a/lsp/jedi_language_server.lua b/lsp/jedi_language_server.lua index 3cd7d209..9f3e697f 100644 --- a/lsp/jedi_language_server.lua +++ b/lsp/jedi_language_server.lua @@ -3,6 +3,7 @@ --- https://github.com/pappasam/jedi-language-server --- --- `jedi-language-server`, a language server for Python, built on top of jedi +---@type vim.lsp.Config return { cmd = { 'jedi-language-server' }, filetypes = { 'python' }, diff --git a/lsp/jinja_lsp.lua b/lsp/jinja_lsp.lua index 9807b176..8b5a433a 100644 --- a/lsp/jinja_lsp.lua +++ b/lsp/jinja_lsp.lua @@ -13,6 +13,7 @@ --- }, --- } --- ``` +---@type vim.lsp.Config return { name = 'jinja_lsp', cmd = { 'jinja-lsp' }, diff --git a/lsp/jqls.lua b/lsp/jqls.lua index d03230d1..e54e3746 100644 --- a/lsp/jqls.lua +++ b/lsp/jqls.lua @@ -15,6 +15,7 @@ --- ```lua --- vim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]]) --- ``` +---@type vim.lsp.Config return { cmd = { 'jq-lsp' }, filetypes = { 'jq' }, diff --git a/lsp/jsonls.lua b/lsp/jsonls.lua index da8a338d..7c9624c4 100644 --- a/lsp/jsonls.lua +++ b/lsp/jsonls.lua @@ -20,6 +20,7 @@ --- capabilities = capabilities, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'vscode-json-language-server', '--stdio' }, filetypes = { 'json', 'jsonc' }, diff --git a/lsp/jsonnet_ls.lua b/lsp/jsonnet_ls.lua index 70812043..29991b03 100644 --- a/lsp/jsonnet_ls.lua +++ b/lsp/jsonnet_ls.lua @@ -8,6 +8,7 @@ --- ```sh --- go install github.com/grafana/jsonnet-language-server@latest --- ``` +---@type vim.lsp.Config return { cmd = { 'jsonnet-language-server' }, filetypes = { diff --git a/lsp/julials.lua b/lsp/julials.lua index 12084472..949a7e83 100644 --- a/lsp/julials.lua +++ b/lsp/julials.lua @@ -116,6 +116,7 @@ local cmd = { ]], } +---@type vim.lsp.Config return { cmd = cmd, filetypes = { 'julia' }, diff --git a/lsp/just.lua b/lsp/just.lua index 72426657..529ce70b 100644 --- a/lsp/just.lua +++ b/lsp/just.lua @@ -3,6 +3,7 @@ --- https://github.com/terror/just-lsp --- --- `just-lsp` is an LSP for just built on top of the tree-sitter-just parser. +---@type vim.lsp.Config return { cmd = { 'just-lsp' }, filetypes = { 'just' }, diff --git a/lsp/kcl.lua b/lsp/kcl.lua index 50f1dd95..5443da72 100644 --- a/lsp/kcl.lua +++ b/lsp/kcl.lua @@ -4,6 +4,7 @@ --- --- Language server for the KCL configuration and policy language. --- +---@type vim.lsp.Config return { cmd = { 'kcl-language-server' }, filetypes = { 'kcl' }, diff --git a/lsp/koka.lua b/lsp/koka.lua index f83aa4bf..29ab7faf 100644 --- a/lsp/koka.lua +++ b/lsp/koka.lua @@ -2,6 +2,7 @@ --- --- https://koka-lang.github.io/koka/doc/index.html --- Koka is a functional programming language with effect types and handlers. +---@type vim.lsp.Config return { cmd = { 'koka', '--language-server', '--lsstdio' }, filetypes = { 'koka' }, diff --git a/lsp/kotlin_language_server.lua b/lsp/kotlin_language_server.lua index d70afa78..b5446e2e 100644 --- a/lsp/kotlin_language_server.lua +++ b/lsp/kotlin_language_server.lua @@ -30,6 +30,7 @@ local root_files = { 'build.gradle.kts', -- Gradle } +---@type vim.lsp.Config return { filetypes = { 'kotlin' }, root_markers = root_files, diff --git a/lsp/kotlin_lsp.lua b/lsp/kotlin_lsp.lua index a36faa8e..04e6b6e6 100644 --- a/lsp/kotlin_lsp.lua +++ b/lsp/kotlin_lsp.lua @@ -7,6 +7,7 @@ -- -- These are configuration files for the various build systems supported by -- Kotlin. +---@type vim.lsp.Config return { filetypes = { 'kotlin' }, cmd = { 'kotlin-lsp', '--stdio' }, diff --git a/lsp/kulala_ls.lua b/lsp/kulala_ls.lua index 77f5dc82..318c5998 100644 --- a/lsp/kulala_ls.lua +++ b/lsp/kulala_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/mistweaverco/kulala-ls --- --- A minimal language server for HTTP syntax. +---@type vim.lsp.Config return { cmd = { 'kulala-ls', '--stdio' }, filetypes = { 'http' }, diff --git a/lsp/laravel_ls.lua b/lsp/laravel_ls.lua index 448ebdba..59d986fd 100644 --- a/lsp/laravel_ls.lua +++ b/lsp/laravel_ls.lua @@ -6,6 +6,7 @@ --- --- The default `cmd` assumes that the `laravel-ls` binary can be found in `$PATH`. +---@type vim.lsp.Config return { cmd = { 'laravel-ls' }, filetypes = { 'php', 'blade' }, diff --git a/lsp/lean3ls.lua b/lsp/lean3ls.lua index 07ff0599..aefbbe92 100644 --- a/lsp/lean3ls.lua +++ b/lsp/lean3ls.lua @@ -14,6 +14,7 @@ --- that plugin fully handles the setup of the Lean language server, --- and you shouldn't set up `lean3ls` both with it and `lspconfig`. +---@type vim.lsp.Config return { cmd = { 'lean-language-server', '--stdio', '--', '-M', '4096', '-T', '100000' }, filetypes = { 'lean3' }, diff --git a/lsp/lelwel_ls.lua b/lsp/lelwel_ls.lua index d9f5fd3f..f486046f 100644 --- a/lsp/lelwel_ls.lua +++ b/lsp/lelwel_ls.lua @@ -8,6 +8,7 @@ --- ```sh --- cargo install --features="lsp" lelwel --- ``` +---@type vim.lsp.Config return { cmd = { 'lelwel-ls' }, filetypes = { 'llw' }, diff --git a/lsp/lemminx.lua b/lsp/lemminx.lua index 57beaa2a..96c09eb1 100644 --- a/lsp/lemminx.lua +++ b/lsp/lemminx.lua @@ -5,6 +5,7 @@ --- The easiest way to install the server is to get a binary from https://github.com/redhat-developer/vscode-xml/releases and place it on your PATH. --- --- NOTE to macOS users: Binaries from unidentified developers are blocked by default. If you trust the downloaded binary, run it once, cancel the prompt, then remove the binary from Gatekeeper quarantine with `xattr -d com.apple.quarantine lemminx`. It should now run without being blocked. +---@type vim.lsp.Config return { cmd = { 'lemminx' }, filetypes = { 'xml', 'xsd', 'xsl', 'xslt', 'svg' }, diff --git a/lsp/lexical.lua b/lsp/lexical.lua index 0e695459..3def6803 100644 --- a/lsp/lexical.lua +++ b/lsp/lexical.lua @@ -8,6 +8,7 @@ --- --- **By default, `lexical` doesn't have a `cmd` set.** --- This is because nvim-lspconfig does not make assumptions about your path. +---@type vim.lsp.Config return { filetypes = { 'elixir', 'eelixir', 'heex', 'surface' }, root_markers = { 'mix.exs', '.git' }, diff --git a/lsp/lsp_ai.lua b/lsp/lsp_ai.lua index cf005f59..2b85edaf 100644 --- a/lsp/lsp_ai.lua +++ b/lsp/lsp_ai.lua @@ -9,6 +9,7 @@ --- You will need to provide configuration for the inference backends and models you want to use, as well as configure --- completion/code actions. See the [wiki docs](https://github.com/SilasMarvin/lsp-ai/wiki/Configuration) and --- [examples](https://github.com/SilasMarvin/lsp-ai/blob/main/examples/nvim) for more information. +---@type vim.lsp.Config return { cmd = { 'lsp-ai' }, filetypes = {}, diff --git a/lsp/ltex.lua b/lsp/ltex.lua index c50b91ef..9b3bb242 100644 --- a/lsp/ltex.lua +++ b/lsp/ltex.lua @@ -71,6 +71,7 @@ do end end +---@type vim.lsp.Config return { cmd = { 'ltex-ls' }, filetypes = filetypes, diff --git a/lsp/ltex_plus.lua b/lsp/ltex_plus.lua index e5444f97..dfbe14b5 100644 --- a/lsp/ltex_plus.lua +++ b/lsp/ltex_plus.lua @@ -36,6 +36,7 @@ local function get_language_id(_, filetype) return language_id_mapping[filetype] or filetype end +---@type vim.lsp.Config return { cmd = { 'ltex-ls-plus' }, filetypes = { diff --git a/lsp/lua_ls.lua b/lsp/lua_ls.lua index d7a1821a..60793fa8 100644 --- a/lsp/lua_ls.lua +++ b/lsp/lua_ls.lua @@ -67,6 +67,7 @@ --- * [Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath) --- * [Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary) --- +---@type vim.lsp.Config return { cmd = { 'lua-language-server' }, filetypes = { 'lua' }, diff --git a/lsp/luau_lsp.lua b/lsp/luau_lsp.lua index 70f3ac1e..38903bed 100644 --- a/lsp/luau_lsp.lua +++ b/lsp/luau_lsp.lua @@ -11,6 +11,7 @@ --- ```vim --- autocmd BufRead,BufNewFile *.luau setf luau --- ``` +---@type vim.lsp.Config return { cmd = { 'luau-lsp', 'lsp' }, filetypes = { 'luau' }, diff --git a/lsp/lwc_ls.lua b/lsp/lwc_ls.lua index b2f6a065..0ed76d5b 100644 --- a/lsp/lwc_ls.lua +++ b/lsp/lwc_ls.lua @@ -16,6 +16,7 @@ --- } --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'lwc-language-server', '--stdio' }, filetypes = { 'javascript', 'html' }, diff --git a/lsp/m68k.lua b/lsp/m68k.lua index 2af060de..d7cc56e9 100644 --- a/lsp/m68k.lua +++ b/lsp/m68k.lua @@ -15,6 +15,7 @@ --- ```lua --- vim.g.asmsyntax = 'asm68k' --- ``` +---@type vim.lsp.Config return { cmd = { 'm68k-lsp-server', '--stdio' }, filetypes = { 'asm68k' }, diff --git a/lsp/markdown_oxide.lua b/lsp/markdown_oxide.lua index 317bd433..cb61d23d 100644 --- a/lsp/markdown_oxide.lua +++ b/lsp/markdown_oxide.lua @@ -20,6 +20,7 @@ local function command_factory(client, bufnr, cmd) }, { bufnr = bufnr }) end +---@type vim.lsp.Config return { root_markers = { '.git', '.obsidian', '.moxide.toml' }, filetypes = { 'markdown' }, diff --git a/lsp/marko-js.lua b/lsp/marko-js.lua index 0075b052..8566ae31 100644 --- a/lsp/marko-js.lua +++ b/lsp/marko-js.lua @@ -8,6 +8,7 @@ --- ``` --- npm i -g @marko/language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'marko-language-server', '--stdio' }, filetypes = { 'marko' }, diff --git a/lsp/marksman.lua b/lsp/marksman.lua index 6f436e4a..52c4f3b6 100644 --- a/lsp/marksman.lua +++ b/lsp/marksman.lua @@ -11,6 +11,7 @@ local bin_name = 'marksman' local cmd = { bin_name, 'server' } +---@type vim.lsp.Config return { cmd = cmd, filetypes = { 'markdown', 'markdown.mdx' }, diff --git a/lsp/matlab_ls.lua b/lsp/matlab_ls.lua index bf4f4f78..64c20a8c 100644 --- a/lsp/matlab_ls.lua +++ b/lsp/matlab_ls.lua @@ -14,6 +14,7 @@ --- }, --- }, --- ``` +---@type vim.lsp.Config return { cmd = { 'matlab-language-server', '--stdio' }, filetypes = { 'matlab' }, diff --git a/lsp/mdx_analyzer.lua b/lsp/mdx_analyzer.lua index ce87f538..3ff81363 100644 --- a/lsp/mdx_analyzer.lua +++ b/lsp/mdx_analyzer.lua @@ -5,6 +5,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'mdx-language-server', '--stdio' }, filetypes = { 'mdx' }, diff --git a/lsp/mesonlsp.lua b/lsp/mesonlsp.lua index c4470438..dc10550d 100644 --- a/lsp/mesonlsp.lua +++ b/lsp/mesonlsp.lua @@ -28,6 +28,7 @@ local meson_matcher = function(_, path) return false end +---@type vim.lsp.Config return { cmd = { 'mesonlsp', '--lsp' }, filetypes = { 'meson' }, diff --git a/lsp/metals.lua b/lsp/metals.lua index 573ca01f..3a1478bb 100644 --- a/lsp/metals.lua +++ b/lsp/metals.lua @@ -11,6 +11,7 @@ --- Note: that if you're using [nvim-metals](https://github.com/scalameta/nvim-metals), that plugin fully handles the setup and installation of Metals, and you shouldn't set up Metals both with it and `lspconfig`. --- --- To install Metals, make sure to have [coursier](https://get-coursier.io/docs/cli-installation) installed, and once you do you can install the latest Metals with `cs install metals`. +---@type vim.lsp.Config return { cmd = { 'metals' }, filetypes = { 'scala' }, diff --git a/lsp/millet.lua b/lsp/millet.lua index c3833d2c..aca03e85 100644 --- a/lsp/millet.lua +++ b/lsp/millet.lua @@ -10,6 +10,7 @@ --- 2. Clone the repo --- 3. Run `cargo build --release --bin millet-ls` --- 4. Move `target/release/millet-ls` to somewhere on your $PATH as `millet` +---@type vim.lsp.Config return { cmd = { 'millet' }, filetypes = { 'sml' }, diff --git a/lsp/mint.lua b/lsp/mint.lua index 56172eb6..6249fa44 100644 --- a/lsp/mint.lua +++ b/lsp/mint.lua @@ -4,6 +4,7 @@ --- --- Install Mint using the [instructions](https://www.mint-lang.com/install). --- The language server is included since version 0.12.0. +---@type vim.lsp.Config return { cmd = { 'mint', 'ls' }, filetypes = { 'mint' }, diff --git a/lsp/mlir_lsp_server.lua b/lsp/mlir_lsp_server.lua index 75bed78c..5f2dd110 100644 --- a/lsp/mlir_lsp_server.lua +++ b/lsp/mlir_lsp_server.lua @@ -5,6 +5,7 @@ --- The Language Server for the LLVM MLIR language --- --- `mlir-lsp-server` can be installed at the llvm-project repository (https://github.com/llvm/llvm-project) +---@type vim.lsp.Config return { cmd = { 'mlir-lsp-server' }, filetypes = { 'mlir' }, diff --git a/lsp/mlir_pdll_lsp_server.lua b/lsp/mlir_pdll_lsp_server.lua index efcc8710..27402c01 100644 --- a/lsp/mlir_pdll_lsp_server.lua +++ b/lsp/mlir_pdll_lsp_server.lua @@ -5,6 +5,7 @@ --- The Language Server for the LLVM PDLL language --- --- `mlir-pdll-lsp-server` can be installed at the llvm-project repository (https://github.com/llvm/llvm-project) +---@type vim.lsp.Config return { cmd = { 'mlir-pdll-lsp-server' }, filetypes = { 'pdll' }, diff --git a/lsp/mm0_ls.lua b/lsp/mm0_ls.lua index aa8c480d..67f3b5e7 100644 --- a/lsp/mm0_ls.lua +++ b/lsp/mm0_ls.lua @@ -6,6 +6,7 @@ --- --- Requires [mm0-rs](https://github.com/digama0/mm0/tree/master/mm0-rs) to be installed --- and available on the `PATH`. +---@type vim.lsp.Config return { cmd = { 'mm0-rs', 'server' }, root_markers = { '.git' }, diff --git a/lsp/mojo.lua b/lsp/mojo.lua index 8b84d87f..a4edefcf 100644 --- a/lsp/mojo.lua +++ b/lsp/mojo.lua @@ -5,6 +5,7 @@ --- `mojo-lsp-server` can be installed [via Modular](https://developer.modular.com/download) --- --- Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. +---@type vim.lsp.Config return { cmd = { 'mojo-lsp-server' }, filetypes = { 'mojo' }, diff --git a/lsp/motoko_lsp.lua b/lsp/motoko_lsp.lua index f479e2d7..b9fd6ec4 100644 --- a/lsp/motoko_lsp.lua +++ b/lsp/motoko_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/dfinity/vscode-motoko --- --- Language server for the Motoko programming language. +---@type vim.lsp.Config return { cmd = { 'motoko-lsp', '--stdio' }, filetypes = { 'motoko' }, diff --git a/lsp/move_analyzer.lua b/lsp/move_analyzer.lua index 71cfbe0a..5770a4ad 100644 --- a/lsp/move_analyzer.lua +++ b/lsp/move_analyzer.lua @@ -11,6 +11,7 @@ --- ``` --- --- See [`move-analyzer`'s doc](https://github.com/move-language/move/blob/1b258a06e3c7d2bc9174578aac92cca3ac19de71/language/move-analyzer/editors/code/README.md#how-to-install) for details. +---@type vim.lsp.Config return { cmd = { 'move-analyzer' }, filetypes = { 'move' }, diff --git a/lsp/msbuild_project_tools_server.lua b/lsp/msbuild_project_tools_server.lua index bf2f2b4b..0f85e518 100644 --- a/lsp/msbuild_project_tools_server.lua +++ b/lsp/msbuild_project_tools_server.lua @@ -35,6 +35,7 @@ local host_dll_name = 'MSBuildProjectTools.LanguageServer.Host.dll' local util = require 'lspconfig.util' +---@type vim.lsp.Config return { filetypes = { 'msbuild' }, root_dir = function(bufnr, on_dir) diff --git a/lsp/muon.lua b/lsp/muon.lua index 7d2f546e..e6d4ed8c 100644 --- a/lsp/muon.lua +++ b/lsp/muon.lua @@ -1,6 +1,7 @@ ---@brief --- --- https://muon.build +---@type vim.lsp.Config return { cmd = { 'muon', 'analyze', 'lsp' }, filetypes = { 'meson' }, diff --git a/lsp/mutt_ls.lua b/lsp/mutt_ls.lua index 21ae825c..0adee0ec 100644 --- a/lsp/mutt_ls.lua +++ b/lsp/mutt_ls.lua @@ -7,6 +7,7 @@ --- ```sh --- pip install mutt-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'mutt-language-server' }, filetypes = { 'muttrc', 'neomuttrc' }, diff --git a/lsp/nelua_lsp.lua b/lsp/nelua_lsp.lua index 7f810348..524a8ec7 100644 --- a/lsp/nelua_lsp.lua +++ b/lsp/nelua_lsp.lua @@ -23,6 +23,7 @@ --- cmd = { "nelua", "-L", "/path/to/nelua-lsp/", "--script", "/path/to/nelua-lsp/nelua-lsp.lua" }, --- }) --- ``` +---@type vim.lsp.Config return { filetypes = { 'nelua' }, root_markers = { 'Makefile', '.git', '*.nelua' }, diff --git a/lsp/neocmake.lua b/lsp/neocmake.lua index 8d066b01..cbf38165 100644 --- a/lsp/neocmake.lua +++ b/lsp/neocmake.lua @@ -15,6 +15,7 @@ --- capabilities = capabilities, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'neocmakelsp', '--stdio' }, filetypes = { 'cmake' }, diff --git a/lsp/nextflow_ls.lua b/lsp/nextflow_ls.lua index 8871b332..04685e7c 100644 --- a/lsp/nextflow_ls.lua +++ b/lsp/nextflow_ls.lua @@ -22,6 +22,7 @@ --- }, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' }, filetypes = { 'nextflow' }, diff --git a/lsp/nextls.lua b/lsp/nextls.lua index d6c57ffa..d9e3879d 100644 --- a/lsp/nextls.lua +++ b/lsp/nextls.lua @@ -3,6 +3,7 @@ --- https://github.com/elixir-tools/next-ls --- --- **By default, next-ls does not set its `cmd`. Please see the following [detailed instructions](https://www.elixir-tools.dev/docs/next-ls/installation/) for possible installation methods.** +---@type vim.lsp.Config return { filetypes = { 'elixir', 'eelixir', 'heex', 'surface' }, root_markers = { 'mix.exs', '.git' }, diff --git a/lsp/nginx_language_server.lua b/lsp/nginx_language_server.lua index 399ca36d..6cb7eaf4 100644 --- a/lsp/nginx_language_server.lua +++ b/lsp/nginx_language_server.lua @@ -7,6 +7,7 @@ --- ```sh --- pip install -U nginx-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'nginx-language-server' }, filetypes = { 'nginx' }, diff --git a/lsp/nickel_ls.lua b/lsp/nickel_ls.lua index 1f704025..0f7238c4 100644 --- a/lsp/nickel_ls.lua +++ b/lsp/nickel_ls.lua @@ -23,6 +23,7 @@ --- --- In order to have lspconfig detect Nickel filetypes (a prerequisite for autostarting a server), --- install the [Nickel vim plugin](https://github.com/nickel-lang/vim-nickel). +---@type vim.lsp.Config return { cmd = { 'nls' }, filetypes = { 'ncl', 'nickel' }, diff --git a/lsp/nil_ls.lua b/lsp/nil_ls.lua index 71c7ff21..7f1e49f1 100644 --- a/lsp/nil_ls.lua +++ b/lsp/nil_ls.lua @@ -8,6 +8,7 @@ --- Check the repository README for more information. --- --- _See an example config at https://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix._ +---@type vim.lsp.Config return { cmd = { 'nil' }, filetypes = { 'nix' }, diff --git a/lsp/nim_langserver.lua b/lsp/nim_langserver.lua index cd5dc655..441ee246 100644 --- a/lsp/nim_langserver.lua +++ b/lsp/nim_langserver.lua @@ -10,6 +10,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'nimlangserver' }, filetypes = { 'nim' }, diff --git a/lsp/nimls.lua b/lsp/nimls.lua index ada0d79e..ad5b7a00 100644 --- a/lsp/nimls.lua +++ b/lsp/nimls.lua @@ -10,6 +10,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'nimlsp' }, filetypes = { 'nim' }, diff --git a/lsp/nixd.lua b/lsp/nixd.lua index 1e526137..d9b69915 100644 --- a/lsp/nixd.lua +++ b/lsp/nixd.lua @@ -6,6 +6,7 @@ --- --- If you are using Nix with Flakes support, run `nix profile install github:nix-community/nixd` to install. --- Check the repository README for more information. +---@type vim.lsp.Config return { cmd = { 'nixd' }, filetypes = { 'nix' }, diff --git a/lsp/nomad_lsp.lua b/lsp/nomad_lsp.lua index efc0ce77..2388683c 100644 --- a/lsp/nomad_lsp.lua +++ b/lsp/nomad_lsp.lua @@ -23,6 +23,7 @@ if vim.fn.has 'win32' == 1 then bin_name = bin_name .. '.exe' end +---@type vim.lsp.Config return { cmd = { bin_name }, filetypes = { 'hcl.nomad', 'nomad' }, diff --git a/lsp/ntt.lua b/lsp/ntt.lua index 03e0c936..6fcbb280 100644 --- a/lsp/ntt.lua +++ b/lsp/ntt.lua @@ -12,6 +12,7 @@ --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'ntt', 'langserver' }, filetypes = { 'ttcn' }, diff --git a/lsp/nushell.lua b/lsp/nushell.lua index b7f72f47..0bc12c2d 100644 --- a/lsp/nushell.lua +++ b/lsp/nushell.lua @@ -3,6 +3,7 @@ --- https://github.com/nushell/nushell --- --- Nushell built-in language server. +---@type vim.lsp.Config return { cmd = { 'nu', '--lsp' }, filetypes = { 'nu' }, diff --git a/lsp/nxls.lua b/lsp/nxls.lua index 0c36cba7..cf98cf1d 100644 --- a/lsp/nxls.lua +++ b/lsp/nxls.lua @@ -8,6 +8,7 @@ --- ```sh --- npm i -g nxls --- ``` +---@type vim.lsp.Config return { cmd = { 'nxls', '--stdio' }, filetypes = { 'json', 'jsonc' }, diff --git a/lsp/ocamlls.lua b/lsp/ocamlls.lua index 5f6fde5b..90e9193a 100644 --- a/lsp/ocamlls.lua +++ b/lsp/ocamlls.lua @@ -9,6 +9,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'ocaml-language-server', '--stdio' }, filetypes = { 'ocaml', 'reason' }, diff --git a/lsp/ocamllsp.lua b/lsp/ocamllsp.lua index 27dbf827..505e982d 100644 --- a/lsp/ocamllsp.lua +++ b/lsp/ocamllsp.lua @@ -24,6 +24,7 @@ local get_language_id = function(_, ftype) return language_id_of[ftype] end +---@type vim.lsp.Config return { cmd = { 'ocamllsp' }, filetypes = { 'ocaml', 'menhir', 'ocamlinterface', 'ocamllex', 'reason', 'dune' }, diff --git a/lsp/ols.lua b/lsp/ols.lua index 7aa1556e..aad2a5e3 100644 --- a/lsp/ols.lua +++ b/lsp/ols.lua @@ -6,6 +6,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'ols' }, filetypes = { 'odin' }, diff --git a/lsp/omnisharp.lua b/lsp/omnisharp.lua index ee3c960e..cfc9ba15 100644 --- a/lsp/omnisharp.lua +++ b/lsp/omnisharp.lua @@ -16,6 +16,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { vim.fn.executable('OmniSharp') == 1 and 'OmniSharp' or 'omnisharp', diff --git a/lsp/opencl_ls.lua b/lsp/opencl_ls.lua index 4e2dcc5c..8affb07f 100644 --- a/lsp/opencl_ls.lua +++ b/lsp/opencl_ls.lua @@ -5,6 +5,7 @@ --- Build instructions can be found [here](https://github.com/Galarius/opencl-language-server/blob/main/_dev/build.md). --- --- Prebuilt binaries are available for Linux, macOS and Windows [here](https://github.com/Galarius/opencl-language-server/releases). +---@type vim.lsp.Config return { cmd = { 'opencl-language-server' }, filetypes = { 'opencl' }, diff --git a/lsp/openscad_ls.lua b/lsp/openscad_ls.lua index 813bb39f..58140b9d 100644 --- a/lsp/openscad_ls.lua +++ b/lsp/openscad_ls.lua @@ -18,6 +18,7 @@ --- ``` --- --- or by installing a filetype plugin such as https://github.com/sirtaj/vim-openscad +---@type vim.lsp.Config return { cmd = { 'openscad-language-server' }, filetypes = { 'openscad' }, diff --git a/lsp/openscad_lsp.lua b/lsp/openscad_lsp.lua index c68ad968..bfbbd5fd 100644 --- a/lsp/openscad_lsp.lua +++ b/lsp/openscad_lsp.lua @@ -8,6 +8,7 @@ --- ```sh --- cargo install openscad-lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'openscad-lsp', '--stdio' }, filetypes = { 'openscad' }, diff --git a/lsp/oxlint.lua b/lsp/oxlint.lua index 67928f18..4585a985 100644 --- a/lsp/oxlint.lua +++ b/lsp/oxlint.lua @@ -11,6 +11,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'oxc_language_server' }, filetypes = { diff --git a/lsp/pact_ls.lua b/lsp/pact_ls.lua index d240195d..accd6cb3 100644 --- a/lsp/pact_ls.lua +++ b/lsp/pact_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/kadena-io/pact-lsp --- --- The Pact language server +---@type vim.lsp.Config return { cmd = { 'pact-lsp' }, filetypes = { 'pact' }, diff --git a/lsp/pasls.lua b/lsp/pasls.lua index ef544c9d..14f9c80b 100644 --- a/lsp/pasls.lua +++ b/lsp/pasls.lua @@ -17,6 +17,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'pasls' }, filetypes = { 'pascal' }, diff --git a/lsp/pbls.lua b/lsp/pbls.lua index 98ae1fe6..aa765b77 100644 --- a/lsp/pbls.lua +++ b/lsp/pbls.lua @@ -10,6 +10,7 @@ --- ``` --- --- pbls is a Language Server for protobuf +---@type vim.lsp.Config return { cmd = { 'pbls' }, filetypes = { 'proto' }, diff --git a/lsp/perlls.lua b/lsp/perlls.lua index e1deb618..73f1d914 100644 --- a/lsp/perlls.lua +++ b/lsp/perlls.lua @@ -5,6 +5,7 @@ --- `Perl-LanguageServer`, a language server for Perl. --- --- To use the language server, ensure that you have Perl::LanguageServer installed and perl command is on your path. +---@type vim.lsp.Config return { cmd = { 'perl', diff --git a/lsp/perlnavigator.lua b/lsp/perlnavigator.lua index 0fef69c5..13952287 100644 --- a/lsp/perlnavigator.lua +++ b/lsp/perlnavigator.lua @@ -19,6 +19,7 @@ --- --- The `contributes.configuration.properties` section of `perlnavigator`'s `package.json` has all available configuration settings. All --- settings have a reasonable default, but, at minimum, you may want to point `perlnavigator` at your `perltidy` and `perlcritic` configurations. +---@type vim.lsp.Config return { cmd = { 'perlnavigator' }, filetypes = { 'perl' }, diff --git a/lsp/perlpls.lua b/lsp/perlpls.lua index 7e8c7939..b27ed5d7 100644 --- a/lsp/perlpls.lua +++ b/lsp/perlpls.lua @@ -6,6 +6,7 @@ --- `PLS`, another language server for Perl. --- --- To use the language server, ensure that you have PLS installed and that it is in your path +---@type vim.lsp.Config return { cmd = { 'pls' }, settings = { diff --git a/lsp/pest_ls.lua b/lsp/pest_ls.lua index 8ecf1826..498f959b 100644 --- a/lsp/pest_ls.lua +++ b/lsp/pest_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/pest-parser/pest-ide-tools --- --- Language server for pest grammars. +---@type vim.lsp.Config return { cmd = { 'pest-language-server' }, filetypes = { 'pest' }, diff --git a/lsp/phan.lua b/lsp/phan.lua index 50b0a78a..b9e6ce39 100644 --- a/lsp/phan.lua +++ b/lsp/phan.lua @@ -17,6 +17,7 @@ local cmd = { '--allow-polyfill-parser', } +---@type vim.lsp.Config return { cmd = cmd, filetypes = { 'php' }, diff --git a/lsp/phpactor.lua b/lsp/phpactor.lua index 7116e264..5832f54c 100644 --- a/lsp/phpactor.lua +++ b/lsp/phpactor.lua @@ -4,6 +4,7 @@ --- --- Installation: https://phpactor.readthedocs.io/en/master/usage/standalone.html#global-installation +---@type vim.lsp.Config return { cmd = { 'phpactor', 'language-server' }, filetypes = { 'php' }, diff --git a/lsp/pico8_ls.lua b/lsp/pico8_ls.lua index 24eb0d78..85bb0b22 100644 --- a/lsp/pico8_ls.lua +++ b/lsp/pico8_ls.lua @@ -6,6 +6,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'pico8-ls', '--stdio' }, filetypes = { 'p8' }, diff --git a/lsp/please.lua b/lsp/please.lua index 116fe51c..9fec5264 100644 --- a/lsp/please.lua +++ b/lsp/please.lua @@ -5,6 +5,7 @@ --- High-performance extensible build system for reproducible multi-language builds. --- --- The `plz` binary will automatically install the LSP for you on first run +---@type vim.lsp.Config return { cmd = { 'plz', 'tool', 'lps' }, filetypes = { 'bzl' }, diff --git a/lsp/pli.lua b/lsp/pli.lua index 4292cad9..43a9a429 100644 --- a/lsp/pli.lua +++ b/lsp/pli.lua @@ -3,6 +3,7 @@ --- `pli_language_server` is a language server for the PL/I language used on IBM SystemZ mainframes. --- --- To learn how to configure the PL/I language server, see the [PL/I Language Support documentation](https://github.com/zowe/zowe-pli-language-support). +---@type vim.lsp.Config return { cmd = { 'pli_language_server' }, filetypes = { 'pli' }, diff --git a/lsp/poryscript_pls.lua b/lsp/poryscript_pls.lua index d0ad8618..1b87a5e5 100644 --- a/lsp/poryscript_pls.lua +++ b/lsp/poryscript_pls.lua @@ -3,6 +3,7 @@ --- https://github.com/huderlem/poryscript-pls --- --- Language server for poryscript (a high level scripting language for GBA-era Pokémon decompilation projects) +---@type vim.lsp.Config return { cmd = { 'poryscript-pls' }, filetypes = { 'pory' }, diff --git a/lsp/postgres_lsp.lua b/lsp/postgres_lsp.lua index 3ae2669e..ddc4a0c7 100644 --- a/lsp/postgres_lsp.lua +++ b/lsp/postgres_lsp.lua @@ -3,6 +3,7 @@ --- https://pgtools.dev --- --- A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling. +---@type vim.lsp.Config return { cmd = { 'postgrestools', 'lsp-proxy' }, filetypes = { diff --git a/lsp/powershell_es.lua b/lsp/powershell_es.lua index d734df29..a011d595 100644 --- a/lsp/powershell_es.lua +++ b/lsp/powershell_es.lua @@ -36,6 +36,7 @@ --- }) --- ``` +---@type vim.lsp.Config return { cmd = function(dispatchers) local temp_path = vim.fn.stdpath('cache') diff --git a/lsp/prismals.lua b/lsp/prismals.lua index 41afed23..cc6101b6 100644 --- a/lsp/prismals.lua +++ b/lsp/prismals.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g @prisma/language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'prisma-language-server', '--stdio' }, filetypes = { 'prisma' }, diff --git a/lsp/prolog_ls.lua b/lsp/prolog_ls.lua index bb8b6f35..9df75da5 100644 --- a/lsp/prolog_ls.lua +++ b/lsp/prolog_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/jamesnvc/lsp_server --- --- Language Server Protocol server for SWI-Prolog +---@type vim.lsp.Config return { cmd = { 'swipl', diff --git a/lsp/prosemd_lsp.lua b/lsp/prosemd_lsp.lua index af8f9881..653530d9 100644 --- a/lsp/prosemd_lsp.lua +++ b/lsp/prosemd_lsp.lua @@ -5,6 +5,7 @@ --- An experimental LSP for Markdown. --- --- Please see the manual installation instructions: https://github.com/kitten/prosemd-lsp#manual-installation +---@type vim.lsp.Config return { cmd = { 'prosemd-lsp', '--stdio' }, filetypes = { 'markdown' }, diff --git a/lsp/protols.lua b/lsp/protols.lua index d5346607..25afa600 100644 --- a/lsp/protols.lua +++ b/lsp/protols.lua @@ -8,6 +8,7 @@ --- ``` --- --- A Language Server for proto3 files. It uses tree-sitter and runs in single file mode. +---@type vim.lsp.Config return { cmd = { 'protols' }, filetypes = { 'proto' }, diff --git a/lsp/psalm.lua b/lsp/psalm.lua index 8ccc96c7..6541169d 100644 --- a/lsp/psalm.lua +++ b/lsp/psalm.lua @@ -6,6 +6,7 @@ --- ```sh --- composer global require vimeo/psalm --- ``` +---@type vim.lsp.Config return { cmd = { 'psalm', '--language-server' }, filetypes = { 'php' }, diff --git a/lsp/pug.lua b/lsp/pug.lua index 8b8910de..1c4aad6f 100644 --- a/lsp/pug.lua +++ b/lsp/pug.lua @@ -5,6 +5,7 @@ --- An implementation of the Language Protocol Server for [Pug.js](http://pugjs.org) --- --- PugLSP can be installed via `go install github.com/opa-oz/pug-lsp@latest`, or manually downloaded from [releases page](https://github.com/opa-oz/pug-lsp/releases) +---@type vim.lsp.Config return { cmd = { 'pug-lsp' }, filetypes = { 'pug' }, diff --git a/lsp/puppet.lua b/lsp/puppet.lua index 297e493b..39933416 100644 --- a/lsp/puppet.lua +++ b/lsp/puppet.lua @@ -14,6 +14,7 @@ --- - Add that repository to $PATH. --- --- - Ensure you can run `puppet-languageserver` from outside the editor-services directory. +---@type vim.lsp.Config return { cmd = { 'puppet-languageserver', '--stdio' }, filetypes = { 'puppet' }, diff --git a/lsp/purescriptls.lua b/lsp/purescriptls.lua index dcec93ef..ae6e33df 100644 --- a/lsp/purescriptls.lua +++ b/lsp/purescriptls.lua @@ -6,6 +6,7 @@ --- --- * JavaScript package manager such as npm, pnpm, Yarn, et al. --- * Nix under the `nodePackages` and `nodePackages_latest` package sets +---@type vim.lsp.Config return { cmd = { 'purescript-language-server', '--stdio' }, filetypes = { 'purescript' }, diff --git a/lsp/pylsp.lua b/lsp/pylsp.lua index bb6fcf90..24145849 100644 --- a/lsp/pylsp.lua +++ b/lsp/pylsp.lua @@ -25,6 +25,7 @@ --- ``` --- --- Note: This is a community fork of `pyls`. +---@type vim.lsp.Config return { cmd = { 'pylsp' }, filetypes = { 'python' }, diff --git a/lsp/pylyzer.lua b/lsp/pylyzer.lua index 68c8cb59..137a8cbd 100644 --- a/lsp/pylyzer.lua +++ b/lsp/pylyzer.lua @@ -8,6 +8,7 @@ --- This config sets `ERG_PATH="~/.erg"`. Set `cmd_env` if you want to change it. --- To install Erg, simply extract tarball/zip from [Erg releases](https://github.com/erg-lang/erg/releases/latest) --- to the the path where you want to install it, e.g. `~/.erg`. +---@type vim.lsp.Config return { cmd = { 'pylyzer', '--server' }, filetypes = { 'python' }, diff --git a/lsp/pyre.lua b/lsp/pyre.lua index c46ec426..b6c95044 100644 --- a/lsp/pyre.lua +++ b/lsp/pyre.lua @@ -8,6 +8,7 @@ --- which are triggered on save. --- --- Do not report issues for missing features in `pyre` to `lspconfig`. +---@type vim.lsp.Config return { cmd = { 'pyre', 'persistent' }, filetypes = { 'python' }, diff --git a/lsp/pyrefly.lua b/lsp/pyrefly.lua index e8ac037b..e4758d1a 100644 --- a/lsp/pyrefly.lua +++ b/lsp/pyrefly.lua @@ -7,6 +7,7 @@ -- `pyrefly` is still in development, so please report any errors to -- our issues page at https://github.com/facebook/pyrefly/issues. +---@type vim.lsp.Config return { cmd = { 'pyrefly', 'lsp' }, filetypes = { 'python' }, diff --git a/lsp/pyright.lua b/lsp/pyright.lua index c44fecfa..e2eaaecb 100644 --- a/lsp/pyright.lua +++ b/lsp/pyright.lua @@ -19,6 +19,7 @@ local function set_python_path(path) end end +---@type vim.lsp.Config return { cmd = { 'pyright-langserver', '--stdio' }, filetypes = { 'python' }, diff --git a/lsp/qmlls.lua b/lsp/qmlls.lua index 22e7a07b..89d499ff 100644 --- a/lsp/qmlls.lua +++ b/lsp/qmlls.lua @@ -5,6 +5,7 @@ --- > QML Language Server is a tool shipped with Qt that helps you write code in your favorite (LSP-supporting) editor. --- --- Source in the [QtDeclarative repository](https://code.qt.io/cgit/qt/qtdeclarative.git/) +---@type vim.lsp.Config return { cmd = { 'qmlls' }, filetypes = { 'qml', 'qmljs' }, diff --git a/lsp/quick_lint_js.lua b/lsp/quick_lint_js.lua index 99645bd0..718e0d6d 100644 --- a/lsp/quick_lint_js.lua +++ b/lsp/quick_lint_js.lua @@ -5,6 +5,7 @@ --- quick-lint-js finds bugs in JavaScript programs. --- --- See installation [instructions](https://quick-lint-js.com/install/) +---@type vim.lsp.Config return { cmd = { 'quick-lint-js', '--lsp-server' }, filetypes = { 'javascript', 'typescript' }, diff --git a/lsp/r_language_server.lua b/lsp/r_language_server.lua index 8a54df16..738c6d54 100644 --- a/lsp/r_language_server.lua +++ b/lsp/r_language_server.lua @@ -9,6 +9,7 @@ --- ```r --- install.packages("languageserver") --- ``` +---@type vim.lsp.Config return { cmd = { 'R', '--no-echo', '-e', 'languageserver::run()' }, filetypes = { 'r', 'rmd', 'quarto' }, diff --git a/lsp/racket_langserver.lua b/lsp/racket_langserver.lua index a6ac1e29..6f0d60b4 100644 --- a/lsp/racket_langserver.lua +++ b/lsp/racket_langserver.lua @@ -7,6 +7,7 @@ --- functionality that mimics DrRacket's code tools as closely as possible. --- --- Install via `raco`: `raco pkg install racket-langserver` +---@type vim.lsp.Config return { cmd = { 'racket', '--lib', 'racket-langserver' }, filetypes = { 'racket', 'scheme' }, diff --git a/lsp/raku_navigator.lua b/lsp/raku_navigator.lua index aa8f7b70..67e0bb8d 100644 --- a/lsp/raku_navigator.lua +++ b/lsp/raku_navigator.lua @@ -19,6 +19,7 @@ --- ``` --- The `contributes.configuration.properties` section of `raku_navigator`'s `package.json` has all available configuration settings. All --- settings have a reasonable default, but, at minimum, you may want to point `raku_navigator` at your `raku_tidy` and `raku_critic` configurations. +---@type vim.lsp.Config return { cmd = {}, filetypes = { 'raku' }, diff --git a/lsp/reason_ls.lua b/lsp/reason_ls.lua index 9fd80027..0e929260 100644 --- a/lsp/reason_ls.lua +++ b/lsp/reason_ls.lua @@ -3,6 +3,7 @@ --- Reason language server --- --- You can install reason language server from [reason-language-server](https://github.com/jaredly/reason-language-server) repository. +---@type vim.lsp.Config return { cmd = { 'reason-language-server' }, filetypes = { 'reason' }, diff --git a/lsp/regal.lua b/lsp/regal.lua index 08fa74b2..f55b07e5 100644 --- a/lsp/regal.lua +++ b/lsp/regal.lua @@ -11,6 +11,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'regal', 'language-server' }, filetypes = { 'rego' }, diff --git a/lsp/regols.lua b/lsp/regols.lua index 8953a093..e695f3bb 100644 --- a/lsp/regols.lua +++ b/lsp/regols.lua @@ -11,6 +11,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'regols' }, filetypes = { 'rego' }, diff --git a/lsp/remark_ls.lua b/lsp/remark_ls.lua index 59cdbc20..45bb4d57 100644 --- a/lsp/remark_ls.lua +++ b/lsp/remark_ls.lua @@ -28,6 +28,7 @@ --- ```sh --- npm install remark-preset-lint-recommended --- ``` +---@type vim.lsp.Config return { cmd = { 'remark-language-server', '--stdio' }, filetypes = { 'markdown' }, diff --git a/lsp/rescriptls.lua b/lsp/rescriptls.lua index 7f2af384..9c580118 100644 --- a/lsp/rescriptls.lua +++ b/lsp/rescriptls.lua @@ -33,6 +33,7 @@ --- }, --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'rescript-language-server', '--stdio' }, filetypes = { 'rescript' }, diff --git a/lsp/rls.lua b/lsp/rls.lua index c47c94a4..71b3960c 100644 --- a/lsp/rls.lua +++ b/lsp/rls.lua @@ -26,6 +26,7 @@ --- ```lua --- cmd = {"rustup", "run", "nightly", "rls"} --- ``` +---@type vim.lsp.Config return { cmd = { 'rls' }, filetypes = { 'rust' }, diff --git a/lsp/rnix.lua b/lsp/rnix.lua index 8a8f9b39..8de75646 100644 --- a/lsp/rnix.lua +++ b/lsp/rnix.lua @@ -7,6 +7,7 @@ --- To install manually, run `cargo install rnix-lsp`. If you are using nix, rnix-lsp is in nixpkgs. --- --- This server accepts configuration via the `settings` key. +---@type vim.lsp.Config return { cmd = { 'rnix-lsp' }, filetypes = { 'nix' }, diff --git a/lsp/robotcode.lua b/lsp/robotcode.lua index 1193a3ab..d3fca8cb 100644 --- a/lsp/robotcode.lua +++ b/lsp/robotcode.lua @@ -3,6 +3,7 @@ --- https://robotcode.io --- --- RobotCode - Language Server Protocol implementation for Robot Framework. +---@type vim.lsp.Config return { cmd = { 'robotcode', 'language-server' }, filetypes = { 'robot', 'resource' }, diff --git a/lsp/robotframework_ls.lua b/lsp/robotframework_ls.lua index 5b9b5b55..2f3e01f3 100644 --- a/lsp/robotframework_ls.lua +++ b/lsp/robotframework_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/robocorp/robotframework-lsp --- --- Language Server Protocol implementation for Robot Framework. +---@type vim.lsp.Config return { cmd = { 'robotframework_ls' }, filetypes = { 'robot' }, diff --git a/lsp/roc_ls.lua b/lsp/roc_ls.lua index fb0921ac..6a2f923a 100644 --- a/lsp/roc_ls.lua +++ b/lsp/roc_ls.lua @@ -4,6 +4,7 @@ --- --- The built-in language server for the Roc programming language. --- [Installation](https://github.com/roc-lang/roc/tree/main/crates/language_server#installing) +---@type vim.lsp.Config return { cmd = { 'roc_language_server' }, filetypes = { 'roc' }, diff --git a/lsp/rome.lua b/lsp/rome.lua index 5afbdac5..5b929323 100644 --- a/lsp/rome.lua +++ b/lsp/rome.lua @@ -9,6 +9,7 @@ --- ```sh --- npm install [-g] rome --- ``` +---@type vim.lsp.Config return { cmd = { 'rome', 'lsp-proxy' }, filetypes = { diff --git a/lsp/roslyn_ls.lua b/lsp/roslyn_ls.lua index 06e6df10..30804897 100644 --- a/lsp/roslyn_ls.lua +++ b/lsp/roslyn_ls.lua @@ -91,7 +91,7 @@ local function roslyn_handlers() } end ----@type vim.lsp.ClientConfig +---@type vim.lsp.Config return { name = 'roslyn_ls', offset_encoding = 'utf-8', diff --git a/lsp/rpmspec.lua b/lsp/rpmspec.lua index c366ba15..36a58b1f 100644 --- a/lsp/rpmspec.lua +++ b/lsp/rpmspec.lua @@ -9,6 +9,7 @@ --- ```sh --- pip install rpm-spec-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'rpm_lsp_server', '--stdio' }, filetypes = { 'spec' }, diff --git a/lsp/rubocop.lua b/lsp/rubocop.lua index 619df5c1..079cb619 100644 --- a/lsp/rubocop.lua +++ b/lsp/rubocop.lua @@ -1,6 +1,7 @@ ---@brief --- --- https://github.com/rubocop/rubocop +---@type vim.lsp.Config return { cmd = { 'rubocop', '--lsp' }, filetypes = { 'ruby' }, diff --git a/lsp/ruby_lsp.lua b/lsp/ruby_lsp.lua index db6c4da2..e987e229 100644 --- a/lsp/ruby_lsp.lua +++ b/lsp/ruby_lsp.lua @@ -11,6 +11,7 @@ --- ```sh --- gem install ruby-lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'ruby-lsp' }, filetypes = { 'ruby', 'eruby' }, diff --git a/lsp/ruff.lua b/lsp/ruff.lua index 1df0b764..cc173610 100644 --- a/lsp/ruff.lua +++ b/lsp/ruff.lua @@ -25,6 +25,7 @@ --- ``` --- --- Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more details. +---@type vim.lsp.Config return { cmd = { 'ruff', 'server' }, filetypes = { 'python' }, diff --git a/lsp/ruff_lsp.lua b/lsp/ruff_lsp.lua index 127a4e0a..c3867bd1 100644 --- a/lsp/ruff_lsp.lua +++ b/lsp/ruff_lsp.lua @@ -20,6 +20,7 @@ --- } --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'ruff-lsp' }, filetypes = { 'python' }, diff --git a/lsp/rune_languageserver.lua b/lsp/rune_languageserver.lua index fbf33477..ca9c4d98 100644 --- a/lsp/rune_languageserver.lua +++ b/lsp/rune_languageserver.lua @@ -4,6 +4,7 @@ --- --- A language server for the [Rune](https://rune-rs.github.io/) Language, --- an embeddable dynamic programming language for Rust +---@type vim.lsp.Config return { cmd = { 'rune-languageserver' }, filetypes = { 'rune' }, diff --git a/lsp/rust_analyzer.lua b/lsp/rust_analyzer.lua index c84a06e2..a699c7f4 100644 --- a/lsp/rust_analyzer.lua +++ b/lsp/rust_analyzer.lua @@ -52,6 +52,7 @@ local function is_library(fname) end end +---@type vim.lsp.Config return { cmd = { 'rust-analyzer' }, filetypes = { 'rust' }, diff --git a/lsp/salt_ls.lua b/lsp/salt_ls.lua index 4710478f..c5c62c4e 100644 --- a/lsp/salt_ls.lua +++ b/lsp/salt_ls.lua @@ -7,6 +7,7 @@ --- ```sh --- pip install salt-lsp --- ``` +---@type vim.lsp.Config return { cmd = { 'salt_lsp_server' }, filetypes = { 'sls' }, diff --git a/lsp/scheme_langserver.lua b/lsp/scheme_langserver.lua index b3fefa75..f524cc87 100644 --- a/lsp/scheme_langserver.lua +++ b/lsp/scheme_langserver.lua @@ -6,6 +6,7 @@ local cmd = { 'scheme-langserver', '~/.scheme-langserver.log', 'enable', 'disable' } +---@type vim.lsp.Config return { cmd = cmd, filetypes = { 'scheme' }, diff --git a/lsp/scry.lua b/lsp/scry.lua index 895c80c5..d9729f4a 100644 --- a/lsp/scry.lua +++ b/lsp/scry.lua @@ -3,6 +3,7 @@ --- https://github.com/crystal-lang-tools/scry --- --- Crystal language server. +---@type vim.lsp.Config return { cmd = { 'scry' }, filetypes = { 'crystal' }, diff --git a/lsp/selene3p_ls.lua b/lsp/selene3p_ls.lua index 72755cf4..0fd7e8c0 100644 --- a/lsp/selene3p_ls.lua +++ b/lsp/selene3p_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/antonk52/lua-3p-language-servers --- --- 3rd party Language Server for Selene lua linter +---@type vim.lsp.Config return { cmd = { 'selene-3p-language-server' }, filetypes = { 'lua' }, diff --git a/lsp/serve_d.lua b/lsp/serve_d.lua index 63e7eb11..98d480c6 100644 --- a/lsp/serve_d.lua +++ b/lsp/serve_d.lua @@ -4,6 +4,7 @@ --- --- Microsoft language server protocol implementation for D using workspace-d. --- Download a binary from https://github.com/Pure-D/serve-d/releases and put it in your $PATH. +---@type vim.lsp.Config return { cmd = { 'serve-d' }, filetypes = { 'd' }, diff --git a/lsp/shopify_theme_ls.lua b/lsp/shopify_theme_ls.lua index 5415a302..0f42f783 100644 --- a/lsp/shopify_theme_ls.lua +++ b/lsp/shopify_theme_ls.lua @@ -7,6 +7,7 @@ --- `shopify` can be installed via npm `npm install -g @shopify/cli`. --- --- Note: This LSP already includes Theme Check so you don't need to use the `theme_check` server configuration as well. +---@type vim.lsp.Config return { cmd = { 'shopify', diff --git a/lsp/sixtyfps.lua b/lsp/sixtyfps.lua index 573c3ad5..11e4d65b 100644 --- a/lsp/sixtyfps.lua +++ b/lsp/sixtyfps.lua @@ -17,6 +17,7 @@ --- ``` --- --- or by installing a filetype plugin such as https://github.com/RustemB/sixtyfps-vim +---@type vim.lsp.Config return { cmd = { 'sixtyfps-lsp' }, filetypes = { 'sixtyfps' }, diff --git a/lsp/slangd.lua b/lsp/slangd.lua index 6df1c87f..022a347d 100644 --- a/lsp/slangd.lua +++ b/lsp/slangd.lua @@ -29,6 +29,7 @@ if vim.fn.has 'win32' == 1 then bin_name = 'slangd.exe' end +---@type vim.lsp.Config return { cmd = { bin_name }, filetypes = { 'hlsl', 'shaderslang' }, diff --git a/lsp/slint_lsp.lua b/lsp/slint_lsp.lua index 60904509..47986d04 100644 --- a/lsp/slint_lsp.lua +++ b/lsp/slint_lsp.lua @@ -15,6 +15,7 @@ --- ```lua --- vim.cmd [[ autocmd BufRead,BufNewFile *.slint set filetype=slint ]] --- ``` +---@type vim.lsp.Config return { cmd = { 'slint-lsp' }, filetypes = { 'slint' }, diff --git a/lsp/smarty_ls.lua b/lsp/smarty_ls.lua index 5527c046..ab7012f3 100644 --- a/lsp/smarty_ls.lua +++ b/lsp/smarty_ls.lua @@ -10,6 +10,7 @@ --- npm i -g vscode-smarty-langserver-extracted --- ``` +---@type vim.lsp.Config return { cmd = { 'smarty-language-server', '--stdio' }, filetypes = { 'smarty' }, diff --git a/lsp/smithy_ls.lua b/lsp/smithy_ls.lua index 7a53adcd..7118e051 100644 --- a/lsp/smithy_ls.lua +++ b/lsp/smithy_ls.lua @@ -19,6 +19,7 @@ --- coursier launch software.amazon.smithy:smithy-language-server:0.7.0 --- ``` +---@type vim.lsp.Config return { -- pass 0 as the first argument to use STDIN/STDOUT for communication cmd = { diff --git a/lsp/snakeskin_ls.lua b/lsp/snakeskin_ls.lua index 5a64776c..eff8d571 100644 --- a/lsp/snakeskin_ls.lua +++ b/lsp/snakeskin_ls.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g @snakeskin/cli --- ``` +---@type vim.lsp.Config return { cmd = { 'snakeskin-cli', 'lsp', '--stdio' }, filetypes = { 'ss' }, diff --git a/lsp/snyk_ls.lua b/lsp/snyk_ls.lua index f7480608..2d61a258 100644 --- a/lsp/snyk_ls.lua +++ b/lsp/snyk_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/snyk/snyk-ls --- --- LSP for Snyk Open Source, Snyk Infrastructure as Code, and Snyk Code. +---@type vim.lsp.Config return { cmd = { 'snyk-ls' }, root_markers = { '.git', '.snyk' }, diff --git a/lsp/solang.lua b/lsp/solang.lua index 97a68975..8f992ad8 100644 --- a/lsp/solang.lua +++ b/lsp/solang.lua @@ -10,6 +10,7 @@ --- * Hover --- --- There is currently no support for completion, goto definition, references, or other functionality. +---@type vim.lsp.Config return { cmd = { 'solang', 'language-server', '--target', 'evm' }, filetypes = { 'solidity' }, diff --git a/lsp/solargraph.lua b/lsp/solargraph.lua index 0d44e998..86bcc5bd 100644 --- a/lsp/solargraph.lua +++ b/lsp/solargraph.lua @@ -9,6 +9,7 @@ --- ```sh --- gem install --user-install solargraph --- ``` +---@type vim.lsp.Config return { cmd = { 'solargraph', 'stdio' }, settings = { diff --git a/lsp/solc.lua b/lsp/solc.lua index 0e03bab3..aaa2dd14 100644 --- a/lsp/solc.lua +++ b/lsp/solc.lua @@ -6,6 +6,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'solc', '--lsp' }, filetypes = { 'solidity' }, diff --git a/lsp/solidity.lua b/lsp/solidity.lua index 3a20e660..846a9ef4 100644 --- a/lsp/solidity.lua +++ b/lsp/solidity.lua @@ -32,6 +32,7 @@ --- ``` --- --- You can omit the node_modules as well. +---@type vim.lsp.Config return { cmd = { 'solidity-ls', '--stdio' }, filetypes = { 'solidity' }, diff --git a/lsp/solidity_ls.lua b/lsp/solidity_ls.lua index 01b15d77..b1e9f543 100644 --- a/lsp/solidity_ls.lua +++ b/lsp/solidity_ls.lua @@ -9,6 +9,7 @@ --- ``` --- --- `vscode-solidity-server` is a language server for the Solidity language ported from the VSCode "solidity" extension. +---@type vim.lsp.Config return { cmd = { 'vscode-solidity-server', '--stdio' }, filetypes = { 'solidity' }, diff --git a/lsp/solidity_ls_nomicfoundation.lua b/lsp/solidity_ls_nomicfoundation.lua index fb24b1cb..b0d1ed62 100644 --- a/lsp/solidity_ls_nomicfoundation.lua +++ b/lsp/solidity_ls_nomicfoundation.lua @@ -9,6 +9,7 @@ --- ``` --- --- A language server for the Solidity programming language, built by the Nomic Foundation for the Ethereum community. +---@type vim.lsp.Config return { cmd = { 'nomicfoundation-solidity-language-server', '--stdio' }, filetypes = { 'solidity' }, diff --git a/lsp/somesass_ls.lua b/lsp/somesass_ls.lua index 9d2d0922..76a06c79 100644 --- a/lsp/somesass_ls.lua +++ b/lsp/somesass_ls.lua @@ -15,6 +15,7 @@ --- - Rich documentation through SassDoc. --- - Language features for %placeholder-selectors, both when using them and writing them. --- - Suggestions and hover info for built-in Sass modules, when used with @use. +---@type vim.lsp.Config return { name = 'somesass_ls', cmd = { 'some-sass-language-server', '--stdio' }, diff --git a/lsp/sorbet.lua b/lsp/sorbet.lua index 637a4e19..e301e5fb 100644 --- a/lsp/sorbet.lua +++ b/lsp/sorbet.lua @@ -10,6 +10,7 @@ --- ```sh --- gem install sorbet --- ``` +---@type vim.lsp.Config return { cmd = { 'srb', 'tc', '--lsp' }, filetypes = { 'ruby' }, diff --git a/lsp/sourcekit.lua b/lsp/sourcekit.lua index 4292b5fc..11d7b02f 100644 --- a/lsp/sourcekit.lua +++ b/lsp/sourcekit.lua @@ -6,6 +6,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'sourcekit-lsp' }, filetypes = { 'swift', 'objc', 'objcpp', 'c', 'cpp' }, diff --git a/lsp/spectral.lua b/lsp/spectral.lua index ea8a7206..599a773c 100644 --- a/lsp/spectral.lua +++ b/lsp/spectral.lua @@ -9,6 +9,7 @@ --- ``` --- See [vscode-spectral](https://github.com/stoplightio/vscode-spectral#extension-settings) for configuration options. +---@type vim.lsp.Config return { cmd = { 'spectral-language-server', '--stdio' }, filetypes = { 'yaml', 'json', 'yml' }, diff --git a/lsp/spyglassmc_language_server.lua b/lsp/spyglassmc_language_server.lua index f1f00729..07720c89 100644 --- a/lsp/spyglassmc_language_server.lua +++ b/lsp/spyglassmc_language_server.lua @@ -15,6 +15,7 @@ --- `autocmd BufNewFile,BufRead *.mcfunction set filetype=mcfunction` --- --- This is automatically done by [CrystalAlpha358/vim-mcfunction](https://github.com/CrystalAlpha358/vim-mcfunction), which also provide syntax highlight. +---@type vim.lsp.Config return { cmd = { 'spyglassmc-language-server', '--stdio' }, filetypes = { 'mcfunction' }, diff --git a/lsp/sqlls.lua b/lsp/sqlls.lua index aebd4c99..04e6d611 100644 --- a/lsp/sqlls.lua +++ b/lsp/sqlls.lua @@ -4,6 +4,7 @@ --- --- This LSP can be installed via `npm`. Find further instructions on manual installation of the sql-language-server at [joe-re/sql-language-server](https://github.com/joe-re/sql-language-server). +---@type vim.lsp.Config return { cmd = { 'sql-language-server', 'up', '--method', 'stdio' }, filetypes = { 'sql', 'mysql' }, diff --git a/lsp/sqls.lua b/lsp/sqls.lua index 25dec930..f9af7d9a 100644 --- a/lsp/sqls.lua +++ b/lsp/sqls.lua @@ -9,6 +9,7 @@ --- }) --- ``` --- Sqls can be installed via `go install github.com/sqls-server/sqls@latest`. Instructions for compiling Sqls from the source can be found at [sqls-server/sqls](https://github.com/sqls-server/sqls). +---@type vim.lsp.Config return { cmd = { 'sqls' }, filetypes = { 'sql', 'mysql' }, diff --git a/lsp/sqruff.lua b/lsp/sqruff.lua index 7fcdc1e6..e84d7c2a 100644 --- a/lsp/sqruff.lua +++ b/lsp/sqruff.lua @@ -4,6 +4,7 @@ --- --- `sqruff` can be installed by following the instructions [here](https://github.com/quarylabs/sqruff?tab=readme-ov-file#installation) --- +---@type vim.lsp.Config return { cmd = { 'sqruff', 'lsp' }, filetypes = { 'sql' }, diff --git a/lsp/standardrb.lua b/lsp/standardrb.lua index 91ab2ced..e40c4b42 100644 --- a/lsp/standardrb.lua +++ b/lsp/standardrb.lua @@ -3,6 +3,7 @@ --- https://github.com/testdouble/standard --- --- Ruby Style Guide, with linter & automatic code fixer. +---@type vim.lsp.Config return { cmd = { 'standardrb', '--lsp' }, filetypes = { 'ruby' }, diff --git a/lsp/starlark_rust.lua b/lsp/starlark_rust.lua index 0954c988..efa96560 100644 --- a/lsp/starlark_rust.lua +++ b/lsp/starlark_rust.lua @@ -7,6 +7,7 @@ --- but does not support refactorings. --- --- It can be installed with cargo: https://crates.io/crates/starlark +---@type vim.lsp.Config return { cmd = { 'starlark', '--lsp' }, filetypes = { 'star', 'bzl', 'BUILD.bazel' }, diff --git a/lsp/starpls.lua b/lsp/starpls.lua index c73fae62..ae4fd78e 100644 --- a/lsp/starpls.lua +++ b/lsp/starpls.lua @@ -3,6 +3,7 @@ --- https://github.com/withered-magic/starpls --- --- `starpls` is an LSP implementation for Starlark. Installation instructions can be found in the project's README. +---@type vim.lsp.Config return { cmd = { 'starpls' }, filetypes = { 'bzl' }, diff --git a/lsp/statix.lua b/lsp/statix.lua index 2d152490..f52e518c 100644 --- a/lsp/statix.lua +++ b/lsp/statix.lua @@ -3,6 +3,7 @@ --- https://github.com/nerdypepper/statix --- --- lints and suggestions for the nix programming language +---@type vim.lsp.Config return { cmd = { 'statix', 'check', '--stdin' }, filetypes = { 'nix' }, diff --git a/lsp/steep.lua b/lsp/steep.lua index 760f97c6..ba6b1ca9 100644 --- a/lsp/steep.lua +++ b/lsp/steep.lua @@ -5,6 +5,7 @@ --- `steep` is a static type checker for Ruby. --- --- You need `Steepfile` to make it work. Generate it with `steep init`. +---@type vim.lsp.Config return { cmd = { 'steep', 'langserver' }, filetypes = { 'ruby', 'eruby' }, diff --git a/lsp/stimulus_ls.lua b/lsp/stimulus_ls.lua index 729d0b50..6e95cc87 100644 --- a/lsp/stimulus_ls.lua +++ b/lsp/stimulus_ls.lua @@ -13,6 +13,7 @@ --- ```sh --- yarn global add stimulus-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'stimulus-language-server', '--stdio' }, filetypes = { 'html', 'ruby', 'eruby', 'blade', 'php' }, diff --git a/lsp/stylelint_lsp.lua b/lsp/stylelint_lsp.lua index 9d11eeca..d17d2955 100644 --- a/lsp/stylelint_lsp.lua +++ b/lsp/stylelint_lsp.lua @@ -37,6 +37,7 @@ local root_file = { root_file = util.insert_package_json(root_file, 'stylelint') +---@type vim.lsp.Config return { cmd = { 'stylelint-lsp', '--stdio' }, filetypes = { diff --git a/lsp/stylua3p_ls.lua b/lsp/stylua3p_ls.lua index 9bd7d764..3474692c 100644 --- a/lsp/stylua3p_ls.lua +++ b/lsp/stylua3p_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/antonk52/lua-3p-language-servers --- --- 3rd party Language Server for Stylua lua formatter +---@type vim.lsp.Config return { cmd = { 'stylua-3p-language-server' }, filetypes = { 'lua' }, diff --git a/lsp/superhtml.lua b/lsp/superhtml.lua index 581e4ce5..b6083a10 100644 --- a/lsp/superhtml.lua +++ b/lsp/superhtml.lua @@ -15,6 +15,7 @@ --- filetypes = { 'superhtml' } --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'superhtml', 'lsp' }, filetypes = { 'superhtml', 'html' }, diff --git a/lsp/svelte.lua b/lsp/svelte.lua index 7194dff3..17f10d4c 100644 --- a/lsp/svelte.lua +++ b/lsp/svelte.lua @@ -9,6 +9,7 @@ --- npm install -g svelte-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'svelteserver', '--stdio' }, filetypes = { 'svelte' }, diff --git a/lsp/svlangserver.lua b/lsp/svlangserver.lua index 9fed7358..957d7ac8 100644 --- a/lsp/svlangserver.lua +++ b/lsp/svlangserver.lua @@ -10,6 +10,7 @@ --- $ npm install -g @imc-trading/svlangserver --- ``` +---@type vim.lsp.Config return { cmd = { 'svlangserver' }, filetypes = { 'verilog', 'systemverilog' }, diff --git a/lsp/svls.lua b/lsp/svls.lua index 114e31ec..74ff1481 100644 --- a/lsp/svls.lua +++ b/lsp/svls.lua @@ -8,6 +8,7 @@ --- ```sh --- cargo install svls --- ``` +---@type vim.lsp.Config return { cmd = { 'svls' }, filetypes = { 'verilog', 'systemverilog' }, diff --git a/lsp/swift_mesonls.lua b/lsp/swift_mesonls.lua index 810864c8..960fbdd0 100644 --- a/lsp/swift_mesonls.lua +++ b/lsp/swift_mesonls.lua @@ -3,6 +3,7 @@ --- https://github.com/JCWasmx86/Swift-MesonLSP --- --- Meson language server written in Swift +---@type vim.lsp.Config return { cmd = { 'Swift-MesonLSP', '--lsp' }, filetypes = { 'meson' }, diff --git a/lsp/syntax_tree.lua b/lsp/syntax_tree.lua index c50f797b..19305972 100644 --- a/lsp/syntax_tree.lua +++ b/lsp/syntax_tree.lua @@ -12,6 +12,7 @@ --- ```sh --- gem install syntax_tree --- ``` +---@type vim.lsp.Config return { cmd = { 'stree', 'lsp' }, filetypes = { 'ruby' }, diff --git a/lsp/systemd_ls.lua b/lsp/systemd_ls.lua index 409ab633..fc184247 100644 --- a/lsp/systemd_ls.lua +++ b/lsp/systemd_ls.lua @@ -8,6 +8,7 @@ --- ``` --- --- Language Server for Systemd unit files +---@type vim.lsp.Config return { cmd = { 'systemd-language-server' }, filetypes = { 'systemd' }, diff --git a/lsp/tabby_ml.lua b/lsp/tabby_ml.lua index c1012bf7..ded88840 100644 --- a/lsp/tabby_ml.lua +++ b/lsp/tabby_ml.lua @@ -9,6 +9,7 @@ --- ```sh --- npm install --global tabby-agent --- ``` +---@type vim.lsp.Config return { cmd = { 'tabby-agent', '--lsp', '--stdio' }, filetypes = {}, diff --git a/lsp/tailwindcss.lua b/lsp/tailwindcss.lua index 8eb067a6..1608d525 100644 --- a/lsp/tailwindcss.lua +++ b/lsp/tailwindcss.lua @@ -6,6 +6,7 @@ --- npm install -g @tailwindcss/language-server local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'tailwindcss-language-server', '--stdio' }, -- filetypes copied and adjusted from tailwindcss-intellisense diff --git a/lsp/taplo.lua b/lsp/taplo.lua index 4de4c8d9..c1b7bd7c 100644 --- a/lsp/taplo.lua +++ b/lsp/taplo.lua @@ -8,6 +8,7 @@ --- ```sh --- cargo install --features lsp --locked taplo-cli --- ``` +---@type vim.lsp.Config return { cmd = { 'taplo', 'lsp', 'stdio' }, filetypes = { 'toml' }, diff --git a/lsp/tblgen_lsp_server.lua b/lsp/tblgen_lsp_server.lua index c99682ab..444bf46e 100644 --- a/lsp/tblgen_lsp_server.lua +++ b/lsp/tblgen_lsp_server.lua @@ -17,6 +17,7 @@ local function get_command() return cmd end +---@type vim.lsp.Config return { cmd = get_command(), filetypes = { 'tablegen' }, diff --git a/lsp/teal_ls.lua b/lsp/teal_ls.lua index 79c03679..c3242227 100644 --- a/lsp/teal_ls.lua +++ b/lsp/teal_ls.lua @@ -11,6 +11,7 @@ --- * "--log-mode=by_date" - Enable logging in $HOME/.cache/teal-language-server. Log name will be date + pid of process --- * "--log-mode=by_proj_path" - Enable logging in $HOME/.cache/teal-language-server. Log name will be project path + pid of process --- * "--verbose=true" - Increases log level. Does nothing unless log-mode is set +---@type vim.lsp.Config return { cmd = { 'teal-language-server', diff --git a/lsp/templ.lua b/lsp/templ.lua index ea4fdc3a..d7536e1c 100644 --- a/lsp/templ.lua +++ b/lsp/templ.lua @@ -3,6 +3,7 @@ --- https://templ.guide --- --- The official language server for the templ HTML templating language. +---@type vim.lsp.Config return { cmd = { 'templ', 'lsp' }, filetypes = { 'templ' }, diff --git a/lsp/termux_language_server.lua b/lsp/termux_language_server.lua index a7dc44c0..7358c444 100644 --- a/lsp/termux_language_server.lua +++ b/lsp/termux_language_server.lua @@ -3,6 +3,7 @@ --- https://github.com/termux/termux-language-server --- --- Language server for various bash scripts such as Arch PKGBUILD, Gentoo ebuild, Termux build.sh, etc. +---@type vim.lsp.Config return { cmd = { 'termux-language-server' }, filetypes = { 'PKGBUILD' }, diff --git a/lsp/terraform_lsp.lua b/lsp/terraform_lsp.lua index 2a4e7145..384dafd5 100644 --- a/lsp/terraform_lsp.lua +++ b/lsp/terraform_lsp.lua @@ -27,6 +27,7 @@ --- - compatibility with a single particular Terraform (0.12.20 at time of writing) --- - configs designed for other 0.12 versions may work, but interpretation may be inaccurate --- - less stability (due to reliance on Terraform's own internal packages) +---@type vim.lsp.Config return { cmd = { 'terraform-lsp' }, filetypes = { 'terraform', 'hcl' }, diff --git a/lsp/terraformls.lua b/lsp/terraformls.lua index 7b8c9d7c..bb358735 100644 --- a/lsp/terraformls.lua +++ b/lsp/terraformls.lua @@ -31,6 +31,7 @@ --- [which is not supported by terraform-ls](https://github.com/hashicorp/terraform-ls/blob/main/docs/features.md). --- Instead you should use `init_options` which passes the settings as part of the LSP initialize call --- [as is required by terraform-ls](https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md#how-to-pass-settings). +---@type vim.lsp.Config return { cmd = { 'terraform-ls', 'serve' }, filetypes = { 'terraform', 'terraform-vars' }, diff --git a/lsp/texlab.lua b/lsp/texlab.lua index f22239c9..17984848 100644 --- a/lsp/texlab.lua +++ b/lsp/texlab.lua @@ -132,6 +132,7 @@ local function buf_change_env(client, bufnr) }, { bufnr = bufnr }) end +---@type vim.lsp.Config return { cmd = { 'texlab' }, filetypes = { 'tex', 'plaintex', 'bib' }, diff --git a/lsp/textlsp.lua b/lsp/textlsp.lua index 5a95a0ed..56bd251c 100644 --- a/lsp/textlsp.lua +++ b/lsp/textlsp.lua @@ -10,6 +10,7 @@ --- For quick testing, LanguageTool is enabled in the default `nvim-lspconfig` configuration. --- --- To install run: `pip install textLSP` +---@type vim.lsp.Config return { cmd = { 'textlsp' }, filetypes = { 'text', 'tex', 'org' }, diff --git a/lsp/tflint.lua b/lsp/tflint.lua index e5837992..da689a87 100644 --- a/lsp/tflint.lua +++ b/lsp/tflint.lua @@ -4,6 +4,7 @@ --- --- A pluggable Terraform linter that can act as lsp server. --- Installation instructions can be found in https://github.com/terraform-linters/tflint#installation. +---@type vim.lsp.Config return { cmd = { 'tflint', '--langserver' }, filetypes = { 'terraform' }, diff --git a/lsp/theme_check.lua b/lsp/theme_check.lua index 6698031a..7d8dc88c 100644 --- a/lsp/theme_check.lua +++ b/lsp/theme_check.lua @@ -15,6 +15,7 @@ --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'theme-check-language-server', '--stdio' }, filetypes = { 'liquid' }, diff --git a/lsp/thriftls.lua b/lsp/thriftls.lua index 2d7b1d7f..981d7f5a 100644 --- a/lsp/thriftls.lua +++ b/lsp/thriftls.lua @@ -3,6 +3,7 @@ --- https://github.com/joyme123/thrift-ls --- --- you can install thriftls by mason or download binary here: https://github.com/joyme123/thrift-ls/releases +---@type vim.lsp.Config return { cmd = { 'thriftls' }, filetypes = { 'thrift' }, diff --git a/lsp/tilt_ls.lua b/lsp/tilt_ls.lua index 83464f01..c7775ce0 100644 --- a/lsp/tilt_ls.lua +++ b/lsp/tilt_ls.lua @@ -9,6 +9,7 @@ --- ```vim --- autocmd BufRead Tiltfile setf=tiltfile --- ``` +---@type vim.lsp.Config return { cmd = { 'tilt', 'lsp', 'start' }, filetypes = { 'tiltfile' }, diff --git a/lsp/tinymist.lua b/lsp/tinymist.lua index 67812a55..bb88e0c4 100644 --- a/lsp/tinymist.lua +++ b/lsp/tinymist.lua @@ -45,6 +45,7 @@ local function create_tinymist_command(command_name, client, bufnr) return run_tinymist_command, cmd_name, cmd_desc end +---@type vim.lsp.Config return { cmd = { 'tinymist' }, filetypes = { 'typst' }, diff --git a/lsp/tofu_ls.lua b/lsp/tofu_ls.lua index dc006abc..6ff3c620 100644 --- a/lsp/tofu_ls.lua +++ b/lsp/tofu_ls.lua @@ -2,6 +2,7 @@ --- --- [OpenTofu Language Server](https://github.com/opentofu/tofu-ls) --- +---@type vim.lsp.Config return { cmd = { 'tofu-ls', 'serve' }, filetypes = { 'opentofu', 'opentofu-vars' }, diff --git a/lsp/tombi.lua b/lsp/tombi.lua index 9200068c..5b369202 100644 --- a/lsp/tombi.lua +++ b/lsp/tombi.lua @@ -4,6 +4,7 @@ --- --- Language server for Tombi, a TOML toolkit. --- +---@type vim.lsp.Config return { cmd = { 'tombi', 'lsp' }, filetypes = { 'toml' }, diff --git a/lsp/ts_ls.lua b/lsp/ts_ls.lua index 9bb08b41..ddea6f53 100644 --- a/lsp/ts_ls.lua +++ b/lsp/ts_ls.lua @@ -41,6 +41,7 @@ --- It is recommended to use the same version of TypeScript in all packages, and therefore have it available in your workspace root. The location of the TypeScript binary will be determined automatically, but only once. --- +---@type vim.lsp.Config return { init_options = { hostInfo = 'neovim' }, cmd = { 'typescript-language-server', '--stdio' }, diff --git a/lsp/ts_query_ls.lua b/lsp/ts_query_ls.lua index 1886f437..48abacb3 100644 --- a/lsp/ts_query_ls.lua +++ b/lsp/ts_query_ls.lua @@ -25,6 +25,7 @@ --- }, --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'ts_query_ls' }, filetypes = { 'query' }, diff --git a/lsp/tsgo.lua b/lsp/tsgo.lua index 435f8ef1..a56dfcda 100644 --- a/lsp/tsgo.lua +++ b/lsp/tsgo.lua @@ -13,6 +13,7 @@ --- --- It is recommended to use the same version of TypeScript in all packages, and therefore have it available in your workspace root. The location of the TypeScript binary will be determined automatically, but only once. --- +---@type vim.lsp.Config return { cmd = { 'tsgo', '--lsp', '--stdio' }, filetypes = { diff --git a/lsp/tsp_server.lua b/lsp/tsp_server.lua index 6e9b8d80..1023b99d 100644 --- a/lsp/tsp_server.lua +++ b/lsp/tsp_server.lua @@ -8,6 +8,7 @@ --- ```sh --- npm install -g @typespec/compiler --- ``` +---@type vim.lsp.Config return { cmd = { 'tsp-server', '--stdio' }, filetypes = { 'typespec' }, diff --git a/lsp/ttags.lua b/lsp/ttags.lua index d1cfff12..76663bad 100644 --- a/lsp/ttags.lua +++ b/lsp/ttags.lua @@ -1,6 +1,7 @@ ---@brief --- --- https://github.com/npezza93/ttags +---@type vim.lsp.Config return { cmd = { 'ttags', 'lsp' }, filetypes = { 'ruby', 'rust', 'javascript', 'haskell' }, diff --git a/lsp/turbo_ls.lua b/lsp/turbo_ls.lua index a071693e..593d8c31 100644 --- a/lsp/turbo_ls.lua +++ b/lsp/turbo_ls.lua @@ -13,6 +13,7 @@ --- ```sh --- yarn global add turbo-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'turbo-language-server', '--stdio' }, filetypes = { 'html', 'ruby', 'eruby', 'blade', 'php' }, diff --git a/lsp/turtle_ls.lua b/lsp/turtle_ls.lua index ad28d9c9..d44b27c9 100644 --- a/lsp/turtle_ls.lua +++ b/lsp/turtle_ls.lua @@ -31,6 +31,7 @@ else full_path = table.concat({ bin_path, bin_name }, '/') end +---@type vim.lsp.Config return { cmd = { 'node', full_path, '--stdio' }, filetypes = { 'turtle', 'ttl' }, diff --git a/lsp/tvm_ffi_navigator.lua b/lsp/tvm_ffi_navigator.lua index d4ddcda9..a835b07b 100644 --- a/lsp/tvm_ffi_navigator.lua +++ b/lsp/tvm_ffi_navigator.lua @@ -6,6 +6,7 @@ --- --- FFI navigator can be installed with `pip install ffi-navigator`, buf for more details, please see --- https://github.com/tqchen/ffi-navigator?tab=readme-ov-file#installation +---@type vim.lsp.Config return { cmd = { 'python', '-m', 'ffi_navigator.langserver' }, filetypes = { 'python', 'cpp' }, diff --git a/lsp/twiggy_language_server.lua b/lsp/twiggy_language_server.lua index 0ccf60b4..86e5259f 100644 --- a/lsp/twiggy_language_server.lua +++ b/lsp/twiggy_language_server.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g twiggy-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'twiggy-language-server', '--stdio' }, filetypes = { 'twig' }, @@ -5,6 +5,7 @@ --- A Language Server Protocol implementation for ty, an extremely fast Python type checker and language server, written in Rust. --- --- For installation instructions, please refer to the [ty documentation](https://github.com/astral-sh/ty/blob/main/README.md#getting-started). +---@type vim.lsp.Config return { cmd = { 'ty', 'server' }, filetypes = { 'python' }, diff --git a/lsp/typeprof.lua b/lsp/typeprof.lua index 209eb3a2..5b756cf8 100644 --- a/lsp/typeprof.lua +++ b/lsp/typeprof.lua @@ -3,6 +3,7 @@ --- https://github.com/ruby/typeprof --- --- `typeprof` is the built-in analysis and LSP tool for Ruby 3.1+. +---@type vim.lsp.Config return { cmd = { 'typeprof', '--lsp', '--stdio' }, filetypes = { 'ruby', 'eruby' }, diff --git a/lsp/typos_lsp.lua b/lsp/typos_lsp.lua index 645906b2..af53ca78 100644 --- a/lsp/typos_lsp.lua +++ b/lsp/typos_lsp.lua @@ -6,6 +6,7 @@ --- A Language Server Protocol implementation for Typos, a low false-positive --- source code spell checker, written in Rust. Download it from the releases page --- on GitHub: https://github.com/tekumara/typos-lsp/releases +---@type vim.lsp.Config return { cmd = { 'typos-lsp' }, root_markers = { 'typos.toml', '_typos.toml', '.typos.toml', 'pyproject.toml', 'Cargo.toml' }, diff --git a/lsp/typst_lsp.lua b/lsp/typst_lsp.lua index 2705e496..8176de7a 100644 --- a/lsp/typst_lsp.lua +++ b/lsp/typst_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/nvarner/typst-lsp --- --- Language server for Typst. +---@type vim.lsp.Config return { cmd = { 'typst-lsp' }, filetypes = { 'typst' }, diff --git a/lsp/uiua.lua b/lsp/uiua.lua index 3d210d37..8f8ec0ae 100644 --- a/lsp/uiua.lua +++ b/lsp/uiua.lua @@ -5,6 +5,7 @@ --- The builtin language server of the Uiua interpreter. --- --- The Uiua interpreter can be installed with `cargo install uiua` +---@type vim.lsp.Config return { cmd = { 'uiua', 'lsp' }, filetypes = { 'uiua' }, diff --git a/lsp/ungrammar_languageserver.lua b/lsp/ungrammar_languageserver.lua index f7d9ceba..5fb2144c 100644 --- a/lsp/ungrammar_languageserver.lua +++ b/lsp/ungrammar_languageserver.lua @@ -7,6 +7,7 @@ --- ```sh --- npm i ungrammar-languageserver -g --- ``` +---@type vim.lsp.Config return { cmd = { 'ungrammar-languageserver', '--stdio' }, filetypes = { 'ungrammar' }, diff --git a/lsp/unison.lua b/lsp/unison.lua index d4fb1185..e7434a57 100644 --- a/lsp/unison.lua +++ b/lsp/unison.lua @@ -4,6 +4,7 @@ local util = require 'lspconfig.util' +---@type vim.lsp.Config return { cmd = { 'nc', 'localhost', os.getenv 'UNISON_LSP_PORT' or '5757' }, filetypes = { 'unison' }, diff --git a/lsp/unocss.lua b/lsp/unocss.lua index 2c995122..82edea31 100644 --- a/lsp/unocss.lua +++ b/lsp/unocss.lua @@ -6,6 +6,7 @@ --- ```sh --- npm i unocss-language-server -g --- ``` +---@type vim.lsp.Config return { cmd = { 'unocss-language-server', '--stdio' }, -- copied from https://github.com/unocss/unocss/blob/35297359bf61917bda499db86e3728a7ebd05d6c/packages/vscode/src/autocomplete.ts#L12-L35 diff --git a/lsp/uvls.lua b/lsp/uvls.lua index 7b78c09f..421933c1 100644 --- a/lsp/uvls.lua +++ b/lsp/uvls.lua @@ -14,6 +14,7 @@ --- ```lua --- vim.cmd([[au BufRead,BufNewFile *.uvl setfiletype uvl]]) --- ``` +---@type vim.lsp.Config return { cmd = { 'uvls' }, filetypes = { 'uvl' }, diff --git a/lsp/v_analyzer.lua b/lsp/v_analyzer.lua index 1a9a92c7..14e5b39b 100644 --- a/lsp/v_analyzer.lua +++ b/lsp/v_analyzer.lua @@ -5,6 +5,7 @@ --- V language server. --- --- `v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation). +---@type vim.lsp.Config return { cmd = { 'v-analyzer' }, filetypes = { 'v', 'vsh', 'vv' }, diff --git a/lsp/vacuum.lua b/lsp/vacuum.lua index 709f8b0b..ca726081 100644 --- a/lsp/vacuum.lua +++ b/lsp/vacuum.lua @@ -14,6 +14,7 @@ --- }, --- } --- ``` +---@type vim.lsp.Config return { cmd = { 'vacuum', 'language-server' }, filetypes = { 'yaml.openapi', 'json.openapi' }, diff --git a/lsp/vala_ls.lua b/lsp/vala_ls.lua index a2d9059f..f67034ee 100644 --- a/lsp/vala_ls.lua +++ b/lsp/vala_ls.lua @@ -23,6 +23,7 @@ local meson_matcher = function(path) end end +---@type vim.lsp.Config return { cmd = { 'vala-language-server' }, filetypes = { 'vala', 'genie' }, diff --git a/lsp/vale_ls.lua b/lsp/vale_ls.lua index 336c1a4e..4daa7d84 100644 --- a/lsp/vale_ls.lua +++ b/lsp/vale_ls.lua @@ -3,6 +3,7 @@ --- https://github.com/errata-ai/vale-ls --- --- An implementation of the Language Server Protocol (LSP) for the Vale command-line tool. +---@type vim.lsp.Config return { cmd = { 'vale-ls' }, filetypes = { 'markdown', 'text', 'tex', 'rst' }, diff --git a/lsp/vectorcode_server.lua b/lsp/vectorcode_server.lua index 4a591802..7a560d34 100644 --- a/lsp/vectorcode_server.lua +++ b/lsp/vectorcode_server.lua @@ -2,6 +2,7 @@ --- https://github.com/Davidyz/VectorCode --- --- A Language Server Protocol implementation for VectorCode, a code repository indexing tool. +---@type vim.lsp.Config return { cmd = { 'vectorcode-server' }, root_dir = vim.fs.root(0, { '.vectorcode', '.git' }), diff --git a/lsp/verible.lua b/lsp/verible.lua index ae0addcc..79e6c15b 100644 --- a/lsp/verible.lua +++ b/lsp/verible.lua @@ -8,6 +8,7 @@ --- and placed in a directory on PATH. --- --- See https://github.com/chipsalliance/verible/tree/master/verilog/tools/ls/README.md for options. +---@type vim.lsp.Config return { cmd = { 'verible-verilog-ls' }, filetypes = { 'systemverilog', 'verilog' }, diff --git a/lsp/veridian.lua b/lsp/veridian.lua index cb533c9d..2f576d36 100644 --- a/lsp/veridian.lua +++ b/lsp/veridian.lua @@ -15,6 +15,7 @@ --- ``` --- cargo install --git https://github.com/vivekmalneedi/veridian.git --- ``` +---@type vim.lsp.Config return { cmd = { 'veridian' }, filetypes = { 'systemverilog', 'verilog' }, diff --git a/lsp/veryl_ls.lua b/lsp/veryl_ls.lua index 53779e40..d003d0d9 100644 --- a/lsp/veryl_ls.lua +++ b/lsp/veryl_ls.lua @@ -8,6 +8,7 @@ --- ```sh --- cargo install veryl-ls --- ``` +---@type vim.lsp.Config return { cmd = { 'veryl-ls' }, filetypes = { 'veryl' }, diff --git a/lsp/vespa_ls.lua b/lsp/vespa_ls.lua index 883005ac..ebad3003 100644 --- a/lsp/vespa_ls.lua +++ b/lsp/vespa_ls.lua @@ -28,6 +28,7 @@ --- }, --- } +---@type vim.lsp.Config return { cmd = { 'java', '-jar', 'vespa-language-server.jar' }, filetypes = { 'sd', 'profile', 'yql' }, diff --git a/lsp/vhdl_ls.lua b/lsp/vhdl_ls.lua index 5ca68107..79805032 100644 --- a/lsp/vhdl_ls.lua +++ b/lsp/vhdl_ls.lua @@ -26,6 +26,7 @@ --- 'tb_ent.vhd' --- ] --- ``` +---@type vim.lsp.Config return { cmd = { 'vhdl_ls' }, filetypes = { 'vhd', 'vhdl' }, diff --git a/lsp/vimls.lua b/lsp/vimls.lua index 32cf93fd..406c5c24 100644 --- a/lsp/vimls.lua +++ b/lsp/vimls.lua @@ -6,6 +6,7 @@ --- ```sh --- npm install -g vim-language-server --- ``` +---@type vim.lsp.Config return { cmd = { 'vim-language-server', '--stdio' }, filetypes = { 'vim' }, diff --git a/lsp/visualforce_ls.lua b/lsp/visualforce_ls.lua index 6b19b9ea..85345421 100644 --- a/lsp/visualforce_ls.lua +++ b/lsp/visualforce_ls.lua @@ -17,6 +17,7 @@ --- } --- }) --- ``` +---@type vim.lsp.Config return { filetypes = { 'visualforce' }, root_markers = { 'sfdx-project.json' }, diff --git a/lsp/vls.lua b/lsp/vls.lua index b4076672..1147b6c4 100644 --- a/lsp/vls.lua +++ b/lsp/vls.lua @@ -5,6 +5,7 @@ --- V language server. --- --- `v-language-server` can be installed by following the instructions [here](https://github.com/vlang/vls#installation). +---@type vim.lsp.Config return { cmd = { 'v', 'ls' }, filetypes = { 'v', 'vlang' }, diff --git a/lsp/vscoqtop.lua b/lsp/vscoqtop.lua index 9eb353cb..9cc07c3e 100644 --- a/lsp/vscoqtop.lua +++ b/lsp/vscoqtop.lua @@ -1,6 +1,7 @@ ---@brief --- --- https://github.com/coq-community/vscoq +---@type vim.lsp.Config return { cmd = { 'vscoqtop' }, filetypes = { 'coq' }, diff --git a/lsp/vtsls.lua b/lsp/vtsls.lua index a0b4454a..50ed654d 100644 --- a/lsp/vtsls.lua +++ b/lsp/vtsls.lua @@ -65,6 +65,7 @@ --- --- It is recommended to use the same version of TypeScript in all packages, and therefore have it available in your workspace root. The location of the TypeScript binary will be determined automatically, but only once. +---@type vim.lsp.Config return { cmd = { 'vtsls', '--stdio' }, filetypes = { diff --git a/lsp/vue_ls.lua b/lsp/vue_ls.lua index 97c49fc6..20f11988 100644 --- a/lsp/vue_ls.lua +++ b/lsp/vue_ls.lua @@ -18,6 +18,7 @@ --- --- NOTE: Since v3.0.0, the Vue Language Server [no longer supports takeover mode](https://github.com/vuejs/language-tools/pull/5248). +---@type vim.lsp.Config return { cmd = { 'vue-language-server', '--stdio' }, filetypes = { 'vue' }, diff --git a/lsp/wasm_language_tools.lua b/lsp/wasm_language_tools.lua index 9b11896b..4a5aa2ac 100644 --- a/lsp/wasm_language_tools.lua +++ b/lsp/wasm_language_tools.lua @@ -4,6 +4,7 @@ --- --- WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format. --- It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format. +---@type vim.lsp.Config return { cmd = { 'wat_server' }, filetypes = { 'wat' }, diff --git a/lsp/wgsl_analyzer.lua b/lsp/wgsl_analyzer.lua index 938471ab..1d40cb51 100644 --- a/lsp/wgsl_analyzer.lua +++ b/lsp/wgsl_analyzer.lua @@ -6,6 +6,7 @@ --- ```sh --- cargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl-analyzer --- ``` +---@type vim.lsp.Config return { cmd = { 'wgsl-analyzer' }, filetypes = { 'wgsl' }, diff --git a/lsp/yamlls.lua b/lsp/yamlls.lua index 72b6ae1c..a937484c 100644 --- a/lsp/yamlls.lua +++ b/lsp/yamlls.lua @@ -58,6 +58,7 @@ --- } --- }) --- ``` +---@type vim.lsp.Config return { cmd = { 'yaml-language-server', '--stdio' }, filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab', 'yaml.helm-values' }, diff --git a/lsp/yang_lsp.lua b/lsp/yang_lsp.lua index b34f7c49..4f435f93 100644 --- a/lsp/yang_lsp.lua +++ b/lsp/yang_lsp.lua @@ -3,6 +3,7 @@ --- https://github.com/TypeFox/yang-lsp --- --- A Language Server for the YANG data modeling language. +---@type vim.lsp.Config return { cmd = { 'yang-language-server' }, filetypes = { 'yang' }, diff --git a/lsp/yls.lua b/lsp/yls.lua index 4722d564..e78a0e14 100644 --- a/lsp/yls.lua +++ b/lsp/yls.lua @@ -7,6 +7,7 @@ --- This plugin runs yara.compile on every save, parses the errors, and returns list of diagnostic messages. --- --- Language Server: https://github.com/avast/yls +---@type vim.lsp.Config return { cmd = { 'yls', '-vv' }, filetypes = { 'yar', 'yara' }, diff --git a/lsp/ziggy.lua b/lsp/ziggy.lua index 40475b0f..72b090e9 100644 --- a/lsp/ziggy.lua +++ b/lsp/ziggy.lua @@ -3,6 +3,7 @@ --- https://ziggy-lang.io/documentation/ziggy-lsp/ --- --- Language server for the Ziggy data serialization format +---@type vim.lsp.Config return { cmd = { 'ziggy', 'lsp' }, filetypes = { 'ziggy' }, diff --git a/lsp/ziggy_schema.lua b/lsp/ziggy_schema.lua index c83fa3c9..97f17d8a 100644 --- a/lsp/ziggy_schema.lua +++ b/lsp/ziggy_schema.lua @@ -3,6 +3,7 @@ --- https://ziggy-lang.io/documentation/ziggy-lsp/ --- --- Language server for schema files of the Ziggy data serialization format +---@type vim.lsp.Config return { cmd = { 'ziggy', 'lsp', '--schema' }, filetypes = { 'ziggy_schema' }, @@ -12,6 +12,7 @@ local function find_zk_root(startpath) end end +---@type vim.lsp.Config return { cmd = { 'zk', 'lsp' }, filetypes = { 'markdown' }, diff --git a/lsp/zls.lua b/lsp/zls.lua index a21ae197..6a8dc088 100644 --- a/lsp/zls.lua +++ b/lsp/zls.lua @@ -3,6 +3,7 @@ --- --- Zig LSP implementation + Zig Language Server +---@type vim.lsp.Config return { cmd = { 'zls' }, filetypes = { 'zig', 'zir' }, |
