aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lsp/ada_ls.lua34
-rw-r--r--lsp/agda_ls.lua6
-rw-r--r--lsp/aiken.lua12
-rw-r--r--lsp/air.lua10
-rw-r--r--lsp/alloy_ls.lua42
-rw-r--r--lsp/anakin_language_server.lua16
-rw-r--r--lsp/angularls.lua32
-rw-r--r--lsp/ansiblels.lua18
-rw-r--r--lsp/antlersls.lua12
-rw-r--r--lsp/arduino_language_server.lua134
-rw-r--r--lsp/asm_lsp.lua12
-rw-r--r--lsp/ast_grep.lua14
-rw-r--r--lsp/astro.lua12
-rw-r--r--lsp/atlas.lua100
-rw-r--r--lsp/autohotkey_lsp.lua6
-rw-r--r--lsp/autotools_ls.lua16
-rw-r--r--lsp/awk_ls.lua12
-rw-r--r--lsp/azure_pipelines_ls.lua58
-rw-r--r--lsp/bacon_ls.lua74
-rw-r--r--lsp/ballerina.lua8
-rw-r--r--lsp/basedpyright.lua11
-rw-r--r--lsp/bashls.lua16
-rw-r--r--lsp/basics_ls.lua14
-rw-r--r--lsp/bazelrc_lsp.lua26
-rw-r--r--lsp/beancount.lua6
-rw-r--r--lsp/bicep.lua62
-rw-r--r--lsp/biome.lua14
-rw-r--r--lsp/bitbake_language_server.lua2
-rw-r--r--lsp/blueprint_ls.lua12
-rw-r--r--lsp/bqls.lua14
-rw-r--r--lsp/bright_script.lua12
-rw-r--r--lsp/bsl_ls.lua6
-rw-r--r--lsp/buck2.lua18
-rw-r--r--lsp/buddy_ls.lua8
-rw-r--r--lsp/bufls.lua16
-rw-r--r--lsp/bzl.lua10
-rw-r--r--lsp/c3_lsp.lua6
-rw-r--r--lsp/cairo_ls.lua20
-rw-r--r--lsp/cds_lsp.lua14
-rw-r--r--lsp/circom-lsp.lua6
-rw-r--r--lsp/clangd.lua25
-rw-r--r--lsp/clarity_lsp.lua4
-rw-r--r--lsp/clojure_lsp.lua6
-rw-r--r--lsp/cmake.lua6
-rw-r--r--lsp/cobol_ls.lua2
-rw-r--r--lsp/coffeesense.lua14
-rw-r--r--lsp/contextive.lua18
-rw-r--r--lsp/coq_lsp.lua2
-rw-r--r--lsp/crystalline.lua6
-rw-r--r--lsp/csharp_ls.lua14
-rw-r--r--lsp/css_variables.lua18
-rw-r--r--lsp/cssls.lua38
-rw-r--r--lsp/cssmodules_ls.lua16
-rw-r--r--lsp/cucumber_language_server.lua20
-rw-r--r--lsp/cue.lua6
-rw-r--r--lsp/custom_elements_ls.lua46
-rw-r--r--lsp/cypher_ls.lua18
-rw-r--r--lsp/dafny.lua2
-rw-r--r--lsp/dagger.lua6
-rw-r--r--lsp/dartls.lua6
-rw-r--r--lsp/dcmls.lua6
-rw-r--r--lsp/debputy.lua6
-rw-r--r--lsp/denols.lua29
-rw-r--r--lsp/dhall_lsp_server.lua19
-rw-r--r--lsp/diagnosticls.lua6
-rw-r--r--lsp/digestif.lua14
-rw-r--r--lsp/djlsp.lua5
-rw-r--r--lsp/docker_compose_language_service.lua21
-rw-r--r--lsp/dockerls.lua42
-rw-r--r--lsp/dolmenls.lua12
-rw-r--r--lsp/dotls.lua12
-rw-r--r--lsp/dprint.lua6
-rw-r--r--lsp/ds_pinyin_lsp.lua33
-rw-r--r--lsp/dts_lsp.lua23
-rw-r--r--lsp/earthlyls.lua7
-rw-r--r--lsp/ecsact.lua12
-rw-r--r--lsp/elixirls.lua50
-rw-r--r--lsp/elmls.lua17
-rw-r--r--lsp/elp.lua8
-rw-r--r--lsp/emmet_language_server.lua12
-rw-r--r--lsp/emmet_ls.lua12
-rw-r--r--lsp/emmylua_ls.lua18
-rw-r--r--lsp/erg_language_server.lua20
-rw-r--r--lsp/erlangls.lua24
-rw-r--r--lsp/esbonio.lua84
-rw-r--r--lsp/facility_language_server.lua6
-rw-r--r--lsp/fennel_language_server.lua6
-rw-r--r--lsp/fennel_ls.lua17
-rw-r--r--lsp/fish_lsp.lua16
-rw-r--r--lsp/flow.lua22
-rw-r--r--lsp/flux_lsp.lua10
-rw-r--r--lsp/foam_ls.lua12
-rw-r--r--lsp/fortls.lua22
-rw-r--r--lsp/fsautocomplete.lua37
-rw-r--r--lsp/fsharp_language_server.lua29
-rw-r--r--lsp/fstar.lua6
-rw-r--r--lsp/futhark_lsp.lua16
-rw-r--r--lsp/gdscript.lua6
-rw-r--r--lsp/gdshader_lsp.lua6
-rw-r--r--lsp/gh_actions_ls.lua28
-rw-r--r--lsp/ghcide.lua8
-rw-r--r--lsp/ghdl_ls.lua12
-rw-r--r--lsp/ginko_ls.lua12
-rw-r--r--lsp/gitlab_ci_ls.lua17
-rw-r--r--lsp/glasgow.lua40
-rw-r--r--lsp/gleam.lua10
-rw-r--r--lsp/glsl_analyzer.lua6
-rw-r--r--lsp/glslls.lua12
-rw-r--r--lsp/golangci_lint_ls.lua24
-rw-r--r--lsp/gopls.lua11
-rw-r--r--lsp/gradle_ls.lua15
-rw-r--r--lsp/grammarly.lua18
-rw-r--r--lsp/graphql.lua23
-rw-r--r--lsp/groovyls.lua34
-rw-r--r--lsp/guile_ls.lua20
-rw-r--r--lsp/harper_ls.lua32
-rw-r--r--lsp/hdl_checker.lua6
-rw-r--r--lsp/helm_ls.lua18
-rw-r--r--lsp/hhvm.lua10
-rw-r--r--lsp/hie.lua32
-rw-r--r--lsp/hlasm.lua6
-rw-r--r--lsp/hls.lua22
-rw-r--r--lsp/hoon_ls.lua16
-rw-r--r--lsp/html.lua42
-rw-r--r--lsp/htmx.lua16
-rw-r--r--lsp/hydra_lsp.lua6
-rw-r--r--lsp/hyprls.lua12
-rw-r--r--lsp/idris2_lsp.lua61
-rw-r--r--lsp/intelephense.lua53
-rw-r--r--lsp/janet_lsp.lua6
-rw-r--r--lsp/java_language_server.lua10
-rw-r--r--lsp/jdtls.lua67
-rw-r--r--lsp/jedi_language_server.lua6
-rw-r--r--lsp/jinja_lsp.lua26
-rw-r--r--lsp/jqls.lua28
-rw-r--r--lsp/jsonls.lua40
-rw-r--r--lsp/julials.lua49
-rw-r--r--lsp/just.lua6
-rw-r--r--lsp/kcl.lua8
-rw-r--r--lsp/koka.lua4
-rw-r--r--lsp/kotlin_language_server.lua35
-rw-r--r--lsp/kulala_ls.lua6
-rw-r--r--lsp/lean3ls.lua31
-rw-r--r--lsp/lelwel_ls.lua16
-rw-r--r--lsp/lemminx.lua10
-rw-r--r--lsp/lexical.lua16
-rw-r--r--lsp/lsp_ai.lua18
-rw-r--r--lsp/ltex.lua47
-rw-r--r--lsp/ltex_plus.lua47
-rw-r--r--lsp/lua_ls.lua104
-rw-r--r--lsp/luau_lsp.lua22
-rw-r--r--lsp/lwc_ls.lua32
-rw-r--r--lsp/m68k.lua30
-rw-r--r--lsp/markdown_oxide.lua16
-rw-r--r--lsp/marko-js.lua16
-rw-r--r--lsp/marksman.lua19
-rw-r--r--lsp/mesonlsp.lua6
-rw-r--r--lsp/metals.lua22
-rw-r--r--lsp/millet.lua20
-rw-r--r--lsp/mint.lua8
-rw-r--r--lsp/mlir_lsp_server.lua10
-rw-r--r--lsp/mlir_pdll_lsp_server.lua10
-rw-r--r--lsp/mm0_ls.lua12
-rw-r--r--lsp/mojo.lua10
-rw-r--r--lsp/motoko_lsp.lua6
-rw-r--r--lsp/move_analyzer.lua22
-rw-r--r--lsp/msbuild_project_tools_server.lua67
-rw-r--r--lsp/muon.lua2
-rw-r--r--lsp/mutt_ls.lua14
-rw-r--r--lsp/nelua_lsp.lua50
-rw-r--r--lsp/neocmake.lua30
-rw-r--r--lsp/nextflow_ls.lua44
-rw-r--r--lsp/nextls.lua6
-rw-r--r--lsp/nginx_language_server.lua14
-rw-r--r--lsp/nickel_ls.lua46
-rw-r--r--lsp/nil_ls.lua16
-rw-r--r--lsp/nim_langserver.lua19
-rw-r--r--lsp/nimls.lua19
-rw-r--r--lsp/nixd.lua12
-rw-r--r--lsp/nomad_lsp.lua35
-rw-r--r--lsp/ntt.lua27
-rw-r--r--lsp/nushell.lua6
-rw-r--r--lsp/nxls.lua16
-rw-r--r--lsp/ocamlls.lua17
-rw-r--r--lsp/ocamllsp.lua21
-rw-r--r--lsp/ols.lua11
-rw-r--r--lsp/omnisharp.lua26
-rw-r--r--lsp/opencl_ls.lua10
-rw-r--r--lsp/openscad_ls.lua36
-rw-r--r--lsp/openscad_lsp.lua16
-rw-r--r--lsp/pact_ls.lua6
-rw-r--r--lsp/pasls.lua33
-rw-r--r--lsp/pbls.lua20
-rw-r--r--lsp/perlls.lua10
-rw-r--r--lsp/perlnavigator.lua38
-rw-r--r--lsp/perlpls.lua12
-rw-r--r--lsp/pest_ls.lua6
-rw-r--r--lsp/phan.lua11
-rw-r--r--lsp/phpactor.lua11
-rw-r--r--lsp/pico8_ls.lua11
-rw-r--r--lsp/pkgbuild_language_server.lua6
-rw-r--r--lsp/please.lua10
-rw-r--r--lsp/poryscript_pls.lua6
-rw-r--r--lsp/postgres_lsp.lua6
-rw-r--r--lsp/prismals.lua12
-rw-r--r--lsp/prolog_ls.lua6
-rw-r--r--lsp/prosemd_lsp.lua10
-rw-r--r--lsp/protols.lua16
-rw-r--r--lsp/psalm.lua12
-rw-r--r--lsp/pug.lua10
-rw-r--r--lsp/puppet.lua28
-rw-r--r--lsp/purescriptls.lua12
-rw-r--r--lsp/pylsp.lua50
-rw-r--r--lsp/pylyzer.lua6
-rw-r--r--lsp/pyre.lua16
-rw-r--r--lsp/pyright.lua11
-rw-r--r--lsp/qmlls.lua10
-rw-r--r--lsp/quick_lint_js.lua10
-rw-r--r--lsp/r_language_server.lua18
-rw-r--r--lsp/racket_langserver.lua14
-rw-r--r--lsp/raku_navigator.lua38
-rw-r--r--lsp/reason_ls.lua6
-rw-r--r--lsp/regal.lua21
-rw-r--r--lsp/regols.lua21
-rw-r--r--lsp/remark_ls.lua56
-rw-r--r--lsp/rescriptls.lua44
-rw-r--r--lsp/rls.lua52
-rw-r--r--lsp/rnix.lua14
-rw-r--r--lsp/robotcode.lua6
-rw-r--r--lsp/robotframework_ls.lua6
-rw-r--r--lsp/roc_ls.lua8
-rw-r--r--lsp/rome.lua18
-rw-r--r--lsp/rpmspec.lua6
-rw-r--r--lsp/rubocop.lua2
-rw-r--r--lsp/ruby_lsp.lua22
-rw-r--r--lsp/ruff.lua50
-rw-r--r--lsp/ruff_lsp.lua40
-rw-r--r--lsp/rune_languageserver.lua8
-rw-r--r--lsp/rust_analyzer.lua45
-rw-r--r--lsp/salt_ls.lua14
-rw-r--r--lsp/scheme_langserver.lua11
-rw-r--r--lsp/scry.lua6
-rw-r--r--lsp/selene3p_ls.lua6
-rw-r--r--lsp/serve_d.lua8
-rw-r--r--lsp/shopify_theme_ls.lua14
-rw-r--r--lsp/sixtyfps.lua34
-rw-r--r--lsp/slangd.lua49
-rw-r--r--lsp/slint_lsp.lua30
-rw-r--r--lsp/smarty_ls.lua23
-rw-r--r--lsp/smithy_ls.lua11
-rw-r--r--lsp/snakeskin_ls.lua12
-rw-r--r--lsp/snyk_ls.lua6
-rw-r--r--lsp/solang.lua18
-rw-r--r--lsp/solargraph.lua18
-rw-r--r--lsp/solc.lua6
-rw-r--r--lsp/solidity.lua64
-rw-r--r--lsp/solidity_ls.lua18
-rw-r--r--lsp/solidity_ls_nomicfoundation.lua18
-rw-r--r--lsp/somesass_ls.lua30
-rw-r--r--lsp/sorbet.lua20
-rw-r--r--lsp/sourcekit.lua11
-rw-r--r--lsp/spectral.lua21
-rw-r--r--lsp/spyglassmc_language_server.lua30
-rw-r--r--lsp/sqlls.lua8
-rw-r--r--lsp/sqls.lua18
-rw-r--r--lsp/sqruff.lua8
-rw-r--r--lsp/standardrb.lua6
-rw-r--r--lsp/starlark_rust.lua14
-rw-r--r--lsp/starpls.lua6
-rw-r--r--lsp/statix.lua6
-rw-r--r--lsp/steep.lua10
-rw-r--r--lsp/stimulus_ls.lua26
-rw-r--r--lsp/stylelint_lsp.lua43
-rw-r--r--lsp/stylua3p_ls.lua6
-rw-r--r--lsp/superhtml.lua30
-rw-r--r--lsp/svelte.lua21
-rw-r--r--lsp/svlangserver.lua23
-rw-r--r--lsp/svls.lua16
-rw-r--r--lsp/swift_mesonls.lua6
-rw-r--r--lsp/syntax_tree.lua24
-rw-r--r--lsp/systemd_ls.lua16
-rw-r--r--lsp/tabby_ml.lua18
-rw-r--r--lsp/taplo.lua16
-rw-r--r--lsp/tblgen_lsp_server.lua15
-rw-r--r--lsp/teal_ls.lua22
-rw-r--r--lsp/templ.lua6
-rw-r--r--lsp/terraform_lsp.lua54
-rw-r--r--lsp/terraformls.lua62
-rw-r--r--lsp/texlab.lua15
-rw-r--r--lsp/textlsp.lua20
-rw-r--r--lsp/tflint.lua8
-rw-r--r--lsp/theme_check.lua33
-rw-r--r--lsp/thriftls.lua6
-rw-r--r--lsp/tilt_ls.lua18
-rw-r--r--lsp/tinymist.lua23
-rw-r--r--lsp/ts_ls.lua130
-rw-r--r--lsp/ts_query_ls.lua50
-rw-r--r--lsp/tsp_server.lua16
-rw-r--r--lsp/ttags.lua2
-rw-r--r--lsp/turbo_ls.lua26
-rw-r--r--lsp/turtle_ls.lua13
-rw-r--r--lsp/tvm_ffi_navigator.lua12
-rw-r--r--lsp/twiggy_language_server.lua12
-rw-r--r--lsp/typeprof.lua6
-rw-r--r--lsp/typos_lsp.lua12
-rw-r--r--lsp/typst_lsp.lua6
-rw-r--r--lsp/uiua.lua10
-rw-r--r--lsp/ungrammar_languageserver.lua14
-rw-r--r--lsp/unison.lua7
-rw-r--r--lsp/unocss.lua12
-rw-r--r--lsp/uvls.lua26
-rw-r--r--lsp/v_analyzer.lua10
-rw-r--r--lsp/vacuum.lua26
-rw-r--r--lsp/vala_ls.lua7
-rw-r--r--lsp/vale_ls.lua6
-rw-r--r--lsp/verible.lua16
-rw-r--r--lsp/veridian.lua30
-rw-r--r--lsp/veryl_ls.lua16
-rw-r--r--lsp/vhdl_ls.lua52
-rw-r--r--lsp/vimls.lua12
-rw-r--r--lsp/visualforce_ls.lua34
-rw-r--r--lsp/vls.lua10
-rw-r--r--lsp/volar.lua149
-rw-r--r--lsp/vscoqtop.lua2
-rw-r--r--lsp/vtsls.lua22
-rw-r--r--lsp/vuels.lua14
-rw-r--r--lsp/wasm_language_tools.lua8
-rw-r--r--lsp/wgsl_analyzer.lua12
-rw-r--r--lsp/yamlls.lua116
-rw-r--r--lsp/yang_lsp.lua6
-rw-r--r--lsp/yls.lua14
-rw-r--r--lsp/ziggy.lua6
-rw-r--r--lsp/ziggy_schema.lua6
-rw-r--r--lsp/zk.lua11
-rw-r--r--lsp/zls.lua6
335 files changed, 3449 insertions, 3393 deletions
diff --git a/lsp/ada_ls.lua b/lsp/ada_ls.lua
index 82a89a93..c3a05e32 100644
--- a/lsp/ada_ls.lua
+++ b/lsp/ada_ls.lua
@@ -2,23 +2,23 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/AdaCore/ada_language_server
---
--- Installation instructions can be found [here](https://github.com/AdaCore/ada_language_server#Install).
---
--- Workspace-specific [settings](https://github.com/AdaCore/ada_language_server/blob/master/doc/settings.md) such as `projectFile` can be provided in a `.als.json` file at the root of the workspace.
--- Alternatively, configuration may be passed as a "settings" object to `vim.lsp.config('ada_ls', {})`:
---
--- ```lua
--- vim.lsp.config('ada_ls', {
--- settings = {
--- ada = {
--- projectFile = "project.gpr";
--- scenarioVariables = { ... };
--- }
--- }
--- })
--- ```
+--- https://github.com/AdaCore/ada_language_server
+---
+--- Installation instructions can be found [here](https://github.com/AdaCore/ada_language_server#Install).
+---
+--- Workspace-specific [settings](https://github.com/AdaCore/ada_language_server/blob/master/doc/settings.md) such as `projectFile` can be provided in a `.als.json` file at the root of the workspace.
+--- Alternatively, configuration may be passed as a "settings" object to `vim.lsp.config('ada_ls', {})`:
+---
+--- ```lua
+--- vim.lsp.config('ada_ls', {
+--- settings = {
+--- ada = {
+--- projectFile = "project.gpr";
+--- scenarioVariables = { ... };
+--- }
+--- }
+--- })
+--- ```
return {
cmd = { 'ada_language_server' },
filetypes = { 'ada' },
diff --git a/lsp/agda_ls.lua b/lsp/agda_ls.lua
index a266385c..127b3081 100644
--- a/lsp/agda_ls.lua
+++ b/lsp/agda_ls.lua
@@ -2,9 +2,9 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/agda/agda-language-server
---
--- Language Server for Agda.
+--- https://github.com/agda/agda-language-server
+---
+--- Language Server for Agda.
return {
cmd = { 'als' },
filetypes = { 'agda' },
diff --git a/lsp/aiken.lua b/lsp/aiken.lua
index 9555e6c6..f0054c21 100644
--- a/lsp/aiken.lua
+++ b/lsp/aiken.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/aiken-lang/aiken
---
--- A language server for Aiken Programming Language.
--- [Installation](https://aiken-lang.org/installation-instructions)
---
--- It can be i
+--- https://github.com/aiken-lang/aiken
+---
+--- A language server for Aiken Programming Language.
+--- [Installation](https://aiken-lang.org/installation-instructions)
+---
+--- It can be i
return {
cmd = { 'aiken', 'lsp' },
filetypes = { 'aiken' },
diff --git a/lsp/air.lua b/lsp/air.lua
index 4a9e2493..8f90a73d 100644
--- a/lsp/air.lua
+++ b/lsp/air.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/posit-dev/air
---
--- 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.
+--- https://github.com/posit-dev/air
+---
+--- 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.
return {
cmd = { 'air', 'language-server' },
filetypes = { 'r' },
diff --git a/lsp/alloy_ls.lua b/lsp/alloy_ls.lua
index b335b761..e1fe24eb 100644
--- a/lsp/alloy_ls.lua
+++ b/lsp/alloy_ls.lua
@@ -1,26 +1,26 @@
---@brief
---
--- https://github.com/AlloyTools/org.alloytools.alloy
---
--- Alloy is a formal specification language for describing structures and a tool for exploring them.
---
--- You may also need to configure the filetype for Alloy (*.als) files:
---
--- ```
--- autocmd BufNewFile,BufRead *.als set filetype=alloy
--- ```
---
--- or
---
--- ```lua
--- vim.filetype.add({
--- pattern = {
--- ['.*/*.als'] = 'alloy',
--- },
--- })
--- ```
---
--- Alternatively, you may use a syntax plugin like https://github.com/runoshun/vim-alloy.
+--- https://github.com/AlloyTools/org.alloytools.alloy
+---
+--- Alloy is a formal specification language for describing structures and a tool for exploring them.
+---
+--- You may also need to configure the filetype for Alloy (*.als) files:
+---
+--- ```
+--- autocmd BufNewFile,BufRead *.als set filetype=alloy
+--- ```
+---
+--- or
+---
+--- ```lua
+--- vim.filetype.add({
+--- pattern = {
+--- ['.*/*.als'] = 'alloy',
+--- },
+--- })
+--- ```
+---
+--- Alternatively, you may use a syntax plugin like https://github.com/runoshun/vim-alloy.
return {
cmd = { 'alloy', 'lsp' },
filetypes = { 'alloy' },
diff --git a/lsp/anakin_language_server.lua b/lsp/anakin_language_server.lua
index d7eccb1b..a9934962 100644
--- a/lsp/anakin_language_server.lua
+++ b/lsp/anakin_language_server.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://pypi.org/project/anakin-language-server/
---
--- `anakin-language-server` is yet another Jedi Python language server.
---
--- Available options:
---
--- * Initialization: https://github.com/muffinmad/anakin-language-server#initialization-option
--- * Configuration: https://github.com/muffinmad/anakin-language-server#configuration-options
+--- https://pypi.org/project/anakin-language-server/
+---
+--- `anakin-language-server` is yet another Jedi Python language server.
+---
+--- Available options:
+---
+--- * Initialization: https://github.com/muffinmad/anakin-language-server#initialization-option
+--- * Configuration: https://github.com/muffinmad/anakin-language-server#configuration-options
return {
cmd = { 'anakinls' },
filetypes = { 'python' },
diff --git a/lsp/angularls.lua b/lsp/angularls.lua
index 776affff..dd02aa9a 100644
--- a/lsp/angularls.lua
+++ b/lsp/angularls.lua
@@ -54,22 +54,22 @@ local ng_probe_dirs = vim
---@brief
---
--- https://github.com/angular/vscode-ng-language-service
--- `angular-language-server` can be installed via npm `npm install -g @angular/language-server`.
---
--- Note, that if you override the default `cmd`, you must also update `on_new_config` to set `new_config.cmd` during startup.
---
--- ```lua
--- local project_library_path = "/path/to/project/lib"
--- local cmd = {"ngserver", "--stdio", "--tsProbeLocations", project_library_path , "--ngProbeLocations", project_library_path}
---
--- require'lspconfig'.angularls.setup{
--- cmd = cmd,
--- on_new_config = function(new_config,new_root_dir)
--- new_config.cmd = cmd
--- end,
--- }
--- ```
+--- https://github.com/angular/vscode-ng-language-service
+--- `angular-language-server` can be installed via npm `npm install -g @angular/language-server`.
+---
+--- Note, that if you override the default `cmd`, you must also update `on_new_config` to set `new_config.cmd` during startup.
+---
+--- ```lua
+--- local project_library_path = "/path/to/project/lib"
+--- local cmd = {"ngserver", "--stdio", "--tsProbeLocations", project_library_path , "--ngProbeLocations", project_library_path}
+---
+--- require'lspconfig'.angularls.setup{
+--- cmd = cmd,
+--- on_new_config = function(new_config,new_root_dir)
+--- new_config.cmd = cmd
+--- end,
+--- }
+--- ```
return {
cmd = {
diff --git a/lsp/ansiblels.lua b/lsp/ansiblels.lua
index 54a82e9f..75f03ac0 100644
--- a/lsp/ansiblels.lua
+++ b/lsp/ansiblels.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/ansible/vscode-ansible
---
--- Language server for the ansible configuration management tool.
---
--- `ansible-language-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g @ansible/ansible-language-server
--- ```
+--- https://github.com/ansible/vscode-ansible
+---
+--- Language server for the ansible configuration management tool.
+---
+--- `ansible-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g @ansible/ansible-language-server
+--- ```
return {
cmd = { 'ansible-language-server', '--stdio' },
settings = {
diff --git a/lsp/antlersls.lua b/lsp/antlersls.lua
index b3bfb08f..fe01ea8d 100644
--- a/lsp/antlersls.lua
+++ b/lsp/antlersls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://www.npmjs.com/package/antlers-language-server
---
--- `antlersls` can be installed via `npm`:
--- ```sh
--- npm install -g antlers-language-server
--- ```
+--- https://www.npmjs.com/package/antlers-language-server
+---
+--- `antlersls` can be installed via `npm`:
+--- ```sh
+--- npm install -g antlers-language-server
+--- ```
return {
cmd = { 'antlersls', '--stdio' },
filetypes = { 'html', 'antlers' },
diff --git a/lsp/arduino_language_server.lua b/lsp/arduino_language_server.lua
index 055eeb8c..588dec0f 100644
--- a/lsp/arduino_language_server.lua
+++ b/lsp/arduino_language_server.lua
@@ -2,73 +2,73 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/arduino/arduino-language-server
---
--- Language server for Arduino
---
--- The `arduino-language-server` can be installed by running:
---
--- ```
--- go install github.com/arduino/arduino-language-server@latest
--- ```
---
--- The `arduino-cli` tool must also be installed. Follow [these
--- installation instructions](https://arduino.github.io/arduino-cli/latest/installation/) for
--- your platform.
---
--- After installing `arduino-cli`, follow [these
--- instructions](https://arduino.github.io/arduino-cli/latest/getting-started/#create-a-configuration-file)
--- for generating a configuration file if you haven't done so already, and make
--- sure you [install any relevant platforms
--- libraries](https://arduino.github.io/arduino-cli/latest/getting-started/#install-the-core-for-your-board).
---
--- The language server also requires `clangd` to be installed. Follow [these
--- installation instructions](https://clangd.llvm.org/installation) for your
--- platform.
---
--- If you don't have a sketch yet create one.
---
--- ```sh
--- $ arduino-cli sketch new test
--- $ cd test
--- ```
---
--- You will need a `sketch.yaml` file in order for the language server to understand your project. It will also save you passing options to `arduino-cli` each time you compile or upload a file. You can generate the file by using the following commands.
---
---
--- First gather some information about your board. Make sure your board is connected and run the following:
---
--- ```sh
--- $ arduino-cli board list
--- Port Protocol Type Board Name FQBN Core
--- /dev/ttyACM0 serial Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr
--- ```
---
--- Then generate the file:
---
--- ```sh
--- arduino-cli board attach -p /dev/ttyACM0 -b arduino:avr:uno test.ino
--- ```
---
--- The resulting file should look like this:
---
--- ```yaml
--- default_fqbn: arduino:avr:uno
--- default_port: /dev/ttyACM0
--- ```
---
--- Your folder structure should look like this:
---
--- ```
--- .
--- ├── test.ino
--- └── sketch.yaml
--- ```
---
--- For further instructions about configuration options, run `arduino-language-server --help`.
---
--- Note that an upstream bug makes keywords in some cases become undefined by the language server.
--- Ref: https://github.com/arduino/arduino-ide/issues/159
+--- https://github.com/arduino/arduino-language-server
+---
+--- Language server for Arduino
+---
+--- The `arduino-language-server` can be installed by running:
+---
+--- ```
+--- go install github.com/arduino/arduino-language-server@latest
+--- ```
+---
+--- The `arduino-cli` tool must also be installed. Follow [these
+--- installation instructions](https://arduino.github.io/arduino-cli/latest/installation/) for
+--- your platform.
+---
+--- After installing `arduino-cli`, follow [these
+--- instructions](https://arduino.github.io/arduino-cli/latest/getting-started/#create-a-configuration-file)
+--- for generating a configuration file if you haven't done so already, and make
+--- sure you [install any relevant platforms
+--- libraries](https://arduino.github.io/arduino-cli/latest/getting-started/#install-the-core-for-your-board).
+---
+--- The language server also requires `clangd` to be installed. Follow [these
+--- installation instructions](https://clangd.llvm.org/installation) for your
+--- platform.
+---
+--- If you don't have a sketch yet create one.
+---
+--- ```sh
+--- $ arduino-cli sketch new test
+--- $ cd test
+--- ```
+---
+--- You will need a `sketch.yaml` file in order for the language server to understand your project. It will also save you passing options to `arduino-cli` each time you compile or upload a file. You can generate the file by using the following commands.
+---
+---
+--- First gather some information about your board. Make sure your board is connected and run the following:
+---
+--- ```sh
+--- $ arduino-cli board list
+--- Port Protocol Type Board Name FQBN Core
+--- /dev/ttyACM0 serial Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr
+--- ```
+---
+--- Then generate the file:
+---
+--- ```sh
+--- arduino-cli board attach -p /dev/ttyACM0 -b arduino:avr:uno test.ino
+--- ```
+---
+--- The resulting file should look like this:
+---
+--- ```yaml
+--- default_fqbn: arduino:avr:uno
+--- default_port: /dev/ttyACM0
+--- ```
+---
+--- Your folder structure should look like this:
+---
+--- ```
+--- .
+--- ├── test.ino
+--- └── sketch.yaml
+--- ```
+---
+--- For further instructions about configuration options, run `arduino-language-server --help`.
+---
+--- Note that an upstream bug makes keywords in some cases become undefined by the language server.
+--- Ref: https://github.com/arduino/arduino-ide/issues/159
return {
filetypes = { 'arduino' },
root_dir = function(bufnr, on_dir)
diff --git a/lsp/asm_lsp.lua b/lsp/asm_lsp.lua
index 51c36745..368fa9c3 100644
--- a/lsp/asm_lsp.lua
+++ b/lsp/asm_lsp.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/bergercookie/asm-lsp
---
--- Language Server for NASM/GAS/GO Assembly
---
--- `asm-lsp` can be installed via cargo:
--- cargo install asm-lsp
+--- https://github.com/bergercookie/asm-lsp
+---
+--- Language Server for NASM/GAS/GO Assembly
+---
+--- `asm-lsp` can be installed via cargo:
+--- cargo install asm-lsp
return {
cmd = { 'asm-lsp' },
filetypes = { 'asm', 'vmasm' },
diff --git a/lsp/ast_grep.lua b/lsp/ast_grep.lua
index 34f8b2c1..9ff11d57 100644
--- a/lsp/ast_grep.lua
+++ b/lsp/ast_grep.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://ast-grep.github.io/
---
--- ast-grep(sg) is a fast and polyglot tool for code structural search, lint, rewriting at large scale.
--- ast-grep LSP only works in projects that have `sgconfig.y[a]ml` in their root directories.
--- ```sh
--- npm install [-g] @ast-grep/cli
--- ```
+--- https://ast-grep.github.io/
+---
+--- ast-grep(sg) is a fast and polyglot tool for code structural search, lint, rewriting at large scale.
+--- ast-grep LSP only works in projects that have `sgconfig.y[a]ml` in their root directories.
+--- ```sh
+--- npm install [-g] @ast-grep/cli
+--- ```
return {
cmd = { 'ast-grep', 'lsp' },
filetypes = { -- https://ast-grep.github.io/reference/languages.html
diff --git a/lsp/astro.lua b/lsp/astro.lua
index d6f43825..86f834fa 100644
--- a/lsp/astro.lua
+++ b/lsp/astro.lua
@@ -5,12 +5,12 @@ end
---@brief
---
--- https://github.com/withastro/language-tools/tree/main/packages/language-server
---
--- `astro-ls` can be installed via `npm`:
--- ```sh
--- npm install -g @astrojs/language-server
---```
+--- https://github.com/withastro/language-tools/tree/main/packages/language-server
+---
+--- `astro-ls` can be installed via `npm`:
+--- ```sh
+--- npm install -g @astrojs/language-server
+--- ```
return {
cmd = { 'astro-ls', '--stdio' },
diff --git a/lsp/atlas.lua b/lsp/atlas.lua
index aa85d9af..62049425 100644
--- a/lsp/atlas.lua
+++ b/lsp/atlas.lua
@@ -1,55 +1,55 @@
---@brief
---
--- https://github.com/ariga/atlas
---
--- Language server for Atlas config and scheme files.
---
--- You may also need to configure the filetype for *.hcl files:
---
--- `autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config`
--- `autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql`
--- `autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql`
--- `autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite`
--- `autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse`
--- `autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql`
--- `autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift`
--- `autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test`
--- `autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan`
---
--- or
---
--- ```lua
--- vim.filetype.add({
--- filename = {
--- ['atlas.hcl'] = 'atlas-config',
--- },
--- pattern = {
--- ['.*/*.my.hcl'] = 'atlas-schema-mysql',
--- ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',
--- ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',
--- ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',
--- ['.*/*.ms.hcl'] = 'atlas-schema-mssql',
--- ['.*/*.rs.hcl'] = 'atlas-schema-redshift',
--- ['.*/*.test.hcl'] = 'atlas-test',
--- ['.*/*.plan.hcl'] = 'atlas-plan',
--- },
--- })
--- ```
---
--- Optionally, tell treesitter to treat Atlas filetypes as HCL for better syntax highlighting:
---
--- ```lua
--- vim.treesitter.language.register('hcl', 'atlas-config')
--- vim.treesitter.language.register('hcl', 'atlas-schema-mysql')
--- vim.treesitter.language.register('hcl', 'atlas-schema-postgresql')
--- vim.treesitter.language.register('hcl', 'atlas-schema-sqlite')
--- vim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')
--- vim.treesitter.language.register('hcl', 'atlas-schema-mssql')
--- vim.treesitter.language.register('hcl', 'atlas-schema-redshift')
--- vim.treesitter.language.register('hcl', 'atlas-test')
--- vim.treesitter.language.register('hcl', 'atlas-plan')
--- ```
---
+--- https://github.com/ariga/atlas
+---
+--- Language server for Atlas config and scheme files.
+---
+--- You may also need to configure the filetype for *.hcl files:
+---
+--- `autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config`
+--- `autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql`
+--- `autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql`
+--- `autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite`
+--- `autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse`
+--- `autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql`
+--- `autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift`
+--- `autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test`
+--- `autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan`
+---
+--- or
+---
+--- ```lua
+--- vim.filetype.add({
+--- filename = {
+--- ['atlas.hcl'] = 'atlas-config',
+--- },
+--- pattern = {
+--- ['.*/*.my.hcl'] = 'atlas-schema-mysql',
+--- ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',
+--- ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',
+--- ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',
+--- ['.*/*.ms.hcl'] = 'atlas-schema-mssql',
+--- ['.*/*.rs.hcl'] = 'atlas-schema-redshift',
+--- ['.*/*.test.hcl'] = 'atlas-test',
+--- ['.*/*.plan.hcl'] = 'atlas-plan',
+--- },
+--- })
+--- ```
+---
+--- Optionally, tell treesitter to treat Atlas filetypes as HCL for better syntax highlighting:
+---
+--- ```lua
+--- vim.treesitter.language.register('hcl', 'atlas-config')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-mysql')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-postgresql')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-sqlite')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-mssql')
+--- vim.treesitter.language.register('hcl', 'atlas-schema-redshift')
+--- vim.treesitter.language.register('hcl', 'atlas-test')
+--- vim.treesitter.language.register('hcl', 'atlas-plan')
+--- ```
+---
return {
cmd = { 'atlas', 'tool', 'lsp', '--stdio' },
filetypes = {
diff --git a/lsp/autohotkey_lsp.lua b/lsp/autohotkey_lsp.lua
index 1862f860..6f7a8624 100644
--- a/lsp/autohotkey_lsp.lua
+++ b/lsp/autohotkey_lsp.lua
@@ -6,9 +6,9 @@ end
---@brief
---
--- https://github.com/thqby/vscode-autohotkey2-lsp
---
--- AutoHotkey v2.0 LSP implementation
+--- https://github.com/thqby/vscode-autohotkey2-lsp
+---
+--- AutoHotkey v2.0 LSP implementation
return {
cmd = { 'autohotkey_lsp', '--stdio' },
filetypes = { 'autohotkey' },
diff --git a/lsp/autotools_ls.lua b/lsp/autotools_ls.lua
index cf47de4a..8777bfbb 100644
--- a/lsp/autotools_ls.lua
+++ b/lsp/autotools_ls.lua
@@ -4,14 +4,14 @@ local root_files = { 'configure.ac', 'Makefile', 'Makefile.am', '*.mk' }
---@brief
---
--- https://github.com/Freed-Wu/autotools-language-server
---
--- `autotools-language-server` can be installed via `pip`:
--- ```sh
--- pip install autotools-language-server
--- ```
---
--- Language server for autoconf, automake and make using tree sitter in python.
+--- https://github.com/Freed-Wu/autotools-language-server
+---
+--- `autotools-language-server` can be installed via `pip`:
+--- ```sh
+--- pip install autotools-language-server
+--- ```
+---
+--- Language server for autoconf, automake and make using tree sitter in python.
return {
cmd = { 'autotools-language-server' },
filetypes = { 'config', 'automake', 'make' },
diff --git a/lsp/awk_ls.lua b/lsp/awk_ls.lua
index d8b09029..0bc1e6c7 100644
--- a/lsp/awk_ls.lua
+++ b/lsp/awk_ls.lua
@@ -5,12 +5,12 @@ end
---@brief
---
--- https://github.com/Beaglefoot/awk-language-server/
---
--- `awk-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g awk-language-server
--- ```
+--- https://github.com/Beaglefoot/awk-language-server/
+---
+--- `awk-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g awk-language-server
+--- ```
return {
cmd = { 'awk-language-server' },
filetypes = { 'awk' },
diff --git a/lsp/azure_pipelines_ls.lua b/lsp/azure_pipelines_ls.lua
index b2127c49..0980cb5d 100644
--- a/lsp/azure_pipelines_ls.lua
+++ b/lsp/azure_pipelines_ls.lua
@@ -1,34 +1,34 @@
---@brief
---
--- https://github.com/microsoft/azure-pipelines-language-server
---
--- An Azure Pipelines language server
---
--- `azure-pipelines-ls` can be installed via `npm`:
---
--- ```sh
--- npm install -g azure-pipelines-language-server
--- ```
---
--- By default `azure-pipelines-ls` will only work in files named `azure-pipelines.yml`, this can be changed by providing additional settings like so:
--- ```lua
--- vim.lsp.config('azure_pipelines_ls', {
--- ... -- other configuration for setup {}
--- settings = {
--- yaml = {
--- schemas = {
--- ["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = {
--- "/azure-pipeline*.y*l",
--- "/*.azure*",
--- "Azure-Pipelines/**/*.y*l",
--- "Pipelines/*.y*l",
--- },
--- },
--- },
--- },
--- })
--- ```
--- 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`.
+--- https://github.com/microsoft/azure-pipelines-language-server
+---
+--- An Azure Pipelines language server
+---
+--- `azure-pipelines-ls` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g azure-pipelines-language-server
+--- ```
+---
+--- By default `azure-pipelines-ls` will only work in files named `azure-pipelines.yml`, this can be changed by providing additional settings like so:
+--- ```lua
+--- vim.lsp.config('azure_pipelines_ls', {
+--- ... -- other configuration for setup {}
+--- settings = {
+--- yaml = {
+--- schemas = {
+--- ["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = {
+--- "/azure-pipeline*.y*l",
+--- "/*.azure*",
+--- "Azure-Pipelines/**/*.y*l",
+--- "Pipelines/*.y*l",
+--- },
+--- },
+--- },
+--- },
+--- })
+--- ```
+--- 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`.
return {
cmd = { 'azure-pipelines-language-server', '--stdio' },
filetypes = { 'yaml' },
diff --git a/lsp/bacon_ls.lua b/lsp/bacon_ls.lua
index 1cf21588..b3b271f7 100644
--- a/lsp/bacon_ls.lua
+++ b/lsp/bacon_ls.lua
@@ -1,42 +1,42 @@
---@brief
---
--- https://github.com/crisidev/bacon-ls
---
--- A Language Server Protocol wrapper for [bacon](https://dystroy.org/bacon/).
--- It offers textDocument/diagnostic and workspace/diagnostic capabilities for Rust
--- workspaces using the Bacon export locations file.
---
--- It requires `bacon` and `bacon-ls` to be installed on the system using
--- [mason.nvim](https://github.com/williamboman/mason.nvim) or manually
---
--- ```sh
--- $ cargo install --locked bacon bacon-ls
--- ```
---
--- Settings can be changed using the `init_options` dictionary:util
---
--- ```lua
--- init_options = {
--- -- Bacon export filename (default: .bacon-locations).
--- locationsFile = ".bacon-locations",
--- -- Try to update diagnostics every time the file is saved (default: true).
--- updateOnSave = true,
--- -- How many milliseconds to wait before updating diagnostics after a save (default: 1000).
--- updateOnSaveWaitMillis = 1000,
--- -- Try to update diagnostics every time the file changes (default: true).
--- updateOnChange = true,
--- -- Try to validate that bacon preferences are setup correctly to work with bacon-ls (default: true).
--- validateBaconPreferences = true,
--- -- f no bacon preferences file is found, create a new preferences file with the bacon-ls job definition (default: true).
--- createBaconPreferencesFile = true,
--- -- Run bacon in background for the bacon-ls job (default: true)
--- runBaconInBackground = true,
--- -- Command line arguments to pass to bacon running in background (default "--headless -j bacon-ls")
--- runBaconInBackgroundCommandArguments = "--headless -j bacon-ls",
--- -- How many milliseconds to wait between background diagnostics check to synchronize all open files (default: 2000).
--- synchronizeAllOpenFilesWaitMillis = 2000,
--- }
--- ```
+--- https://github.com/crisidev/bacon-ls
+---
+--- A Language Server Protocol wrapper for [bacon](https://dystroy.org/bacon/).
+--- It offers textDocument/diagnostic and workspace/diagnostic capabilities for Rust
+--- workspaces using the Bacon export locations file.
+---
+--- It requires `bacon` and `bacon-ls` to be installed on the system using
+--- [mason.nvim](https://github.com/williamboman/mason.nvim) or manually
+---
+--- ```sh
+--- $ cargo install --locked bacon bacon-ls
+--- ```
+---
+--- Settings can be changed using the `init_options` dictionary:util
+---
+--- ```lua
+--- init_options = {
+--- -- Bacon export filename (default: .bacon-locations).
+--- locationsFile = ".bacon-locations",
+--- -- Try to update diagnostics every time the file is saved (default: true).
+--- updateOnSave = true,
+--- -- How many milliseconds to wait before updating diagnostics after a save (default: 1000).
+--- updateOnSaveWaitMillis = 1000,
+--- -- Try to update diagnostics every time the file changes (default: true).
+--- updateOnChange = true,
+--- -- Try to validate that bacon preferences are setup correctly to work with bacon-ls (default: true).
+--- validateBaconPreferences = true,
+--- -- f no bacon preferences file is found, create a new preferences file with the bacon-ls job definition (default: true).
+--- createBaconPreferencesFile = true,
+--- -- Run bacon in background for the bacon-ls job (default: true)
+--- runBaconInBackground = true,
+--- -- Command line arguments to pass to bacon running in background (default "--headless -j bacon-ls")
+--- runBaconInBackgroundCommandArguments = "--headless -j bacon-ls",
+--- -- How many milliseconds to wait between background diagnostics check to synchronize all open files (default: 2000).
+--- synchronizeAllOpenFilesWaitMillis = 2000,
+--- }
+--- ```
return {
cmd = { 'bacon-ls' },
filetypes = { 'rust' },
diff --git a/lsp/ballerina.lua b/lsp/ballerina.lua
index 08ab3b14..55d33698 100644
--- a/lsp/ballerina.lua
+++ b/lsp/ballerina.lua
@@ -1,9 +1,9 @@
---@brief
---
----Ballerina language server
---
--- 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.
+--- Ballerina language server
+---
+--- 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.
return {
cmd = { 'bal', 'start-language-server' },
filetypes = { 'ballerina' },
diff --git a/lsp/basedpyright.lua b/lsp/basedpyright.lua
index 2316a3b5..bf31539d 100644
--- a/lsp/basedpyright.lua
+++ b/lsp/basedpyright.lua
@@ -1,3 +1,9 @@
+---@brief
+---
+--- https://detachhead.github.io/basedpyright
+---
+--- `basedpyright`, a static type checker and language server for python
+
local function organize_imports()
local params = {
command = 'basedpyright.organizeimports',
@@ -28,11 +34,6 @@ local function set_python_path(path)
end
end
----@brief
----
--- https://detachhead.github.io/basedpyright
---
--- `basedpyright`, a static type checker and language server for python
return {
cmd = { 'basedpyright-langserver', '--stdio' },
filetypes = { 'python' },
diff --git a/lsp/bashls.lua b/lsp/bashls.lua
index 8e2958f0..79d86d32 100644
--- a/lsp/bashls.lua
+++ b/lsp/bashls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/bash-lsp/bash-language-server
---
--- `bash-language-server` can be installed via `npm`:
--- ```sh
--- npm i -g bash-language-server
--- ```
---
--- Language server for bash, written using tree sitter in typescript.
+--- https://github.com/bash-lsp/bash-language-server
+---
+--- `bash-language-server` can be installed via `npm`:
+--- ```sh
+--- npm i -g bash-language-server
+--- ```
+---
+--- Language server for bash, written using tree sitter in typescript.
return {
cmd = { 'bash-language-server', 'start' },
settings = {
diff --git a/lsp/basics_ls.lua b/lsp/basics_ls.lua
index f5d20c59..a932d225 100644
--- a/lsp/basics_ls.lua
+++ b/lsp/basics_ls.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/antonk52/basics-language-server/
---
--- Buffer, path, and snippet completion
---
--- ```sh
--- npm install -g basics-language-server
--- ```
+--- https://github.com/antonk52/basics-language-server/
+---
+--- Buffer, path, and snippet completion
+---
+--- ```sh
+--- npm install -g basics-language-server
+--- ```
return {
cmd = { 'basics-language-server' },
settings = {
diff --git a/lsp/bazelrc_lsp.lua b/lsp/bazelrc_lsp.lua
index 16c39197..bf17b5a3 100644
--- a/lsp/bazelrc_lsp.lua
+++ b/lsp/bazelrc_lsp.lua
@@ -1,18 +1,18 @@
---@brief
---
--- https://github.com/salesforce-misc/bazelrc-lsp
---
--- `bazelrc-lsp` is a LSP for `.bazelrc` configuration files.
---
--- The `.bazelrc` file type is not detected automatically, you can register it manually (see below) or override the filetypes:
---
--- ```lua
--- vim.filetype.add {
--- pattern = {
--- ['.*.bazelrc'] = 'bazelrc',
--- },
--- }
--- ```
+--- https://github.com/salesforce-misc/bazelrc-lsp
+---
+--- `bazelrc-lsp` is a LSP for `.bazelrc` configuration files.
+---
+--- The `.bazelrc` file type is not detected automatically, you can register it manually (see below) or override the filetypes:
+---
+--- ```lua
+--- vim.filetype.add {
+--- pattern = {
+--- ['.*.bazelrc'] = 'bazelrc',
+--- },
+--- }
+--- ```
return {
cmd = { 'bazelrc-lsp', 'lsp' },
filetypes = { 'bazelrc' },
diff --git a/lsp/beancount.lua b/lsp/beancount.lua
index 1bbf5f1f..d14ae256 100644
--- a/lsp/beancount.lua
+++ b/lsp/beancount.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/polarmutex/beancount-language-server#installation
---
--- See https://github.com/polarmutex/beancount-language-server#configuration for configuration options
+--- https://github.com/polarmutex/beancount-language-server#installation
+---
+--- See https://github.com/polarmutex/beancount-language-server#configuration for configuration options
return {
cmd = { 'beancount-language-server', '--stdio' },
filetypes = { 'beancount', 'bean' },
diff --git a/lsp/bicep.lua b/lsp/bicep.lua
index 04cc22d9..310213bc 100644
--- a/lsp/bicep.lua
+++ b/lsp/bicep.lua
@@ -1,36 +1,36 @@
---@brief
---
--- https://github.com/azure/bicep
--- Bicep language server
---
--- Bicep language server can be installed by downloading and extracting a release of bicep-langserver.zip from [Bicep GitHub releases](https://github.com/Azure/bicep/releases).
---
--- Bicep language server requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
---
--- Neovim does not have built-in support for the bicep filetype which is required for lspconfig to automatically launch the language server.
---
--- Filetype detection can be added via an autocmd:
--- ```lua
--- vim.cmd [[ autocmd BufNewFile,BufRead *.bicep set filetype=bicep ]]
--- ```
---
--- **By default, bicep language server does not have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
---
--- ```lua
--- local bicep_lsp_bin = "/path/to/bicep-langserver/Bicep.LangServer.dll"
--- vim.lsp.config('bicep', {
--- cmd = { "dotnet", bicep_lsp_bin };
--- ...
--- })
--- ```
---
--- To download the latest release and place in /usr/local/bin/bicep-langserver:
--- ```bash
--- (cd $(mktemp -d) \
--- && curl -fLO https://github.com/Azure/bicep/releases/latest/download/bicep-langserver.zip \
--- && rm -rf /usr/local/bin/bicep-langserver \
--- && unzip -d /usr/local/bin/bicep-langserver bicep-langserver.zip)
--- ```
+--- https://github.com/azure/bicep
+--- Bicep language server
+---
+--- Bicep language server can be installed by downloading and extracting a release of bicep-langserver.zip from [Bicep GitHub releases](https://github.com/Azure/bicep/releases).
+---
+--- Bicep language server requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
+---
+--- Neovim does not have built-in support for the bicep filetype which is required for lspconfig to automatically launch the language server.
+---
+--- Filetype detection can be added via an autocmd:
+--- ```lua
+--- vim.cmd [[ autocmd BufNewFile,BufRead *.bicep set filetype=bicep ]]
+--- ```
+---
+--- **By default, bicep language server does not have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
+---
+--- ```lua
+--- local bicep_lsp_bin = "/path/to/bicep-langserver/Bicep.LangServer.dll"
+--- vim.lsp.config('bicep', {
+--- cmd = { "dotnet", bicep_lsp_bin };
+--- ...
+--- })
+--- ```
+---
+--- To download the latest release and place in /usr/local/bin/bicep-langserver:
+--- ```bash
+--- (cd $(mktemp -d) \
+--- && curl -fLO https://github.com/Azure/bicep/releases/latest/download/bicep-langserver.zip \
+--- && rm -rf /usr/local/bin/bicep-langserver \
+--- && unzip -d /usr/local/bin/bicep-langserver bicep-langserver.zip)
+--- ```
return {
filetypes = { 'bicep' },
root_markers = { '.git' },
diff --git a/lsp/biome.lua b/lsp/biome.lua
index 1ecc9d5f..77bbab6f 100644
--- a/lsp/biome.lua
+++ b/lsp/biome.lua
@@ -1,11 +1,11 @@
---@brief
--- https://biomejs.dev
---
--- Toolchain of the web. [Successor of Rome](https://biomejs.dev/blog/annoucing-biome).
---
--- ```sh
--- npm install [-g] @biomejs/biome
--- ```
+--- https://biomejs.dev
+---
+--- Toolchain of the web. [Successor of Rome](https://biomejs.dev/blog/annoucing-biome).
+---
+--- ```sh
+--- npm install [-g] @biomejs/biome
+--- ```
local util = require 'lspconfig.util'
diff --git a/lsp/bitbake_language_server.lua b/lsp/bitbake_language_server.lua
index e52546a6..3abdb8bf 100644
--- a/lsp/bitbake_language_server.lua
+++ b/lsp/bitbake_language_server.lua
@@ -1,6 +1,6 @@
---@brief
---
--- 🛠️ bitbake language server
+--- 🛠️ bitbake language server
return {
cmd = { 'bitbake-language-server' },
filetypes = { 'bitbake' },
diff --git a/lsp/blueprint_ls.lua b/lsp/blueprint_ls.lua
index f700a070..f7c75ba3 100644
--- a/lsp/blueprint_ls.lua
+++ b/lsp/blueprint_ls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://gitlab.gnome.org/jwestman/blueprint-compiler
---
--- `blueprint-compiler` can be installed via your system package manager.
---
--- Language server for the blueprint markup language, written in python and part
--- of the blueprint-compiler.
+--- https://gitlab.gnome.org/jwestman/blueprint-compiler
+---
+--- `blueprint-compiler` can be installed via your system package manager.
+---
+--- Language server for the blueprint markup language, written in python and part
+--- of the blueprint-compiler.
return {
cmd = { 'blueprint-compiler', 'lsp' },
cmd_env = {
diff --git a/lsp/bqls.lua b/lsp/bqls.lua
index 4e463718..6ebc885b 100644
--- a/lsp/bqls.lua
+++ b/lsp/bqls.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/kitagry/bqls
---
--- The `bqls` BigQuery language server can be installed by running:
---
--- ```sh
--- $ go install github.com/kitagry/bqls@latest
--- ```
+--- https://github.com/kitagry/bqls
+---
+--- The `bqls` BigQuery language server can be installed by running:
+---
+--- ```sh
+--- $ go install github.com/kitagry/bqls@latest
+--- ```
return {
cmd = { 'bqls' },
filetypes = { 'sql' },
diff --git a/lsp/bright_script.lua b/lsp/bright_script.lua
index 8ffa3a74..c4e736e4 100644
--- a/lsp/bright_script.lua
+++ b/lsp/bright_script.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/RokuCommunity/brighterscript
---
--- `brightscript` can be installed via `npm`:
--- ```sh
--- npm install -g brighterscript
--- ```
+--- https://github.com/RokuCommunity/brighterscript
+---
+--- `brightscript` can be installed via `npm`:
+--- ```sh
+--- npm install -g brighterscript
+--- ```
return {
cmd = { 'bsc', '--lsp', '--stdio' },
filetypes = { 'brs' },
diff --git a/lsp/bsl_ls.lua b/lsp/bsl_ls.lua
index 98081530..d96bf16c 100644
--- a/lsp/bsl_ls.lua
+++ b/lsp/bsl_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/1c-syntax/bsl-language-server
---
--- Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages.
+--- https://github.com/1c-syntax/bsl-language-server
+---
+--- Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages.
return {
filetypes = { 'bsl', 'os' },
diff --git a/lsp/buck2.lua b/lsp/buck2.lua
index a9df7a61..8c64746e 100644
--- a/lsp/buck2.lua
+++ b/lsp/buck2.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/facebook/buck2
---
--- Build system, successor to Buck
---
--- To better detect Buck2 project files, the following can be added:
---
--- ```
--- vim.cmd [[ autocmd BufRead,BufNewFile *.bxl,BUCK,TARGETS set filetype=bzl ]]
--- ```
+--- https://github.com/facebook/buck2
+---
+--- Build system, successor to Buck
+---
+--- To better detect Buck2 project files, the following can be added:
+---
+--- ```
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.bxl,BUCK,TARGETS set filetype=bzl ]]
+--- ```
return {
cmd = { 'buck2', 'lsp' },
filetypes = { 'bzl' },
diff --git a/lsp/buddy_ls.lua b/lsp/buddy_ls.lua
index 34092c1f..55f51ac7 100644
--- a/lsp/buddy_ls.lua
+++ b/lsp/buddy_ls.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/buddy-compiler/buddy-mlir#buddy-lsp-server
--- 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)
+--- https://github.com/buddy-compiler/buddy-mlir#buddy-lsp-server
+--- 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)
return {
cmd = { 'buddy-lsp-server' },
filetypes = { 'mlir' },
diff --git a/lsp/bufls.lua b/lsp/bufls.lua
index bfbe4b21..cdde4e4f 100644
--- a/lsp/bufls.lua
+++ b/lsp/bufls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/bufbuild/buf-language-server
---
--- `buf-language-server` can be installed via `go install`:
--- ```sh
--- go install github.com/bufbuild/buf-language-server/cmd/bufls@latest
--- ```
---
--- bufls is a Protobuf language server compatible with Buf modules and workspaces
+--- https://github.com/bufbuild/buf-language-server
+---
+--- `buf-language-server` can be installed via `go install`:
+--- ```sh
+--- go install github.com/bufbuild/buf-language-server/cmd/bufls@latest
+--- ```
+---
+--- bufls is a Protobuf language server compatible with Buf modules and workspaces
return {
cmd = { 'bufls', 'serve' },
filetypes = { 'proto' },
diff --git a/lsp/bzl.lua b/lsp/bzl.lua
index fbf457cb..565f7cbd 100644
--- a/lsp/bzl.lua
+++ b/lsp/bzl.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://bzl.io/
---
--- https://docs.stack.build/docs/cli/installation
---
--- https://docs.stack.build/docs/vscode/starlark-language-server
+--- https://bzl.io/
+---
+--- https://docs.stack.build/docs/cli/installation
+---
+--- https://docs.stack.build/docs/vscode/starlark-language-server
return {
cmd = { 'bzl', 'lsp', 'serve' },
filetypes = { 'bzl' },
diff --git a/lsp/c3_lsp.lua b/lsp/c3_lsp.lua
index fd6c3f5a..a2c8dc27 100644
--- a/lsp/c3_lsp.lua
+++ b/lsp/c3_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/pherrymason/c3-lsp
---
--- Language Server for c3.
+--- https://github.com/pherrymason/c3-lsp
+---
+--- Language Server for c3.
return {
cmd = { 'c3lsp' },
root_markers = { 'project.json', 'manifest.json', '.git' },
diff --git a/lsp/cairo_ls.lua b/lsp/cairo_ls.lua
index c31d4e0e..532710d9 100644
--- a/lsp/cairo_ls.lua
+++ b/lsp/cairo_ls.lua
@@ -1,15 +1,15 @@
---@brief
---
----[Cairo Language Server](https://github.com/starkware-libs/cairo/tree/main/crates/cairo-lang-language-server)
---
--- First, install Cairo following [this tutorial](https://book.cairo-lang.org/ch01-01-installation.html)
---
--- Then enable Cairo Language Server in your Lua configuration.
--- ```lua
--- vim.lsp.enable('cairo_ls')
--- ```
---
--- *cairo-language-server is still under active development, some features might not work yet !*
+--- [Cairo Language Server](https://github.com/starkware-libs/cairo/tree/main/crates/cairo-lang-language-server)
+---
+--- First, install Cairo following [this tutorial](https://book.cairo-lang.org/ch01-01-installation.html)
+---
+--- Then enable Cairo Language Server in your Lua configuration.
+--- ```lua
+--- vim.lsp.enable('cairo_ls')
+--- ```
+---
+--- *cairo-language-server is still under active development, some features might not work yet !*
return {
init_options = { hostInfo = 'neovim' },
cmd = { 'scarb-cairo-language-server', '/C', '--node-ipc' },
diff --git a/lsp/cds_lsp.lua b/lsp/cds_lsp.lua
index 100a1bb7..b1832e65 100644
--- a/lsp/cds_lsp.lua
+++ b/lsp/cds_lsp.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://cap.cloud.sap/docs/
---
--- `cds-lsp` can be installed via `npm`:
---
--- ```sh
--- npm i -g @sap/cds-lsp
--- ```
+--- https://cap.cloud.sap/docs/
+---
+--- `cds-lsp` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g @sap/cds-lsp
+--- ```
return {
cmd = { 'cds-lsp', '--stdio' },
filetypes = { 'cds' },
diff --git a/lsp/circom-lsp.lua b/lsp/circom-lsp.lua
index f392c77c..2a6c3a31 100644
--- a/lsp/circom-lsp.lua
+++ b/lsp/circom-lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
----[Circom Language Server](https://github.com/rubydusa/circom-lsp)
---
--- `circom-lsp`, the language server for the Circom language.
+--- [Circom Language Server](https://github.com/rubydusa/circom-lsp)
+---
+--- `circom-lsp`, the language server for the Circom language.
return {
cmd = { 'circom-lsp' },
filetypes = { 'circom' },
diff --git a/lsp/clangd.lua b/lsp/clangd.lua
index 6e00ac26..9f7c6ed6 100644
--- a/lsp/clangd.lua
+++ b/lsp/clangd.lua
@@ -1,3 +1,16 @@
+---@brief
+---
+--- https://clangd.llvm.org/installation.html
+---
+--- - **NOTE:** Clang >= 11 is recommended! See [#23](https://github.com/neovim/nvim-lspconfig/issues/23).
+--- - If `compile_commands.json` lives in a build directory, you should
+--- symlink it to the root of your source tree.
+--- ```
+--- ln -s /path/to/myproject/build/compile_commands.json /path/to/myproject/
+--- ```
+--- - clangd relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
+--- specified as compile_commands.json, see https://clangd.llvm.org/installation#compile_commandsjson
+
local util = require 'lspconfig.util'
-- https://clangd.llvm.org/extensions.html#switch-between-sourceheader
@@ -47,18 +60,6 @@ local function symbol_info()
end, bufnr)
end
----@brief
----
--- https://clangd.llvm.org/installation.html
---
--- - **NOTE:** Clang >= 11 is recommended! See [#23](https://github.com/neovim/nvim-lspconfig/issues/23).
--- - If `compile_commands.json` lives in a build directory, you should
--- symlink it to the root of your source tree.
--- ```
--- ln -s /path/to/myproject/build/compile_commands.json /path/to/myproject/
--- ```
--- - clangd relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
--- specified as compile_commands.json, see https://clangd.llvm.org/installation#compile_commandsjson
return {
cmd = { 'clangd' },
filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda', 'proto' },
diff --git a/lsp/clarity_lsp.lua b/lsp/clarity_lsp.lua
index 462768f0..5102116b 100644
--- a/lsp/clarity_lsp.lua
+++ b/lsp/clarity_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
---`clarity-lsp` is a language server for the Clarity language. Clarity is a decidable smart contract language that optimizes for predictability and security. Smart contracts allow developers to encode essential business logic on a blockchain.
---
--- To learn how to configure the clarity language server, see the [clarity-lsp documentation](https://github.com/hirosystems/clarity-lsp).
+---
+--- To learn how to configure the clarity language server, see the [clarity-lsp documentation](https://github.com/hirosystems/clarity-lsp).
return {
cmd = { 'clarity-lsp' },
filetypes = { 'clar', 'clarity' },
diff --git a/lsp/clojure_lsp.lua b/lsp/clojure_lsp.lua
index 788ac10a..e3aef9d4 100644
--- a/lsp/clojure_lsp.lua
+++ b/lsp/clojure_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/clojure-lsp/clojure-lsp
---
--- Clojure Language Server
+--- https://github.com/clojure-lsp/clojure-lsp
+---
+--- Clojure Language Server
return {
cmd = { 'clojure-lsp' },
filetypes = { 'clojure', 'edn' },
diff --git a/lsp/cmake.lua b/lsp/cmake.lua
index 4740b86f..fc05aed1 100644
--- a/lsp/cmake.lua
+++ b/lsp/cmake.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/regen100/cmake-language-server
---
--- CMake LSP Implementation
+--- https://github.com/regen100/cmake-language-server
+---
+--- CMake LSP Implementation
return {
cmd = { 'cmake-language-server' },
filetypes = { 'cmake' },
diff --git a/lsp/cobol_ls.lua b/lsp/cobol_ls.lua
index 81bed5e6..0a4f4a9b 100644
--- a/lsp/cobol_ls.lua
+++ b/lsp/cobol_ls.lua
@@ -1,6 +1,6 @@
---@brief
---
----Cobol language support
+--- Cobol language support
return {
cmd = { 'cobol-language-support' },
filetypes = { 'cobol' },
diff --git a/lsp/coffeesense.lua b/lsp/coffeesense.lua
index 89e95630..0aface5e 100644
--- a/lsp/coffeesense.lua
+++ b/lsp/coffeesense.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/phil294/coffeesense
---
--- CoffeeSense Language Server
--- `coffeesense-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g coffeesense-language-server
--- ```
+--- https://github.com/phil294/coffeesense
+---
+--- CoffeeSense Language Server
+--- `coffeesense-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g coffeesense-language-server
+--- ```
return {
cmd = { 'coffeesense-language-server', '--stdio' },
filetypes = { 'coffee' },
diff --git a/lsp/contextive.lua b/lsp/contextive.lua
index 4d979dbe..5cb25447 100644
--- a/lsp/contextive.lua
+++ b/lsp/contextive.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/dev-cycles/contextive
---
--- Language Server for Contextive.
---
--- Contextive allows you to define terms in a central file and provides auto-completion suggestions and hover panels for these terms wherever they're used.
---
--- 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.
+--- https://github.com/dev-cycles/contextive
+---
+--- Language Server for Contextive.
+---
+--- Contextive allows you to define terms in a central file and provides auto-completion suggestions and hover panels for these terms wherever they're used.
+---
+--- 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.
return {
cmd = { 'Contextive.LanguageServer' },
root_markers = { '.contextive', '.git' },
diff --git a/lsp/coq_lsp.lua b/lsp/coq_lsp.lua
index d26cadc3..a8d6eb84 100644
--- a/lsp/coq_lsp.lua
+++ b/lsp/coq_lsp.lua
@@ -1,6 +1,6 @@
---@brief
---
--- https://github.com/ejgallego/coq-lsp/
+--- https://github.com/ejgallego/coq-lsp/
return {
cmd = { 'coq-lsp' },
filetypes = { 'coq' },
diff --git a/lsp/crystalline.lua b/lsp/crystalline.lua
index e85bdd3f..1b1ed5f1 100644
--- a/lsp/crystalline.lua
+++ b/lsp/crystalline.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/elbywan/crystalline
---
--- Crystal language server.
+--- https://github.com/elbywan/crystalline
+---
+--- Crystal language server.
return {
cmd = { 'crystalline' },
filetypes = { 'crystal' },
diff --git a/lsp/csharp_ls.lua b/lsp/csharp_ls.lua
index f6cb9cf1..58fde569 100644
--- a/lsp/csharp_ls.lua
+++ b/lsp/csharp_ls.lua
@@ -2,13 +2,13 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/razzmatazz/csharp-language-server
---
--- Language Server for C#.
---
--- csharp-ls requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
---
--- The preferred way to install csharp-ls is with `dotnet tool install --global csharp-ls`.
+--- https://github.com/razzmatazz/csharp-language-server
+---
+--- Language Server for C#.
+---
+--- csharp-ls requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
+---
+--- The preferred way to install csharp-ls is with `dotnet tool install --global csharp-ls`.
return {
cmd = { 'csharp-ls' },
root_dir = function(bufnr, on_dir)
diff --git a/lsp/css_variables.lua b/lsp/css_variables.lua
index c2f8bd0f..1ee9c2bc 100644
--- a/lsp/css_variables.lua
+++ b/lsp/css_variables.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/vunguyentuan/vscode-css-variables/tree/master/packages/css-variables-language-server
---
--- CSS variables autocompletion and go-to-definition
---
--- `css-variables-language-server` can be installed via `npm`:
---
--- ```sh
--- npm i -g css-variables-language-server
--- ```
+--- https://github.com/vunguyentuan/vscode-css-variables/tree/master/packages/css-variables-language-server
+---
+--- CSS variables autocompletion and go-to-definition
+---
+--- `css-variables-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g css-variables-language-server
+--- ```
return {
cmd = { 'css-variables-language-server', '--stdio' },
filetypes = { 'css', 'scss', 'less' },
diff --git a/lsp/cssls.lua b/lsp/cssls.lua
index 25f12df1..9d69f400 100644
--- a/lsp/cssls.lua
+++ b/lsp/cssls.lua
@@ -1,24 +1,24 @@
---@brief
---
--- https://github.com/hrsh7th/vscode-langservers-extracted
---
--- `css-languageserver` can be installed via `npm`:
---
--- ```sh
--- npm i -g vscode-langservers-extracted
--- ```
---
--- Neovim does not currently include built-in snippets. `vscode-css-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
---
--- ```lua
--- --Enable (broadcasting) snippet capability for completion
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
---
--- vim.lsp.config('cssls', {
--- capabilities = capabilities,
--- })
--- ```
+--- https://github.com/hrsh7th/vscode-langservers-extracted
+---
+--- `css-languageserver` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g vscode-langservers-extracted
+--- ```
+---
+--- Neovim does not currently include built-in snippets. `vscode-css-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
+---
+--- ```lua
+--- --Enable (broadcasting) snippet capability for completion
+--- local capabilities = vim.lsp.protocol.make_client_capabilities()
+--- capabilities.textDocument.completion.completionItem.snippetSupport = true
+---
+--- vim.lsp.config('cssls', {
+--- capabilities = capabilities,
+--- })
+--- ```
return {
cmd = { 'vscode-css-language-server', '--stdio' },
filetypes = { 'css', 'scss', 'less' },
diff --git a/lsp/cssmodules_ls.lua b/lsp/cssmodules_ls.lua
index 103c6fd3..7837d32f 100644
--- a/lsp/cssmodules_ls.lua
+++ b/lsp/cssmodules_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/antonk52/cssmodules-language-server
---
--- Language server for autocompletion and go-to-definition functionality for CSS modules.
---
--- You can install cssmodules-language-server via npm:
--- ```sh
--- npm install -g cssmodules-language-server
--- ```
+--- https://github.com/antonk52/cssmodules-language-server
+---
+--- Language server for autocompletion and go-to-definition functionality for CSS modules.
+---
+--- You can install cssmodules-language-server via npm:
+--- ```sh
+--- npm install -g cssmodules-language-server
+--- ```
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 88fda580..8ca784d7 100644
--- a/lsp/cucumber_language_server.lua
+++ b/lsp/cucumber_language_server.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://cucumber.io
--- https://github.com/cucumber/common
--- https://www.npmjs.com/package/@cucumber/language-server
---
--- Language server for Cucumber.
---
--- `cucumber-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g @cucumber/language-server
--- ```
+--- https://cucumber.io
+--- https://github.com/cucumber/common
+--- https://www.npmjs.com/package/@cucumber/language-server
+---
+--- Language server for Cucumber.
+---
+--- `cucumber-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g @cucumber/language-server
+--- ```
return {
cmd = { 'cucumber-language-server', '--stdio' },
filetypes = { 'cucumber' },
diff --git a/lsp/cue.lua b/lsp/cue.lua
index 0517a5f3..d2760f9a 100644
--- a/lsp/cue.lua
+++ b/lsp/cue.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/cue-lang/cue
---
--- CUE makes it easy to validate data, write schemas, and ensure configurations align with policies.
+--- https://github.com/cue-lang/cue
+---
+--- CUE makes it easy to validate data, write schemas, and ensure configurations align with policies.
return {
cmd = { 'cue', 'lsp' },
filetypes = { 'cue' },
diff --git a/lsp/custom_elements_ls.lua b/lsp/custom_elements_ls.lua
index 2f32ac75..59acf709 100644
--- a/lsp/custom_elements_ls.lua
+++ b/lsp/custom_elements_ls.lua
@@ -1,28 +1,28 @@
---@brief
---
--- https://github.com/Matsuuu/custom-elements-language-server
---
--- `custom-elements-languageserver` depends on `typescript`. Both packages can be installed via `npm`:
--- ```sh
--- npm install -g typescript custom-elements-languageserver
--- ```
--- To configure typescript language server, add a
--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) or
--- [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to the root of your
--- project.
--- Here's an example that disables type checking in JavaScript files.
--- ```json
--- {
--- "compilerOptions": {
--- "module": "commonjs",
--- "target": "es6",
--- "checkJs": false
--- },
--- "exclude": [
--- "node_modules"
--- ]
--- }
--- ```
+--- https://github.com/Matsuuu/custom-elements-language-server
+---
+--- `custom-elements-languageserver` depends on `typescript`. Both packages can be installed via `npm`:
+--- ```sh
+--- npm install -g typescript custom-elements-languageserver
+--- ```
+--- To configure typescript language server, add a
+--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) or
+--- [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to the root of your
+--- project.
+--- Here's an example that disables type checking in JavaScript files.
+--- ```json
+--- {
+--- "compilerOptions": {
+--- "module": "commonjs",
+--- "target": "es6",
+--- "checkJs": false
+--- },
+--- "exclude": [
+--- "node_modules"
+--- ]
+--- }
+--- ```
return {
init_options = { hostInfo = 'neovim' },
cmd = { 'custom-elements-languageserver', '--stdio' },
diff --git a/lsp/cypher_ls.lua b/lsp/cypher_ls.lua
index 281c7139..5c41a936 100644
--- a/lsp/cypher_ls.lua
+++ b/lsp/cypher_ls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/neo4j/cypher-language-support/tree/main/packages/language-server
---
--- `cypher-language-server`, language server for Cypher query language.
--- Part of the umbrella project cypher-language-support: https://github.com/neo4j/cypher-language-support
---
--- `cypher-language-server` can be installed via `npm`:
--- ```sh
--- npm i -g @neo4j-cypher/language-server
--- ```
+--- https://github.com/neo4j/cypher-language-support/tree/main/packages/language-server
+---
+--- `cypher-language-server`, language server for Cypher query language.
+--- Part of the umbrella project cypher-language-support: https://github.com/neo4j/cypher-language-support
+---
+--- `cypher-language-server` can be installed via `npm`:
+--- ```sh
+--- npm i -g @neo4j-cypher/language-server
+--- ```
return {
cmd = { 'cypher-language-server', '--stdio' },
filetypes = { 'cypher' },
diff --git a/lsp/dafny.lua b/lsp/dafny.lua
index c6396e8e..fbabe833 100644
--- a/lsp/dafny.lua
+++ b/lsp/dafny.lua
@@ -1,6 +1,6 @@
---@brief
---
----Support for the Dafny language server.
+--- Support for the Dafny language server.
-- The default `cmd` uses "dafny server", which works on Dafny 4.0.0+. For
-- older versions of Dafny, you can compile the language server from source at
diff --git a/lsp/dagger.lua b/lsp/dagger.lua
index bad8896a..352b569c 100644
--- a/lsp/dagger.lua
+++ b/lsp/dagger.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/dagger/cuelsp
---
--- Dagger's lsp server for cuelang.
+--- https://github.com/dagger/cuelsp
+---
+--- Dagger's lsp server for cuelang.
return {
cmd = { 'cuelsp' },
filetypes = { 'cue' },
diff --git a/lsp/dartls.lua b/lsp/dartls.lua
index b7eb7db9..db8684e9 100644
--- a/lsp/dartls.lua
+++ b/lsp/dartls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec
---
--- Language server for dart.
+--- https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec
+---
+--- Language server for dart.
return {
cmd = { 'dart', 'language-server', '--protocol=lsp' },
filetypes = { 'dart' },
diff --git a/lsp/dcmls.lua b/lsp/dcmls.lua
index 38a14e90..83b6a978 100644
--- a/lsp/dcmls.lua
+++ b/lsp/dcmls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://dcm.dev/
---
--- Language server for DCM analyzer.
+--- https://dcm.dev/
+---
+--- Language server for DCM analyzer.
return {
cmd = { 'dcm', 'start-server', '--client=neovim' },
filetypes = { 'dart' },
diff --git a/lsp/debputy.lua b/lsp/debputy.lua
index a386382c..36e9f1b6 100644
--- a/lsp/debputy.lua
+++ b/lsp/debputy.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://salsa.debian.org/debian/debputy
---
--- Language Server for Debian packages.
+--- https://salsa.debian.org/debian/debputy
+---
+--- Language Server for Debian packages.
return {
cmd = { 'debputy', 'lsp', 'server' },
filetypes = { 'debcontrol', 'debcopyright', 'debchangelog', 'make', 'yaml' },
diff --git a/lsp/denols.lua b/lsp/denols.lua
index 335daf7d..19d4fb57 100644
--- a/lsp/denols.lua
+++ b/lsp/denols.lua
@@ -1,3 +1,18 @@
+---@brief
+---
+--- https://github.com/denoland/deno
+---
+--- Deno's built-in language server
+---
+--- To appropriately highlight codefences returned from denols, you will need to augment vim.g.markdown_fenced languages
+--- in your init.lua. Example:
+---
+--- ```lua
+--- vim.g.markdown_fenced_languages = {
+--- "ts=typescript"
+--- }
+--- ```
+
local lsp = vim.lsp
local function buf_cache(bufnr, client)
@@ -61,20 +76,6 @@ local function denols_handler(err, result, ctx, config)
lsp.handlers[ctx.method](err, result, ctx, config)
end
----@brief
----
--- https://github.com/denoland/deno
---
--- Deno's built-in language server
---
--- To appropriately highlight codefences returned from denols, you will need to augment vim.g.markdown_fenced languages
--- in your init.lua. Example:
---
--- ```lua
--- vim.g.markdown_fenced_languages = {
--- "ts=typescript"
--- }
--- ```
return {
cmd = { 'deno', 'lsp' },
cmd_env = { NO_COLOR = true },
diff --git a/lsp/dhall_lsp_server.lua b/lsp/dhall_lsp_server.lua
index 41b0592f..607d3fca 100644
--- a/lsp/dhall_lsp_server.lua
+++ b/lsp/dhall_lsp_server.lua
@@ -1,14 +1,15 @@
---@brief
---
--- https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-lsp-server
---
--- language server for dhall
---
--- `dhall-lsp-server` can be installed via cabal:
--- ```sh
--- cabal install dhall-lsp-server
--- ```
--- prebuilt binaries can be found [here](https://github.com/dhall-lang/dhall-haskell/releases).
+--- https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-lsp-server
+---
+--- language server for dhall
+---
+--- `dhall-lsp-server` can be installed via cabal:
+--- ```sh
+--- cabal install dhall-lsp-server
+--- ```
+--- prebuilt binaries can be found [here](https://github.com/dhall-lang/dhall-haskell/releases).
+
return {
cmd = { 'dhall-lsp-server' },
filetypes = { 'dhall' },
diff --git a/lsp/diagnosticls.lua b/lsp/diagnosticls.lua
index daec3539..f4a93916 100644
--- a/lsp/diagnosticls.lua
+++ b/lsp/diagnosticls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/iamcco/diagnostic-languageserver
---
--- Diagnostic language server integrate with linters.
+--- https://github.com/iamcco/diagnostic-languageserver
+---
+--- Diagnostic language server integrate with linters.
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 ae4c9135..064c32bf 100644
--- a/lsp/digestif.lua
+++ b/lsp/digestif.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/astoff/digestif
---
--- Digestif is a code analyzer, and a language server, for LaTeX, ConTeXt et caterva. It provides
---
--- context-sensitive completion, documentation, code navigation, and related functionality to any
---
--- text editor that speaks the LSP protocol.
+--- https://github.com/astoff/digestif
+---
+--- Digestif is a code analyzer, and a language server, for LaTeX, ConTeXt et caterva. It provides
+---
+--- context-sensitive completion, documentation, code navigation, and related functionality to any
+---
+--- text editor that speaks the LSP protocol.
return {
cmd = { 'digestif' },
filetypes = { 'tex', 'plaintex', 'context' },
diff --git a/lsp/djlsp.lua b/lsp/djlsp.lua
index 4d92c337..dca6f378 100644
--- a/lsp/djlsp.lua
+++ b/lsp/djlsp.lua
@@ -1,8 +1,9 @@
---@brief
---
--- https://github.com/fourdigits/django-template-lsp
+--- https://github.com/fourdigits/django-template-lsp
+---
+--- `djlsp`, a language server for Django templates.
--- `djlsp`, a language server for Django templates.
return {
cmd = { 'djlsp' },
filetypes = { 'html', 'htmldjango' },
diff --git a/lsp/docker_compose_language_service.lua b/lsp/docker_compose_language_service.lua
index e673f8f7..a146be25 100644
--- a/lsp/docker_compose_language_service.lua
+++ b/lsp/docker_compose_language_service.lua
@@ -1,15 +1,16 @@
---@brief
---
--- https://github.com/microsoft/compose-language-service
--- This project contains a language service for Docker Compose.
---
--- `compose-language-service` can be installed via `npm`:
---
--- ```sh
--- npm install @microsoft/compose-language-service
--- ```
---
--- 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`.
+--- https://github.com/microsoft/compose-language-service
+--- This project contains a language service for Docker Compose.
+---
+--- `compose-language-service` can be installed via `npm`:
+---
+--- ```sh
+--- npm install @microsoft/compose-language-service
+--- ```
+---
+--- 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`.
+
return {
cmd = { 'docker-compose-langserver', '--stdio' },
filetypes = { 'yaml.docker-compose' },
diff --git a/lsp/dockerls.lua b/lsp/dockerls.lua
index d1a218b6..f4970354 100644
--- a/lsp/dockerls.lua
+++ b/lsp/dockerls.lua
@@ -1,26 +1,26 @@
---@brief
---
--- https://github.com/rcjsuen/dockerfile-language-server-nodejs
---
--- `docker-langserver` can be installed via `npm`:
--- ```sh
--- npm install -g dockerfile-language-server-nodejs
--- ```
---
--- Additional configuration can be applied in the following way:
--- ```lua
--- vim.lsp.config('dockerls', {
--- settings = {
--- docker = {
--- languageserver = {
--- formatter = {
--- ignoreMultilineInstructions = true,
--- },
--- },
--- }
--- }
--- })
--- ```
+--- https://github.com/rcjsuen/dockerfile-language-server-nodejs
+---
+--- `docker-langserver` can be installed via `npm`:
+--- ```sh
+--- npm install -g dockerfile-language-server-nodejs
+--- ```
+---
+--- Additional configuration can be applied in the following way:
+--- ```lua
+--- vim.lsp.config('dockerls', {
+--- settings = {
+--- docker = {
+--- languageserver = {
+--- formatter = {
+--- ignoreMultilineInstructions = true,
+--- },
+--- },
+--- }
+--- }
+--- })
+--- ```
return {
cmd = { 'docker-langserver', '--stdio' },
filetypes = { 'dockerfile' },
diff --git a/lsp/dolmenls.lua b/lsp/dolmenls.lua
index 1097f3d5..c0eefb4d 100644
--- a/lsp/dolmenls.lua
+++ b/lsp/dolmenls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/Gbury/dolmen/blob/master/doc/lsp.md
---
--- `dolmenls` can be installed via `opam`
--- ```sh
--- opam install dolmen_lsp
--- ```
+--- https://github.com/Gbury/dolmen/blob/master/doc/lsp.md
+---
+--- `dolmenls` can be installed via `opam`
+--- ```sh
+--- opam install dolmen_lsp
+--- ```
return {
cmd = { 'dolmenls' },
filetypes = { 'smt2', 'tptp', 'p', 'cnf', 'icnf', 'zf' },
diff --git a/lsp/dotls.lua b/lsp/dotls.lua
index eb755499..8867fcfc 100644
--- a/lsp/dotls.lua
+++ b/lsp/dotls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/nikeee/dot-language-server
---
--- `dot-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g dot-language-server
--- ```
+--- https://github.com/nikeee/dot-language-server
+---
+--- `dot-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g dot-language-server
+--- ```
return {
cmd = { 'dot-language-server', '--stdio' },
filetypes = { 'dot' },
diff --git a/lsp/dprint.lua b/lsp/dprint.lua
index c4ba6aeb..57d6c96e 100644
--- a/lsp/dprint.lua
+++ b/lsp/dprint.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/dprint/dprint
---
--- Pluggable and configurable code formatting platform written in Rust.
+--- https://github.com/dprint/dprint
+---
+--- Pluggable and configurable code formatting platform written in Rust.
return {
cmd = { 'dprint', 'lsp' },
filetypes = {
diff --git a/lsp/ds_pinyin_lsp.lua b/lsp/ds_pinyin_lsp.lua
index 2b3e7fa8..67407827 100644
--- a/lsp/ds_pinyin_lsp.lua
+++ b/lsp/ds_pinyin_lsp.lua
@@ -1,3 +1,20 @@
+---@brief
+---
+--- https://github.com/iamcco/ds-pinyin-lsp
+--- Dead simple Pinyin language server for input Chinese without IME(input method).
+--- To install, download the latest [release](https://github.com/iamcco/ds-pinyin-lsp/releases) and ensure `ds-pinyin-lsp` is on your path.
+--- And make ensure the database file `dict.db3` is also downloaded. And put the path to `dict.dbs` in the following code.
+---
+--- ```lua
+---
+--- vim.lsp.config('ds_pinyin_lsp', {
+--- init_options = {
+--- db_path = "your_path_to_database"
+--- }
+--- })
+---
+--- ```
+
local util = require 'lspconfig.util'
local bin_name = 'ds-pinyin-lsp'
@@ -29,22 +46,6 @@ local function ds_pinyin_lsp_on(bufnr)
end
end
----@brief
----
--- https://github.com/iamcco/ds-pinyin-lsp
--- Dead simple Pinyin language server for input Chinese without IME(input method).
--- To install, download the latest [release](https://github.com/iamcco/ds-pinyin-lsp/releases) and ensure `ds-pinyin-lsp` is on your path.
--- And make ensure the database file `dict.db3` is also downloaded. And put the path to `dict.dbs` in the following code.
---
--- ```lua
---
--- vim.lsp.config('ds_pinyin_lsp', {
--- init_options = {
--- db_path = "your_path_to_database"
--- }
--- })
---
--- ```
return {
cmd = { bin_name },
filetypes = { 'markdown', 'org' },
diff --git a/lsp/dts_lsp.lua b/lsp/dts_lsp.lua
index f6fc5df2..a687fcba 100644
--- a/lsp/dts_lsp.lua
+++ b/lsp/dts_lsp.lua
@@ -1,16 +1,17 @@
---@brief
---
--- `dts-lsp` is an LSP for Devicetree files built on top of tree-sitter-devicetree grammar.
--- Language servers can be used in many editors, such as Visual Studio Code, Emacs
--- or Vim
---
--- Install `dts-lsp` from https://github.com/igor-prusov/dts-lsp and add it to path
---
--- `dts-lsp` doesn't require any configuration.
---
--- More about Devicetree:
--- https://www.devicetree.org/
--- https://docs.zephyrproject.org/latest/build/dts/index.html
+--- `dts-lsp` is an LSP for Devicetree files built on top of tree-sitter-devicetree grammar.
+--- Language servers can be used in many editors, such as Visual Studio Code, Emacs
+--- or Vim
+---
+--- Install `dts-lsp` from https://github.com/igor-prusov/dts-lsp and add it to path
+---
+--- `dts-lsp` doesn't require any configuration.
+---
+--- More about Devicetree:
+--- https://www.devicetree.org/
+--- https://docs.zephyrproject.org/latest/build/dts/index.html
+
return {
name = 'dts_lsp',
cmd = { 'dts-lsp' },
diff --git a/lsp/earthlyls.lua b/lsp/earthlyls.lua
index a3d7bf10..f62466f8 100644
--- a/lsp/earthlyls.lua
+++ b/lsp/earthlyls.lua
@@ -1,8 +1,9 @@
---@brief
---
--- https://github.com/glehmann/earthlyls
---
--- A fast language server for earthly.
+--- https://github.com/glehmann/earthlyls
+---
+--- A fast language server for earthly.
+
return {
cmd = { 'earthlyls' },
filetypes = { 'earthfile' },
diff --git a/lsp/ecsact.lua b/lsp/ecsact.lua
index e701b378..2c9876c3 100644
--- a/lsp/ecsact.lua
+++ b/lsp/ecsact.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/ecsact-dev/ecsact_lsp_server
---
--- Language server for Ecsact.
---
--- The default cmd assumes `ecsact_lsp_server` is in your PATH. Typically from the
--- Ecsact SDK: https://ecsact.dev/start
+--- https://github.com/ecsact-dev/ecsact_lsp_server
+---
+--- Language server for Ecsact.
+---
+--- The default cmd assumes `ecsact_lsp_server` is in your PATH. Typically from the
+--- Ecsact SDK: https://ecsact.dev/start
return {
cmd = { 'ecsact_lsp_server', '--stdio' },
filetypes = { 'ecsact' },
diff --git a/lsp/elixirls.lua b/lsp/elixirls.lua
index dbebea29..d3e5cb34 100644
--- a/lsp/elixirls.lua
+++ b/lsp/elixirls.lua
@@ -1,30 +1,30 @@
---@brief
---
--- https://github.com/elixir-lsp/elixir-ls
---
--- `elixir-ls` can be installed by following the instructions [here](https://github.com/elixir-lsp/elixir-ls#building-and-running).
---
--- 1. Download the zip from https://github.com/elixir-lsp/elixir-ls/releases/latest/
--- 2. Unzip it and make it executable.
--- ```bash
--- unzip elixir-ls.zip -d /path/to/elixir-ls
--- # Unix
--- chmod +x /path/to/elixir-ls/language_server.sh
--- ```
---
--- **By default, elixir-ls doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of your unzipped elixir-ls.
---
--- ```lua
--- vim.lsp.config('elixirls', {
--- -- Unix
--- cmd = { "/path/to/elixir-ls/language_server.sh" };
--- -- Windows
--- cmd = { "/path/to/elixir-ls/language_server.bat" };
--- ...
--- })
--- ```
---
--- '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.
+--- https://github.com/elixir-lsp/elixir-ls
+---
+--- `elixir-ls` can be installed by following the instructions [here](https://github.com/elixir-lsp/elixir-ls#building-and-running).
+---
+--- 1. Download the zip from https://github.com/elixir-lsp/elixir-ls/releases/latest/
+--- 2. Unzip it and make it executable.
+--- ```bash
+--- unzip elixir-ls.zip -d /path/to/elixir-ls
+--- # Unix
+--- chmod +x /path/to/elixir-ls/language_server.sh
+--- ```
+---
+--- **By default, elixir-ls doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of your unzipped elixir-ls.
+---
+--- ```lua
+--- vim.lsp.config('elixirls', {
+--- -- Unix
+--- cmd = { "/path/to/elixir-ls/language_server.sh" };
+--- -- Windows
+--- cmd = { "/path/to/elixir-ls/language_server.bat" };
+--- ...
+--- })
+--- ```
+---
+--- '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.
return {
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
root_dir = function(bufnr, on_dir)
diff --git a/lsp/elmls.lua b/lsp/elmls.lua
index 18f0f27b..bee05b89 100644
--- a/lsp/elmls.lua
+++ b/lsp/elmls.lua
@@ -1,16 +1,17 @@
+---@brief
+---
+--- https://github.com/elm-tooling/elm-language-server#installation
+---
+--- If you don't want to use Nvim to install it, then you can use:
+--- ```sh
+--- npm install -g elm elm-test elm-format @elm-tooling/elm-language-server
+--- ```
+
local util = require 'lspconfig.util'
local api = vim.api
local elm_root_pattern = util.root_pattern 'elm.json'
----@brief
----
--- https://github.com/elm-tooling/elm-language-server#installation
---
--- If you don't want to use Nvim to install it, then you can use:
--- ```sh
--- npm install -g elm elm-test elm-format @elm-tooling/elm-language-server
--- ```
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 31541c71..0731601b 100644
--- a/lsp/elp.lua
+++ b/lsp/elp.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://whatsapp.github.io/erlang-language-platform
---
--- ELP integrates Erlang into modern IDEs via the language server protocol and was
--- inspired by rust-analyzer.
+--- https://whatsapp.github.io/erlang-language-platform
+---
+--- ELP integrates Erlang into modern IDEs via the language server protocol and was
+--- inspired by rust-analyzer.
return {
cmd = { 'elp', 'server' },
filetypes = { 'erlang' },
diff --git a/lsp/emmet_language_server.lua b/lsp/emmet_language_server.lua
index 711af747..9b1b6bd8 100644
--- a/lsp/emmet_language_server.lua
+++ b/lsp/emmet_language_server.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/olrtg/emmet-language-server
---
--- Package can be installed via `npm`:
--- ```sh
--- npm install -g @olrtg/emmet-language-server
--- ```
+--- https://github.com/olrtg/emmet-language-server
+---
+--- Package can be installed via `npm`:
+--- ```sh
+--- npm install -g @olrtg/emmet-language-server
+--- ```
return {
cmd = { 'emmet-language-server', '--stdio' },
filetypes = {
diff --git a/lsp/emmet_ls.lua b/lsp/emmet_ls.lua
index 6667ec54..4952c367 100644
--- a/lsp/emmet_ls.lua
+++ b/lsp/emmet_ls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/aca/emmet-ls
---
--- Package can be installed via `npm`:
--- ```sh
--- npm install -g emmet-ls
--- ```
+--- https://github.com/aca/emmet-ls
+---
+--- Package can be installed via `npm`:
+--- ```sh
+--- npm install -g emmet-ls
+--- ```
return {
cmd = { 'emmet-ls', '--stdio' },
filetypes = {
diff --git a/lsp/emmylua_ls.lua b/lsp/emmylua_ls.lua
index 35db4afd..c2046551 100644
--- a/lsp/emmylua_ls.lua
+++ b/lsp/emmylua_ls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/EmmyLuaLs/emmylua-analyzer-rust
---
--- Emmylua Analyzer Rust. Language Server for Lua.
---
--- `emmylua_ls` can be installed using `cargo` by following the instructions[here]
--- (https://github.com/EmmyLuaLs/emmylua-analyzer-rust?tab=readme-ov-file#install).
---
--- 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.
+--- https://github.com/EmmyLuaLs/emmylua-analyzer-rust
+---
+--- Emmylua Analyzer Rust. Language Server for Lua.
+---
+--- `emmylua_ls` can be installed using `cargo` by following the instructions[here]
+--- (https://github.com/EmmyLuaLs/emmylua-analyzer-rust?tab=readme-ov-file#install).
+---
+--- 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.
return {
cmd = { 'emmylua_ls' },
diff --git a/lsp/erg_language_server.lua b/lsp/erg_language_server.lua
index 5034fbc2..5bd70145 100644
--- a/lsp/erg_language_server.lua
+++ b/lsp/erg_language_server.lua
@@ -1,14 +1,16 @@
---@brief
---
--- https://github.com/erg-lang/erg#flags ELS
---
--- ELS (erg-language-server) is a language server for the Erg programming language.
---
--- erg-language-server can be installed via `cargo` and used as follows:
--- ```sh
--- cargo install erg --features els
--- erg --language-server
--- ```
+--- https://github.com/erg-lang/erg#flags ELS
+---
+--- ELS (erg-language-server) is a language server for the Erg programming language.
+---
+--- erg-language-server can be installed via `cargo` and used as follows:
+---
+--- ```sh
+--- cargo install erg --features els
+--- erg --language-server
+--- ```
+
return {
cmd = { 'erg', '--language-server' },
filetypes = { 'erg' },
diff --git a/lsp/erlangls.lua b/lsp/erlangls.lua
index 8a567825..2487df60 100644
--- a/lsp/erlangls.lua
+++ b/lsp/erlangls.lua
@@ -1,17 +1,17 @@
---@brief
---
--- https://erlang-ls.github.io
---
--- Language Server for Erlang.
---
--- Clone [erlang_ls](https://github.com/erlang-ls/erlang_ls)
--- Compile the project with `make` and copy resulting binaries somewhere in your $PATH eg. `cp _build/*/bin/* ~/local/bin`
---
--- Installation instruction can be found [here](https://github.com/erlang-ls/erlang_ls).
---
--- Installation requirements:
--- - [Erlang OTP 21+](https://github.com/erlang/otp)
--- - [rebar3 3.9.1+](https://github.com/erlang/rebar3)
+--- https://erlang-ls.github.io
+---
+--- Language Server for Erlang.
+---
+--- Clone [erlang_ls](https://github.com/erlang-ls/erlang_ls)
+--- Compile the project with `make` and copy resulting binaries somewhere in your $PATH eg. `cp _build/*/bin/* ~/local/bin`
+---
+--- Installation instruction can be found [here](https://github.com/erlang-ls/erlang_ls).
+---
+--- Installation requirements:
+--- - [Erlang OTP 21+](https://github.com/erlang/otp)
+--- - [rebar3 3.9.1+](https://github.com/erlang/rebar3)
return {
cmd = { 'erlang_ls' },
filetypes = { 'erlang' },
diff --git a/lsp/esbonio.lua b/lsp/esbonio.lua
index 25264460..9069e788 100644
--- a/lsp/esbonio.lua
+++ b/lsp/esbonio.lua
@@ -1,47 +1,47 @@
---@brief
---
--- https://github.com/swyddfa/esbonio
---
--- Esbonio is a language server for [Sphinx](https://www.sphinx-doc.org/en/master/) documentation projects.
--- The language server can be installed via pip
---
--- ```
--- pip install esbonio
--- ```
---
--- Since Sphinx is highly extensible you will get best results if you install the language server in the same
--- Python environment as the one used to build your documentation. To ensure that the correct Python environment
--- is picked up, you can either launch `nvim` with the correct environment activated.
---
--- ```
--- source env/bin/activate
--- nvim
--- ```
---
--- Or you can modify the default `cmd` to include the full path to the Python interpreter.
---
--- ```lua
--- vim.lsp.config('esbonio', {
--- cmd = { '/path/to/virtualenv/bin/python', '-m', 'esbonio' }
--- })
--- ```
---
--- Esbonio supports a number of config values passed as `init_options` on startup, for example.
---
--- ```lua
--- vim.lsp.config('esbonio', {
--- init_options = {
--- server = {
--- logLevel = "debug"
--- },
--- sphinx = {
--- confDir = "/path/to/docs",
--- srcDir = "${confDir}/../docs-src"
--- }
--- })
--- ```
---
--- 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)
+--- https://github.com/swyddfa/esbonio
+---
+--- Esbonio is a language server for [Sphinx](https://www.sphinx-doc.org/en/master/) documentation projects.
+--- The language server can be installed via pip
+---
+--- ```
+--- pip install esbonio
+--- ```
+---
+--- Since Sphinx is highly extensible you will get best results if you install the language server in the same
+--- Python environment as the one used to build your documentation. To ensure that the correct Python environment
+--- is picked up, you can either launch `nvim` with the correct environment activated.
+---
+--- ```
+--- source env/bin/activate
+--- nvim
+--- ```
+---
+--- Or you can modify the default `cmd` to include the full path to the Python interpreter.
+---
+--- ```lua
+--- vim.lsp.config('esbonio', {
+--- cmd = { '/path/to/virtualenv/bin/python', '-m', 'esbonio' }
+--- })
+--- ```
+---
+--- Esbonio supports a number of config values passed as `init_options` on startup, for example.
+---
+--- ```lua
+--- vim.lsp.config('esbonio', {
+--- init_options = {
+--- server = {
+--- logLevel = "debug"
+--- },
+--- sphinx = {
+--- confDir = "/path/to/docs",
+--- srcDir = "${confDir}/../docs-src"
+--- }
+--- })
+--- ```
+---
+--- 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)
return {
cmd = { 'python3', '-m', 'esbonio' },
filetypes = { 'rst' },
diff --git a/lsp/facility_language_server.lua b/lsp/facility_language_server.lua
index 84a584c9..1e81a2b9 100644
--- a/lsp/facility_language_server.lua
+++ b/lsp/facility_language_server.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/FacilityApi/FacilityLanguageServer
---
--- Facility language server protocol (LSP) support.
+--- https://github.com/FacilityApi/FacilityLanguageServer
+---
+--- Facility language server protocol (LSP) support.
return {
cmd = { 'facility-language-server' },
filetypes = { 'fsd' },
diff --git a/lsp/fennel_language_server.lua b/lsp/fennel_language_server.lua
index fcdc5845..a0b69c02 100644
--- a/lsp/fennel_language_server.lua
+++ b/lsp/fennel_language_server.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/rydesun/fennel-language-server
---
--- Fennel language server protocol (LSP) support.
+--- https://github.com/rydesun/fennel-language-server
+---
+--- Fennel language server protocol (LSP) support.
return {
cmd = { 'fennel-language-server' },
filetypes = { 'fennel' },
diff --git a/lsp/fennel_ls.lua b/lsp/fennel_ls.lua
index 4469e017..bbcb0a99 100644
--- a/lsp/fennel_ls.lua
+++ b/lsp/fennel_ls.lua
@@ -1,13 +1,14 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://sr.ht/~xerool/fennel-ls/
---
--- A language server for fennel.
---
--- 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).
+--- https://sr.ht/~xerool/fennel-ls/
+---
+--- A language server for fennel.
+---
+--- 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).
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'fennel-ls' },
filetypes = { 'fennel' },
diff --git a/lsp/fish_lsp.lua b/lsp/fish_lsp.lua
index b20c689f..d368c55c 100644
--- a/lsp/fish_lsp.lua
+++ b/lsp/fish_lsp.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/ndonfris/fish-lsp
---
--- A Language Server Protocol (LSP) tailored for the fish shell.
--- This project aims to enhance the coding experience for fish,
--- by introducing a suite of intelligent features like auto-completion,
--- scope aware symbol analysis, per-token hover generation, and many others.
---
--- [homepage](https://www.fish-lsp.dev/)
+--- https://github.com/ndonfris/fish-lsp
+---
+--- A Language Server Protocol (LSP) tailored for the fish shell.
+--- This project aims to enhance the coding experience for fish,
+--- by introducing a suite of intelligent features like auto-completion,
+--- scope aware symbol analysis, per-token hover generation, and many others.
+---
+--- [homepage](https://www.fish-lsp.dev/)
return {
cmd = { 'fish-lsp', 'start' },
cmd_env = { fish_lsp_show_client_popups = false },
diff --git a/lsp/flow.lua b/lsp/flow.lua
index 7dbf27c2..bf91c596 100644
--- a/lsp/flow.lua
+++ b/lsp/flow.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://flow.org/
--- https://github.com/facebook/flow
---
--- See below for how to setup Flow itself.
--- https://flow.org/en/docs/install/
---
--- See below for lsp command options.
---
--- ```sh
--- npx flow lsp --help
--- ```
+--- https://flow.org/
+--- https://github.com/facebook/flow
+---
+--- See below for how to setup Flow itself.
+--- https://flow.org/en/docs/install/
+---
+--- See below for lsp command options.
+---
+--- ```sh
+--- npx flow lsp --help
+--- ```
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 f59aad25..642eabf5 100644
--- a/lsp/flux_lsp.lua
+++ b/lsp/flux_lsp.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/influxdata/flux-lsp
--- `flux-lsp` can be installed via `cargo`:
--- ```sh
--- cargo install --git https://github.com/influxdata/flux-lsp
--- ```
+--- https://github.com/influxdata/flux-lsp
+--- `flux-lsp` can be installed via `cargo`:
+--- ```sh
+--- cargo install --git https://github.com/influxdata/flux-lsp
+--- ```
return {
cmd = { 'flux-lsp' },
filetypes = { 'flux' },
diff --git a/lsp/foam_ls.lua b/lsp/foam_ls.lua
index e82b6afa..75f94265 100644
--- a/lsp/foam_ls.lua
+++ b/lsp/foam_ls.lua
@@ -2,12 +2,12 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/FoamScience/foam-language-server
---
--- `foam-language-server` can be installed via `npm`
--- ```sh
--- npm install -g foam-language-server
--- ```
+--- https://github.com/FoamScience/foam-language-server
+---
+--- `foam-language-server` can be installed via `npm`
+--- ```sh
+--- npm install -g foam-language-server
+--- ```
return {
cmd = { 'foam-ls', '--stdio' },
filetypes = { 'foam', 'OpenFOAM' },
diff --git a/lsp/fortls.lua b/lsp/fortls.lua
index 55665f21..a96da1ae 100644
--- a/lsp/fortls.lua
+++ b/lsp/fortls.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://fortls.fortran-lang.org/index.html
---
--- fortls is a Fortran Language Server, the server can be installed via pip
---
--- ```sh
--- pip install fortls
--- ```
---
--- 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).
+--- https://fortls.fortran-lang.org/index.html
+---
+--- fortls is a Fortran Language Server, the server can be installed via pip
+---
+--- ```sh
+--- pip install fortls
+--- ```
+---
+--- 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).
return {
cmd = {
'fortls',
diff --git a/lsp/fsautocomplete.lua b/lsp/fsautocomplete.lua
index 6cd8b8e4..335da670 100644
--- a/lsp/fsautocomplete.lua
+++ b/lsp/fsautocomplete.lua
@@ -1,23 +1,24 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/fsharp/FsAutoComplete
---
--- Language Server for F# provided by FsAutoComplete (FSAC).
---
--- FsAutoComplete requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
---
--- The preferred way to install FsAutoComplete is with `dotnet tool install --global fsautocomplete`.
---
--- Instructions to compile from source are found on the main [repository](https://github.com/fsharp/FsAutoComplete).
---
--- You may also need to configure the filetype as Vim defaults to Forth for `*.fs` files:
---
--- `autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`
---
--- This is automatically done by plugins such as [PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp), [fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and [adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim).
---
+--- https://github.com/fsharp/FsAutoComplete
+---
+--- Language Server for F# provided by FsAutoComplete (FSAC).
+---
+--- FsAutoComplete requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
+---
+--- The preferred way to install FsAutoComplete is with `dotnet tool install --global fsautocomplete`.
+---
+--- Instructions to compile from source are found on the main [repository](https://github.com/fsharp/FsAutoComplete).
+---
+--- You may also need to configure the filetype as Vim defaults to Forth for `*.fs` files:
+---
+--- `autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`
+---
+--- This is automatically done by plugins such as [PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp), [fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and [adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim).
+---
+
+local util = require 'lspconfig.util'
+
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 a2ced803..59a9ce58 100644
--- a/lsp/fsharp_language_server.lua
+++ b/lsp/fsharp_language_server.lua
@@ -1,19 +1,20 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- F# Language Server
--- https://github.com/faldor20/fsharp-language-server
---
--- An implementation of the language server protocol using the F# Compiler Service.
---
--- Build the project from source and override the command path to location of DLL.
---
--- If filetype determination is not already performed by an available plugin ([PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp), [fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and [adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim).
--- ), then the following must be added to initialization configuration:
---
---
--- `autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`
+--- F# Language Server
+--- https://github.com/faldor20/fsharp-language-server
+---
+--- An implementation of the language server protocol using the F# Compiler Service.
+---
+--- Build the project from source and override the command path to location of DLL.
+---
+--- If filetype determination is not already performed by an available plugin ([PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp), [fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and [adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim).
+--- ), then the following must be added to initialization configuration:
+---
+---
+--- `autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'dotnet', 'FSharpLanguageServer.dll' },
root_dir = function(bufnr, on_dir)
diff --git a/lsp/fstar.lua b/lsp/fstar.lua
index 4010873e..29216217 100644
--- a/lsp/fstar.lua
+++ b/lsp/fstar.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/FStarLang/FStar
---
--- LSP support is included in FStar. Make sure `fstar.exe` is in your PATH.
+--- https://github.com/FStarLang/FStar
+---
+--- LSP support is included in FStar. Make sure `fstar.exe` is in your PATH.
return {
cmd = { 'fstar.exe', '--lsp' },
filetypes = { 'fstar' },
diff --git a/lsp/futhark_lsp.lua b/lsp/futhark_lsp.lua
index 0f7b2fe4..b467ed08 100644
--- a/lsp/futhark_lsp.lua
+++ b/lsp/futhark_lsp.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/diku-dk/futhark
---
--- Futhark Language Server
---
--- This language server comes with the futhark compiler and is run with the command
--- ```
--- futhark lsp
--- ```
+--- https://github.com/diku-dk/futhark
+---
+--- Futhark Language Server
+---
+--- This language server comes with the futhark compiler and is run with the command
+--- ```
+--- futhark lsp
+--- ```
return {
cmd = { 'futhark', 'lsp' },
filetypes = { 'futhark', 'fut' },
diff --git a/lsp/gdscript.lua b/lsp/gdscript.lua
index 552a7276..22d379d4 100644
--- a/lsp/gdscript.lua
+++ b/lsp/gdscript.lua
@@ -3,9 +3,9 @@ local cmd = vim.lsp.rpc.connect('127.0.0.1', tonumber(port))
---@brief
---
--- https://github.com/godotengine/godot
---
--- Language server for GDScript, used by Godot Engine.
+--- https://github.com/godotengine/godot
+---
+--- Language server for GDScript, used by Godot Engine.
return {
cmd = cmd,
filetypes = { 'gd', 'gdscript', 'gdscript3' },
diff --git a/lsp/gdshader_lsp.lua b/lsp/gdshader_lsp.lua
index 55046807..2e0c08db 100644
--- a/lsp/gdshader_lsp.lua
+++ b/lsp/gdshader_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/godofavacyn/gdshader-lsp
---
--- A language server for the Godot Shading language.
+--- https://github.com/godofavacyn/gdshader-lsp
+---
+--- A language server for the Godot Shading language.
return {
cmd = { 'gdshader-lsp', '--stdio' },
filetypes = { 'gdshader', 'gdshaderinc' },
diff --git a/lsp/gh_actions_ls.lua b/lsp/gh_actions_ls.lua
index fd803b93..9fe42193 100644
--- a/lsp/gh_actions_ls.lua
+++ b/lsp/gh_actions_ls.lua
@@ -1,18 +1,18 @@
---@brief
--- https://github.com/lttb/gh-actions-language-server
---
--- Language server for GitHub Actions.
---
--- The projects [forgejo](https://forgejo.org/) and [gitea](https://about.gitea.com/)
--- design their actions to be as compatible to github as possible
--- with only [a few differences](https://docs.gitea.com/usage/actions/comparison#unsupported-workflows-syntax) between the systems.
--- The `gh_actions_ls` is therefore enabled for those `yaml` files as well.
---
--- The `gh-actions-language-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g gh-actions-language-server
--- ```
+--- https://github.com/lttb/gh-actions-language-server
+---
+--- Language server for GitHub Actions.
+---
+--- The projects [forgejo](https://forgejo.org/) and [gitea](https://about.gitea.com/)
+--- design their actions to be as compatible to github as possible
+--- with only [a few differences](https://docs.gitea.com/usage/actions/comparison#unsupported-workflows-syntax) between the systems.
+--- The `gh_actions_ls` is therefore enabled for those `yaml` files as well.
+---
+--- The `gh-actions-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g gh-actions-language-server
+--- ```
return {
cmd = { 'gh-actions-language-server', '--stdio' },
-- the `root_markers` with `workspace_required` prevent attaching to every yaml file
diff --git a/lsp/ghcide.lua b/lsp/ghcide.lua
index 20297ab9..65b83e8a 100644
--- a/lsp/ghcide.lua
+++ b/lsp/ghcide.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/digital-asset/ghcide
---
--- A library for building Haskell IDE tooling.
--- "ghcide" isn't for end users now. Use "haskell-language-server" instead of "ghcide".
+--- https://github.com/digital-asset/ghcide
+---
+--- A library for building Haskell IDE tooling.
+--- "ghcide" isn't for end users now. Use "haskell-language-server" instead of "ghcide".
return {
cmd = { 'ghcide', '--lsp' },
filetypes = { 'haskell', 'lhaskell' },
diff --git a/lsp/ghdl_ls.lua b/lsp/ghdl_ls.lua
index d783cedf..12a394aa 100644
--- a/lsp/ghdl_ls.lua
+++ b/lsp/ghdl_ls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/ghdl/ghdl-language-server
---
--- A language server for VHDL, using ghdl as its backend.
---
--- `ghdl-ls` is part of pyghdl, for installation instructions see
--- [the upstream README](https://github.com/ghdl/ghdl/tree/master/pyGHDL/lsp).
+--- https://github.com/ghdl/ghdl-language-server
+---
+--- A language server for VHDL, using ghdl as its backend.
+---
+--- `ghdl-ls` is part of pyghdl, for installation instructions see
+--- [the upstream README](https://github.com/ghdl/ghdl/tree/master/pyGHDL/lsp).
return {
cmd = { 'ghdl-ls' },
filetypes = { 'vhdl' },
diff --git a/lsp/ginko_ls.lua b/lsp/ginko_ls.lua
index 0d5ee1bf..501c5e7a 100644
--- a/lsp/ginko_ls.lua
+++ b/lsp/ginko_ls.lua
@@ -1,12 +1,12 @@
---@brief
---
---`ginko_ls` is meant to be a feature-complete language server for device-trees.
--- Language servers can be used in many editors, such as Visual Studio Code, Emacs
--- or Vim
---
--- Install `ginko_ls` from https://github.com/Schottkyc137/ginko and add it to path
---
--- `ginko_ls` doesn't require any configuration.
+--- Language servers can be used in many editors, such as Visual Studio Code, Emacs
+--- or Vim
+---
+--- Install `ginko_ls` from https://github.com/Schottkyc137/ginko and add it to path
+---
+--- `ginko_ls` doesn't require any configuration.
return {
cmd = { 'ginko_ls' },
filetypes = { 'dts' },
diff --git a/lsp/gitlab_ci_ls.lua b/lsp/gitlab_ci_ls.lua
index 0281c28d..4832a91f 100644
--- a/lsp/gitlab_ci_ls.lua
+++ b/lsp/gitlab_ci_ls.lua
@@ -1,15 +1,16 @@
+---@brief
+---
+--- https://github.com/alesbrelih/gitlab-ci-ls
+---
+--- Language Server for Gitlab CI
+---
+--- `gitlab-ci-ls` can be installed via cargo:
+--- cargo install gitlab-ci-ls
+
local util = require 'lspconfig.util'
local cache_dir = vim.uv.os_homedir() .. '/.cache/gitlab-ci-ls/'
----@brief
----
--- https://github.com/alesbrelih/gitlab-ci-ls
---
--- Language Server for Gitlab CI
---
--- `gitlab-ci-ls` can be installed via cargo:
--- cargo install gitlab-ci-ls
return {
cmd = { 'gitlab-ci-ls' },
filetypes = { 'yaml.gitlab' },
diff --git a/lsp/glasgow.lua b/lsp/glasgow.lua
index 4ed5acc4..e7aff60f 100644
--- a/lsp/glasgow.lua
+++ b/lsp/glasgow.lua
@@ -1,25 +1,25 @@
---@brief
---
--- https://github.com/nolanderc/glasgow
---
--- Provides language features for WGSL (WebGPU Shading Language):
--- - Completions:
--- - Local functions/variables/types.
--- - Fields and swizzles.
--- - Builtin types and functions (`dot`, `reflect`, `textureSample`, `vec3`, `mat4x2`, etc.)
--- - Hover Documentation:
--- - Function signatures.
--- - Variable types.
--- - Includes builtin types and functions. Text is taken from the WGSL specification.
--- - Goto Definition
--- - Find all References
--- - Rename
--- - Formatter
---
--- `glasgow` can be installed via `cargo`:
--- ```sh
--- cargo install glasgow
--- ```
+--- https://github.com/nolanderc/glasgow
+---
+--- Provides language features for WGSL (WebGPU Shading Language):
+--- - Completions:
+--- - Local functions/variables/types.
+--- - Fields and swizzles.
+--- - Builtin types and functions (`dot`, `reflect`, `textureSample`, `vec3`, `mat4x2`, etc.)
+--- - Hover Documentation:
+--- - Function signatures.
+--- - Variable types.
+--- - Includes builtin types and functions. Text is taken from the WGSL specification.
+--- - Goto Definition
+--- - Find all References
+--- - Rename
+--- - Formatter
+---
+--- `glasgow` can be installed via `cargo`:
+--- ```sh
+--- cargo install glasgow
+--- ```
return {
cmd = { 'glasgow' },
filetypes = { 'wgsl' },
diff --git a/lsp/gleam.lua b/lsp/gleam.lua
index 5fa7f5e1..29e2994a 100644
--- a/lsp/gleam.lua
+++ b/lsp/gleam.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/gleam-lang/gleam
---
--- A language server for Gleam Programming Language.
---
--- It comes with the Gleam compiler, for installation see: [Installing Gleam](https://gleam.run/getting-started/installing/)
+--- https://github.com/gleam-lang/gleam
+---
+--- A language server for Gleam Programming Language.
+---
+--- It comes with the Gleam compiler, for installation see: [Installing Gleam](https://gleam.run/getting-started/installing/)
return {
cmd = { 'gleam', 'lsp' },
filetypes = { 'gleam' },
diff --git a/lsp/glsl_analyzer.lua b/lsp/glsl_analyzer.lua
index 9927633b..91f5861f 100644
--- a/lsp/glsl_analyzer.lua
+++ b/lsp/glsl_analyzer.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/nolanderc/glsl_analyzer
---
--- Language server for GLSL
+--- https://github.com/nolanderc/glsl_analyzer
+---
+--- Language server for GLSL
return {
cmd = { 'glsl_analyzer' },
filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' },
diff --git a/lsp/glslls.lua b/lsp/glslls.lua
index 35d6368b..1c301010 100644
--- a/lsp/glslls.lua
+++ b/lsp/glslls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/svenstaro/glsl-language-server
---
--- Language server implementation for GLSL
---
--- `glslls` can be compiled and installed manually, or, if your distribution has access to the AUR,
--- via the `glsl-language-server` AUR package
+--- https://github.com/svenstaro/glsl-language-server
+---
+--- Language server implementation for GLSL
+---
+--- `glslls` can be compiled and installed manually, or, if your distribution has access to the AUR,
+--- via the `glsl-language-server` AUR package
return {
cmd = { 'glslls', '--stdin' },
filetypes = { 'glsl', 'vert', 'tesc', 'tese', 'frag', 'geom', 'comp' },
diff --git a/lsp/golangci_lint_ls.lua b/lsp/golangci_lint_ls.lua
index 177ce955..6c5fde41 100644
--- a/lsp/golangci_lint_ls.lua
+++ b/lsp/golangci_lint_ls.lua
@@ -1,17 +1,17 @@
---@brief
---
----Combination of both lint server and client
---
--- https://github.com/nametake/golangci-lint-langserver
--- https://github.com/golangci/golangci-lint
---
---
--- Installation of binaries needed is done via
---
--- ```
--- go install github.com/nametake/golangci-lint-langserver@latest
--- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
--- ```
+--- Combination of both lint server and client
+---
+--- https://github.com/nametake/golangci-lint-langserver
+--- https://github.com/golangci/golangci-lint
+---
+---
+--- Installation of binaries needed is done via
+---
+--- ```
+--- go install github.com/nametake/golangci-lint-langserver@latest
+--- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+--- ```
return {
cmd = { 'golangci-lint-langserver' },
filetypes = { 'go', 'gomod' },
diff --git a/lsp/gopls.lua b/lsp/gopls.lua
index a580e02f..c1b16fbb 100644
--- a/lsp/gopls.lua
+++ b/lsp/gopls.lua
@@ -1,3 +1,9 @@
+---@brief
+---
+--- https://github.com/golang/tools/tree/master/gopls
+---
+--- Google's lsp server for golang.
+
local mod_cache = nil
---@param fname string
@@ -12,11 +18,6 @@ local function get_root(fname)
return vim.fs.root(fname, { 'go.work', 'go.mod', '.git' })
end
----@brief
----
--- https://github.com/golang/tools/tree/master/gopls
---
--- Google's lsp server for golang.
return {
cmd = { 'gopls' },
filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' },
diff --git a/lsp/gradle_ls.lua b/lsp/gradle_ls.lua
index 691d1aaa..373a9267 100644
--- a/lsp/gradle_ls.lua
+++ b/lsp/gradle_ls.lua
@@ -1,15 +1,16 @@
+---@brief
+---
+--- https://github.com/microsoft/vscode-gradle
+---
+--- Microsoft's lsp server for gradle files
+---
+--- If you're setting this up manually, build vscode-gradle using `./gradlew installDist` and point `cmd` to the `gradle-language-server` generated in the build directory
+
local bin_name = 'gradle-language-server'
if vim.fn.has 'win32' == 1 then
bin_name = bin_name .. '.bat'
end
----@brief
----
--- https://github.com/microsoft/vscode-gradle
---
--- Microsoft's lsp server for gradle files
---
--- If you're setting this up manually, build vscode-gradle using `./gradlew installDist` and point `cmd` to the `gradle-language-server` generated in the build directory
return {
filetypes = { 'groovy' },
root_markers = {
diff --git a/lsp/grammarly.lua b/lsp/grammarly.lua
index 89cd8407..4c7d379c 100644
--- a/lsp/grammarly.lua
+++ b/lsp/grammarly.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/znck/grammarly
---
--- `grammarly-languageserver` can be installed via `npm`:
---
--- ```sh
--- npm i -g grammarly-languageserver
--- ```
---
--- 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.
+--- https://github.com/znck/grammarly
+---
+--- `grammarly-languageserver` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g grammarly-languageserver
+--- ```
+---
+--- 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.
return {
cmd = { 'grammarly-languageserver', '--stdio' },
filetypes = { 'markdown' },
diff --git a/lsp/graphql.lua b/lsp/graphql.lua
index b02f4e73..86206801 100644
--- a/lsp/graphql.lua
+++ b/lsp/graphql.lua
@@ -1,16 +1,17 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/graphql/graphiql/tree/main/packages/graphql-language-service-cli
---
--- `graphql-lsp` can be installed via `npm`:
---
--- ```sh
--- npm install -g graphql-language-service-cli
--- ```
---
--- Note that you must also have [the graphql package](https://github.com/graphql/graphql-js) installed within your project and create a [GraphQL config file](https://the-guild.dev/graphql/config/docs).
+--- https://github.com/graphql/graphiql/tree/main/packages/graphql-language-service-cli
+---
+--- `graphql-lsp` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g graphql-language-service-cli
+--- ```
+---
+--- Note that you must also have [the graphql package](https://github.com/graphql/graphql-js) installed within your project and create a [GraphQL config file](https://the-guild.dev/graphql/config/docs).
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'graphql-lsp', 'server', '-m', 'stream' },
filetypes = { 'graphql', 'typescriptreact', 'javascriptreact' },
diff --git a/lsp/groovyls.lua b/lsp/groovyls.lua
index f25ece3a..7610bf0b 100644
--- a/lsp/groovyls.lua
+++ b/lsp/groovyls.lua
@@ -1,22 +1,22 @@
---@brief
---
--- https://github.com/prominic/groovy-language-server.git
---
--- Requirements:
--- - Linux/macOS (for now)
--- - Java 11+
---
--- `groovyls` can be installed by following the instructions [here](https://github.com/prominic/groovy-language-server.git#build).
---
--- If you have installed groovy language server, you can set the `cmd` custom path as follow:
---
--- ```lua
--- vim.lsp.config('groovyls', {
--- -- Unix
--- cmd = { "java", "-jar", "path/to/groovyls/groovy-language-server-all.jar" },
--- ...
--- })
--- ```
+--- https://github.com/prominic/groovy-language-server.git
+---
+--- Requirements:
+--- - Linux/macOS (for now)
+--- - Java 11+
+---
+--- `groovyls` can be installed by following the instructions [here](https://github.com/prominic/groovy-language-server.git#build).
+---
+--- If you have installed groovy language server, you can set the `cmd` custom path as follow:
+---
+--- ```lua
+--- vim.lsp.config('groovyls', {
+--- -- Unix
+--- cmd = { "java", "-jar", "path/to/groovyls/groovy-language-server-all.jar" },
+--- ...
+--- })
+--- ```
return {
cmd = {
'java',
diff --git a/lsp/guile_ls.lua b/lsp/guile_ls.lua
index 7c0f3393..8beb2530 100644
--- a/lsp/guile_ls.lua
+++ b/lsp/guile_ls.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://codeberg.org/rgherdt/scheme-lsp-server
---
--- The recommended way is to install guile-lsp-server is using Guix. Unfortunately it is still not available at the official Guix channels, but you can use the provided channel guix.scm in the repo:
--- ```sh
--- guix package -f guix.scm
--- ```
---
--- 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.
+--- https://codeberg.org/rgherdt/scheme-lsp-server
+---
+--- The recommended way is to install guile-lsp-server is using Guix. Unfortunately it is still not available at the official Guix channels, but you can use the provided channel guix.scm in the repo:
+--- ```sh
+--- guix package -f guix.scm
+--- ```
+---
+--- 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.
return {
cmd = { 'guile-lsp-server' },
filetypes = {
diff --git a/lsp/harper_ls.lua b/lsp/harper_ls.lua
index 6fca2919..46cf0f99 100644
--- a/lsp/harper_ls.lua
+++ b/lsp/harper_ls.lua
@@ -1,21 +1,21 @@
---@brief
---
--- https://github.com/automattic/harper
---
--- The language server for Harper, the slim, clean language checker for developers.
---
--- See our [documentation](https://writewithharper.com/docs/integrations/neovim) for more information on settings.
---
--- In short, they should look something like this:
--- ```lua
--- vim.lsp.config('harper_ls', {
--- settings = {
--- ["harper-ls"] = {
--- userDictPath = "~/dict.txt"
--- }
--- },
--- })
--- ```
+--- https://github.com/automattic/harper
+---
+--- The language server for Harper, the slim, clean language checker for developers.
+---
+--- See our [documentation](https://writewithharper.com/docs/integrations/neovim) for more information on settings.
+---
+--- In short, they should look something like this:
+--- ```lua
+--- vim.lsp.config('harper_ls', {
+--- settings = {
+--- ["harper-ls"] = {
+--- userDictPath = "~/dict.txt"
+--- }
+--- },
+--- })
+--- ```
return {
cmd = { 'harper-ls', '--stdio' },
filetypes = {
diff --git a/lsp/hdl_checker.lua b/lsp/hdl_checker.lua
index f462969e..0ef83bee 100644
--- a/lsp/hdl_checker.lua
+++ b/lsp/hdl_checker.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/suoto/hdl_checker
--- Language server for hdl-checker.
--- Install using: `pip install hdl-checker --upgrade`
+--- https://github.com/suoto/hdl_checker
+--- Language server for hdl-checker.
+--- Install using: `pip install hdl-checker --upgrade`
return {
cmd = { 'hdl_checker', '--lsp' },
filetypes = { 'vhdl', 'verilog', 'systemverilog' },
diff --git a/lsp/helm_ls.lua b/lsp/helm_ls.lua
index f51e325a..39c574bd 100644
--- a/lsp/helm_ls.lua
+++ b/lsp/helm_ls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/mrjosh/helm-ls
---
--- Helm Language server. (This LSP is in early development)
---
--- `helm Language server` can be installed by following the instructions [here](https://github.com/mrjosh/helm-ls).
---
--- 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.
+--- https://github.com/mrjosh/helm-ls
+---
+--- Helm Language server. (This LSP is in early development)
+---
+--- `helm Language server` can be installed by following the instructions [here](https://github.com/mrjosh/helm-ls).
+---
+--- 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.
return {
cmd = { 'helm_ls', 'serve' },
filetypes = { 'helm' },
diff --git a/lsp/hhvm.lua b/lsp/hhvm.lua
index e09442e0..4a08a86c 100644
--- a/lsp/hhvm.lua
+++ b/lsp/hhvm.lua
@@ -1,10 +1,10 @@
---@brief
---
----Language server for programs written in Hack
--- https://hhvm.com/
--- https://github.com/facebook/hhvm
--- See below for how to setup HHVM & typechecker:
--- https://docs.hhvm.com/hhvm/getting-started/getting-started
+--- Language server for programs written in Hack
+--- https://hhvm.com/
+--- https://github.com/facebook/hhvm
+--- See below for how to setup HHVM & typechecker:
+--- https://docs.hhvm.com/hhvm/getting-started/getting-started
return {
cmd = { 'hh_client', 'lsp' },
filetypes = { 'php', 'hack' },
diff --git a/lsp/hie.lua b/lsp/hie.lua
index 118fa907..49d9f5d7 100644
--- a/lsp/hie.lua
+++ b/lsp/hie.lua
@@ -1,21 +1,21 @@
---@brief
---
--- https://github.com/haskell/haskell-ide-engine
---
--- the following init_options are supported (see https://github.com/haskell/haskell-ide-engine#configuration):
--- ```lua
--- init_options = {
--- languageServerHaskell = {
--- hlintOn = bool;
--- maxNumberOfProblems = number;
--- diagnosticsDebounceDuration = number;
--- liquidOn = bool (default false);
--- completionSnippetsOn = bool (default true);
--- formatOnImportOn = bool (default true);
--- formattingProvider = string (default "brittany", alternate "floskell");
--- }
--- }
--- ```
+--- https://github.com/haskell/haskell-ide-engine
+---
+--- the following init_options are supported (see https://github.com/haskell/haskell-ide-engine#configuration):
+--- ```lua
+--- init_options = {
+--- languageServerHaskell = {
+--- hlintOn = bool;
+--- maxNumberOfProblems = number;
+--- diagnosticsDebounceDuration = number;
+--- liquidOn = bool (default false);
+--- completionSnippetsOn = bool (default true);
+--- formatOnImportOn = bool (default true);
+--- formattingProvider = string (default "brittany", alternate "floskell");
+--- }
+--- }
+--- ```
return {
cmd = { 'hie-wrapper', '--lsp' },
filetypes = { 'haskell' },
diff --git a/lsp/hlasm.lua b/lsp/hlasm.lua
index 35542111..a7bcfcb4 100644
--- a/lsp/hlasm.lua
+++ b/lsp/hlasm.lua
@@ -1,8 +1,8 @@
---@brief
---
----`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).
+--- `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).
return {
cmd = { 'hlasm_language_server' },
filetypes = { 'hlasm' },
diff --git a/lsp/hls.lua b/lsp/hls.lua
index 16939711..a9411f76 100644
--- a/lsp/hls.lua
+++ b/lsp/hls.lua
@@ -2,17 +2,17 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://github.com/haskell/haskell-language-server
---
--- Haskell Language Server
---
--- If you are using HLS 1.9.0.0, enable the language server to launch on Cabal files as well:
---
--- ```lua
--- vim.lsp.config('hls', {
--- filetypes = { 'haskell', 'lhaskell', 'cabal' },
--- })
--- ```
+--- https://github.com/haskell/haskell-language-server
+---
+--- Haskell Language Server
+---
+--- If you are using HLS 1.9.0.0, enable the language server to launch on Cabal files as well:
+---
+--- ```lua
+--- vim.lsp.config('hls', {
+--- filetypes = { 'haskell', 'lhaskell', 'cabal' },
+--- })
+--- ```
return {
cmd = { 'haskell-language-server-wrapper', '--lsp' },
filetypes = { 'haskell', 'lhaskell' },
diff --git a/lsp/hoon_ls.lua b/lsp/hoon_ls.lua
index 1849b9f8..f3e4fd1f 100644
--- a/lsp/hoon_ls.lua
+++ b/lsp/hoon_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/urbit/hoon-language-server
---
--- A language server for Hoon.
---
--- The language server can be installed via `npm install -g @hoon-language-server`
---
--- Start a fake ~zod with `urbit -F zod`.
--- Start the language server at the Urbit Dojo prompt with: `|start %language-server`
+--- https://github.com/urbit/hoon-language-server
+---
+--- A language server for Hoon.
+---
+--- The language server can be installed via `npm install -g @hoon-language-server`
+---
+--- Start a fake ~zod with `urbit -F zod`.
+--- Start the language server at the Urbit Dojo prompt with: `|start %language-server`
return {
cmd = { 'hoon-language-server' },
filetypes = { 'hoon' },
diff --git a/lsp/html.lua b/lsp/html.lua
index 67695746..523b8b44 100644
--- a/lsp/html.lua
+++ b/lsp/html.lua
@@ -1,26 +1,26 @@
---@brief
---
--- https://github.com/hrsh7th/vscode-langservers-extracted
---
--- `vscode-html-language-server` can be installed via `npm`:
--- ```sh
--- npm i -g vscode-langservers-extracted
--- ```
---
--- Neovim does not currently include built-in snippets. `vscode-html-language-server` only provides completions when snippet support is enabled.
--- To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
---
--- The code-formatting feature of the lsp can be controlled with the `provideFormatter` option.
---
--- ```lua
--- --Enable (broadcasting) snippet capability for completion
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
---
--- vim.lsp.config('html', {
--- capabilities = capabilities,
--- })
--- ```
+--- https://github.com/hrsh7th/vscode-langservers-extracted
+---
+--- `vscode-html-language-server` can be installed via `npm`:
+--- ```sh
+--- npm i -g vscode-langservers-extracted
+--- ```
+---
+--- Neovim does not currently include built-in snippets. `vscode-html-language-server` only provides completions when snippet support is enabled.
+--- To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
+---
+--- The code-formatting feature of the lsp can be controlled with the `provideFormatter` option.
+---
+--- ```lua
+--- --Enable (broadcasting) snippet capability for completion
+--- local capabilities = vim.lsp.protocol.make_client_capabilities()
+--- capabilities.textDocument.completion.completionItem.snippetSupport = true
+---
+--- vim.lsp.config('html', {
+--- capabilities = capabilities,
+--- })
+--- ```
return {
cmd = { 'vscode-html-language-server', '--stdio' },
filetypes = { 'html', 'templ' },
diff --git a/lsp/htmx.lua b/lsp/htmx.lua
index 4b6bc3dc..2d20714b 100644
--- a/lsp/htmx.lua
+++ b/lsp/htmx.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/ThePrimeagen/htmx-lsp
---
--- `htmx-lsp` can be installed via `cargo`:
--- ```sh
--- cargo install htmx-lsp
--- ```
---
--- Lsp is still very much work in progress and experimental. Use at your own risk.
+--- https://github.com/ThePrimeagen/htmx-lsp
+---
+--- `htmx-lsp` can be installed via `cargo`:
+--- ```sh
+--- cargo install htmx-lsp
+--- ```
+---
+--- Lsp is still very much work in progress and experimental. Use at your own risk.
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 d4ab5d99..70c7960b 100644
--- a/lsp/hydra_lsp.lua
+++ b/lsp/hydra_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/Retsediv/hydra-lsp
---
--- LSP for Hydra Python package config files.
+--- https://github.com/Retsediv/hydra-lsp
+---
+--- LSP for Hydra Python package config files.
return {
cmd = { 'hydra-lsp' },
filetypes = { 'yaml' },
diff --git a/lsp/hyprls.lua b/lsp/hyprls.lua
index bcc86aa9..ab8270f8 100644
--- a/lsp/hyprls.lua
+++ b/lsp/hyprls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/hyprland-community/hyprls
---
--- `hyprls` can be installed via `go`:
--- ```sh
--- go install github.com/ewen-lbh/hyprls/cmd/hyprls@latest
--- ```
+--- https://github.com/hyprland-community/hyprls
+---
+--- `hyprls` can be installed via `go`:
+--- ```sh
+--- go install github.com/ewen-lbh/hyprls/cmd/hyprls@latest
+--- ```
return {
cmd = { 'hyprls', '--stdio' },
filetypes = { 'hyprlang' },
diff --git a/lsp/idris2_lsp.lua b/lsp/idris2_lsp.lua
index c33c3331..3997863b 100644
--- a/lsp/idris2_lsp.lua
+++ b/lsp/idris2_lsp.lua
@@ -1,35 +1,36 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/idris-community/idris2-lsp
---
--- The Idris 2 language server.
---
--- Plugins for the Idris 2 filetype include
--- [Idris2-Vim](https://github.com/edwinb/idris2-vim) (fewer features, stable) and
--- [Nvim-Idris2](https://github.com/ShinKage/nvim-idris2) (cutting-edge,
--- experimental).
---
--- Idris2-Lsp requires a build of Idris 2 that includes the "Idris 2 API" package.
--- Package managers with known support for this build include the
--- [AUR](https://aur.archlinux.org/packages/idris2/) and
--- [Homebrew](https://formulae.brew.sh/formula/idris2#default).
---
--- If your package manager does not support the Idris 2 API, you will need to build
--- Idris 2 from source. Refer to the
--- [the Idris 2 installation instructions](https://github.com/idris-lang/Idris2/blob/main/INSTALL.md)
--- for details. Steps 5 and 8 are listed as "optional" in that guide, but they are
--- necessary in order to make the Idris 2 API available.
---
--- You need to install a version of Idris2-Lsp that is compatible with your
--- version of Idris 2. There should be a branch corresponding to every released
--- Idris 2 version after v0.4.0. Use the latest commit on that branch. For example,
--- if you have Idris v0.5.1, you should use the v0.5.1 branch of Idris2-Lsp.
---
--- If your Idris 2 version is newer than the newest Idris2-Lsp branch, use the
--- latest commit on the `master` branch, and set a reminder to check the Idris2-Lsp
--- repo for the release of a compatible versioned branch.
+--- https://github.com/idris-community/idris2-lsp
+---
+--- The Idris 2 language server.
+---
+--- Plugins for the Idris 2 filetype include
+--- [Idris2-Vim](https://github.com/edwinb/idris2-vim) (fewer features, stable) and
+--- [Nvim-Idris2](https://github.com/ShinKage/nvim-idris2) (cutting-edge,
+--- experimental).
+---
+--- Idris2-Lsp requires a build of Idris 2 that includes the "Idris 2 API" package.
+--- Package managers with known support for this build include the
+--- [AUR](https://aur.archlinux.org/packages/idris2/) and
+--- [Homebrew](https://formulae.brew.sh/formula/idris2#default).
+---
+--- If your package manager does not support the Idris 2 API, you will need to build
+--- Idris 2 from source. Refer to the
+--- [the Idris 2 installation instructions](https://github.com/idris-lang/Idris2/blob/main/INSTALL.md)
+--- for details. Steps 5 and 8 are listed as "optional" in that guide, but they are
+--- necessary in order to make the Idris 2 API available.
+---
+--- You need to install a version of Idris2-Lsp that is compatible with your
+--- version of Idris 2. There should be a branch corresponding to every released
+--- Idris 2 version after v0.4.0. Use the latest commit on that branch. For example,
+--- if you have Idris v0.5.1, you should use the v0.5.1 branch of Idris2-Lsp.
+---
+--- If your Idris 2 version is newer than the newest Idris2-Lsp branch, use the
+--- latest commit on the `master` branch, and set a reminder to check the Idris2-Lsp
+--- repo for the release of a compatible versioned branch.
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'idris2-lsp' },
filetypes = { 'idris2' },
diff --git a/lsp/intelephense.lua b/lsp/intelephense.lua
index 13f7fd06..9910e207 100644
--- a/lsp/intelephense.lua
+++ b/lsp/intelephense.lua
@@ -1,31 +1,32 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://intelephense.com/
---
--- `intelephense` can be installed via `npm`:
--- ```sh
--- npm install -g intelephense
--- ```
---
--- ```lua
--- -- See https://github.com/bmewburn/intelephense-docs/blob/master/installation.md#initialisation-options
--- init_options = {
--- storagePath = …, -- Optional absolute path to storage dir. Defaults to os.tmpdir().
--- globalStoragePath = …, -- Optional absolute path to a global storage dir. Defaults to os.homedir().
--- licenceKey = …, -- Optional licence key or absolute path to a text file containing the licence key.
--- clearCache = …, -- Optional flag to clear server state. State can also be cleared by deleting {storagePath}/intelephense
--- }
--- -- See https://github.com/bmewburn/intelephense-docs
--- settings = {
--- intelephense = {
--- files = {
--- maxSize = 1000000;
--- };
--- };
--- }
--- ```
+--- https://intelephense.com/
+---
+--- `intelephense` can be installed via `npm`:
+--- ```sh
+--- npm install -g intelephense
+--- ```
+---
+--- ```lua
+--- -- See https://github.com/bmewburn/intelephense-docs/blob/master/installation.md#initialisation-options
+--- init_options = {
+--- storagePath = …, -- Optional absolute path to storage dir. Defaults to os.tmpdir().
+--- globalStoragePath = …, -- Optional absolute path to a global storage dir. Defaults to os.homedir().
+--- licenceKey = …, -- Optional licence key or absolute path to a text file containing the licence key.
+--- clearCache = …, -- Optional flag to clear server state. State can also be cleared by deleting {storagePath}/intelephense
+--- }
+--- -- See https://github.com/bmewburn/intelephense-docs
+--- settings = {
+--- intelephense = {
+--- files = {
+--- maxSize = 1000000;
+--- };
+--- };
+--- }
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'intelephense', '--stdio' },
filetypes = { 'php' },
diff --git a/lsp/janet_lsp.lua b/lsp/janet_lsp.lua
index 1caa8ea3..0b2edbf2 100644
--- a/lsp/janet_lsp.lua
+++ b/lsp/janet_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/CFiggers/janet-lsp
---
--- A Language Server Protocol implementation for Janet.
+--- https://github.com/CFiggers/janet-lsp
+---
+--- A Language Server Protocol implementation for Janet.
return {
cmd = {
'janet-lsp',
diff --git a/lsp/java_language_server.lua b/lsp/java_language_server.lua
index 863fc66e..950e42bc 100644
--- a/lsp/java_language_server.lua
+++ b/lsp/java_language_server.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/georgewfraser/java-language-server
---
--- Java language server
---
--- Point `cmd` to `lang_server_linux.sh` or the equivalent script for macOS/Windows provided by java-language-server
+--- https://github.com/georgewfraser/java-language-server
+---
+--- Java language server
+---
+--- Point `cmd` to `lang_server_linux.sh` or the equivalent script for macOS/Windows provided by java-language-server
return {
filetypes = { 'java' },
root_markers = { 'build.gradle', 'build.gradle.kts', 'pom.xml', '.git' },
diff --git a/lsp/jdtls.lua b/lsp/jdtls.lua
index 1cc5946a..e9cce6a9 100644
--- a/lsp/jdtls.lua
+++ b/lsp/jdtls.lua
@@ -1,3 +1,37 @@
+---@brief
+---
+--- https://projects.eclipse.org/projects/eclipse.jdt.ls
+---
+--- Language server for Java.
+---
+--- IMPORTANT: If you want all the features jdtls has to offer, [nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls)
+--- is highly recommended. If all you need is diagnostics, completion, imports, gotos and formatting and some code actions
+--- you can keep reading here.
+---
+--- For manual installation you can download precompiled binaries from the
+--- [official downloads site](http://download.eclipse.org/jdtls/snapshots/?d)
+--- and ensure that the `PATH` variable contains the `bin` directory of the extracted archive.
+---
+--- ```lua
+--- -- init.lua
+--- vim.lsp.enable('jdtls')
+--- ```
+---
+--- You can also pass extra custom jvm arguments with the JDTLS_JVM_ARGS environment variable as a space separated list of arguments,
+--- that will be converted to multiple --jvm-arg=<param> args when passed to the jdtls script. This will allow for example tweaking
+--- the jvm arguments or integration with external tools like lombok:
+---
+--- ```sh
+--- export JDTLS_JVM_ARGS="-javaagent:$HOME/.local/share/java/lombok.jar"
+--- ```
+---
+--- For automatic installation you can use the following unofficial installers/launchers under your own risk:
+--- - [jdtls-launcher](https://github.com/eruizc-dev/jdtls-launcher) (Includes lombok support by default)
+--- ```lua
+--- -- init.lua
+--- vim.lsp.config('jdtls', { cmd = { 'jdtls' } })
+--- ```
+
local handlers = require 'vim.lsp.handlers'
local env = {
@@ -75,39 +109,6 @@ local function on_language_status(_, result)
command 'echohl None'
end
----@brief
----
--- https://projects.eclipse.org/projects/eclipse.jdt.ls
---
--- Language server for Java.
---
--- IMPORTANT: If you want all the features jdtls has to offer, [nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls)
--- is highly recommended. If all you need is diagnostics, completion, imports, gotos and formatting and some code actions
--- you can keep reading here.
---
--- For manual installation you can download precompiled binaries from the
--- [official downloads site](http://download.eclipse.org/jdtls/snapshots/?d)
--- and ensure that the `PATH` variable contains the `bin` directory of the extracted archive.
---
--- ```lua
--- -- init.lua
--- vim.lsp.enable('jdtls')
--- ```
---
--- You can also pass extra custom jvm arguments with the JDTLS_JVM_ARGS environment variable as a space separated list of arguments,
--- that will be converted to multiple --jvm-arg=<param> args when passed to the jdtls script. This will allow for example tweaking
--- the jvm arguments or integration with external tools like lombok:
---
--- ```sh
--- export JDTLS_JVM_ARGS="-javaagent:$HOME/.local/share/java/lombok.jar"
--- ```
---
--- For automatic installation you can use the following unofficial installers/launchers under your own risk:
--- - [jdtls-launcher](https://github.com/eruizc-dev/jdtls-launcher) (Includes lombok support by default)
--- ```lua
--- -- init.lua
--- vim.lsp.config('jdtls', { cmd = { 'jdtls' } })
--- ```
return {
cmd = {
'jdtls',
diff --git a/lsp/jedi_language_server.lua b/lsp/jedi_language_server.lua
index b0760e36..3cd7d209 100644
--- a/lsp/jedi_language_server.lua
+++ b/lsp/jedi_language_server.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/pappasam/jedi-language-server
---
--- `jedi-language-server`, a language server for Python, built on top of jedi
+--- https://github.com/pappasam/jedi-language-server
+---
+--- `jedi-language-server`, a language server for Python, built on top of jedi
return {
cmd = { 'jedi-language-server' },
filetypes = { 'python' },
diff --git a/lsp/jinja_lsp.lua b/lsp/jinja_lsp.lua
index 56af1d00..9807b176 100644
--- a/lsp/jinja_lsp.lua
+++ b/lsp/jinja_lsp.lua
@@ -1,18 +1,18 @@
---@brief
---
--- jinja-lsp enhances minijinja development experience by providing Helix/Nvim users with advanced features such as autocomplete, syntax highlighting, hover, goto definition, code actions and linting.
---
--- The file types are not detected automatically, you can register them manually (see below) or override the filetypes:
---
--- ```lua
--- vim.filetype.add {
--- extension = {
--- jinja = 'jinja',
--- jinja2 = 'jinja',
--- j2 = 'jinja',
--- },
--- }
--- ```
+--- jinja-lsp enhances minijinja development experience by providing Helix/Nvim users with advanced features such as autocomplete, syntax highlighting, hover, goto definition, code actions and linting.
+---
+--- The file types are not detected automatically, you can register them manually (see below) or override the filetypes:
+---
+--- ```lua
+--- vim.filetype.add {
+--- extension = {
+--- jinja = 'jinja',
+--- jinja2 = 'jinja',
+--- j2 = 'jinja',
+--- },
+--- }
+--- ```
return {
name = 'jinja_lsp',
cmd = { 'jinja-lsp' },
diff --git a/lsp/jqls.lua b/lsp/jqls.lua
index f093c734..e5cde7c6 100644
--- a/lsp/jqls.lua
+++ b/lsp/jqls.lua
@@ -1,19 +1,19 @@
---@brief
---
--- https://github.com/wader/jq-lsp
--- Language server for jq, written using Go.
--- You can install the server easily using go install:
--- ```sh
--- # install directly
--- go install github.com/wader/jq-lsp@master
--- # copy binary to $PATH
--- cp $(go env GOPATH)/bin/jq-lsp /usr/local/bin
--- ```
--- Note: To activate properly nvim needs to know the jq filetype.
--- You can add it via:
--- ```lua
--- vim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]])
--- ```
+--- https://github.com/wader/jq-lsp
+--- Language server for jq, written using Go.
+--- You can install the server easily using go install:
+--- ```sh
+--- # install directly
+--- go install github.com/wader/jq-lsp@master
+--- # copy binary to $PATH
+--- cp $(go env GOPATH)/bin/jq-lsp /usr/local/bin
+--- ```
+--- Note: To activate properly nvim needs to know the jq filetype.
+--- You can add it via:
+--- ```lua
+--- vim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]])
+--- ```
return {
cmd = { 'jq-lsp' },
filetypes = { 'jq' },
diff --git a/lsp/jsonls.lua b/lsp/jsonls.lua
index a3dd1eb9..da8a338d 100644
--- a/lsp/jsonls.lua
+++ b/lsp/jsonls.lua
@@ -1,25 +1,25 @@
---@brief
---
--- https://github.com/hrsh7th/vscode-langservers-extracted
---
--- vscode-json-language-server, a language server for JSON and JSON schema
---
--- `vscode-json-language-server` can be installed via `npm`:
--- ```sh
--- npm i -g vscode-langservers-extracted
--- ```
---
--- `vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
---
--- ```lua
--- --Enable (broadcasting) snippet capability for completion
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
---
--- vim.lsp.config('jsonls', {
--- capabilities = capabilities,
--- })
--- ```
+--- https://github.com/hrsh7th/vscode-langservers-extracted
+---
+--- vscode-json-language-server, a language server for JSON and JSON schema
+---
+--- `vscode-json-language-server` can be installed via `npm`:
+--- ```sh
+--- npm i -g vscode-langservers-extracted
+--- ```
+---
+--- `vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
+---
+--- ```lua
+--- --Enable (broadcasting) snippet capability for completion
+--- local capabilities = vim.lsp.protocol.make_client_capabilities()
+--- capabilities.textDocument.completion.completionItem.snippetSupport = true
+---
+--- vim.lsp.config('jsonls', {
+--- capabilities = capabilities,
+--- })
+--- ```
return {
cmd = { 'vscode-json-language-server', '--stdio' },
filetypes = { 'json', 'jsonc' },
diff --git a/lsp/julials.lua b/lsp/julials.lua
index 0dd8c6b3..17565a7c 100644
--- a/lsp/julials.lua
+++ b/lsp/julials.lua
@@ -1,3 +1,28 @@
+---@brief
+---
+--- https://github.com/julia-vscode/julia-vscode
+---
+--- LanguageServer.jl can be installed with `julia` and `Pkg`:
+--- ```sh
+--- julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'
+--- ```
+--- where `~/.julia/environments/nvim-lspconfig` is the location where
+--- the default configuration expects LanguageServer.jl to be installed.
+---
+--- To update an existing install, use the following command:
+--- ```sh
+--- julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'
+--- ```
+---
+--- Note: In order to have LanguageServer.jl pick up installed packages or dependencies in a
+--- Julia project, you must make sure that the project is instantiated:
+--- ```sh
+--- julia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'
+--- ```
+---
+--- Note: The julia programming language searches for global environments within the `environments/`
+--- folder of `$JULIA_DEPOT_PATH` entries. By default this simply `~/.julia/environments`
+
local root_files = { 'Project.toml', 'JuliaProject.toml' }
local function activate_env(path)
@@ -91,30 +116,6 @@ local cmd = {
]],
}
----@brief
----
--- https://github.com/julia-vscode/julia-vscode
---
--- LanguageServer.jl can be installed with `julia` and `Pkg`:
--- ```sh
--- julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'
--- ```
--- where `~/.julia/environments/nvim-lspconfig` is the location where
--- the default configuration expects LanguageServer.jl to be installed.
---
--- To update an existing install, use the following command:
--- ```sh
--- julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'
--- ```
---
--- Note: In order to have LanguageServer.jl pick up installed packages or dependencies in a
--- Julia project, you must make sure that the project is instantiated:
--- ```sh
--- julia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'
--- ```
---
--- Note: The julia programming language searches for global environments within the `environments/`
--- folder of `$JULIA_DEPOT_PATH` entries. By default this simply `~/.julia/environments`
return {
cmd = cmd,
filetypes = { 'julia' },
diff --git a/lsp/just.lua b/lsp/just.lua
index 97ce300a..72426657 100644
--- a/lsp/just.lua
+++ b/lsp/just.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/terror/just-lsp
---
--- `just-lsp` is an LSP for just built on top of the tree-sitter-just parser.
+--- https://github.com/terror/just-lsp
+---
+--- `just-lsp` is an LSP for just built on top of the tree-sitter-just parser.
return {
cmd = { 'just-lsp' },
filetypes = { 'just' },
diff --git a/lsp/kcl.lua b/lsp/kcl.lua
index 21174bd5..50f1dd95 100644
--- a/lsp/kcl.lua
+++ b/lsp/kcl.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/kcl-lang/kcl.nvim
---
--- Language server for the KCL configuration and policy language.
---
+--- https://github.com/kcl-lang/kcl.nvim
+---
+--- Language server for the KCL configuration and policy language.
+---
return {
cmd = { 'kcl-language-server' },
filetypes = { 'kcl' },
diff --git a/lsp/koka.lua b/lsp/koka.lua
index c05ae14a..f83aa4bf 100644
--- a/lsp/koka.lua
+++ b/lsp/koka.lua
@@ -1,7 +1,7 @@
---@brief
---
--- https://koka-lang.github.io/koka/doc/index.html
--- Koka is a functional programming language with effect types and handlers.
+--- https://koka-lang.github.io/koka/doc/index.html
+--- Koka is a functional programming language with effect types and handlers.
return {
cmd = { 'koka', '--language-server', '--lsstdio' },
filetypes = { 'koka' },
diff --git a/lsp/kotlin_language_server.lua b/lsp/kotlin_language_server.lua
index 950ef017..661822e5 100644
--- a/lsp/kotlin_language_server.lua
+++ b/lsp/kotlin_language_server.lua
@@ -1,3 +1,21 @@
+---@brief
+---
+--- A kotlin language server which was developed for internal usage and
+--- released afterwards. Maintaining is not done by the original author,
+--- but by fwcd.
+---
+--- It is built via gradle and developed on github.
+--- Source and additional description:
+--- https://github.com/fwcd/kotlin-language-server
+---
+--- This server requires vim to be aware of the kotlin-filetype.
+--- You could refer for this capability to:
+--- https://github.com/udalov/kotlin-vim (recommended)
+--- Note that there is no LICENSE specified yet.
+---
+--- For faster startup, you can setup caching by specifying a storagePath
+--- in the init_options. The default is your home directory.
+
local util = require 'lspconfig.util'
local bin_name = 'kotlin-language-server'
@@ -16,23 +34,6 @@ local root_files = {
'build.gradle.kts', -- Gradle
}
----@brief
----
----A kotlin language server which was developed for internal usage and
--- released afterwards. Maintaining is not done by the original author,
--- but by fwcd.
-
--- It is built via gradle and developed on github.
--- Source and additional description:
--- https://github.com/fwcd/kotlin-language-server
-
--- This server requires vim to be aware of the kotlin-filetype.
--- You could refer for this capability to:
--- https://github.com/udalov/kotlin-vim (recommended)
--- Note that there is no LICENSE specified yet.
-
--- For faster startup, you can setup caching by specifying a storagePath
--- in the init_options. The default is your home directory.
return {
filetypes = { 'kotlin' },
root_markers = root_files,
diff --git a/lsp/kulala_ls.lua b/lsp/kulala_ls.lua
index 3ab78d52..77f5dc82 100644
--- a/lsp/kulala_ls.lua
+++ b/lsp/kulala_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/mistweaverco/kulala-ls
---
--- A minimal language server for HTTP syntax.
+--- https://github.com/mistweaverco/kulala-ls
+---
+--- A minimal language server for HTTP syntax.
return {
cmd = { 'kulala-ls', '--stdio' },
filetypes = { 'http' },
diff --git a/lsp/lean3ls.lua b/lsp/lean3ls.lua
index 941ec227..977e04b9 100644
--- a/lsp/lean3ls.lua
+++ b/lsp/lean3ls.lua
@@ -1,20 +1,21 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/leanprover/lean-client-js/tree/master/lean-language-server
---
--- Lean installation instructions can be found
--- [here](https://leanprover-community.github.io/get_started.html#regular-install).
---
--- Once Lean is installed, you can install the Lean 3 language server by running
--- ```sh
--- npm install -g lean-language-server
--- ```
---
--- Note: that if you're using [lean.nvim](https://github.com/Julian/lean.nvim),
--- that plugin fully handles the setup of the Lean language server,
--- and you shouldn't set up `lean3ls` both with it and `lspconfig`.
+--- https://github.com/leanprover/lean-client-js/tree/master/lean-language-server
+---
+--- Lean installation instructions can be found
+--- [here](https://leanprover-community.github.io/get_started.html#regular-install).
+---
+--- Once Lean is installed, you can install the Lean 3 language server by running
+--- ```sh
+--- npm install -g lean-language-server
+--- ```
+---
+--- Note: that if you're using [lean.nvim](https://github.com/Julian/lean.nvim),
+--- that plugin fully handles the setup of the Lean language server,
+--- and you shouldn't set up `lean3ls` both with it and `lspconfig`.
+
+local util = require 'lspconfig.util'
+
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 96b57d0d..d9f5fd3f 100644
--- a/lsp/lelwel_ls.lua
+++ b/lsp/lelwel_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/0x2a-42/lelwel
---
--- Language server for lelwel grammars.
---
--- You can install `lelwel-ls` via cargo:
--- ```sh
--- cargo install --features="lsp" lelwel
--- ```
+--- https://github.com/0x2a-42/lelwel
+---
+--- Language server for lelwel grammars.
+---
+--- You can install `lelwel-ls` via cargo:
+--- ```sh
+--- cargo install --features="lsp" lelwel
+--- ```
return {
cmd = { 'lelwel-ls' },
filetypes = { 'llw' },
diff --git a/lsp/lemminx.lua b/lsp/lemminx.lua
index 48988b1e..57beaa2a 100644
--- a/lsp/lemminx.lua
+++ b/lsp/lemminx.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/eclipse/lemminx
---
--- 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.
+--- https://github.com/eclipse/lemminx
+---
+--- 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.
return {
cmd = { 'lemminx' },
filetypes = { 'xml', 'xsd', 'xsl', 'xslt', 'svg' },
diff --git a/lsp/lexical.lua b/lsp/lexical.lua
index dafbb859..0e695459 100644
--- a/lsp/lexical.lua
+++ b/lsp/lexical.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/lexical-lsp/lexical
---
--- Lexical is a next-generation language server for the Elixir programming language.
---
--- Follow the [Detailed Installation Instructions](https://github.com/lexical-lsp/lexical/blob/main/pages/installation.md)
---
--- **By default, `lexical` doesn't have a `cmd` set.**
--- This is because nvim-lspconfig does not make assumptions about your path.
+--- https://github.com/lexical-lsp/lexical
+---
+--- Lexical is a next-generation language server for the Elixir programming language.
+---
+--- Follow the [Detailed Installation Instructions](https://github.com/lexical-lsp/lexical/blob/main/pages/installation.md)
+---
+--- **By default, `lexical` doesn't have a `cmd` set.**
+--- This is because nvim-lspconfig does not make assumptions about your path.
return {
filetypes = { 'elixir', 'eelixir', 'heex', 'surface' },
root_markers = { 'mix.exs', '.git' },
diff --git a/lsp/lsp_ai.lua b/lsp/lsp_ai.lua
index 979fc5a7..cf005f59 100644
--- a/lsp/lsp_ai.lua
+++ b/lsp/lsp_ai.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/SilasMarvin/lsp-ai
---
--- LSP-AI is an open source language server that serves as a backend for AI-powered functionality in your favorite code
--- editors. It offers features like in-editor chatting with LLMs and code completions.
---
---
--- 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.
+--- https://github.com/SilasMarvin/lsp-ai
+---
+--- LSP-AI is an open source language server that serves as a backend for AI-powered functionality in your favorite code
+--- editors. It offers features like in-editor chatting with LLMs and code completions.
+---
+---
+--- 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.
return {
cmd = { 'lsp-ai' },
filetypes = {},
diff --git a/lsp/ltex.lua b/lsp/ltex.lua
index f67f3880..c50b91ef 100644
--- a/lsp/ltex.lua
+++ b/lsp/ltex.lua
@@ -1,3 +1,27 @@
+---@brief
+---
+--- https://github.com/valentjn/ltex-ls
+---
+--- LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others
+---
+--- To install, download the latest [release](https://github.com/valentjn/ltex-ls/releases) and ensure `ltex-ls` is on your path.
+---
+--- This server accepts configuration via the `settings` key.
+---
+--- ```lua
+--- settings = {
+--- ltex = {
+--- language = "en-GB",
+--- },
+--- },
+--- ```
+---
+--- To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):
+---
+--- ```lua
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]
+--- ```
+
local language_id_mapping = {
bib = 'bibtex',
plaintex = 'tex',
@@ -47,29 +71,6 @@ do
end
end
----@brief
----
--- https://github.com/valentjn/ltex-ls
---
--- LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others
---
--- To install, download the latest [release](https://github.com/valentjn/ltex-ls/releases) and ensure `ltex-ls` is on your path.
---
--- This server accepts configuration via the `settings` key.
---
--- ```lua
--- settings = {
--- ltex = {
--- language = "en-GB",
--- },
--- },
--- ```
---
--- To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):
---
--- ```lua
--- vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]
--- ```
return {
cmd = { 'ltex-ls' },
filetypes = filetypes,
diff --git a/lsp/ltex_plus.lua b/lsp/ltex_plus.lua
index 97a9cf90..e5444f97 100644
--- a/lsp/ltex_plus.lua
+++ b/lsp/ltex_plus.lua
@@ -1,3 +1,27 @@
+---@brief
+---
+--- https://github.com/ltex-plus/ltex-ls-plus
+---
+--- LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others
+---
+--- To install, download the latest [release](https://github.com/ltex-plus/ltex-ls-plus) and ensure `ltex-ls-plus` is on your path.
+---
+--- This server accepts configuration via the `settings` key.
+---
+--- ```lua
+--- settings = {
+--- ltex = {
+--- language = "en-GB",
+--- },
+--- },
+--- ```
+---
+--- To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):
+---
+--- ```lua
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]
+--- ```
+
local language_id_mapping = {
bib = 'bibtex',
pandoc = 'markdown',
@@ -12,29 +36,6 @@ local function get_language_id(_, filetype)
return language_id_mapping[filetype] or filetype
end
----@brief
----
--- https://github.com/ltex-plus/ltex-ls-plus
---
--- LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others
---
--- To install, download the latest [release](https://github.com/ltex-plus/ltex-ls-plus) and ensure `ltex-ls-plus` is on your path.
---
--- This server accepts configuration via the `settings` key.
---
--- ```lua
--- settings = {
--- ltex = {
--- language = "en-GB",
--- },
--- },
--- ```
---
--- To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):
---
--- ```lua
--- vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]
--- ```
return {
cmd = { 'ltex-ls-plus' },
filetypes = {
diff --git a/lsp/lua_ls.lua b/lsp/lua_ls.lua
index ea6ead38..c76d08ce 100644
--- a/lsp/lua_ls.lua
+++ b/lsp/lua_ls.lua
@@ -1,57 +1,57 @@
---@brief
---
--- https://github.com/luals/lua-language-server
---
--- Lua language server.
---
--- `lua-language-server` can be installed by following the instructions [here](https://luals.github.io/#neovim-install).
---
--- The default `cmd` assumes that the `lua-language-server` binary can be found in `$PATH`.
---
--- If you primarily use `lua-language-server` for Neovim, and want to provide completions,
--- analysis, and location handling for plugins on runtime path, you can use the following
--- settings.
---
--- ```lua
--- vim.lsp.config('lua_ls', {
--- on_init = function(client)
--- if client.workspace_folders then
--- local path = client.workspace_folders[1].name
--- if path ~= vim.fn.stdpath('config') and (vim.uv.fs_stat(path..'/.luarc.json') or vim.uv.fs_stat(path..'/.luarc.jsonc')) then
--- return
--- end
--- end
---
--- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
--- runtime = {
--- -- Tell the language server which version of Lua you're using
--- -- (most likely LuaJIT in the case of Neovim)
--- version = 'LuaJIT'
--- },
--- -- Make the server aware of Neovim runtime files
--- workspace = {
--- checkThirdParty = false,
--- library = {
--- vim.env.VIMRUNTIME
--- -- Depending on the usage, you might want to add additional paths here.
--- -- "${3rd}/luv/library"
--- -- "${3rd}/busted/library",
--- }
--- -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)
--- -- library = vim.api.nvim_get_runtime_file("", true)
--- }
--- })
--- end,
--- settings = {
--- Lua = {}
--- }
--- })
--- ```
---
--- See `lua-language-server`'s [documentation](https://luals.github.io/wiki/settings/) for an explanation of the above fields:
--- * [Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath)
--- * [Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary)
---
+--- https://github.com/luals/lua-language-server
+---
+--- Lua language server.
+---
+--- `lua-language-server` can be installed by following the instructions [here](https://luals.github.io/#neovim-install).
+---
+--- The default `cmd` assumes that the `lua-language-server` binary can be found in `$PATH`.
+---
+--- If you primarily use `lua-language-server` for Neovim, and want to provide completions,
+--- analysis, and location handling for plugins on runtime path, you can use the following
+--- settings.
+---
+--- ```lua
+--- vim.lsp.config('lua_ls', {
+--- on_init = function(client)
+--- if client.workspace_folders then
+--- local path = client.workspace_folders[1].name
+--- if path ~= vim.fn.stdpath('config') and (vim.uv.fs_stat(path..'/.luarc.json') or vim.uv.fs_stat(path..'/.luarc.jsonc')) then
+--- return
+--- end
+--- end
+---
+--- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
+--- runtime = {
+--- -- Tell the language server which version of Lua you're using
+--- -- (most likely LuaJIT in the case of Neovim)
+--- version = 'LuaJIT'
+--- },
+--- -- Make the server aware of Neovim runtime files
+--- workspace = {
+--- checkThirdParty = false,
+--- library = {
+--- vim.env.VIMRUNTIME
+--- -- Depending on the usage, you might want to add additional paths here.
+--- -- "${3rd}/luv/library"
+--- -- "${3rd}/busted/library",
+--- }
+--- -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)
+--- -- library = vim.api.nvim_get_runtime_file("", true)
+--- }
+--- })
+--- end,
+--- settings = {
+--- Lua = {}
+--- }
+--- })
+--- ```
+---
+--- See `lua-language-server`'s [documentation](https://luals.github.io/wiki/settings/) for an explanation of the above fields:
+--- * [Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath)
+--- * [Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary)
+---
return {
cmd = { 'lua-language-server' },
filetypes = { 'lua' },
diff --git a/lsp/luau_lsp.lua b/lsp/luau_lsp.lua
index 4037e1f0..70f3ac1e 100644
--- a/lsp/luau_lsp.lua
+++ b/lsp/luau_lsp.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://github.com/JohnnyMorganz/luau-lsp
---
--- Language server for the [Luau](https://luau-lang.org/) language.
---
--- `luau-lsp` can be installed by downloading one of the release assets available at https://github.com/JohnnyMorganz/luau-lsp.
---
--- You might also have to set up automatic filetype detection for Luau files, for example like so:
---
--- ```vim
--- autocmd BufRead,BufNewFile *.luau setf luau
--- ```
+--- https://github.com/JohnnyMorganz/luau-lsp
+---
+--- Language server for the [Luau](https://luau-lang.org/) language.
+---
+--- `luau-lsp` can be installed by downloading one of the release assets available at https://github.com/JohnnyMorganz/luau-lsp.
+---
+--- You might also have to set up automatic filetype detection for Luau files, for example like so:
+---
+--- ```vim
+--- autocmd BufRead,BufNewFile *.luau setf luau
+--- ```
return {
cmd = { 'luau-lsp', 'lsp' },
filetypes = { 'luau' },
diff --git a/lsp/lwc_ls.lua b/lsp/lwc_ls.lua
index 7a11d787..b2f6a065 100644
--- a/lsp/lwc_ls.lua
+++ b/lsp/lwc_ls.lua
@@ -1,21 +1,21 @@
---@brief
---
--- https://github.com/forcedotcom/lightning-language-server/
---
--- Language server for Lightning Web Components.
---
--- For manual installation, utilize the official [NPM package](https://www.npmjs.com/package/@salesforce/lwc-language-server).
--- Then, configure `cmd` to run the Node script at the unpacked location:
---
--- ```lua
--- vim.lsp.config('lwc_ls', {
--- cmd = {
--- 'node',
--- '/path/to/node_modules/@salesforce/lwc-language-server/bin/lwc-language-server.js',
--- '--stdio'
--- }
--- })
--- ```
+--- https://github.com/forcedotcom/lightning-language-server/
+---
+--- Language server for Lightning Web Components.
+---
+--- For manual installation, utilize the official [NPM package](https://www.npmjs.com/package/@salesforce/lwc-language-server).
+--- Then, configure `cmd` to run the Node script at the unpacked location:
+---
+--- ```lua
+--- vim.lsp.config('lwc_ls', {
+--- cmd = {
+--- 'node',
+--- '/path/to/node_modules/@salesforce/lwc-language-server/bin/lwc-language-server.js',
+--- '--stdio'
+--- }
+--- })
+--- ```
return {
cmd = { 'lwc-language-server', '--stdio' },
filetypes = { 'javascript', 'html' },
diff --git a/lsp/m68k.lua b/lsp/m68k.lua
index f2efca14..2af060de 100644
--- a/lsp/m68k.lua
+++ b/lsp/m68k.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/grahambates/m68k-lsp
---
--- Language server for Motorola 68000 family assembly
---
--- `m68k-lsp-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g m68k-lsp-server
--- ```
---
--- Ensure you are using the 68k asm syntax variant in Neovim.
---
--- ```lua
--- vim.g.asmsyntax = 'asm68k'
--- ```
+--- https://github.com/grahambates/m68k-lsp
+---
+--- Language server for Motorola 68000 family assembly
+---
+--- `m68k-lsp-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g m68k-lsp-server
+--- ```
+---
+--- Ensure you are using the 68k asm syntax variant in Neovim.
+---
+--- ```lua
+--- vim.g.asmsyntax = 'asm68k'
+--- ```
return {
cmd = { 'm68k-lsp-server', '--stdio' },
filetypes = { 'asm68k' },
diff --git a/lsp/markdown_oxide.lua b/lsp/markdown_oxide.lua
index c5480c76..5059363b 100644
--- a/lsp/markdown_oxide.lua
+++ b/lsp/markdown_oxide.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/Feel-ix-343/markdown-oxide
---
--- Editor Agnostic PKM: you bring the text editor and we
--- bring the PKM.
---
--- Inspired by and compatible with Obsidian.
---
--- Check the readme to see how to properly setup.
+--- https://github.com/Feel-ix-343/markdown-oxide
+---
+--- Editor Agnostic PKM: you bring the text editor and we
+--- bring the PKM.
+---
+--- Inspired by and compatible with Obsidian.
+---
+--- Check the readme to see how to properly setup.
return {
root_markers = { '.git', '.obsidian', '.moxide.toml' },
filetypes = { 'markdown' },
diff --git a/lsp/marko-js.lua b/lsp/marko-js.lua
index b28213f8..0075b052 100644
--- a/lsp/marko-js.lua
+++ b/lsp/marko-js.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/marko-js/language-server
-
--- Using the Language Server Protocol to improve Marko's developer experience.
-
--- Can be installed via npm:
--- ```
--- npm i -g @marko/language-server
--- ```
+--- https://github.com/marko-js/language-server
+---
+--- Using the Language Server Protocol to improve Marko's developer experience.
+---
+--- Can be installed via npm:
+--- ```
+--- npm i -g @marko/language-server
+--- ```
return {
cmd = { 'marko-language-server', '--stdio' },
filetypes = { 'marko' },
diff --git a/lsp/marksman.lua b/lsp/marksman.lua
index 47c6624e..6f436e4a 100644
--- a/lsp/marksman.lua
+++ b/lsp/marksman.lua
@@ -1,15 +1,16 @@
+---@brief
+---
+--- https://github.com/artempyanykh/marksman
+---
+--- Marksman is a Markdown LSP server providing completion, cross-references, diagnostics, and more.
+---
+--- Marksman works on MacOS, Linux, and Windows and is distributed as a self-contained binary for each OS.
+---
+--- Pre-built binaries can be downloaded from https://github.com/artempyanykh/marksman/releases
+
local bin_name = 'marksman'
local cmd = { bin_name, 'server' }
----@brief
----
--- https://github.com/artempyanykh/marksman
---
--- Marksman is a Markdown LSP server providing completion, cross-references, diagnostics, and more.
---
--- Marksman works on MacOS, Linux, and Windows and is distributed as a self-contained binary for each OS.
---
--- Pre-built binaries can be downloaded from https://github.com/artempyanykh/marksman/releases
return {
cmd = cmd,
filetypes = { 'markdown', 'markdown.mdx' },
diff --git a/lsp/mesonlsp.lua b/lsp/mesonlsp.lua
index 1e532739..01b53e43 100644
--- a/lsp/mesonlsp.lua
+++ b/lsp/mesonlsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/JCWasmx86/mesonlsp
---
--- An unofficial, unendorsed language server for meson written in C++
+--- https://github.com/JCWasmx86/mesonlsp
+---
+--- An unofficial, unendorsed language server for meson written in C++
return {
cmd = { 'mesonlsp', '--lsp' },
filetypes = { 'meson' },
diff --git a/lsp/metals.lua b/lsp/metals.lua
index a4b03531..573ca01f 100644
--- a/lsp/metals.lua
+++ b/lsp/metals.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://scalameta.org/metals/
---
--- Scala language server with rich IDE features.
---
--- See full instructions in the Metals documentation:
---
--- https://scalameta.org/metals/docs/editors/vim#using-an-alternative-lsp-client
---
--- 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`.
+--- https://scalameta.org/metals/
+---
+--- Scala language server with rich IDE features.
+---
+--- See full instructions in the Metals documentation:
+---
+--- https://scalameta.org/metals/docs/editors/vim#using-an-alternative-lsp-client
+---
+--- 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`.
return {
cmd = { 'metals' },
filetypes = { 'scala' },
diff --git a/lsp/millet.lua b/lsp/millet.lua
index de124302..ee53afbf 100644
--- a/lsp/millet.lua
+++ b/lsp/millet.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://github.com/azdavis/millet
---
--- Millet, a language server for Standard ML
---
--- To use with nvim:
---
--- 1. Install a Rust toolchain: https://rustup.rs
--- 2. Clone the repo
--- 3. Run `cargo build --release --bin lang-srv`
--- 4. Move `target/release/lang-srv` to somewhere on your $PATH as `millet`
+--- https://github.com/azdavis/millet
+---
+--- Millet, a language server for Standard ML
+---
+--- To use with nvim:
+---
+--- 1. Install a Rust toolchain: https://rustup.rs
+--- 2. Clone the repo
+--- 3. Run `cargo build --release --bin lang-srv`
+--- 4. Move `target/release/lang-srv` to somewhere on your $PATH as `millet`
return {
cmd = { 'millet' },
filetypes = { 'sml' },
diff --git a/lsp/mint.lua b/lsp/mint.lua
index 1738e414..56172eb6 100644
--- a/lsp/mint.lua
+++ b/lsp/mint.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://www.mint-lang.com
---
--- Install Mint using the [instructions](https://www.mint-lang.com/install).
--- The language server is included since version 0.12.0.
+--- https://www.mint-lang.com
+---
+--- Install Mint using the [instructions](https://www.mint-lang.com/install).
+--- The language server is included since version 0.12.0.
return {
cmd = { 'mint', 'ls' },
filetypes = { 'mint' },
diff --git a/lsp/mlir_lsp_server.lua b/lsp/mlir_lsp_server.lua
index dc68f907..75bed78c 100644
--- a/lsp/mlir_lsp_server.lua
+++ b/lsp/mlir_lsp_server.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#mlir-lsp-language-server--mlir-lsp-server=
---
--- 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)
+--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#mlir-lsp-language-server--mlir-lsp-server=
+---
+--- 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)
return {
cmd = { 'mlir-lsp-server' },
filetypes = { 'mlir' },
diff --git a/lsp/mlir_pdll_lsp_server.lua b/lsp/mlir_pdll_lsp_server.lua
index 3a7d63b3..efcc8710 100644
--- a/lsp/mlir_pdll_lsp_server.lua
+++ b/lsp/mlir_pdll_lsp_server.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#pdll-lsp-language-server--mlir-pdll-lsp-server
---
--- 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)
+--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#pdll-lsp-language-server--mlir-pdll-lsp-server
+---
+--- 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)
return {
cmd = { 'mlir-pdll-lsp-server' },
filetypes = { 'pdll' },
diff --git a/lsp/mm0_ls.lua b/lsp/mm0_ls.lua
index 2c58415b..aa8c480d 100644
--- a/lsp/mm0_ls.lua
+++ b/lsp/mm0_ls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/digama0/mm0
---
--- Language Server for the metamath-zero theorem prover.
---
--- Requires [mm0-rs](https://github.com/digama0/mm0/tree/master/mm0-rs) to be installed
--- and available on the `PATH`.
+--- https://github.com/digama0/mm0
+---
+--- Language Server for the metamath-zero theorem prover.
+---
+--- Requires [mm0-rs](https://github.com/digama0/mm0/tree/master/mm0-rs) to be installed
+--- and available on the `PATH`.
return {
cmd = { 'mm0-rs', 'server' },
root_markers = { '.git' },
diff --git a/lsp/mojo.lua b/lsp/mojo.lua
index 4d67ca9f..8b84d87f 100644
--- a/lsp/mojo.lua
+++ b/lsp/mojo.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/modularml/mojo
---
--- `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.
+--- https://github.com/modularml/mojo
+---
+--- `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.
return {
cmd = { 'mojo-lsp-server' },
filetypes = { 'mojo' },
diff --git a/lsp/motoko_lsp.lua b/lsp/motoko_lsp.lua
index a9bd6944..f479e2d7 100644
--- a/lsp/motoko_lsp.lua
+++ b/lsp/motoko_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/dfinity/vscode-motoko
---
--- Language server for the Motoko programming language.
+--- https://github.com/dfinity/vscode-motoko
+---
+--- Language server for the Motoko programming language.
return {
cmd = { 'motoko-lsp', '--stdio' },
filetypes = { 'motoko' },
diff --git a/lsp/move_analyzer.lua b/lsp/move_analyzer.lua
index 9aea7084..71cfbe0a 100644
--- a/lsp/move_analyzer.lua
+++ b/lsp/move_analyzer.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://github.com/move-language/move/tree/main/language/move-analyzer
---
--- Language server for Move
---
--- The `move-analyzer` can be installed by running:
---
--- ```
--- cargo install --git https://github.com/move-language/move move-analyzer
--- ```
---
--- 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.
+--- https://github.com/move-language/move/tree/main/language/move-analyzer
+---
+--- Language server for Move
+---
+--- The `move-analyzer` can be installed by running:
+---
+--- ```
+--- cargo install --git https://github.com/move-language/move move-analyzer
+--- ```
+---
+--- 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.
return {
cmd = { 'move-analyzer' },
filetypes = { 'move' },
diff --git a/lsp/msbuild_project_tools_server.lua b/lsp/msbuild_project_tools_server.lua
index 490cfd2b..bf2f2b4b 100644
--- a/lsp/msbuild_project_tools_server.lua
+++ b/lsp/msbuild_project_tools_server.lua
@@ -1,39 +1,40 @@
+---@brief
+---
+--- https://github.com/tintoy/msbuild-project-tools-server/
+---
+--- MSBuild Project Tools Server can be installed by following the README.MD on the above repository.
+---
+--- Example config:
+--- ```lua
+--- vim.lsp.config('msbuild_project_tools_server', {
+--- cmd = {'dotnet', '/path/to/server/MSBuildProjectTools.LanguageServer.Host.dll'}
+--- })
+--- ```
+---
+--- There's no builtin filetypes for msbuild files, would require some filetype aliases:
+---
+--- ```lua
+--- vim.filetype.add({
+--- extension = {
+--- props = 'msbuild',
+--- tasks = 'msbuild',
+--- targets = 'msbuild',
+--- },
+--- pattern = {
+--- [ [[.*\..*proj]] ] = 'msbuild',
+--- },
+--- })
+--- ```
+---
+--- Optionally tell treesitter to treat `msbuild` as `xml` so you can get syntax highlighting if you have the treesitter-xml-parser installed.
+---
+--- ```lua
+--- vim.treesitter.language.register('xml', { 'msbuild' })
+--- ```
+
local host_dll_name = 'MSBuildProjectTools.LanguageServer.Host.dll'
local util = require 'lspconfig.util'
----@brief
----
--- https://github.com/tintoy/msbuild-project-tools-server/
---
--- MSBuild Project Tools Server can be installed by following the README.MD on the above repository.
---
--- Example config:
--- ```lua
--- vim.lsp.config('msbuild_project_tools_server', {
--- cmd = {'dotnet', '/path/to/server/MSBuildProjectTools.LanguageServer.Host.dll'}
--- })
--- ```
---
--- There's no builtin filetypes for msbuild files, would require some filetype aliases:
---
--- ```lua
--- vim.filetype.add({
--- extension = {
--- props = 'msbuild',
--- tasks = 'msbuild',
--- targets = 'msbuild',
--- },
--- pattern = {
--- [ [[.*\..*proj]] ] = 'msbuild',
--- },
--- })
--- ```
---
--- Optionally tell treesitter to treat `msbuild` as `xml` so you can get syntax highlighting if you have the treesitter-xml-parser installed.
---
--- ```lua
--- vim.treesitter.language.register('xml', { 'msbuild' })
--- ```
return {
filetypes = { 'msbuild' },
root_dir = function(bufnr, on_dir)
diff --git a/lsp/muon.lua b/lsp/muon.lua
index d99f6cd9..7d2f546e 100644
--- a/lsp/muon.lua
+++ b/lsp/muon.lua
@@ -1,6 +1,6 @@
---@brief
---
--- https://muon.build
+--- https://muon.build
return {
cmd = { 'muon', 'analyze', 'lsp' },
filetypes = { 'meson' },
diff --git a/lsp/mutt_ls.lua b/lsp/mutt_ls.lua
index cd2b17b8..21ae825c 100644
--- a/lsp/mutt_ls.lua
+++ b/lsp/mutt_ls.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/neomutt/mutt-language-server
---
--- A language server for (neo)mutt's muttrc. It can be installed via pip.
---
--- ```sh
--- pip install mutt-language-server
--- ```
+--- https://github.com/neomutt/mutt-language-server
+---
+--- A language server for (neo)mutt's muttrc. It can be installed via pip.
+---
+--- ```sh
+--- pip install mutt-language-server
+--- ```
return {
cmd = { 'mutt-language-server' },
filetypes = { 'muttrc', 'neomuttrc' },
diff --git a/lsp/nelua_lsp.lua b/lsp/nelua_lsp.lua
index e30311f7..7ad871fa 100644
--- a/lsp/nelua_lsp.lua
+++ b/lsp/nelua_lsp.lua
@@ -1,28 +1,28 @@
--- @brief
---
--- https://github.com/codehz/nelua-lsp
---
--- nelua-lsp is an experimental nelua language server.
---
--- You need [nelua.vim](https://github.com/stefanos82/nelua.vim/blob/main/ftdetect/nelua.vim) for nelua files to be recognized or add this to your config:
---
--- in vimscript:
--- ```vimscript
--- au BufNewFile,BufRead *.nelua setf nelua
--- ```
---
--- in lua:
--- ```lua
--- vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { pattern = { "*.nelua" }, command = "setf nelua"})
--- ```
---
--- **By default, nelua-lsp doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
---
--- ```lua
--- vim.lsp.config('nelua_lsp.setup, {
--- cmd = { "nelua", "-L", "/path/to/nelua-lsp/", "--script", "/path/to/nelua-lsp/nelua-lsp.lua" },
--- })
--- ```
+--- @brief
+---
+--- https://github.com/codehz/nelua-lsp
+---
+--- nelua-lsp is an experimental nelua language server.
+---
+--- You need [nelua.vim](https://github.com/stefanos82/nelua.vim/blob/main/ftdetect/nelua.vim) for nelua files to be recognized or add this to your config:
+---
+--- in vimscript:
+--- ```vimscript
+--- au BufNewFile,BufRead *.nelua setf nelua
+--- ```
+---
+--- in lua:
+--- ```lua
+--- vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { pattern = { "*.nelua" }, command = "setf nelua"})
+--- ```
+---
+--- **By default, nelua-lsp doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
+---
+--- ```lua
+--- vim.lsp.config('nelua_lsp.setup, {
+--- cmd = { "nelua", "-L", "/path/to/nelua-lsp/", "--script", "/path/to/nelua-lsp/nelua-lsp.lua" },
+--- })
+--- ```
return {
filetypes = { 'nelua' },
root_markers = { 'Makefile', '.git', '*.nelua' },
diff --git a/lsp/neocmake.lua b/lsp/neocmake.lua
index 8b5c46a7..8d066b01 100644
--- a/lsp/neocmake.lua
+++ b/lsp/neocmake.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/Decodetalkers/neocmakelsp
---
--- CMake LSP Implementation
---
--- Neovim does not currently include built-in snippets. `neocmakelsp` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
---
--- ```lua
--- --Enable (broadcasting) snippet capability for completion
--- local capabilities = vim.lsp.protocol.make_client_capabilities()
--- capabilities.textDocument.completion.completionItem.snippetSupport = true
---
--- vim.lsp.config('neocmake', {
--- capabilities = capabilities,
--- })
--- ```
+--- https://github.com/Decodetalkers/neocmakelsp
+---
+--- CMake LSP Implementation
+---
+--- Neovim does not currently include built-in snippets. `neocmakelsp` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
+---
+--- ```lua
+--- --Enable (broadcasting) snippet capability for completion
+--- local capabilities = vim.lsp.protocol.make_client_capabilities()
+--- capabilities.textDocument.completion.completionItem.snippetSupport = true
+---
+--- vim.lsp.config('neocmake', {
+--- capabilities = capabilities,
+--- })
+--- ```
return {
cmd = { 'neocmakelsp', '--stdio' },
filetypes = { 'cmake' },
diff --git a/lsp/nextflow_ls.lua b/lsp/nextflow_ls.lua
index aebab86b..8871b332 100644
--- a/lsp/nextflow_ls.lua
+++ b/lsp/nextflow_ls.lua
@@ -1,27 +1,27 @@
---@brief
---
--- https://github.com/nextflow-io/language-server
---
--- Requirements:
--- - Java 17+
---
--- `nextflow_ls` can be installed by following the instructions [here](https://github.com/nextflow-io/language-server#development).
---
--- If you have installed nextflow language server, you can set the `cmd` custom path as follow:
---
--- ```lua
--- vim.lsp.config('nextflow_ls', {
--- cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },
--- filetypes = { 'nextflow' },
--- settings = {
--- nextflow = {
--- files = {
--- exclude = { '.git', '.nf-test', 'work' },
--- },
--- },
--- },
--- })
--- ```
+--- https://github.com/nextflow-io/language-server
+---
+--- Requirements:
+--- - Java 17+
+---
+--- `nextflow_ls` can be installed by following the instructions [here](https://github.com/nextflow-io/language-server#development).
+---
+--- If you have installed nextflow language server, you can set the `cmd` custom path as follow:
+---
+--- ```lua
+--- vim.lsp.config('nextflow_ls', {
+--- cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },
+--- filetypes = { 'nextflow' },
+--- settings = {
+--- nextflow = {
+--- files = {
+--- exclude = { '.git', '.nf-test', 'work' },
+--- },
+--- },
+--- },
+--- })
+--- ```
return {
cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },
filetypes = { 'nextflow' },
diff --git a/lsp/nextls.lua b/lsp/nextls.lua
index ff5415f1..d6c57ffa 100644
--- a/lsp/nextls.lua
+++ b/lsp/nextls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- 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.**
+--- 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.**
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 8325f7bc..399ca36d 100644
--- a/lsp/nginx_language_server.lua
+++ b/lsp/nginx_language_server.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://pypi.org/project/nginx-language-server/
---
--- `nginx-language-server` can be installed via pip:
---
--- ```sh
--- pip install -U nginx-language-server
--- ```
+--- https://pypi.org/project/nginx-language-server/
+---
+--- `nginx-language-server` can be installed via pip:
+---
+--- ```sh
+--- pip install -U nginx-language-server
+--- ```
return {
cmd = { 'nginx-language-server' },
filetypes = { 'nginx' },
diff --git a/lsp/nickel_ls.lua b/lsp/nickel_ls.lua
index 2d44f0a0..1f704025 100644
--- a/lsp/nickel_ls.lua
+++ b/lsp/nickel_ls.lua
@@ -1,28 +1,28 @@
---@brief
---
--- Nickel Language Server
---
--- https://github.com/tweag/nickel
---
--- `nls` can be installed with nix, or cargo, from the Nickel repository.
--- ```sh
--- git clone https://github.com/tweag/nickel.git
--- ```
---
--- Nix:
--- ```sh
--- cd nickel
--- nix-env -f . -i
--- ```
---
--- cargo:
--- ```sh
--- cd nickel/lsp/nls
--- cargo install --path .
--- ```
---
--- 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).
+--- Nickel Language Server
+---
+--- https://github.com/tweag/nickel
+---
+--- `nls` can be installed with nix, or cargo, from the Nickel repository.
+--- ```sh
+--- git clone https://github.com/tweag/nickel.git
+--- ```
+---
+--- Nix:
+--- ```sh
+--- cd nickel
+--- nix-env -f . -i
+--- ```
+---
+--- cargo:
+--- ```sh
+--- cd nickel/lsp/nls
+--- cargo install --path .
+--- ```
+---
+--- 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).
return {
cmd = { 'nls' },
filetypes = { 'ncl', 'nickel' },
diff --git a/lsp/nil_ls.lua b/lsp/nil_ls.lua
index 2829674f..71c7ff21 100644
--- a/lsp/nil_ls.lua
+++ b/lsp/nil_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/oxalica/nil
---
--- A new language server for Nix Expression Language.
---
--- If you are using Nix with Flakes support, run `nix profile install github:oxalica/nil` to install.
--- Check the repository README for more information.
---
--- _See an example config at https://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix._
+--- https://github.com/oxalica/nil
+---
+--- A new language server for Nix Expression Language.
+---
+--- If you are using Nix with Flakes support, run `nix profile install github:oxalica/nil` to install.
+--- Check the repository README for more information.
+---
+--- _See an example config at https://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix._
return {
cmd = { 'nil' },
filetypes = { 'nix' },
diff --git a/lsp/nim_langserver.lua b/lsp/nim_langserver.lua
index 68d470f6..cd5dc655 100644
--- a/lsp/nim_langserver.lua
+++ b/lsp/nim_langserver.lua
@@ -1,14 +1,15 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/nim-lang/langserver
---
---
--- `nim-langserver` can be installed via the `nimble` package manager:
--- ```sh
--- nimble install nimlangserver
--- ```
+--- https://github.com/nim-lang/langserver
+---
+---
+--- `nim-langserver` can be installed via the `nimble` package manager:
+--- ```sh
+--- nimble install nimlangserver
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'nimlangserver' },
filetypes = { 'nim' },
diff --git a/lsp/nimls.lua b/lsp/nimls.lua
index 4c0d68b7..ada0d79e 100644
--- a/lsp/nimls.lua
+++ b/lsp/nimls.lua
@@ -1,14 +1,15 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/PMunch/nimlsp
---
--- `nimlsp` can be installed via the `nimble` package manager:
---
--- ```sh
--- nimble install nimlsp
--- ```
+--- https://github.com/PMunch/nimlsp
+---
+--- `nimlsp` can be installed via the `nimble` package manager:
+---
+--- ```sh
+--- nimble install nimlsp
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'nimlsp' },
filetypes = { 'nim' },
diff --git a/lsp/nixd.lua b/lsp/nixd.lua
index 7df0dfd9..2d01ebe0 100644
--- a/lsp/nixd.lua
+++ b/lsp/nixd.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/nix-community/nixd
---
--- Nix language server, based on nix libraries.
---
--- 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.
+--- https://github.com/nix-community/nixd
+---
+--- Nix language server, based on nix libraries.
+---
+--- 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.
return {
cmd = { 'nixd' },
filetypes = { 'nix' },
diff --git a/lsp/nomad_lsp.lua b/lsp/nomad_lsp.lua
index 37d26fc4..efc0ce77 100644
--- a/lsp/nomad_lsp.lua
+++ b/lsp/nomad_lsp.lua
@@ -1,3 +1,21 @@
+---@brief
+---
+--- https://github.com/juliosueiras/nomad-lsp
+---
+--- Written in Go, compilation is needed for `nomad_lsp` to be used. Please see the [original repository](https://github.com/juliosuieras/nomad-lsp).
+---
+--- Add the executable to your system or vim PATH and it will be set to go.
+---
+--- No configuration option is needed unless you choose not to add `nomad-lsp` executable to the PATH. You should know what you are doing if you choose so.
+---
+--- ```lua
+--- vim.lsp.enable('nomad_lsp')
+--- ```
+---
+--- However, a `hcl.nomad` or `nomad` filetype should be defined.
+---
+--- Description of your jobs should be written in `.nomad` files for the LSP client to configure the server's `root_dir` configuration option.
+
local util = require 'lspconfig.util'
local bin_name = 'nomad-lsp'
@@ -5,23 +23,6 @@ if vim.fn.has 'win32' == 1 then
bin_name = bin_name .. '.exe'
end
----@brief
----
--- https://github.com/juliosueiras/nomad-lsp
---
--- Written in Go, compilation is needed for `nomad_lsp` to be used. Please see the [original repository](https://github.com/juliosuieras/nomad-lsp).
---
--- Add the executable to your system or vim PATH and it will be set to go.
---
--- No configuration option is needed unless you choose not to add `nomad-lsp` executable to the PATH. You should know what you are doing if you choose so.
---
--- ```lua
--- vim.lsp.enable('nomad_lsp')
--- ```
---
--- However, a `hcl.nomad` or `nomad` filetype should be defined.
---
--- Description of your jobs should be written in `.nomad` files for the LSP client to configure the server's `root_dir` configuration option.
return {
cmd = { bin_name },
filetypes = { 'hcl.nomad', 'nomad' },
diff --git a/lsp/ntt.lua b/lsp/ntt.lua
index bf617ae3..6074a28c 100644
--- a/lsp/ntt.lua
+++ b/lsp/ntt.lua
@@ -1,20 +1,19 @@
-local bin_name = 'ntt'
-
---@brief
---
--- https://github.com/nokia/ntt
--- Installation instructions can be found [here](https://github.com/nokia/ntt#Install).
--- Can be configured by passing a "settings" object to `ntt.setup{}`:
--- ```lua
--- vim.lsp.config('ntt', {
--- settings = {
--- ntt = {
--- }
--- }
--- })
--- ```
+--- https://github.com/nokia/ntt
+--- Installation instructions can be found [here](https://github.com/nokia/ntt#Install).
+--- Can be configured by passing a "settings" object to `ntt.setup{}`:
+--- ```lua
+--- vim.lsp.config('ntt', {
+--- settings = {
+--- ntt = {
+--- }
+--- }
+--- })
+--- ```
+
return {
- cmd = { bin_name, 'langserver' },
+ cmd = { 'ntt', 'langserver' },
filetypes = { 'ttcn' },
root_markers = { '.git' },
}
diff --git a/lsp/nushell.lua b/lsp/nushell.lua
index c1755c43..14d2dc15 100644
--- a/lsp/nushell.lua
+++ b/lsp/nushell.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/nushell/nushell
---
--- Nushell built-in language server.
+--- https://github.com/nushell/nushell
+---
+--- Nushell built-in language server.
return {
cmd = { 'nu', '--lsp' },
filetypes = { 'nu' },
diff --git a/lsp/nxls.lua b/lsp/nxls.lua
index 5ec096ed..0c36cba7 100644
--- a/lsp/nxls.lua
+++ b/lsp/nxls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/nrwl/nx-console/tree/master/apps/nxls
---
--- nxls, a language server for Nx Workspaces
---
--- `nxls` can be installed via `npm`:
--- ```sh
--- npm i -g nxls
--- ```
+--- https://github.com/nrwl/nx-console/tree/master/apps/nxls
+---
+--- nxls, a language server for Nx Workspaces
+---
+--- `nxls` can be installed via `npm`:
+--- ```sh
+--- npm i -g nxls
+--- ```
return {
cmd = { 'nxls', '--stdio' },
filetypes = { 'json', 'jsonc' },
diff --git a/lsp/ocamlls.lua b/lsp/ocamlls.lua
index 46ba17d3..5f6fde5b 100644
--- a/lsp/ocamlls.lua
+++ b/lsp/ocamlls.lua
@@ -1,13 +1,14 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/ocaml-lsp/ocaml-language-server
---
--- `ocaml-language-server` can be installed via `npm`
--- ```sh
--- npm install -g ocaml-language-server
--- ```
+--- https://github.com/ocaml-lsp/ocaml-language-server
+---
+--- `ocaml-language-server` can be installed via `npm`
+--- ```sh
+--- npm install -g ocaml-language-server
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'ocaml-language-server', '--stdio' },
filetypes = { 'ocaml', 'reason' },
diff --git a/lsp/ocamllsp.lua b/lsp/ocamllsp.lua
index a2538d69..27dbf827 100644
--- a/lsp/ocamllsp.lua
+++ b/lsp/ocamllsp.lua
@@ -1,3 +1,14 @@
+---@brief
+---
+--- https://github.com/ocaml/ocaml-lsp
+---
+--- `ocaml-lsp` can be installed as described in [installation guide](https://github.com/ocaml/ocaml-lsp#installation).
+---
+--- To install the lsp server in a particular opam switch:
+--- ```sh
+--- opam install ocaml-lsp-server
+--- ```
+
local util = require 'lspconfig.util'
local language_id_of = {
@@ -13,16 +24,6 @@ local get_language_id = function(_, ftype)
return language_id_of[ftype]
end
----@brief
----
--- https://github.com/ocaml/ocaml-lsp
---
--- `ocaml-lsp` can be installed as described in [installation guide](https://github.com/ocaml/ocaml-lsp#installation).
---
--- To install the lsp server in a particular opam switch:
--- ```sh
--- opam install ocaml-lsp-server
--- ```
return {
cmd = { 'ocamllsp' },
filetypes = { 'ocaml', 'menhir', 'ocamlinterface', 'ocamllex', 'reason', 'dune' },
diff --git a/lsp/ols.lua b/lsp/ols.lua
index 5cde6e06..7aa1556e 100644
--- a/lsp/ols.lua
+++ b/lsp/ols.lua
@@ -1,10 +1,11 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/DanielGavin/ols
---
--- `Odin Language Server`.
+--- https://github.com/DanielGavin/ols
+---
+--- `Odin Language Server`.
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'ols' },
filetypes = { 'odin' },
diff --git a/lsp/omnisharp.lua b/lsp/omnisharp.lua
index ffe6ba39..196dcdda 100644
--- a/lsp/omnisharp.lua
+++ b/lsp/omnisharp.lua
@@ -1,18 +1,18 @@
---@brief
---
--- https://github.com/omnisharp/omnisharp-roslyn
--- OmniSharp server based on Roslyn workspaces
---
--- `omnisharp-roslyn` can be installed by downloading and extracting a release from [here](https://github.com/OmniSharp/omnisharp-roslyn/releases).
--- OmniSharp can also be built from source by following the instructions [here](https://github.com/omnisharp/omnisharp-roslyn#downloading-omnisharp).
---
--- OmniSharp requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
---
--- **By default, omnisharp-roslyn doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
---
--- For `go_to_definition` to work fully, extended `textDocument/definition` handler is needed, for example see [omnisharp-extended-lsp.nvim](https://github.com/Hoffs/omnisharp-extended-lsp.nvim)
---
---
+--- https://github.com/omnisharp/omnisharp-roslyn
+--- OmniSharp server based on Roslyn workspaces
+---
+--- `omnisharp-roslyn` can be installed by downloading and extracting a release from [here](https://github.com/OmniSharp/omnisharp-roslyn/releases).
+--- OmniSharp can also be built from source by following the instructions [here](https://github.com/omnisharp/omnisharp-roslyn#downloading-omnisharp).
+---
+--- OmniSharp requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
+---
+--- **By default, omnisharp-roslyn doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of the unzipped run script or binary.
+---
+--- For `go_to_definition` to work fully, extended `textDocument/definition` handler is needed, for example see [omnisharp-extended-lsp.nvim](https://github.com/Hoffs/omnisharp-extended-lsp.nvim)
+---
+---
return {
cmd = {
diff --git a/lsp/opencl_ls.lua b/lsp/opencl_ls.lua
index 6d6f4aef..4e2dcc5c 100644
--- a/lsp/opencl_ls.lua
+++ b/lsp/opencl_ls.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/Galarius/opencl-language-server
---
--- 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).
+--- https://github.com/Galarius/opencl-language-server
+---
+--- 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).
return {
cmd = { 'opencl-language-server' },
filetypes = { 'opencl' },
diff --git a/lsp/openscad_ls.lua b/lsp/openscad_ls.lua
index a6c7434d..813bb39f 100644
--- a/lsp/openscad_ls.lua
+++ b/lsp/openscad_ls.lua
@@ -1,23 +1,23 @@
---@brief
---
--- https://github.com/dzhu/openscad-language-server
---
--- A Language Server Protocol server for OpenSCAD
---
--- You can build and install `openscad-language-server` binary with `cargo`:
--- ```sh
--- cargo install openscad-language-server
--- ```
---
--- Vim does not have built-in syntax for the `openscad` filetype currently.
---
--- This can be added via an autocmd:
---
--- ```lua
--- vim.cmd [[ autocmd BufRead,BufNewFile *.scad set filetype=openscad ]]
--- ```
---
--- or by installing a filetype plugin such as https://github.com/sirtaj/vim-openscad
+--- https://github.com/dzhu/openscad-language-server
+---
+--- A Language Server Protocol server for OpenSCAD
+---
+--- You can build and install `openscad-language-server` binary with `cargo`:
+--- ```sh
+--- cargo install openscad-language-server
+--- ```
+---
+--- Vim does not have built-in syntax for the `openscad` filetype currently.
+---
+--- This can be added via an autocmd:
+---
+--- ```lua
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.scad set filetype=openscad ]]
+--- ```
+---
+--- or by installing a filetype plugin such as https://github.com/sirtaj/vim-openscad
return {
cmd = { 'openscad-language-server' },
filetypes = { 'openscad' },
diff --git a/lsp/openscad_lsp.lua b/lsp/openscad_lsp.lua
index ecddd0f7..c68ad968 100644
--- a/lsp/openscad_lsp.lua
+++ b/lsp/openscad_lsp.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/Leathong/openscad-LSP
---
--- A Language Server Protocol server for OpenSCAD
---
--- You can build and install `openscad-lsp` binary with `cargo`:
--- ```sh
--- cargo install openscad-lsp
--- ```
+--- https://github.com/Leathong/openscad-LSP
+---
+--- A Language Server Protocol server for OpenSCAD
+---
+--- You can build and install `openscad-lsp` binary with `cargo`:
+--- ```sh
+--- cargo install openscad-lsp
+--- ```
return {
cmd = { 'openscad-lsp', '--stdio' },
filetypes = { 'openscad' },
diff --git a/lsp/pact_ls.lua b/lsp/pact_ls.lua
index 739d4f40..d240195d 100644
--- a/lsp/pact_ls.lua
+++ b/lsp/pact_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/kadena-io/pact-lsp
---
--- The Pact language server
+--- https://github.com/kadena-io/pact-lsp
+---
+--- The Pact language server
return {
cmd = { 'pact-lsp' },
filetypes = { 'pact' },
diff --git a/lsp/pasls.lua b/lsp/pasls.lua
index e148213a..ef544c9d 100644
--- a/lsp/pasls.lua
+++ b/lsp/pasls.lua
@@ -1,21 +1,22 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/genericptr/pascal-language-server
---
--- An LSP server implementation for Pascal variants that are supported by Free Pascal, including Object Pascal. It uses CodeTools from Lazarus as backend.
---
--- First set `cmd` to the Pascal lsp binary.
---
--- Customization options are passed to pasls as environment variables for example in your `.bashrc`:
--- ```bash
--- export FPCDIR='/usr/lib/fpc/src' # FPC source directory (This is the only required option for the server to work).
--- export PP='/usr/lib/fpc/3.2.2/ppcx64' # Path to the Free Pascal compiler executable.
--- export LAZARUSDIR='/usr/lib/lazarus' # Path to the Lazarus sources.
--- export FPCTARGET='' # Target operating system for cross compiling.
--- export FPCTARGETCPU='x86_64' # Target CPU for cross compiling.
--- ```
+--- https://github.com/genericptr/pascal-language-server
+---
+--- An LSP server implementation for Pascal variants that are supported by Free Pascal, including Object Pascal. It uses CodeTools from Lazarus as backend.
+---
+--- First set `cmd` to the Pascal lsp binary.
+---
+--- Customization options are passed to pasls as environment variables for example in your `.bashrc`:
+--- ```bash
+--- export FPCDIR='/usr/lib/fpc/src' # FPC source directory (This is the only required option for the server to work).
+--- export PP='/usr/lib/fpc/3.2.2/ppcx64' # Path to the Free Pascal compiler executable.
+--- export LAZARUSDIR='/usr/lib/lazarus' # Path to the Lazarus sources.
+--- export FPCTARGET='' # Target operating system for cross compiling.
+--- export FPCTARGETCPU='x86_64' # Target CPU for cross compiling.
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'pasls' },
filetypes = { 'pascal' },
diff --git a/lsp/pbls.lua b/lsp/pbls.lua
index a506e4f7..98ae1fe6 100644
--- a/lsp/pbls.lua
+++ b/lsp/pbls.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://git.sr.ht/~rrc/pbls
---
--- Prerequisites: Ensure protoc is on your $PATH.
---
--- `pbls` can be installed via `cargo install`:
--- ```sh
--- cargo install --git https://git.sr.ht/~rrc/pbls
--- ```
---
--- pbls is a Language Server for protobuf
+--- https://git.sr.ht/~rrc/pbls
+---
+--- Prerequisites: Ensure protoc is on your $PATH.
+---
+--- `pbls` can be installed via `cargo install`:
+--- ```sh
+--- cargo install --git https://git.sr.ht/~rrc/pbls
+--- ```
+---
+--- pbls is a Language Server for protobuf
return {
cmd = { 'pbls' },
filetypes = { 'proto' },
diff --git a/lsp/perlls.lua b/lsp/perlls.lua
index 008c6dd0..e1deb618 100644
--- a/lsp/perlls.lua
+++ b/lsp/perlls.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/richterger/Perl-LanguageServer/tree/master/clients/vscode/perl
---
--- `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.
+--- https://github.com/richterger/Perl-LanguageServer/tree/master/clients/vscode/perl
+---
+--- `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.
return {
cmd = {
'perl',
diff --git a/lsp/perlnavigator.lua b/lsp/perlnavigator.lua
index eae4591c..0fef69c5 100644
--- a/lsp/perlnavigator.lua
+++ b/lsp/perlnavigator.lua
@@ -1,24 +1,24 @@
---@brief
---
--- https://github.com/bscan/PerlNavigator
---
--- A Perl language server. It can be installed via npm:
---
--- ```sh
--- npm i -g perlnavigator-server
--- ```
---
--- At minimum, you will need `perl` in your path. If you want to use a non-standard `perl` you will need to set your configuration like so:
--- ```lua
--- settings = {
--- perlnavigator = {
--- perlPath = '/some/odd/location/my-perl'
--- }
--- }
--- ```
---
--- 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.
+--- https://github.com/bscan/PerlNavigator
+---
+--- A Perl language server. It can be installed via npm:
+---
+--- ```sh
+--- npm i -g perlnavigator-server
+--- ```
+---
+--- At minimum, you will need `perl` in your path. If you want to use a non-standard `perl` you will need to set your configuration like so:
+--- ```lua
+--- settings = {
+--- perlnavigator = {
+--- perlPath = '/some/odd/location/my-perl'
+--- }
+--- }
+--- ```
+---
+--- 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.
return {
cmd = { 'perlnavigator' },
filetypes = { 'perl' },
diff --git a/lsp/perlpls.lua b/lsp/perlpls.lua
index e9cac5c7..7e8c7939 100644
--- a/lsp/perlpls.lua
+++ b/lsp/perlpls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/FractalBoy/perl-language-server
--- https://metacpan.org/pod/PLS
---
--- `PLS`, another language server for Perl.
---
--- To use the language server, ensure that you have PLS installed and that it is in your path
+--- https://github.com/FractalBoy/perl-language-server
+--- https://metacpan.org/pod/PLS
+---
+--- `PLS`, another language server for Perl.
+---
+--- To use the language server, ensure that you have PLS installed and that it is in your path
return {
cmd = { 'pls' },
settings = {
diff --git a/lsp/pest_ls.lua b/lsp/pest_ls.lua
index 62a1ede2..8ecf1826 100644
--- a/lsp/pest_ls.lua
+++ b/lsp/pest_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/pest-parser/pest-ide-tools
---
--- Language server for pest grammars.
+--- https://github.com/pest-parser/pest-ide-tools
+---
+--- Language server for pest grammars.
return {
cmd = { 'pest-language-server' },
filetypes = { 'pest' },
diff --git a/lsp/phan.lua b/lsp/phan.lua
index cec43b8f..c2fc12cb 100644
--- a/lsp/phan.lua
+++ b/lsp/phan.lua
@@ -1,3 +1,9 @@
+---@brief
+---
+--- https://github.com/phan/phan
+---
+--- Installation: https://github.com/phan/phan#getting-started
+
local util = require 'lspconfig.util'
local cmd = {
@@ -13,11 +19,6 @@ local cmd = {
'--allow-polyfill-parser',
}
----@brief
----
--- https://github.com/phan/phan
---
--- Installation: https://github.com/phan/phan#getting-started
return {
cmd = cmd,
filetypes = { 'php' },
diff --git a/lsp/phpactor.lua b/lsp/phpactor.lua
index 0f566608..638cf217 100644
--- a/lsp/phpactor.lua
+++ b/lsp/phpactor.lua
@@ -1,10 +1,11 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/phpactor/phpactor
---
--- Installation: https://phpactor.readthedocs.io/en/master/usage/standalone.html#global-installation
+--- https://github.com/phpactor/phpactor
+---
+--- Installation: https://phpactor.readthedocs.io/en/master/usage/standalone.html#global-installation
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'phpactor', 'language-server' },
filetypes = { 'php' },
diff --git a/lsp/pico8_ls.lua b/lsp/pico8_ls.lua
index ada2344d..24eb0d78 100644
--- a/lsp/pico8_ls.lua
+++ b/lsp/pico8_ls.lua
@@ -1,10 +1,11 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/japhib/pico8-ls
---
--- Full language support for the PICO-8 dialect of Lua.
+--- https://github.com/japhib/pico8-ls
+---
+--- Full language support for the PICO-8 dialect of Lua.
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'pico8-ls', '--stdio' },
filetypes = { 'p8' },
diff --git a/lsp/pkgbuild_language_server.lua b/lsp/pkgbuild_language_server.lua
index 1f5651d1..a7bd451b 100644
--- a/lsp/pkgbuild_language_server.lua
+++ b/lsp/pkgbuild_language_server.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/Freed-Wu/pkgbuild-language-server
---
--- Language server for ArchLinux/Windows Msys2's PKGBUILD.
+--- https://github.com/Freed-Wu/pkgbuild-language-server
+---
+--- Language server for ArchLinux/Windows Msys2's PKGBUILD.
return {
cmd = { 'pkgbuild-language-server' },
filetypes = { 'PKGBUILD' },
diff --git a/lsp/please.lua b/lsp/please.lua
index 0a392521..116fe51c 100644
--- a/lsp/please.lua
+++ b/lsp/please.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/thought-machine/please
---
--- High-performance extensible build system for reproducible multi-language builds.
---
--- The `plz` binary will automatically install the LSP for you on first run
+--- https://github.com/thought-machine/please
+---
+--- High-performance extensible build system for reproducible multi-language builds.
+---
+--- The `plz` binary will automatically install the LSP for you on first run
return {
cmd = { 'plz', 'tool', 'lps' },
filetypes = { 'bzl' },
diff --git a/lsp/poryscript_pls.lua b/lsp/poryscript_pls.lua
index 20726f7d..d0ad8618 100644
--- a/lsp/poryscript_pls.lua
+++ b/lsp/poryscript_pls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/huderlem/poryscript-pls
---
--- Language server for poryscript (a high level scripting language for GBA-era Pokémon decompilation projects)
+--- https://github.com/huderlem/poryscript-pls
+---
+--- Language server for poryscript (a high level scripting language for GBA-era Pokémon decompilation projects)
return {
cmd = { 'poryscript-pls' },
filetypes = { 'pory' },
diff --git a/lsp/postgres_lsp.lua b/lsp/postgres_lsp.lua
index 901059e3..3ae2669e 100644
--- a/lsp/postgres_lsp.lua
+++ b/lsp/postgres_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- 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.
+--- 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.
return {
cmd = { 'postgrestools', 'lsp-proxy' },
filetypes = {
diff --git a/lsp/prismals.lua b/lsp/prismals.lua
index 4dedd3cd..41afed23 100644
--- a/lsp/prismals.lua
+++ b/lsp/prismals.lua
@@ -1,11 +1,11 @@
---@brief
---
----Language Server for the Prisma JavaScript and TypeScript ORM
---
--- `@prisma/language-server` can be installed via npm
--- ```sh
--- npm install -g @prisma/language-server
--- ```
+--- Language Server for the Prisma JavaScript and TypeScript ORM
+---
+--- `@prisma/language-server` can be installed via npm
+--- ```sh
+--- npm install -g @prisma/language-server
+--- ```
return {
cmd = { 'prisma-language-server', '--stdio' },
filetypes = { 'prisma' },
diff --git a/lsp/prolog_ls.lua b/lsp/prolog_ls.lua
index d6d8eee7..bb8b6f35 100644
--- a/lsp/prolog_ls.lua
+++ b/lsp/prolog_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/jamesnvc/lsp_server
---
--- Language Server Protocol server for SWI-Prolog
+--- https://github.com/jamesnvc/lsp_server
+---
+--- Language Server Protocol server for SWI-Prolog
return {
cmd = {
'swipl',
diff --git a/lsp/prosemd_lsp.lua b/lsp/prosemd_lsp.lua
index bd406f9c..af8f9881 100644
--- a/lsp/prosemd_lsp.lua
+++ b/lsp/prosemd_lsp.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/kitten/prosemd-lsp
---
--- An experimental LSP for Markdown.
---
--- Please see the manual installation instructions: https://github.com/kitten/prosemd-lsp#manual-installation
+--- https://github.com/kitten/prosemd-lsp
+---
+--- An experimental LSP for Markdown.
+---
+--- Please see the manual installation instructions: https://github.com/kitten/prosemd-lsp#manual-installation
return {
cmd = { 'prosemd-lsp', '--stdio' },
filetypes = { 'markdown' },
diff --git a/lsp/protols.lua b/lsp/protols.lua
index 3d1deb2a..d5346607 100644
--- a/lsp/protols.lua
+++ b/lsp/protols.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/coder3101/protols
---
--- `protols` can be installed via `cargo`:
--- ```sh
--- cargo install protols
--- ```
---
--- A Language Server for proto3 files. It uses tree-sitter and runs in single file mode.
+--- https://github.com/coder3101/protols
+---
+--- `protols` can be installed via `cargo`:
+--- ```sh
+--- cargo install protols
+--- ```
+---
+--- A Language Server for proto3 files. It uses tree-sitter and runs in single file mode.
return {
cmd = { 'protols' },
filetypes = { 'proto' },
diff --git a/lsp/psalm.lua b/lsp/psalm.lua
index 39732e8f..8ccc96c7 100644
--- a/lsp/psalm.lua
+++ b/lsp/psalm.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/vimeo/psalm
---
--- Can be installed with composer.
--- ```sh
--- composer global require vimeo/psalm
--- ```
+--- https://github.com/vimeo/psalm
+---
+--- Can be installed with composer.
+--- ```sh
+--- composer global require vimeo/psalm
+--- ```
return {
cmd = { 'psalm', '--language-server' },
filetypes = { 'php' },
diff --git a/lsp/pug.lua b/lsp/pug.lua
index 14016d70..03503226 100644
--- a/lsp/pug.lua
+++ b/lsp/pug.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/opa-oz/pug-lsp
---
--- An implementation of the Language Protocol Server for [Pug.js](http://pugjs.org)
---
--- PugLSP can be installed via `go get github.com/opa-oz/pug-lsp`, or manually downloaded from [releases page](https://github.com/opa-oz/pug-lsp/releases)
+--- https://github.com/opa-oz/pug-lsp
+---
+--- An implementation of the Language Protocol Server for [Pug.js](http://pugjs.org)
+---
+--- PugLSP can be installed via `go get github.com/opa-oz/pug-lsp`, or manually downloaded from [releases page](https://github.com/opa-oz/pug-lsp/releases)
return {
cmd = { 'pug-lsp' },
filetypes = { 'pug' },
diff --git a/lsp/puppet.lua b/lsp/puppet.lua
index 6579666a..297e493b 100644
--- a/lsp/puppet.lua
+++ b/lsp/puppet.lua
@@ -1,19 +1,19 @@
---@brief
---
--- LSP server for Puppet.
---
--- Installation:
---
--- - Clone the editor-services repository:
--- https://github.com/puppetlabs/puppet-editor-services
---
--- - Navigate into that directory and run: `bundle install`
---
--- - Install the 'puppet-lint' gem: `gem install puppet-lint`
---
--- - Add that repository to $PATH.
---
--- - Ensure you can run `puppet-languageserver` from outside the editor-services directory.
+--- LSP server for Puppet.
+---
+--- Installation:
+---
+--- - Clone the editor-services repository:
+--- https://github.com/puppetlabs/puppet-editor-services
+---
+--- - Navigate into that directory and run: `bundle install`
+---
+--- - Install the 'puppet-lint' gem: `gem install puppet-lint`
+---
+--- - Add that repository to $PATH.
+---
+--- - Ensure you can run `puppet-languageserver` from outside the editor-services directory.
return {
cmd = { 'puppet-languageserver', '--stdio' },
filetypes = { 'puppet' },
diff --git a/lsp/purescriptls.lua b/lsp/purescriptls.lua
index 571f4e74..dcec93ef 100644
--- a/lsp/purescriptls.lua
+++ b/lsp/purescriptls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/nwolverson/purescript-language-server
---
--- The `purescript-language-server` can be added to your project and `$PATH` via
---
--- * JavaScript package manager such as npm, pnpm, Yarn, et al.
--- * Nix under the `nodePackages` and `nodePackages_latest` package sets
+--- https://github.com/nwolverson/purescript-language-server
+---
+--- The `purescript-language-server` can be added to your project and `$PATH` via
+---
+--- * JavaScript package manager such as npm, pnpm, Yarn, et al.
+--- * Nix under the `nodePackages` and `nodePackages_latest` package sets
return {
cmd = { 'purescript-language-server', '--stdio' },
filetypes = { 'purescript' },
diff --git a/lsp/pylsp.lua b/lsp/pylsp.lua
index 9b9381fd..bb6fcf90 100644
--- a/lsp/pylsp.lua
+++ b/lsp/pylsp.lua
@@ -1,30 +1,30 @@
---@brief
---
--- https://github.com/python-lsp/python-lsp-server
---
--- A Python 3.6+ implementation of the Language Server Protocol.
---
--- See the [project's README](https://github.com/python-lsp/python-lsp-server) for installation instructions.
---
--- Configuration options are documented [here](https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md).
--- In order to configure an option, it must be translated to a nested Lua table and included in the `settings` argument to the `config('pylsp', {})` function.
--- For example, in order to set the `pylsp.plugins.pycodestyle.ignore` option:
--- ```lua
--- vim.lsp.config('pylsp', {
--- settings = {
--- pylsp = {
--- plugins = {
--- pycodestyle = {
--- ignore = {'W391'},
--- maxLineLength = 100
--- }
--- }
--- }
--- }
--- })
--- ```
---
--- Note: This is a community fork of `pyls`.
+--- https://github.com/python-lsp/python-lsp-server
+---
+--- A Python 3.6+ implementation of the Language Server Protocol.
+---
+--- See the [project's README](https://github.com/python-lsp/python-lsp-server) for installation instructions.
+---
+--- Configuration options are documented [here](https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md).
+--- In order to configure an option, it must be translated to a nested Lua table and included in the `settings` argument to the `config('pylsp', {})` function.
+--- For example, in order to set the `pylsp.plugins.pycodestyle.ignore` option:
+--- ```lua
+--- vim.lsp.config('pylsp', {
+--- settings = {
+--- pylsp = {
+--- plugins = {
+--- pycodestyle = {
+--- ignore = {'W391'},
+--- maxLineLength = 100
+--- }
+--- }
+--- }
+--- }
+--- })
+--- ```
+---
+--- Note: This is a community fork of `pyls`.
return {
cmd = { 'pylsp' },
filetypes = { 'python' },
diff --git a/lsp/pylyzer.lua b/lsp/pylyzer.lua
index 1d8144cd..bad13328 100644
--- a/lsp/pylyzer.lua
+++ b/lsp/pylyzer.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/mtshiba/pylyzer
---
--- `pylyzer`, a fast static code analyzer & language server for Python.
+--- https://github.com/mtshiba/pylyzer
+---
+--- `pylyzer`, a fast static code analyzer & language server for Python.
return {
cmd = { 'pylyzer', '--server' },
filetypes = { 'python' },
diff --git a/lsp/pyre.lua b/lsp/pyre.lua
index f045fd0b..c46ec426 100644
--- a/lsp/pyre.lua
+++ b/lsp/pyre.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://pyre-check.org/
---
--- `pyre` a static type checker for Python 3.
---
--- `pyre` offers an extremely limited featureset. It currently only supports diagnostics,
--- which are triggered on save.
---
--- Do not report issues for missing features in `pyre` to `lspconfig`.
+--- https://pyre-check.org/
+---
+--- `pyre` a static type checker for Python 3.
+---
+--- `pyre` offers an extremely limited featureset. It currently only supports diagnostics,
+--- which are triggered on save.
+---
+--- Do not report issues for missing features in `pyre` to `lspconfig`.
return {
cmd = { 'pyre', 'persistent' },
filetypes = { 'python' },
diff --git a/lsp/pyright.lua b/lsp/pyright.lua
index 1acb7472..ae46ccdf 100644
--- a/lsp/pyright.lua
+++ b/lsp/pyright.lua
@@ -1,3 +1,9 @@
+---@brief
+---
+--- https://github.com/microsoft/pyright
+---
+--- `pyright`, a static type checker and language server for python
+
local function organize_imports()
local params = {
command = 'pyright.organizeimports',
@@ -28,11 +34,6 @@ local function set_python_path(path)
end
end
----@brief
----
--- https://github.com/microsoft/pyright
---
--- `pyright`, a static type checker and language server for python
return {
cmd = { 'pyright-langserver', '--stdio' },
filetypes = { 'python' },
diff --git a/lsp/qmlls.lua b/lsp/qmlls.lua
index 2d2a5c61..22e7a07b 100644
--- a/lsp/qmlls.lua
+++ b/lsp/qmlls.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html
---
--- > 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/)
+--- https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html
+---
+--- > 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/)
return {
cmd = { 'qmlls' },
filetypes = { 'qml', 'qmljs' },
diff --git a/lsp/quick_lint_js.lua b/lsp/quick_lint_js.lua
index 070c9262..99645bd0 100644
--- a/lsp/quick_lint_js.lua
+++ b/lsp/quick_lint_js.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://quick-lint-js.com/
---
--- quick-lint-js finds bugs in JavaScript programs.
---
--- See installation [instructions](https://quick-lint-js.com/install/)
+--- https://quick-lint-js.com/
+---
+--- quick-lint-js finds bugs in JavaScript programs.
+---
+--- See installation [instructions](https://quick-lint-js.com/install/)
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 e4dac551..8a54df16 100644
--- a/lsp/r_language_server.lua
+++ b/lsp/r_language_server.lua
@@ -1,14 +1,14 @@
---@brief
---
----[languageserver](https://github.com/REditorSupport/languageserver) is an
--- implementation of the Microsoft's Language Server Protocol for the R
--- language.
---
--- It is released on CRAN and can be easily installed by
---
--- ```r
--- install.packages("languageserver")
--- ```
+--- [languageserver](https://github.com/REditorSupport/languageserver) is an
+--- implementation of the Microsoft's Language Server Protocol for the R
+--- language.
+---
+--- It is released on CRAN and can be easily installed by
+---
+--- ```r
+--- install.packages("languageserver")
+--- ```
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 e92dd8a0..a6ac1e29 100644
--- a/lsp/racket_langserver.lua
+++ b/lsp/racket_langserver.lua
@@ -1,12 +1,12 @@
---@brief
---
----[https://github.com/jeapostrophe/racket-langserver](https://github.com/jeapostrophe/racket-langserver)
---
--- The Racket language server. This project seeks to use
--- [DrRacket](https://github.com/racket/drracket)'s public API to provide
--- functionality that mimics DrRacket's code tools as closely as possible.
---
--- Install via `raco`: `raco pkg install racket-langserver`
+--- [https://github.com/jeapostrophe/racket-langserver](https://github.com/jeapostrophe/racket-langserver)
+---
+--- The Racket language server. This project seeks to use
+--- [DrRacket](https://github.com/racket/drracket)'s public API to provide
+--- functionality that mimics DrRacket's code tools as closely as possible.
+---
+--- Install via `raco`: `raco pkg install racket-langserver`
return {
cmd = { 'racket', '--lib', 'racket-langserver' },
filetypes = { 'racket', 'scheme' },
diff --git a/lsp/raku_navigator.lua b/lsp/raku_navigator.lua
index 8e8369d3..aa8f7b70 100644
--- a/lsp/raku_navigator.lua
+++ b/lsp/raku_navigator.lua
@@ -1,24 +1,24 @@
---@brief
---
--- https://github.com/bscan/RakuNavigator
--- A Raku language server
--- **By default, raku_navigator doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path.
--- You have to install the language server manually.
--- Clone the RakuNavigator repo, install based on the [instructions](https://github.com/bscan/raku_Navigator#installation-for-other-editors),
--- and point `cmd` to `server.js` inside the `server/out` directory:
--- ```lua
--- cmd = {'node', '<path_to_repo>/server/out/server.js', '--stdio'}
--- ```
--- At minimum, you will need `raku` in your path. If you want to use a non-standard `raku` you will need to set your configuration like so:
--- ```lua
--- settings = {
--- raku_navigator = {
--- rakuPath = '/some/odd/location/my-raku'
--- }
--- }
--- ```
--- 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.
+--- https://github.com/bscan/RakuNavigator
+--- A Raku language server
+--- **By default, raku_navigator doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path.
+--- You have to install the language server manually.
+--- Clone the RakuNavigator repo, install based on the [instructions](https://github.com/bscan/raku_Navigator#installation-for-other-editors),
+--- and point `cmd` to `server.js` inside the `server/out` directory:
+--- ```lua
+--- cmd = {'node', '<path_to_repo>/server/out/server.js', '--stdio'}
+--- ```
+--- At minimum, you will need `raku` in your path. If you want to use a non-standard `raku` you will need to set your configuration like so:
+--- ```lua
+--- settings = {
+--- raku_navigator = {
+--- rakuPath = '/some/odd/location/my-raku'
+--- }
+--- }
+--- ```
+--- 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.
return {
cmd = {},
filetypes = { 'raku' },
diff --git a/lsp/reason_ls.lua b/lsp/reason_ls.lua
index a00b4fdd..9fd80027 100644
--- a/lsp/reason_ls.lua
+++ b/lsp/reason_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
----Reason language server
---
--- You can install reason language server from [reason-language-server](https://github.com/jaredly/reason-language-server) repository.
+--- Reason language server
+---
+--- You can install reason language server from [reason-language-server](https://github.com/jaredly/reason-language-server) repository.
return {
cmd = { 'reason-language-server' },
filetypes = { 'reason' },
diff --git a/lsp/regal.lua b/lsp/regal.lua
index 1ef6fcec..08fa74b2 100644
--- a/lsp/regal.lua
+++ b/lsp/regal.lua
@@ -1,15 +1,16 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/StyraInc/regal
---
--- A linter for Rego, with support for running as an LSP server.
---
--- `regal` can be installed by running:
--- ```sh
--- go install github.com/StyraInc/regal@latest
--- ```
+--- https://github.com/StyraInc/regal
+---
+--- A linter for Rego, with support for running as an LSP server.
+---
+--- `regal` can be installed by running:
+--- ```sh
+--- go install github.com/StyraInc/regal@latest
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'regal', 'language-server' },
filetypes = { 'rego' },
diff --git a/lsp/regols.lua b/lsp/regols.lua
index db6e3a6e..8953a093 100644
--- a/lsp/regols.lua
+++ b/lsp/regols.lua
@@ -1,15 +1,16 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/kitagry/regols
---
--- OPA Rego language server.
---
--- `regols` can be installed by running:
--- ```sh
--- go install github.com/kitagry/regols@latest
--- ```
+--- https://github.com/kitagry/regols
+---
+--- OPA Rego language server.
+---
+--- `regols` can be installed by running:
+--- ```sh
+--- go install github.com/kitagry/regols@latest
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'regols' },
filetypes = { 'rego' },
diff --git a/lsp/remark_ls.lua b/lsp/remark_ls.lua
index 3bf09cff..59cdbc20 100644
--- a/lsp/remark_ls.lua
+++ b/lsp/remark_ls.lua
@@ -1,33 +1,33 @@
---@brief
---
--- https://github.com/remarkjs/remark-language-server
---
--- `remark-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g remark-language-server
--- ```
---
--- `remark-language-server` uses the same
--- [configuration files](https://github.com/remarkjs/remark/tree/main/packages/remark-cli#example-config-files-json-yaml-js)
--- as `remark-cli`.
---
--- This uses a plugin based system. Each plugin needs to be installed locally using `npm` or `yarn`.
---
--- For example, given the following `.remarkrc.json`:
---
--- ```json
--- {
--- "presets": [
--- "remark-preset-lint-recommended"
--- ]
--- }
--- ```
---
--- `remark-preset-lint-recommended` needs to be installed in the local project:
---
--- ```sh
--- npm install remark-preset-lint-recommended
--- ```
+--- https://github.com/remarkjs/remark-language-server
+---
+--- `remark-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g remark-language-server
+--- ```
+---
+--- `remark-language-server` uses the same
+--- [configuration files](https://github.com/remarkjs/remark/tree/main/packages/remark-cli#example-config-files-json-yaml-js)
+--- as `remark-cli`.
+---
+--- This uses a plugin based system. Each plugin needs to be installed locally using `npm` or `yarn`.
+---
+--- For example, given the following `.remarkrc.json`:
+---
+--- ```json
+--- {
+--- "presets": [
+--- "remark-preset-lint-recommended"
+--- ]
+--- }
+--- ```
+---
+--- `remark-preset-lint-recommended` needs to be installed in the local project:
+---
+--- ```sh
+--- npm install remark-preset-lint-recommended
+--- ```
return {
cmd = { 'remark-language-server', '--stdio' },
filetypes = { 'markdown' },
diff --git a/lsp/rescriptls.lua b/lsp/rescriptls.lua
index 1e94136a..85203441 100644
--- a/lsp/rescriptls.lua
+++ b/lsp/rescriptls.lua
@@ -1,27 +1,27 @@
---@brief
---
--- https://github.com/rescript-lang/rescript-vscode/tree/master/server
---
--- ReScript Language Server can be installed via npm:
--- ```sh
--- npm install -g @rescript/language-server
--- ```
---
--- See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
--- for init_options supported.
---
--- For example, in order to disable the `inlayHints` option:
--- ```lua
--- vim.lsp.config('rescriptls', {
--- settings = {
--- rescript = {
--- settings = {
--- inlayHints = { enable = false },
--- },
--- },
--- })
--- }
--- ```
+--- https://github.com/rescript-lang/rescript-vscode/tree/master/server
+---
+--- ReScript Language Server can be installed via npm:
+--- ```sh
+--- npm install -g @rescript/language-server
+--- ```
+---
+--- See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
+--- for init_options supported.
+---
+--- For example, in order to disable the `inlayHints` option:
+--- ```lua
+--- vim.lsp.config('rescriptls', {
+--- settings = {
+--- rescript = {
+--- settings = {
+--- inlayHints = { enable = false },
+--- },
+--- },
+--- })
+--- }
+--- ```
return {
cmd = { 'rescript-language-server', '--stdio' },
filetypes = { 'rescript' },
diff --git a/lsp/rls.lua b/lsp/rls.lua
index 9055adaf..c47c94a4 100644
--- a/lsp/rls.lua
+++ b/lsp/rls.lua
@@ -1,31 +1,31 @@
---@brief
---
--- https://github.com/rust-lang/rls
---
--- rls, a language server for Rust
---
--- See https://github.com/rust-lang/rls#setup to setup rls itself.
--- See https://github.com/rust-lang/rls#configuration for rls-specific settings.
--- All settings listed on the rls configuration section of the readme
--- must be set under settings.rust as follows:
---
--- ```lua
--- vim.lsp.config('rls', {
--- settings = {
--- rust = {
--- unstable_features = true,
--- build_on_save = false,
--- all_features = true,
--- },
--- },
--- })
--- ```
---
--- If you want to use rls for a particular build, eg nightly, set cmd as follows:
---
--- ```lua
--- cmd = {"rustup", "run", "nightly", "rls"}
--- ```
+--- https://github.com/rust-lang/rls
+---
+--- rls, a language server for Rust
+---
+--- See https://github.com/rust-lang/rls#setup to setup rls itself.
+--- See https://github.com/rust-lang/rls#configuration for rls-specific settings.
+--- All settings listed on the rls configuration section of the readme
+--- must be set under settings.rust as follows:
+---
+--- ```lua
+--- vim.lsp.config('rls', {
+--- settings = {
+--- rust = {
+--- unstable_features = true,
+--- build_on_save = false,
+--- all_features = true,
+--- },
+--- },
+--- })
+--- ```
+---
+--- If you want to use rls for a particular build, eg nightly, set cmd as follows:
+---
+--- ```lua
+--- cmd = {"rustup", "run", "nightly", "rls"}
+--- ```
return {
cmd = { 'rls' },
filetypes = { 'rust' },
diff --git a/lsp/rnix.lua b/lsp/rnix.lua
index c468f3c3..8a8f9b39 100644
--- a/lsp/rnix.lua
+++ b/lsp/rnix.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/nix-community/rnix-lsp
---
--- A language server for Nix providing basic completion and formatting via nixpkgs-fmt.
---
--- 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.
+--- https://github.com/nix-community/rnix-lsp
+---
+--- A language server for Nix providing basic completion and formatting via nixpkgs-fmt.
+---
+--- 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.
return {
cmd = { 'rnix-lsp' },
filetypes = { 'nix' },
diff --git a/lsp/robotcode.lua b/lsp/robotcode.lua
index 7e9eea91..1193a3ab 100644
--- a/lsp/robotcode.lua
+++ b/lsp/robotcode.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://robotcode.io
---
--- RobotCode - Language Server Protocol implementation for Robot Framework.
+--- https://robotcode.io
+---
+--- RobotCode - Language Server Protocol implementation for Robot Framework.
return {
cmd = { 'robotcode', 'language-server' },
filetypes = { 'robot', 'resource' },
diff --git a/lsp/robotframework_ls.lua b/lsp/robotframework_ls.lua
index 3c20c9c4..5b9b5b55 100644
--- a/lsp/robotframework_ls.lua
+++ b/lsp/robotframework_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/robocorp/robotframework-lsp
---
--- Language Server Protocol implementation for Robot Framework.
+--- https://github.com/robocorp/robotframework-lsp
+---
+--- Language Server Protocol implementation for Robot Framework.
return {
cmd = { 'robotframework_ls' },
filetypes = { 'robot' },
diff --git a/lsp/roc_ls.lua b/lsp/roc_ls.lua
index 5af09926..fb0921ac 100644
--- a/lsp/roc_ls.lua
+++ b/lsp/roc_ls.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/roc-lang/roc/tree/main/crates/language_server#roc_language_server
---
--- The built-in language server for the Roc programming language.
--- [Installation](https://github.com/roc-lang/roc/tree/main/crates/language_server#installing)
+--- https://github.com/roc-lang/roc/tree/main/crates/language_server#roc_language_server
+---
+--- The built-in language server for the Roc programming language.
+--- [Installation](https://github.com/roc-lang/roc/tree/main/crates/language_server#installing)
return {
cmd = { 'roc_language_server' },
filetypes = { 'roc' },
diff --git a/lsp/rome.lua b/lsp/rome.lua
index 9fb28729..5afbdac5 100644
--- a/lsp/rome.lua
+++ b/lsp/rome.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://rome.tools
---
--- Language server for the Rome Frontend Toolchain.
---
--- (Unmaintained, use [Biome](https://biomejs.dev/blog/annoucing-biome) instead.)
---
--- ```sh
--- npm install [-g] rome
--- ```
+--- https://rome.tools
+---
+--- Language server for the Rome Frontend Toolchain.
+---
+--- (Unmaintained, use [Biome](https://biomejs.dev/blog/annoucing-biome) instead.)
+---
+--- ```sh
+--- npm install [-g] rome
+--- ```
return {
cmd = { 'rome', 'lsp-proxy' },
filetypes = {
diff --git a/lsp/rpmspec.lua b/lsp/rpmspec.lua
index 099350d4..e5545d2c 100644
--- a/lsp/rpmspec.lua
+++ b/lsp/rpmspec.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/dcermak/rpm-spec-language-server
---
--- Language server protocol (LSP) support for RPM Spec files.
+--- https://github.com/dcermak/rpm-spec-language-server
+---
+--- Language server protocol (LSP) support for RPM Spec files.
return {
cmd = { 'python3', '-mrpm_lsp_server', '--stdio' },
filetypes = { 'spec' },
diff --git a/lsp/rubocop.lua b/lsp/rubocop.lua
index 3560772d..619df5c1 100644
--- a/lsp/rubocop.lua
+++ b/lsp/rubocop.lua
@@ -1,6 +1,6 @@
---@brief
---
--- https://github.com/rubocop/rubocop
+--- https://github.com/rubocop/rubocop
return {
cmd = { 'rubocop', '--lsp' },
filetypes = { 'ruby' },
diff --git a/lsp/ruby_lsp.lua b/lsp/ruby_lsp.lua
index 754420ce..db6c4da2 100644
--- a/lsp/ruby_lsp.lua
+++ b/lsp/ruby_lsp.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://shopify.github.io/ruby-lsp/
---
--- This gem is an implementation of the language server protocol specification for
--- Ruby, used to improve editor features.
---
--- Install the gem. There's no need to require it, since the server is used as a
--- standalone executable.
---
--- ```sh
--- gem install ruby-lsp
--- ```
+--- https://shopify.github.io/ruby-lsp/
+---
+--- This gem is an implementation of the language server protocol specification for
+--- Ruby, used to improve editor features.
+---
+--- Install the gem. There's no need to require it, since the server is used as a
+--- standalone executable.
+---
+--- ```sh
+--- gem install ruby-lsp
+--- ```
return {
cmd = { 'ruby-lsp' },
filetypes = { 'ruby', 'eruby' },
diff --git a/lsp/ruff.lua b/lsp/ruff.lua
index f458fd75..1df0b764 100644
--- a/lsp/ruff.lua
+++ b/lsp/ruff.lua
@@ -1,30 +1,30 @@
---@brief
---
--- https://github.com/astral-sh/ruff
---
--- A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via `pip`.
---
--- ```sh
--- pip install ruff
--- ```
---
--- **Available in Ruff `v0.4.5` in beta and stabilized in Ruff `v0.5.3`.**
---
--- This is the new built-in language server written in Rust. It supports the same feature set as `ruff-lsp`, but with superior performance and no installation required. Note that the `ruff-lsp` server will continue to be maintained until further notice.
---
--- Server settings can be provided via:
---
--- ```lua
--- vim.lsp.config('ruff', {
--- init_options = {
--- settings = {
--- -- Server settings should go here
--- }
--- }
--- })
--- ```
---
--- Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more details.
+--- https://github.com/astral-sh/ruff
+---
+--- A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via `pip`.
+---
+--- ```sh
+--- pip install ruff
+--- ```
+---
+--- **Available in Ruff `v0.4.5` in beta and stabilized in Ruff `v0.5.3`.**
+---
+--- This is the new built-in language server written in Rust. It supports the same feature set as `ruff-lsp`, but with superior performance and no installation required. Note that the `ruff-lsp` server will continue to be maintained until further notice.
+---
+--- Server settings can be provided via:
+---
+--- ```lua
+--- vim.lsp.config('ruff', {
+--- init_options = {
+--- settings = {
+--- -- Server settings should go here
+--- }
+--- }
+--- })
+--- ```
+---
+--- Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more details.
return {
cmd = { 'ruff', 'server' },
filetypes = { 'python' },
diff --git a/lsp/ruff_lsp.lua b/lsp/ruff_lsp.lua
index 56bfabe7..127a4e0a 100644
--- a/lsp/ruff_lsp.lua
+++ b/lsp/ruff_lsp.lua
@@ -1,25 +1,25 @@
---@brief
---
--- https://github.com/astral-sh/ruff-lsp
---
--- A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code transformation tool, written in Rust. It can be installed via pip.
---
--- ```sh
--- pip install ruff-lsp
--- ```
---
--- Extra CLI arguments for `ruff` can be provided via
---
--- ```lua
--- vim.lsp.config('ruff_lsp', {
--- init_options = {
--- settings = {
--- -- Any extra CLI arguments for `ruff` go here.
--- args = {},
--- }
--- }
--- })
--- ```
+--- https://github.com/astral-sh/ruff-lsp
+---
+--- A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code transformation tool, written in Rust. It can be installed via pip.
+---
+--- ```sh
+--- pip install ruff-lsp
+--- ```
+---
+--- Extra CLI arguments for `ruff` can be provided via
+---
+--- ```lua
+--- vim.lsp.config('ruff_lsp', {
+--- init_options = {
+--- settings = {
+--- -- Any extra CLI arguments for `ruff` go here.
+--- args = {},
+--- }
+--- }
+--- })
+--- ```
return {
cmd = { 'ruff-lsp' },
filetypes = { 'python' },
diff --git a/lsp/rune_languageserver.lua b/lsp/rune_languageserver.lua
index 53d58e89..fbf33477 100644
--- a/lsp/rune_languageserver.lua
+++ b/lsp/rune_languageserver.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://crates.io/crates/rune-languageserver
---
--- A language server for the [Rune](https://rune-rs.github.io/) Language,
--- an embeddable dynamic programming language for Rust
+--- https://crates.io/crates/rune-languageserver
+---
+--- A language server for the [Rune](https://rune-rs.github.io/) Language,
+--- an embeddable dynamic programming language for Rust
return {
cmd = { 'rune-languageserver' },
filetypes = { 'rune' },
diff --git a/lsp/rust_analyzer.lua b/lsp/rust_analyzer.lua
index 7bcd5a4d..754eed09 100644
--- a/lsp/rust_analyzer.lua
+++ b/lsp/rust_analyzer.lua
@@ -1,3 +1,26 @@
+---@brief
+---
+--- https://github.com/rust-lang/rust-analyzer
+---
+--- rust-analyzer (aka rls 2.0), a language server for Rust
+---
+---
+--- See [docs](https://rust-analyzer.github.io/book/configuration.html) for extra settings. The settings can be used like this:
+--- ```lua
+--- vim.lsp.config('rust_analyzer', {
+--- settings = {
+--- ['rust-analyzer'] = {
+--- diagnostics = {
+--- enable = false;
+--- }
+--- }
+--- }
+--- })
+--- ```
+---
+--- Note: do not set `init_options` for this LS config, it will be automatically populated by the contents of settings["rust-analyzer"] per
+--- https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26.
+
local util = require 'lspconfig.util'
local function reload_workspace(bufnr)
@@ -31,28 +54,6 @@ local function is_library(fname)
end
end
----@brief
----
--- https://github.com/rust-lang/rust-analyzer
---
--- rust-analyzer (aka rls 2.0), a language server for Rust
---
---
--- See [docs](https://rust-analyzer.github.io/book/configuration.html) for extra settings. The settings can be used like this:
--- ```lua
--- vim.lsp.config('rust_analyzer', {
--- settings = {
--- ['rust-analyzer'] = {
--- diagnostics = {
--- enable = false;
--- }
--- }
--- }
--- })
--- ```
---
--- Note: do not set `init_options` for this LS config, it will be automatically populated by the contents of settings["rust-analyzer"] per
--- https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26.
return {
cmd = { 'rust-analyzer' },
filetypes = { 'rust' },
diff --git a/lsp/salt_ls.lua b/lsp/salt_ls.lua
index 628114ff..4710478f 100644
--- a/lsp/salt_ls.lua
+++ b/lsp/salt_ls.lua
@@ -1,12 +1,12 @@
---@brief
---
----Language server for Salt configuration files.
--- https://github.com/dcermak/salt-lsp
---
--- The language server can be installed with `pip`:
--- ```sh
--- pip install salt-lsp
--- ```
+--- Language server for Salt configuration files.
+--- https://github.com/dcermak/salt-lsp
+---
+--- The language server can be installed with `pip`:
+--- ```sh
+--- pip install salt-lsp
+--- ```
return {
cmd = { 'salt_lsp_server' },
filetypes = { 'sls' },
diff --git a/lsp/scheme_langserver.lua b/lsp/scheme_langserver.lua
index a51f0268..b3fefa75 100644
--- a/lsp/scheme_langserver.lua
+++ b/lsp/scheme_langserver.lua
@@ -1,10 +1,11 @@
-local cmd = { 'scheme-langserver', '~/.scheme-langserver.log', 'enable', 'disable' }
-
---@brief
---
--- https://github.com/ufo5260987423/scheme-langserver
--- `scheme-langserver`, a language server protocol implementation for scheme.
--- And for nvim user, please add .sls to scheme file extension list.
+--- https://github.com/ufo5260987423/scheme-langserver
+--- `scheme-langserver`, a language server protocol implementation for scheme.
+--- And for nvim user, please add .sls to scheme file extension list.
+
+local cmd = { 'scheme-langserver', '~/.scheme-langserver.log', 'enable', 'disable' }
+
return {
cmd = cmd,
filetypes = { 'scheme' },
diff --git a/lsp/scry.lua b/lsp/scry.lua
index 657fbc31..895c80c5 100644
--- a/lsp/scry.lua
+++ b/lsp/scry.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/crystal-lang-tools/scry
---
--- Crystal language server.
+--- https://github.com/crystal-lang-tools/scry
+---
+--- Crystal language server.
return {
cmd = { 'scry' },
filetypes = { 'crystal' },
diff --git a/lsp/selene3p_ls.lua b/lsp/selene3p_ls.lua
index 9cbf7e12..72755cf4 100644
--- a/lsp/selene3p_ls.lua
+++ b/lsp/selene3p_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/antonk52/lua-3p-language-servers
---
--- 3rd party Language Server for Selene lua linter
+--- https://github.com/antonk52/lua-3p-language-servers
+---
+--- 3rd party Language Server for Selene lua linter
return {
cmd = { 'selene-3p-language-server' },
filetypes = { 'lua' },
diff --git a/lsp/serve_d.lua b/lsp/serve_d.lua
index 054f943f..63e7eb11 100644
--- a/lsp/serve_d.lua
+++ b/lsp/serve_d.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/Pure-D/serve-d
---
--- 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.
+--- https://github.com/Pure-D/serve-d
+---
+--- 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.
return {
cmd = { 'serve-d' },
filetypes = { 'd' },
diff --git a/lsp/shopify_theme_ls.lua b/lsp/shopify_theme_ls.lua
index cefa764c..5415a302 100644
--- a/lsp/shopify_theme_ls.lua
+++ b/lsp/shopify_theme_ls.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://shopify.dev/docs/api/shopify-cli
---
--- [Language Server](https://shopify.dev/docs/themes/tools/cli/language-server) and Theme Check (linter) for Shopify themes.
---
--- `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.
+--- https://shopify.dev/docs/api/shopify-cli
+---
+--- [Language Server](https://shopify.dev/docs/themes/tools/cli/language-server) and Theme Check (linter) for Shopify themes.
+---
+--- `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.
return {
cmd = {
'shopify',
diff --git a/lsp/sixtyfps.lua b/lsp/sixtyfps.lua
index 01c6d3b2..573c3ad5 100644
--- a/lsp/sixtyfps.lua
+++ b/lsp/sixtyfps.lua
@@ -1,22 +1,22 @@
---@brief
---
--- https://github.com/sixtyfpsui/sixtyfps
--- `SixtyFPS`'s language server
---
--- You can build and install `sixtyfps-lsp` binary with `cargo`:
--- ```sh
--- cargo install sixtyfps-lsp
--- ```
---
--- Vim does not have built-in syntax for the `sixtyfps` filetype currently.
---
--- This can be added via an autocmd:
---
--- ```lua
--- vim.cmd [[ autocmd BufRead,BufNewFile *.60 set filetype=sixtyfps ]]
--- ```
---
--- or by installing a filetype plugin such as https://github.com/RustemB/sixtyfps-vim
+--- https://github.com/sixtyfpsui/sixtyfps
+--- `SixtyFPS`'s language server
+---
+--- You can build and install `sixtyfps-lsp` binary with `cargo`:
+--- ```sh
+--- cargo install sixtyfps-lsp
+--- ```
+---
+--- Vim does not have built-in syntax for the `sixtyfps` filetype currently.
+---
+--- This can be added via an autocmd:
+---
+--- ```lua
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.60 set filetype=sixtyfps ]]
+--- ```
+---
+--- or by installing a filetype plugin such as https://github.com/RustemB/sixtyfps-vim
return {
cmd = { 'sixtyfps-lsp' },
filetypes = { 'sixtyfps' },
diff --git a/lsp/slangd.lua b/lsp/slangd.lua
index 1aa49270..1dcf12dd 100644
--- a/lsp/slangd.lua
+++ b/lsp/slangd.lua
@@ -1,33 +1,34 @@
+---@brief
+---
+--- https://github.com/shader-slang/slang
+---
+--- The `slangd` binary can be downloaded as part of [slang releases](https://github.com/shader-slang/slang/releases) or
+--- by [building `slang` from source](https://github.com/shader-slang/slang/blob/master/docs/building.md).
+---
+--- The server can be configured by passing a "settings" object to `slangd.setup{}`:
+---
+--- ```lua
+--- vim.lsp.config('slangd', {
+--- settings = {
+--- slang = {
+--- predefinedMacros = {"MY_VALUE_MACRO=1"},
+--- inlayHints = {
+--- deducedTypes = true,
+--- parameterNames = true,
+--- }
+--- }
+--- }
+--- })
+--- ```
+--- Available options are documented [here](https://github.com/shader-slang/slang-vscode-extension/tree/main?tab=readme-ov-file#configurations)
+--- or in more detail [here](https://github.com/shader-slang/slang-vscode-extension/blob/main/package.json#L70).
+
local bin_name = 'slangd'
if vim.fn.has 'win32' == 1 then
bin_name = 'slangd.exe'
end
----@brief
----
--- https://github.com/shader-slang/slang
---
--- The `slangd` binary can be downloaded as part of [slang releases](https://github.com/shader-slang/slang/releases) or
--- by [building `slang` from source](https://github.com/shader-slang/slang/blob/master/docs/building.md).
---
--- The server can be configured by passing a "settings" object to `slangd.setup{}`:
---
--- ```lua
--- vim.lsp.config('slangd', {
--- settings = {
--- slang = {
--- predefinedMacros = {"MY_VALUE_MACRO=1"},
--- inlayHints = {
--- deducedTypes = true,
--- parameterNames = true,
--- }
--- }
--- }
--- })
--- ```
--- Available options are documented [here](https://github.com/shader-slang/slang-vscode-extension/tree/main?tab=readme-ov-file#configurations)
--- or in more detail [here](https://github.com/shader-slang/slang-vscode-extension/blob/main/package.json#L70).
return {
cmd = { bin_name },
filetypes = { 'hlsl', 'shaderslang' },
diff --git a/lsp/slint_lsp.lua b/lsp/slint_lsp.lua
index 92d3fbc6..60904509 100644
--- a/lsp/slint_lsp.lua
+++ b/lsp/slint_lsp.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/slint-ui/slint
--- `Slint`'s language server
---
--- You can build and install `slint-lsp` binary with `cargo`:
--- ```sh
--- cargo install slint-lsp
--- ```
---
--- Vim does not have built-in syntax for the `slint` filetype at this time.
---
--- This can be added via an autocmd:
---
--- ```lua
--- vim.cmd [[ autocmd BufRead,BufNewFile *.slint set filetype=slint ]]
--- ```
+--- https://github.com/slint-ui/slint
+--- `Slint`'s language server
+---
+--- You can build and install `slint-lsp` binary with `cargo`:
+--- ```sh
+--- cargo install slint-lsp
+--- ```
+---
+--- Vim does not have built-in syntax for the `slint` filetype at this time.
+---
+--- This can be added via an autocmd:
+---
+--- ```lua
+--- vim.cmd [[ autocmd BufRead,BufNewFile *.slint set filetype=slint ]]
+--- ```
return {
cmd = { 'slint-lsp' },
filetypes = { 'slint' },
diff --git a/lsp/smarty_ls.lua b/lsp/smarty_ls.lua
index 291329ca..6fbaea02 100644
--- a/lsp/smarty_ls.lua
+++ b/lsp/smarty_ls.lua
@@ -1,16 +1,17 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/landeaux/vscode-smarty-langserver-extracted
---
--- Language server for Smarty.
---
--- `smarty-language-server` can be installed via `npm`:
---
--- ```sh
--- npm i -g vscode-smarty-langserver-extracted
--- ```
+--- https://github.com/landeaux/vscode-smarty-langserver-extracted
+---
+--- Language server for Smarty.
+---
+--- `smarty-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g vscode-smarty-langserver-extracted
+--- ```
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'smarty-language-server', '--stdio' },
filetypes = { 'smarty' },
diff --git a/lsp/smithy_ls.lua b/lsp/smithy_ls.lua
index 8d5f80e4..adc5e505 100644
--- a/lsp/smithy_ls.lua
+++ b/lsp/smithy_ls.lua
@@ -1,11 +1,12 @@
+---@brief
+---
+--- https://github.com/awslabs/smithy-language-server
+---
+--- `Smithy Language Server`, A Language Server Protocol implementation for the Smithy IDL
+
-- pass 0 as the first argument to use STDIN/STDOUT for communication
local cmd = { 'smithy-language-server', '0' }
----@brief
----
--- https://github.com/awslabs/smithy-language-server
---
--- `Smithy Language Server`, A Language Server Protocol implementation for the Smithy IDL
return {
cmd = cmd,
filetypes = { 'smithy' },
diff --git a/lsp/snakeskin_ls.lua b/lsp/snakeskin_ls.lua
index 325d68c9..5a64776c 100644
--- a/lsp/snakeskin_ls.lua
+++ b/lsp/snakeskin_ls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://www.npmjs.com/package/@snakeskin/cli
---
--- `snakeskin cli` can be installed via `npm`:
--- ```sh
--- npm install -g @snakeskin/cli
--- ```
+--- https://www.npmjs.com/package/@snakeskin/cli
+---
+--- `snakeskin cli` can be installed via `npm`:
+--- ```sh
+--- npm install -g @snakeskin/cli
+--- ```
return {
cmd = { 'snakeskin-cli', 'lsp', '--stdio' },
filetypes = { 'ss' },
diff --git a/lsp/snyk_ls.lua b/lsp/snyk_ls.lua
index 8bd447fa..f7480608 100644
--- a/lsp/snyk_ls.lua
+++ b/lsp/snyk_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/snyk/snyk-ls
---
--- LSP for Snyk Open Source, Snyk Infrastructure as Code, and Snyk Code.
+--- https://github.com/snyk/snyk-ls
+---
+--- LSP for Snyk Open Source, Snyk Infrastructure as Code, and Snyk Code.
return {
cmd = { 'snyk-ls' },
root_markers = { '.git', '.snyk' },
diff --git a/lsp/solang.lua b/lsp/solang.lua
index 6409f7c7..97a68975 100644
--- a/lsp/solang.lua
+++ b/lsp/solang.lua
@@ -1,15 +1,15 @@
---@brief
---
---A language server for Solidity
---
--- See the [documentation](https://solang.readthedocs.io/en/latest/installing.html) for installation instructions.
---
--- The language server only provides the following capabilities:
--- * Syntax highlighting
--- * Diagnostics
--- * Hover
---
--- There is currently no support for completion, goto definition, references, or other functionality.
+---
+--- See the [documentation](https://solang.readthedocs.io/en/latest/installing.html) for installation instructions.
+---
+--- The language server only provides the following capabilities:
+--- * Syntax highlighting
+--- * Diagnostics
+--- * Hover
+---
+--- There is currently no support for completion, goto definition, references, or other functionality.
return {
cmd = { 'solang', 'language-server', '--target', 'evm' },
filetypes = { 'solidity' },
diff --git a/lsp/solargraph.lua b/lsp/solargraph.lua
index 42bfbd9b..0d44e998 100644
--- a/lsp/solargraph.lua
+++ b/lsp/solargraph.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://solargraph.org/
---
--- solargraph, a language server for Ruby
---
--- You can install solargraph via gem install.
---
--- ```sh
--- gem install --user-install solargraph
--- ```
+--- https://solargraph.org/
+---
+--- solargraph, a language server for Ruby
+---
+--- You can install solargraph via gem install.
+---
+--- ```sh
+--- gem install --user-install solargraph
+--- ```
return {
cmd = { 'solargraph', 'stdio' },
settings = {
diff --git a/lsp/solc.lua b/lsp/solc.lua
index db11f091..e7acbac5 100644
--- a/lsp/solc.lua
+++ b/lsp/solc.lua
@@ -2,9 +2,9 @@ local util = require 'lspconfig.util'
---@brief
---
--- https://docs.soliditylang.org/en/latest/installing-solidity.html
---
--- solc is the native language server for the Solidity language.
+--- https://docs.soliditylang.org/en/latest/installing-solidity.html
+---
+--- solc is the native language server for the Solidity language.
return {
cmd = { 'solc', '--lsp' },
filetypes = { 'solidity' },
diff --git a/lsp/solidity.lua b/lsp/solidity.lua
index abdc84ac..3a20e660 100644
--- a/lsp/solidity.lua
+++ b/lsp/solidity.lua
@@ -1,37 +1,37 @@
---@brief
---
--- https://github.com/qiuxiang/solidity-ls
---
--- npm i solidity-ls -g
---
--- Make sure that solc is installed and it's the same version of the file. solc-select is recommended.
---
--- Solidity language server is a LSP with autocomplete, go to definition and diagnostics.
---
--- If you use brownie, use this root_markers:
--- root_markers = { 'brownie-config.yaml', '.git' }
---
--- on includePath, you can add an extra path to search for external libs, on remapping you can remap lib <> path, like:
---
--- ```lua
--- { solidity = { includePath = '/Users/your_user/.brownie/packages/', remapping = { ["@OpenZeppelin/"] = 'OpenZeppelin/openzeppelin-contracts@4.6.0/' } } }
--- ```
---
--- **For brownie users**
--- Change the root_markers to:
---
--- ```lua
--- root_markers = { 'brownie-config.yaml', '.git' }
--- ```
---
--- The best way of using it is to have a package.json in your project folder with the packages that you will use.
--- After installing with package.json, just create a `remappings.txt` with:
---
--- ```
--- @OpenZeppelin/=node_modules/OpenZeppelin/openzeppelin-contracts@4.6.0/
--- ```
---
--- You can omit the node_modules as well.
+--- https://github.com/qiuxiang/solidity-ls
+---
+--- npm i solidity-ls -g
+---
+--- Make sure that solc is installed and it's the same version of the file. solc-select is recommended.
+---
+--- Solidity language server is a LSP with autocomplete, go to definition and diagnostics.
+---
+--- If you use brownie, use this root_markers:
+--- root_markers = { 'brownie-config.yaml', '.git' }
+---
+--- on includePath, you can add an extra path to search for external libs, on remapping you can remap lib <> path, like:
+---
+--- ```lua
+--- { solidity = { includePath = '/Users/your_user/.brownie/packages/', remapping = { ["@OpenZeppelin/"] = 'OpenZeppelin/openzeppelin-contracts@4.6.0/' } } }
+--- ```
+---
+--- **For brownie users**
+--- Change the root_markers to:
+---
+--- ```lua
+--- root_markers = { 'brownie-config.yaml', '.git' }
+--- ```
+---
+--- The best way of using it is to have a package.json in your project folder with the packages that you will use.
+--- After installing with package.json, just create a `remappings.txt` with:
+---
+--- ```
+--- @OpenZeppelin/=node_modules/OpenZeppelin/openzeppelin-contracts@4.6.0/
+--- ```
+---
+--- You can omit the node_modules as well.
return {
cmd = { 'solidity-ls', '--stdio' },
filetypes = { 'solidity' },
diff --git a/lsp/solidity_ls.lua b/lsp/solidity_ls.lua
index 5512904b..01b15d77 100644
--- a/lsp/solidity_ls.lua
+++ b/lsp/solidity_ls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/juanfranblanco/vscode-solidity
---
--- `vscode-solidity-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g vscode-solidity-server
--- ```
---
--- `vscode-solidity-server` is a language server for the Solidity language ported from the VSCode "solidity" extension.
+--- https://github.com/juanfranblanco/vscode-solidity
+---
+--- `vscode-solidity-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g vscode-solidity-server
+--- ```
+---
+--- `vscode-solidity-server` is a language server for the Solidity language ported from the VSCode "solidity" extension.
return {
cmd = { 'vscode-solidity-server', '--stdio' },
filetypes = { 'solidity' },
diff --git a/lsp/solidity_ls_nomicfoundation.lua b/lsp/solidity_ls_nomicfoundation.lua
index 430d4876..fb24b1cb 100644
--- a/lsp/solidity_ls_nomicfoundation.lua
+++ b/lsp/solidity_ls_nomicfoundation.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/NomicFoundation/hardhat-vscode/blob/development/server/README.md
---
--- `nomicfoundation-solidity-language-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g @nomicfoundation/solidity-language-server
--- ```
---
--- A language server for the Solidity programming language, built by the Nomic Foundation for the Ethereum community.
+--- https://github.com/NomicFoundation/hardhat-vscode/blob/development/server/README.md
+---
+--- `nomicfoundation-solidity-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g @nomicfoundation/solidity-language-server
+--- ```
+---
+--- A language server for the Solidity programming language, built by the Nomic Foundation for the Ethereum community.
return {
cmd = { 'nomicfoundation-solidity-language-server', '--stdio' },
filetypes = { 'solidity' },
diff --git a/lsp/somesass_ls.lua b/lsp/somesass_ls.lua
index 6a285489..9d2d0922 100644
--- a/lsp/somesass_ls.lua
+++ b/lsp/somesass_ls.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/wkillerud/some-sass/tree/main/packages/language-server
---
--- `some-sass-language-server` can be installed via `npm`:
---
--- ```sh
--- npm i -g some-sass-language-server
--- ```
---
--- The language server provides:
---
--- - Full support for @use and @forward, including aliases, prefixes and hiding.
--- - Workspace-wide code navigation and refactoring, such as Rename Symbol.
--- - 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.
+--- https://github.com/wkillerud/some-sass/tree/main/packages/language-server
+---
+--- `some-sass-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g some-sass-language-server
+--- ```
+---
+--- The language server provides:
+---
+--- - Full support for @use and @forward, including aliases, prefixes and hiding.
+--- - Workspace-wide code navigation and refactoring, such as Rename Symbol.
+--- - 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.
return {
name = 'somesass_ls',
cmd = { 'some-sass-language-server', '--stdio' },
diff --git a/lsp/sorbet.lua b/lsp/sorbet.lua
index 9318b4cc..637a4e19 100644
--- a/lsp/sorbet.lua
+++ b/lsp/sorbet.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://sorbet.org
---
--- Sorbet is a fast, powerful type checker designed for Ruby.
---
--- You can install Sorbet via gem install. You might also be interested in how to set
--- Sorbet up for new projects: https://sorbet.org/docs/adopting.
---
--- ```sh
--- gem install sorbet
--- ```
+--- https://sorbet.org
+---
+--- Sorbet is a fast, powerful type checker designed for Ruby.
+---
+--- You can install Sorbet via gem install. You might also be interested in how to set
+--- Sorbet up for new projects: https://sorbet.org/docs/adopting.
+---
+--- ```sh
+--- gem install sorbet
+--- ```
return {
cmd = { 'srb', 'tc', '--lsp' },
filetypes = { 'ruby' },
diff --git a/lsp/sourcekit.lua b/lsp/sourcekit.lua
index 94f0f3fb..4292b5fc 100644
--- a/lsp/sourcekit.lua
+++ b/lsp/sourcekit.lua
@@ -1,10 +1,11 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/swiftlang/sourcekit-lsp
---
--- Language server for Swift and C/C++/Objective-C.
+--- https://github.com/swiftlang/sourcekit-lsp
+---
+--- Language server for Swift and C/C++/Objective-C.
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'sourcekit-lsp' },
filetypes = { 'swift', 'objc', 'objcpp', 'c', 'cpp' },
diff --git a/lsp/spectral.lua b/lsp/spectral.lua
index a8360146..ea8a7206 100644
--- a/lsp/spectral.lua
+++ b/lsp/spectral.lua
@@ -1,17 +1,16 @@
-local bin_name = 'spectral-language-server'
-
---@brief
---
--- https://github.com/luizcorreia/spectral-language-server
--- `A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.`
---
--- `spectral-language-server` can be installed via `npm`:
--- ```sh
--- npm i -g spectral-language-server
--- ```
--- See [vscode-spectral](https://github.com/stoplightio/vscode-spectral#extension-settings) for configuration options.
+--- https://github.com/luizcorreia/spectral-language-server
+--- `A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.`
+---
+--- `spectral-language-server` can be installed via `npm`:
+--- ```sh
+--- npm i -g spectral-language-server
+--- ```
+--- See [vscode-spectral](https://github.com/stoplightio/vscode-spectral#extension-settings) for configuration options.
+
return {
- cmd = { bin_name, '--stdio' },
+ cmd = { 'spectral-language-server', '--stdio' },
filetypes = { 'yaml', 'json', 'yml' },
root_markers = { '.spectral.yaml', '.spectral.yml', '.spectral.json', '.spectral.js' },
settings = {
diff --git a/lsp/spyglassmc_language_server.lua b/lsp/spyglassmc_language_server.lua
index 5987978f..f1f00729 100644
--- a/lsp/spyglassmc_language_server.lua
+++ b/lsp/spyglassmc_language_server.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/SpyglassMC/Spyglass/tree/main/packages/language-server
---
--- Language server for Minecraft datapacks.
---
--- `spyglassmc-language-server` can be installed via `npm`:
---
--- ```sh
--- npm i -g @spyglassmc/language-server
--- ```
---
--- You may also need to configure the filetype:
---
--- `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.
+--- https://github.com/SpyglassMC/Spyglass/tree/main/packages/language-server
+---
+--- Language server for Minecraft datapacks.
+---
+--- `spyglassmc-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g @spyglassmc/language-server
+--- ```
+---
+--- You may also need to configure the filetype:
+---
+--- `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.
return {
cmd = { 'spyglassmc-language-server', '--stdio' },
filetypes = { 'mcfunction' },
diff --git a/lsp/sqlls.lua b/lsp/sqlls.lua
index 8875771b..aebd4c99 100644
--- a/lsp/sqlls.lua
+++ b/lsp/sqlls.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/joe-re/sql-language-server
---
--- 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).
--- <br>
+--- https://github.com/joe-re/sql-language-server
+---
+--- 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).
+
return {
cmd = { 'sql-language-server', 'up', '--method', 'stdio' },
filetypes = { 'sql', 'mysql' },
diff --git a/lsp/sqls.lua b/lsp/sqls.lua
index 8d053473..ce3eb666 100644
--- a/lsp/sqls.lua
+++ b/lsp/sqls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/sqls-server/sqls
---
--- ```lua
--- vim.lsp.config('sqls', {
--- cmd = {"path/to/command", "-config", "path/to/config.yml"};
--- ...
--- })
--- ```
--- Sqls can be installed via `go get github.com/sqls-server/sqls`. Instructions for compiling Sqls from the source can be found at [sqls-server/sqls](https://github.com/sqls-server/sqls).
+--- https://github.com/sqls-server/sqls
+---
+--- ```lua
+--- vim.lsp.config('sqls', {
+--- cmd = {"path/to/command", "-config", "path/to/config.yml"};
+--- ...
+--- })
+--- ```
+--- Sqls can be installed via `go get github.com/sqls-server/sqls`. Instructions for compiling Sqls from the source can be found at [sqls-server/sqls](https://github.com/sqls-server/sqls).
return {
cmd = { 'sqls' },
filetypes = { 'sql', 'mysql' },
diff --git a/lsp/sqruff.lua b/lsp/sqruff.lua
index 920fa654..7fcdc1e6 100644
--- a/lsp/sqruff.lua
+++ b/lsp/sqruff.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/quarylabs/sqruff
---
--- `sqruff` can be installed by following the instructions [here](https://github.com/quarylabs/sqruff?tab=readme-ov-file#installation)
---
+--- https://github.com/quarylabs/sqruff
+---
+--- `sqruff` can be installed by following the instructions [here](https://github.com/quarylabs/sqruff?tab=readme-ov-file#installation)
+---
return {
cmd = { 'sqruff', 'lsp' },
filetypes = { 'sql' },
diff --git a/lsp/standardrb.lua b/lsp/standardrb.lua
index 2d3a8265..91ab2ced 100644
--- a/lsp/standardrb.lua
+++ b/lsp/standardrb.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/testdouble/standard
---
--- Ruby Style Guide, with linter & automatic code fixer.
+--- https://github.com/testdouble/standard
+---
+--- Ruby Style Guide, with linter & automatic code fixer.
return {
cmd = { 'standardrb', '--lsp' },
filetypes = { 'ruby' },
diff --git a/lsp/starlark_rust.lua b/lsp/starlark_rust.lua
index 679e5efb..0954c988 100644
--- a/lsp/starlark_rust.lua
+++ b/lsp/starlark_rust.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/facebookexperimental/starlark-rust/
--- The LSP part of `starlark-rust` is not currently documented,
--- but the implementation works well for linting.
--- This gives valuable warnings for potential issues in the code,
--- but does not support refactorings.
---
--- It can be installed with cargo: https://crates.io/crates/starlark
+--- https://github.com/facebookexperimental/starlark-rust/
+--- The LSP part of `starlark-rust` is not currently documented,
+--- but the implementation works well for linting.
+--- This gives valuable warnings for potential issues in the code,
+--- but does not support refactorings.
+---
+--- It can be installed with cargo: https://crates.io/crates/starlark
return {
cmd = { 'starlark', '--lsp' },
filetypes = { 'star', 'bzl', 'BUILD.bazel' },
diff --git a/lsp/starpls.lua b/lsp/starpls.lua
index 97da9662..c73fae62 100644
--- a/lsp/starpls.lua
+++ b/lsp/starpls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/withered-magic/starpls
---
--- `starpls` is an LSP implementation for Starlark. Installation instructions can be found in the project's README.
+--- https://github.com/withered-magic/starpls
+---
+--- `starpls` is an LSP implementation for Starlark. Installation instructions can be found in the project's README.
return {
cmd = { 'starpls' },
filetypes = { 'bzl' },
diff --git a/lsp/statix.lua b/lsp/statix.lua
index 18cb7541..2d152490 100644
--- a/lsp/statix.lua
+++ b/lsp/statix.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/nerdypepper/statix
---
--- lints and suggestions for the nix programming language
+--- https://github.com/nerdypepper/statix
+---
+--- lints and suggestions for the nix programming language
return {
cmd = { 'statix', 'check', '--stdin' },
filetypes = { 'nix' },
diff --git a/lsp/steep.lua b/lsp/steep.lua
index 13375ec1..760f97c6 100644
--- a/lsp/steep.lua
+++ b/lsp/steep.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/soutaro/steep
---
--- `steep` is a static type checker for Ruby.
---
--- You need `Steepfile` to make it work. Generate it with `steep init`.
+--- https://github.com/soutaro/steep
+---
+--- `steep` is a static type checker for Ruby.
+---
+--- You need `Steepfile` to make it work. Generate it with `steep init`.
return {
cmd = { 'steep', 'langserver' },
filetypes = { 'ruby', 'eruby' },
diff --git a/lsp/stimulus_ls.lua b/lsp/stimulus_ls.lua
index 829fac4f..729d0b50 100644
--- a/lsp/stimulus_ls.lua
+++ b/lsp/stimulus_ls.lua
@@ -1,18 +1,18 @@
---@brief
---
--- https://www.npmjs.com/package/stimulus-language-server
---
--- `stimulus-lsp` can be installed via `npm`:
---
--- ```sh
--- npm install -g stimulus-language-server
--- ```
---
--- or via `yarn`:
---
--- ```sh
--- yarn global add stimulus-language-server
--- ```
+--- https://www.npmjs.com/package/stimulus-language-server
+---
+--- `stimulus-lsp` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g stimulus-language-server
+--- ```
+---
+--- or via `yarn`:
+---
+--- ```sh
+--- yarn global add stimulus-language-server
+--- ```
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 7fbb3c29..92f7b541 100644
--- a/lsp/stylelint_lsp.lua
+++ b/lsp/stylelint_lsp.lua
@@ -1,3 +1,25 @@
+---@brief
+---
+--- https://github.com/bmatcuk/stylelint-lsp
+---
+--- `stylelint-lsp` can be installed via `npm`:
+---
+--- ```sh
+--- npm i -g stylelint-lsp
+--- ```
+---
+--- Can be configured by passing a `settings.stylelintplus` object to `stylelint_lsp.setup`:
+---
+--- ```lua
+--- vim.lsp.config('stylelint_lsp', {
+--- settings = {
+--- stylelintplus = {
+--- -- see available options in stylelint-lsp documentation
+--- }
+--- }
+--- })
+--- ```
+
local util = require 'lspconfig.util'
local root_file = {
@@ -15,27 +37,6 @@ local root_file = {
root_file = util.insert_package_json(root_file, 'stylelint')
----@brief
----
--- https://github.com/bmatcuk/stylelint-lsp
---
--- `stylelint-lsp` can be installed via `npm`:
---
--- ```sh
--- npm i -g stylelint-lsp
--- ```
---
--- Can be configured by passing a `settings.stylelintplus` object to `stylelint_lsp.setup`:
---
--- ```lua
--- vim.lsp.config('stylelint_lsp', {
--- settings = {
--- stylelintplus = {
--- -- see available options in stylelint-lsp documentation
--- }
--- }
--- })
--- ```
return {
cmd = { 'stylelint-lsp', '--stdio' },
filetypes = {
diff --git a/lsp/stylua3p_ls.lua b/lsp/stylua3p_ls.lua
index 33fac54e..9bd7d764 100644
--- a/lsp/stylua3p_ls.lua
+++ b/lsp/stylua3p_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/antonk52/lua-3p-language-servers
---
--- 3rd party Language Server for Stylua lua formatter
+--- https://github.com/antonk52/lua-3p-language-servers
+---
+--- 3rd party Language Server for Stylua lua formatter
return {
cmd = { 'stylua-3p-language-server' },
filetypes = { 'lua' },
diff --git a/lsp/superhtml.lua b/lsp/superhtml.lua
index 8d870617..581e4ce5 100644
--- a/lsp/superhtml.lua
+++ b/lsp/superhtml.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/kristoff-it/superhtml
---
--- HTML Language Server & Templating Language Library
---
--- This LSP is designed to tightly adhere to the HTML spec as well as enforcing
--- some additional rules that ensure HTML clarity.
---
--- If you want to disable HTML support for another HTML LSP, add the following
--- to your configuration:
---
--- ```lua
--- vim.lsp.config('superhtml', {
--- filetypes = { 'superhtml' }
--- })
--- ```
+--- https://github.com/kristoff-it/superhtml
+---
+--- HTML Language Server & Templating Language Library
+---
+--- This LSP is designed to tightly adhere to the HTML spec as well as enforcing
+--- some additional rules that ensure HTML clarity.
+---
+--- If you want to disable HTML support for another HTML LSP, add the following
+--- to your configuration:
+---
+--- ```lua
+--- vim.lsp.config('superhtml', {
+--- filetypes = { 'superhtml' }
+--- })
+--- ```
return {
cmd = { 'superhtml', 'lsp' },
filetypes = { 'superhtml', 'html' },
diff --git a/lsp/svelte.lua b/lsp/svelte.lua
index f9d199ce..ed2c19e1 100644
--- a/lsp/svelte.lua
+++ b/lsp/svelte.lua
@@ -1,3 +1,14 @@
+---@brief
+---
+--- https://github.com/sveltejs/language-tools/tree/master/packages/language-server
+---
+--- Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
+---
+--- `svelte-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g svelte-language-server
+--- ```
+
local function migrate_to_svelte_5()
local clients = vim.lsp.get_clients({
bufnr = 0,
@@ -11,16 +22,6 @@ local function migrate_to_svelte_5()
end
end
----@brief
----
--- https://github.com/sveltejs/language-tools/tree/master/packages/language-server
---
--- Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
---
--- `svelte-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g svelte-language-server
--- ```
return {
cmd = { 'svelteserver', '--stdio' },
filetypes = { 'svelte' },
diff --git a/lsp/svlangserver.lua b/lsp/svlangserver.lua
index a19b06b6..381e8f89 100644
--- a/lsp/svlangserver.lua
+++ b/lsp/svlangserver.lua
@@ -1,3 +1,15 @@
+---@brief
+---
+--- https://github.com/imc-trading/svlangserver
+---
+--- Language server for SystemVerilog.
+---
+--- `svlangserver` can be installed via `npm`:
+---
+--- ```sh
+--- $ npm install -g @imc-trading/svlangserver
+--- ```
+
local function build_index()
local params = {
command = 'systemverilog.build_index',
@@ -13,17 +25,6 @@ local function report_hierarchy()
vim.lsp.buf.execute_command(params)
end
----@brief
----
--- https://github.com/imc-trading/svlangserver
---
--- Language server for SystemVerilog.
---
--- `svlangserver` can be installed via `npm`:
---
--- ```sh
--- $ npm install -g @imc-trading/svlangserver
--- ```
return {
cmd = { 'svlangserver' },
filetypes = { 'verilog', 'systemverilog' },
diff --git a/lsp/svls.lua b/lsp/svls.lua
index 1f61b499..114e31ec 100644
--- a/lsp/svls.lua
+++ b/lsp/svls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/dalance/svls
---
--- Language server for verilog and SystemVerilog
---
--- `svls` can be installed via `cargo`:
--- ```sh
--- cargo install svls
--- ```
+--- https://github.com/dalance/svls
+---
+--- Language server for verilog and SystemVerilog
+---
+--- `svls` can be installed via `cargo`:
+--- ```sh
+--- cargo install svls
+--- ```
return {
cmd = { 'svls' },
filetypes = { 'verilog', 'systemverilog' },
diff --git a/lsp/swift_mesonls.lua b/lsp/swift_mesonls.lua
index 19e1cfba..810864c8 100644
--- a/lsp/swift_mesonls.lua
+++ b/lsp/swift_mesonls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/JCWasmx86/Swift-MesonLSP
---
--- Meson language server written in Swift
+--- https://github.com/JCWasmx86/Swift-MesonLSP
+---
+--- Meson language server written in Swift
return {
cmd = { 'Swift-MesonLSP', '--lsp' },
filetypes = { 'meson' },
diff --git a/lsp/syntax_tree.lua b/lsp/syntax_tree.lua
index 29798d65..c50f797b 100644
--- a/lsp/syntax_tree.lua
+++ b/lsp/syntax_tree.lua
@@ -1,17 +1,17 @@
---@brief
---
--- https://ruby-syntax-tree.github.io/syntax_tree/
---
--- A fast Ruby parser and formatter.
---
--- Syntax Tree is a suite of tools built on top of the internal CRuby parser. It
--- provides the ability to generate a syntax tree from source, as well as the
--- tools necessary to inspect and manipulate that syntax tree. It can be used to
--- build formatters, linters, language servers, and more.
---
--- ```sh
--- gem install syntax_tree
--- ```
+--- https://ruby-syntax-tree.github.io/syntax_tree/
+---
+--- A fast Ruby parser and formatter.
+---
+--- Syntax Tree is a suite of tools built on top of the internal CRuby parser. It
+--- provides the ability to generate a syntax tree from source, as well as the
+--- tools necessary to inspect and manipulate that syntax tree. It can be used to
+--- build formatters, linters, language servers, and more.
+---
+--- ```sh
+--- gem install syntax_tree
+--- ```
return {
cmd = { 'stree', 'lsp' },
filetypes = { 'ruby' },
diff --git a/lsp/systemd_ls.lua b/lsp/systemd_ls.lua
index c024ebc2..409ab633 100644
--- a/lsp/systemd_ls.lua
+++ b/lsp/systemd_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/psacawa/systemd-language-server
---
--- `systemd-language-server` can be installed via `pip`:
--- ```sh
--- pip install systemd-language-server
--- ```
---
--- Language Server for Systemd unit files
+--- https://github.com/psacawa/systemd-language-server
+---
+--- `systemd-language-server` can be installed via `pip`:
+--- ```sh
+--- pip install systemd-language-server
+--- ```
+---
+--- Language Server for Systemd unit files
return {
cmd = { 'systemd-language-server' },
filetypes = { 'systemd' },
diff --git a/lsp/tabby_ml.lua b/lsp/tabby_ml.lua
index 9f72ee4c..c1012bf7 100644
--- a/lsp/tabby_ml.lua
+++ b/lsp/tabby_ml.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://tabby.tabbyml.com/blog/running-tabby-as-a-language-server
---
--- Language server for Tabby, an opensource, self-hosted AI coding assistant.
---
--- `tabby-agent` can be installed via `npm`:
---
--- ```sh
--- npm install --global tabby-agent
--- ```
+--- https://tabby.tabbyml.com/blog/running-tabby-as-a-language-server
+---
+--- Language server for Tabby, an opensource, self-hosted AI coding assistant.
+---
+--- `tabby-agent` can be installed via `npm`:
+---
+--- ```sh
+--- npm install --global tabby-agent
+--- ```
return {
cmd = { 'tabby-agent', '--lsp', '--stdio' },
filetypes = {},
diff --git a/lsp/taplo.lua b/lsp/taplo.lua
index c587bef5..59ac2b36 100644
--- a/lsp/taplo.lua
+++ b/lsp/taplo.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://taplo.tamasfe.dev/cli/usage/language-server.html
---
--- Language server for Taplo, a TOML toolkit.
---
--- `taplo-cli` can be installed via `cargo`:
--- ```sh
--- cargo install --features lsp --locked taplo-cli
--- ```
+--- https://taplo.tamasfe.dev/cli/usage/language-server.html
+---
+--- Language server for Taplo, a TOML toolkit.
+---
+--- `taplo-cli` can be installed via `cargo`:
+--- ```sh
+--- cargo install --features lsp --locked taplo-cli
+--- ```
return {
cmd = { 'taplo', 'lsp', 'stdio' },
filetypes = { 'toml' },
diff --git a/lsp/tblgen_lsp_server.lua b/lsp/tblgen_lsp_server.lua
index 945f67ed..c99682ab 100644
--- a/lsp/tblgen_lsp_server.lua
+++ b/lsp/tblgen_lsp_server.lua
@@ -1,3 +1,11 @@
+---@brief
+---
+--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#tablegen-lsp-language-server--tblgen-lsp-server
+---
+--- The Language Server for the LLVM TableGen language
+---
+--- `tblgen-lsp-server` can be installed at the llvm-project repository (https://github.com/llvm/llvm-project)
+
local function get_command()
local cmd = { 'tblgen-lsp-server' }
local files = vim.fs.find('tablegen_compile_commands.yml', { path = vim.fn.expand('%:p:h'), upward = true })
@@ -9,13 +17,6 @@ local function get_command()
return cmd
end
----@brief
----
--- https://mlir.llvm.org/docs/Tools/MLIRLSP/#tablegen-lsp-language-server--tblgen-lsp-server
---
--- The Language Server for the LLVM TableGen language
---
--- `tblgen-lsp-server` can be installed at the llvm-project repository (https://github.com/llvm/llvm-project)
return {
cmd = get_command(),
filetypes = { 'tablegen' },
diff --git a/lsp/teal_ls.lua b/lsp/teal_ls.lua
index 7b3b6e89..79c03679 100644
--- a/lsp/teal_ls.lua
+++ b/lsp/teal_ls.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://github.com/teal-language/teal-language-server
---
--- Install with:
--- ```
--- luarocks install teal-language-server
--- ```
---
--- Optional Command Args:
--- * "--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
+--- https://github.com/teal-language/teal-language-server
+---
+--- Install with:
+--- ```
+--- luarocks install teal-language-server
+--- ```
+---
+--- Optional Command Args:
+--- * "--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
return {
cmd = {
'teal-language-server',
diff --git a/lsp/templ.lua b/lsp/templ.lua
index b907abd7..ea4fdc3a 100644
--- a/lsp/templ.lua
+++ b/lsp/templ.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://templ.guide
---
--- The official language server for the templ HTML templating language.
+--- https://templ.guide
+---
+--- The official language server for the templ HTML templating language.
return {
cmd = { 'templ', 'lsp' },
filetypes = { 'templ' },
diff --git a/lsp/terraform_lsp.lua b/lsp/terraform_lsp.lua
index 226088dc..2a4e7145 100644
--- a/lsp/terraform_lsp.lua
+++ b/lsp/terraform_lsp.lua
@@ -1,32 +1,32 @@
---@brief
---
--- https://github.com/juliosueiras/terraform-lsp
---
--- Terraform language server
--- Download a released binary from
--- https://github.com/juliosueiras/terraform-lsp/releases.
---
--- From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:
---
--- Both HashiCorp and the maintainer of terraform-lsp expressed interest in
--- collaborating on a language server and are working towards a _long-term_
--- goal of a single stable and feature-complete implementation.
---
--- For the time being both projects continue to exist, giving users the
--- choice:
---
--- - `terraform-ls` providing
--- - overall stability (by relying only on public APIs)
--- - compatibility with any provider and any Terraform >=0.12.0 currently
--- less features
--- - due to project being younger and relying on public APIs which may
--- not offer the same functionality yet
---
--- - `terraform-lsp` providing
--- - currently more features
--- - 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)
+--- https://github.com/juliosueiras/terraform-lsp
+---
+--- Terraform language server
+--- Download a released binary from
+--- https://github.com/juliosueiras/terraform-lsp/releases.
+---
+--- From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:
+---
+--- Both HashiCorp and the maintainer of terraform-lsp expressed interest in
+--- collaborating on a language server and are working towards a _long-term_
+--- goal of a single stable and feature-complete implementation.
+---
+--- For the time being both projects continue to exist, giving users the
+--- choice:
+---
+--- - `terraform-ls` providing
+--- - overall stability (by relying only on public APIs)
+--- - compatibility with any provider and any Terraform >=0.12.0 currently
+--- less features
+--- - due to project being younger and relying on public APIs which may
+--- not offer the same functionality yet
+---
+--- - `terraform-lsp` providing
+--- - currently more features
+--- - 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)
return {
cmd = { 'terraform-lsp' },
filetypes = { 'terraform', 'hcl' },
diff --git a/lsp/terraformls.lua b/lsp/terraformls.lua
index 64fb46ac..7b8c9d7c 100644
--- a/lsp/terraformls.lua
+++ b/lsp/terraformls.lua
@@ -1,36 +1,36 @@
---@brief
---
--- https://github.com/hashicorp/terraform-ls
---
--- Terraform language server
--- Download a released binary from https://github.com/hashicorp/terraform-ls/releases.
---
--- From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:
---
--- Both HashiCorp and the maintainer of terraform-lsp expressed interest in
--- collaborating on a language server and are working towards a _long-term_
--- goal of a single stable and feature-complete implementation.
---
--- For the time being both projects continue to exist, giving users the
--- choice:
---
--- - `terraform-ls` providing
--- - overall stability (by relying only on public APIs)
--- - compatibility with any provider and any Terraform >=0.12.0 currently
--- less features
--- - due to project being younger and relying on public APIs which may
--- not offer the same functionality yet
---
--- - `terraform-lsp` providing
--- - currently more features
--- - 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)
---
--- Note, that the `settings` configuration option uses the `workspace/didChangeConfiguration` event,
--- [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).
+--- https://github.com/hashicorp/terraform-ls
+---
+--- Terraform language server
+--- Download a released binary from https://github.com/hashicorp/terraform-ls/releases.
+---
+--- From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:
+---
+--- Both HashiCorp and the maintainer of terraform-lsp expressed interest in
+--- collaborating on a language server and are working towards a _long-term_
+--- goal of a single stable and feature-complete implementation.
+---
+--- For the time being both projects continue to exist, giving users the
+--- choice:
+---
+--- - `terraform-ls` providing
+--- - overall stability (by relying only on public APIs)
+--- - compatibility with any provider and any Terraform >=0.12.0 currently
+--- less features
+--- - due to project being younger and relying on public APIs which may
+--- not offer the same functionality yet
+---
+--- - `terraform-lsp` providing
+--- - currently more features
+--- - 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)
+---
+--- Note, that the `settings` configuration option uses the `workspace/didChangeConfiguration` event,
+--- [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).
return {
cmd = { 'terraform-ls', 'serve' },
filetypes = { 'terraform', 'terraform-vars' },
diff --git a/lsp/texlab.lua b/lsp/texlab.lua
index 86674199..f4be0f51 100644
--- a/lsp/texlab.lua
+++ b/lsp/texlab.lua
@@ -1,3 +1,11 @@
+---@brief
+---
+--- https://github.com/latex-lsp/texlab
+---
+--- A completion engine built from scratch for (La)TeX.
+---
+--- See https://github.com/latex-lsp/texlab/wiki/Configuration for configuration options.
+
local function client_with_fn(fn)
return function()
local bufnr = vim.api.nvim_get_current_buf()
@@ -153,13 +161,6 @@ local function buf_change_env(client, bufnr)
}
end
----@brief
----
--- https://github.com/latex-lsp/texlab
---
--- A completion engine built from scratch for (La)TeX.
---
--- See https://github.com/latex-lsp/texlab/wiki/Configuration for configuration options.
return {
cmd = { 'texlab' },
filetypes = { 'tex', 'plaintex', 'bib' },
diff --git a/lsp/textlsp.lua b/lsp/textlsp.lua
index 93c38119..5a95a0ed 100644
--- a/lsp/textlsp.lua
+++ b/lsp/textlsp.lua
@@ -1,15 +1,15 @@
---@brief
---
--- https://github.com/hangyav/textLSP
---
--- `textLSP` is an LSP server for text spell and grammar checking with various AI tools.
--- It supports multiple text file formats, such as LaTeX, Org or txt.
---
--- For the available text analyzer tools and their configuration, see the [GitHub](https://github.com/hangyav/textLSP) page.
--- By default, all analyzers are disabled in textLSP, since most of them need special settings.
--- For quick testing, LanguageTool is enabled in the default `nvim-lspconfig` configuration.
---
--- To install run: `pip install textLSP`
+--- https://github.com/hangyav/textLSP
+---
+--- `textLSP` is an LSP server for text spell and grammar checking with various AI tools.
+--- It supports multiple text file formats, such as LaTeX, Org or txt.
+---
+--- For the available text analyzer tools and their configuration, see the [GitHub](https://github.com/hangyav/textLSP) page.
+--- By default, all analyzers are disabled in textLSP, since most of them need special settings.
+--- For quick testing, LanguageTool is enabled in the default `nvim-lspconfig` configuration.
+---
+--- To install run: `pip install textLSP`
return {
cmd = { 'textlsp' },
filetypes = { 'text', 'tex', 'org' },
diff --git a/lsp/tflint.lua b/lsp/tflint.lua
index 0e2313b0..e5837992 100644
--- a/lsp/tflint.lua
+++ b/lsp/tflint.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/terraform-linters/tflint
---
--- A pluggable Terraform linter that can act as lsp server.
--- Installation instructions can be found in https://github.com/terraform-linters/tflint#installation.
+--- https://github.com/terraform-linters/tflint
+---
+--- A pluggable Terraform linter that can act as lsp server.
+--- Installation instructions can be found in https://github.com/terraform-linters/tflint#installation.
return {
cmd = { 'tflint', '--langserver' },
filetypes = { 'terraform' },
diff --git a/lsp/theme_check.lua b/lsp/theme_check.lua
index 95cedc72..6698031a 100644
--- a/lsp/theme_check.lua
+++ b/lsp/theme_check.lua
@@ -1,23 +1,22 @@
-local bin_name = 'theme-check-language-server'
-
---@brief
---
--- https://github.com/Shopify/shopify-cli
---
--- `theme-check-language-server` is bundled with `shopify-cli` or it can also be installed via
---
--- https://github.com/Shopify/theme-check#installation
---
--- **NOTE:**
--- If installed via Homebrew, `cmd` must be set to 'theme-check-liquid-server'
---
--- ```lua
--- vim.lsp.config('theme_check, {
--- cmd = { 'theme-check-liquid-server' }
--- })
--- ```
+--- https://github.com/Shopify/shopify-cli
+---
+--- `theme-check-language-server` is bundled with `shopify-cli` or it can also be installed via
+---
+--- https://github.com/Shopify/theme-check#installation
+---
+--- **NOTE:**
+--- If installed via Homebrew, `cmd` must be set to 'theme-check-liquid-server'
+---
+--- ```lua
+--- vim.lsp.config('theme_check, {
+--- cmd = { 'theme-check-liquid-server' }
+--- })
+--- ```
+
return {
- cmd = { bin_name, '--stdio' },
+ cmd = { 'theme-check-language-server', '--stdio' },
filetypes = { 'liquid' },
root_markers = { '.theme-check.yml' },
settings = {},
diff --git a/lsp/thriftls.lua b/lsp/thriftls.lua
index 756b4054..2d7b1d7f 100644
--- a/lsp/thriftls.lua
+++ b/lsp/thriftls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/joyme123/thrift-ls
---
--- you can install thriftls by mason or download binary here: https://github.com/joyme123/thrift-ls/releases
+--- https://github.com/joyme123/thrift-ls
+---
+--- you can install thriftls by mason or download binary here: https://github.com/joyme123/thrift-ls/releases
return {
cmd = { 'thriftls' },
filetypes = { 'thrift' },
diff --git a/lsp/tilt_ls.lua b/lsp/tilt_ls.lua
index d994d780..83464f01 100644
--- a/lsp/tilt_ls.lua
+++ b/lsp/tilt_ls.lua
@@ -1,14 +1,14 @@
---@brief
---
--- https://github.com/tilt-dev/tilt
---
--- Tilt language server.
---
--- You might need to add filetype detection manually:
---
--- ```vim
--- autocmd BufRead Tiltfile setf=tiltfile
--- ```
+--- https://github.com/tilt-dev/tilt
+---
+--- Tilt language server.
+---
+--- You might need to add filetype detection manually:
+---
+--- ```vim
+--- autocmd BufRead Tiltfile setf=tiltfile
+--- ```
return {
cmd = { 'tilt', 'lsp', 'start' },
filetypes = { 'tiltfile' },
diff --git a/lsp/tinymist.lua b/lsp/tinymist.lua
index 5b9971ef..a65302a8 100644
--- a/lsp/tinymist.lua
+++ b/lsp/tinymist.lua
@@ -1,3 +1,15 @@
+---@brief
+---
+--- https://github.com/Myriad-Dreamin/tinymist
+--- An integrated language service for Typst [taɪpst]. You can also call it "微霭" [wēi ǎi] in Chinese.
+---
+--- Currently some of Tinymist's workspace commands are supported, namely:
+--- `LspTinymistExportSvg`, `LspTinymistExportPng`, `LspTinymistExportPdf
+--- `LspTinymistExportMarkdown`, `LspTinymistExportText`, `LspTinymistExportQuery`,
+--- `LspTinymistExportAnsiHighlight`, `LspTinymistGetServerInfo`,
+--- `LspTinymistGetDocumentTrace`, `LspTinymistGetWorkspaceLabels`, and
+--- `LspTinymistGetDocumentMetrics`.
+
---@param command_name string
---@return fun():nil run_tinymist_command, string cmd_name, string cmd_desc
local function create_tinymist_command(command_name)
@@ -42,17 +54,6 @@ local function create_tinymist_command(command_name)
return run_tinymist_command, cmd_name, cmd_desc
end
----@brief
----
--- https://github.com/Myriad-Dreamin/tinymist
--- An integrated language service for Typst [taɪpst]. You can also call it "微霭" [wēi ǎi] in Chinese.
---
--- Currently some of Tinymist's workspace commands are supported, namely:
--- `LspTinymistExportSvg`, `LspTinymistExportPng`, `LspTinymistExportPdf
--- `LspTinymistExportMarkdown`, `LspTinymistExportText`, `LspTinymistExportQuery`,
--- `LspTinymistExportAnsiHighlight`, `LspTinymistGetServerInfo`,
--- `LspTinymistGetDocumentTrace`, `LspTinymistGetWorkspaceLabels`, and
--- `LspTinymistGetDocumentMetrics`.
return {
cmd = { 'tinymist' },
filetypes = { 'typst' },
diff --git a/lsp/ts_ls.lua b/lsp/ts_ls.lua
index 3fdf71b5..40a1a6bb 100644
--- a/lsp/ts_ls.lua
+++ b/lsp/ts_ls.lua
@@ -1,70 +1,70 @@
---@brief
---
--- https://github.com/typescript-language-server/typescript-language-server
---
--- `ts_ls`, aka `typescript-language-server`, is a Language Server Protocol implementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is not `tsserver`.
---
--- `typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
--- ```sh
--- npm install -g typescript typescript-language-server
--- ```
---
--- To configure typescript language server, add a
--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) or
--- [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to the root of your
--- project.
---
--- Here's an example that disables type checking in JavaScript files.
---
--- ```json
--- {
--- "compilerOptions": {
--- "module": "commonjs",
--- "target": "es6",
--- "checkJs": false
--- },
--- "exclude": [
--- "node_modules"
--- ]
--- }
--- ```
---
--- ### Vue support
---
--- As of 2.0.0, Volar no longer supports TypeScript itself. Instead, a plugin
--- adds Vue support to this language server.
---
--- *IMPORTANT*: It is crucial to ensure that `@vue/typescript-plugin` and `volar `are of identical versions.
---
--- ```lua
--- vim.lsp.config('ts_ls', {
--- init_options = {
--- plugins = {
--- {
--- name = "@vue/typescript-plugin",
--- location = "/usr/local/lib/node_modules/@vue/typescript-plugin",
--- languages = {"javascript", "typescript", "vue"},
--- },
--- },
--- },
--- filetypes = {
--- "javascript",
--- "typescript",
--- "vue",
--- },
--- })
---
--- -- You must make sure volar is setup
--- -- e.g. require'lspconfig'.volar.setup{}
--- -- See volar's section for more information
--- ```
---
--- `location` MUST be defined. If the plugin is installed in `node_modules`,
--- `location` can have any value.
---
--- `languages` must include `vue` even if it is listed in `filetypes`.
---
--- `filetypes` is extended here to include Vue SFC.
+--- https://github.com/typescript-language-server/typescript-language-server
+---
+--- `ts_ls`, aka `typescript-language-server`, is a Language Server Protocol implementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is not `tsserver`.
+---
+--- `typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
+--- ```sh
+--- npm install -g typescript typescript-language-server
+--- ```
+---
+--- To configure typescript language server, add a
+--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) or
+--- [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to the root of your
+--- project.
+---
+--- Here's an example that disables type checking in JavaScript files.
+---
+--- ```json
+--- {
+--- "compilerOptions": {
+--- "module": "commonjs",
+--- "target": "es6",
+--- "checkJs": false
+--- },
+--- "exclude": [
+--- "node_modules"
+--- ]
+--- }
+--- ```
+---
+--- ### Vue support
+---
+--- As of 2.0.0, Volar no longer supports TypeScript itself. Instead, a plugin
+--- adds Vue support to this language server.
+---
+--- *IMPORTANT*: It is crucial to ensure that `@vue/typescript-plugin` and `volar `are of identical versions.
+---
+--- ```lua
+--- vim.lsp.config('ts_ls', {
+--- init_options = {
+--- plugins = {
+--- {
+--- name = "@vue/typescript-plugin",
+--- location = "/usr/local/lib/node_modules/@vue/typescript-plugin",
+--- languages = {"javascript", "typescript", "vue"},
+--- },
+--- },
+--- },
+--- filetypes = {
+--- "javascript",
+--- "typescript",
+--- "vue",
+--- },
+--- })
+---
+--- -- You must make sure volar is setup
+--- -- e.g. require'lspconfig'.volar.setup{}
+--- -- See volar's section for more information
+--- ```
+---
+--- `location` MUST be defined. If the plugin is installed in `node_modules`,
+--- `location` can have any value.
+---
+--- `languages` must include `vue` even if it is listed in `filetypes`.
+---
+--- `filetypes` is extended here to include Vue SFC.
return {
init_options = { hostInfo = 'neovim' },
diff --git a/lsp/ts_query_ls.lua b/lsp/ts_query_ls.lua
index d9285f80..1886f437 100644
--- a/lsp/ts_query_ls.lua
+++ b/lsp/ts_query_ls.lua
@@ -1,30 +1,30 @@
---@brief
---
--- https://github.com/ribru17/ts_query_ls
--- Can be configured by passing a "settings" object to `vim.lsp.config('ts_query_ls', {})`:
--- ```lua
--- vim.lsp.config('ts_query_ls', {
--- settings = {
--- parser_install_directories = {
--- -- If using nvim-treesitter with lazy.nvim
--- vim.fs.joinpath(
--- vim.fn.stdpath('data'),
--- '/lazy/nvim-treesitter/parser/'
--- ),
--- },
--- -- This setting is provided by default
--- parser_aliases = {
--- ecma = 'javascript',
--- jsx = 'javascript',
--- php_only = 'php',
--- },
--- -- E.g. zed support
--- language_retrieval_patterns = {
--- 'languages/src/([^/]+)/[^/]+\\.scm$',
--- },
--- },
--- })
--- ```
+--- https://github.com/ribru17/ts_query_ls
+--- Can be configured by passing a "settings" object to `vim.lsp.config('ts_query_ls', {})`:
+--- ```lua
+--- vim.lsp.config('ts_query_ls', {
+--- settings = {
+--- parser_install_directories = {
+--- -- If using nvim-treesitter with lazy.nvim
+--- vim.fs.joinpath(
+--- vim.fn.stdpath('data'),
+--- '/lazy/nvim-treesitter/parser/'
+--- ),
+--- },
+--- -- This setting is provided by default
+--- parser_aliases = {
+--- ecma = 'javascript',
+--- jsx = 'javascript',
+--- php_only = 'php',
+--- },
+--- -- E.g. zed support
+--- language_retrieval_patterns = {
+--- 'languages/src/([^/]+)/[^/]+\\.scm$',
+--- },
+--- },
+--- })
+--- ```
return {
cmd = { 'ts_query_ls' },
filetypes = { 'query' },
diff --git a/lsp/tsp_server.lua b/lsp/tsp_server.lua
index a81f6872..6e9b8d80 100644
--- a/lsp/tsp_server.lua
+++ b/lsp/tsp_server.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/microsoft/typespec
---
--- The language server for TypeSpec, a language for defining cloud service APIs and shapes.
---
--- `tsp-server` can be installed together with the typespec compiler via `npm`:
--- ```sh
--- npm install -g @typespec/compiler
--- ```
+--- https://github.com/microsoft/typespec
+---
+--- The language server for TypeSpec, a language for defining cloud service APIs and shapes.
+---
+--- `tsp-server` can be installed together with the typespec compiler via `npm`:
+--- ```sh
+--- npm install -g @typespec/compiler
+--- ```
return {
cmd = { 'tsp-server', '--stdio' },
filetypes = { 'typespec' },
diff --git a/lsp/ttags.lua b/lsp/ttags.lua
index e8516abc..d1cfff12 100644
--- a/lsp/ttags.lua
+++ b/lsp/ttags.lua
@@ -1,6 +1,6 @@
---@brief
---
--- https://github.com/npezza93/ttags
+--- https://github.com/npezza93/ttags
return {
cmd = { 'ttags', 'lsp' },
filetypes = { 'ruby', 'rust', 'javascript', 'haskell' },
diff --git a/lsp/turbo_ls.lua b/lsp/turbo_ls.lua
index 3556fb72..a071693e 100644
--- a/lsp/turbo_ls.lua
+++ b/lsp/turbo_ls.lua
@@ -1,18 +1,18 @@
---@brief
---
--- https://www.npmjs.com/package/turbo-language-server
---
--- `turbo-language-server` can be installed via `npm`:
---
--- ```sh
--- npm install -g turbo-language-server
--- ```
---
--- or via `yarn`:
---
--- ```sh
--- yarn global add turbo-language-server
--- ```
+--- https://www.npmjs.com/package/turbo-language-server
+---
+--- `turbo-language-server` can be installed via `npm`:
+---
+--- ```sh
+--- npm install -g turbo-language-server
+--- ```
+---
+--- or via `yarn`:
+---
+--- ```sh
+--- yarn global add turbo-language-server
+--- ```
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 4982c44b..ad28d9c9 100644
--- a/lsp/turtle_ls.lua
+++ b/lsp/turtle_ls.lua
@@ -1,3 +1,10 @@
+---@brief
+---
+--- https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server
+--- `turtle-language-server`, An editor-agnostic server providing language intelligence (diagnostics, hover tooltips, etc.) for the W3C standard Turtle RDF syntax via the Language Server Protocol.
+--- installable via npm install -g turtle-language-server or yarn global add turtle-language-server.
+--- requires node.
+
local bin_name = 'turtle-language-server'
local bin_path = os.getenv 'NVM_BIN'
local full_path
@@ -24,12 +31,6 @@ else
full_path = table.concat({ bin_path, bin_name }, '/')
end
----@brief
----
--- https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server
--- `turtle-language-server`, An editor-agnostic server providing language intelligence (diagnostics, hover tooltips, etc.) for the W3C standard Turtle RDF syntax via the Language Server Protocol.
--- installable via npm install -g turtle-language-server or yarn global add turtle-language-server.
--- requires node.
return {
cmd = { 'node', full_path, '--stdio' },
filetypes = { 'turtle', 'ttl' },
diff --git a/lsp/tvm_ffi_navigator.lua b/lsp/tvm_ffi_navigator.lua
index 23de7dfe..d4ddcda9 100644
--- a/lsp/tvm_ffi_navigator.lua
+++ b/lsp/tvm_ffi_navigator.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/tqchen/ffi-navigator
---
--- The Language Server for FFI calls in TVM to be able jump between python and C++
---
--- 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
+--- https://github.com/tqchen/ffi-navigator
+---
+--- The Language Server for FFI calls in TVM to be able jump between python and C++
+---
+--- 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
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 5ee54882..0ccf60b4 100644
--- a/lsp/twiggy_language_server.lua
+++ b/lsp/twiggy_language_server.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/moetelo/twiggy
---
--- `twiggy-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g twiggy-language-server
--- ```
+--- https://github.com/moetelo/twiggy
+---
+--- `twiggy-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g twiggy-language-server
+--- ```
return {
cmd = { 'twiggy-language-server', '--stdio' },
filetypes = { 'twig' },
diff --git a/lsp/typeprof.lua b/lsp/typeprof.lua
index 132b8a2e..209eb3a2 100644
--- a/lsp/typeprof.lua
+++ b/lsp/typeprof.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/ruby/typeprof
---
--- `typeprof` is the built-in analysis and LSP tool for Ruby 3.1+.
+--- https://github.com/ruby/typeprof
+---
+--- `typeprof` is the built-in analysis and LSP tool for Ruby 3.1+.
return {
cmd = { 'typeprof', '--lsp', '--stdio' },
filetypes = { 'ruby', 'eruby' },
diff --git a/lsp/typos_lsp.lua b/lsp/typos_lsp.lua
index 5ddf3039..645906b2 100644
--- a/lsp/typos_lsp.lua
+++ b/lsp/typos_lsp.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/crate-ci/typos
--- https://github.com/tekumara/typos-lsp
---
--- 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
+--- https://github.com/crate-ci/typos
+--- https://github.com/tekumara/typos-lsp
+---
+--- 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
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 02d37bea..2705e496 100644
--- a/lsp/typst_lsp.lua
+++ b/lsp/typst_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/nvarner/typst-lsp
---
--- Language server for Typst.
+--- https://github.com/nvarner/typst-lsp
+---
+--- Language server for Typst.
return {
cmd = { 'typst-lsp' },
filetypes = { 'typst' },
diff --git a/lsp/uiua.lua b/lsp/uiua.lua
index 0da905e4..3d210d37 100644
--- a/lsp/uiua.lua
+++ b/lsp/uiua.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/uiua-lang/uiua/
---
--- The builtin language server of the Uiua interpreter.
---
--- The Uiua interpreter can be installed with `cargo install uiua`
+--- https://github.com/uiua-lang/uiua/
+---
+--- The builtin language server of the Uiua interpreter.
+---
+--- The Uiua interpreter can be installed with `cargo install uiua`
return {
cmd = { 'uiua', 'lsp' },
filetypes = { 'uiua' },
diff --git a/lsp/ungrammar_languageserver.lua b/lsp/ungrammar_languageserver.lua
index 4b7f8dd1..f7d9ceba 100644
--- a/lsp/ungrammar_languageserver.lua
+++ b/lsp/ungrammar_languageserver.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/binhtran432k/ungrammar-language-features
--- Language Server for Ungrammar.
---
--- Ungrammar Language Server can be installed via npm:
--- ```sh
--- npm i ungrammar-languageserver -g
--- ```
+--- https://github.com/binhtran432k/ungrammar-language-features
+--- Language Server for Ungrammar.
+---
+--- Ungrammar Language Server can be installed via npm:
+--- ```sh
+--- npm i ungrammar-languageserver -g
+--- ```
return {
cmd = { 'ungrammar-languageserver', '--stdio' },
filetypes = { 'ungrammar' },
diff --git a/lsp/unison.lua b/lsp/unison.lua
index a7739314..d4fb1185 100644
--- a/lsp/unison.lua
+++ b/lsp/unison.lua
@@ -1,8 +1,9 @@
-local util = require 'lspconfig.util'
-
---@brief
---
--- https://github.com/unisonweb/unison/blob/trunk/docs/language-server.markdown
+--- https://github.com/unisonweb/unison/blob/trunk/docs/language-server.markdown
+
+local util = require 'lspconfig.util'
+
return {
cmd = { 'nc', 'localhost', os.getenv 'UNISON_LSP_PORT' or '5757' },
filetypes = { 'unison' },
diff --git a/lsp/unocss.lua b/lsp/unocss.lua
index 25bc23a6..6feae086 100644
--- a/lsp/unocss.lua
+++ b/lsp/unocss.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/xna00/unocss-language-server
---
--- UnoCSS Language Server can be installed via npm:
--- ```sh
--- npm i unocss-language-server -g
--- ```
+--- https://github.com/xna00/unocss-language-server
+---
+--- UnoCSS Language Server can be installed via npm:
+--- ```sh
+--- npm i unocss-language-server -g
+--- ```
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 4b5c8929..17bde9f2 100644
--- a/lsp/uvls.lua
+++ b/lsp/uvls.lua
@@ -1,18 +1,18 @@
---@brief
---
--- https://codeberg.org/caradhras/uvls
--- Language server for UVL, written using tree sitter and rust.
--- You can install the server easily using cargo:
--- ```sh
--- git clone https://codeberg.org/caradhras/uvls
--- cd uvls
--- cargo install --path .
--- ```
--- Note: To activate properly nvim needs to know the uvl filetype.
--- You can add it via:
--- ```lua
--- vim.cmd([[au BufRead,BufNewFile *.uvl setfiletype uvl]])
--- ```
+--- https://codeberg.org/caradhras/uvls
+--- Language server for UVL, written using tree sitter and rust.
+--- You can install the server easily using cargo:
+--- ```sh
+--- git clone https://codeberg.org/caradhras/uvls
+--- cd uvls
+--- cargo install --path .
+--- ```
+--- Note: To activate properly nvim needs to know the uvl filetype.
+--- You can add it via:
+--- ```lua
+--- vim.cmd([[au BufRead,BufNewFile *.uvl setfiletype uvl]])
+--- ```
return {
cmd = { 'uvls' },
filetypes = { 'uvl' },
diff --git a/lsp/v_analyzer.lua b/lsp/v_analyzer.lua
index 9a11020d..1a9a92c7 100644
--- a/lsp/v_analyzer.lua
+++ b/lsp/v_analyzer.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/vlang/v-analyzer
---
--- V language server.
---
--- `v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation).
+--- https://github.com/vlang/v-analyzer
+---
+--- V language server.
+---
+--- `v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation).
return {
cmd = { 'v-analyzer' },
filetypes = { 'v', 'vsh', 'vv' },
diff --git a/lsp/vacuum.lua b/lsp/vacuum.lua
index 2f96334e..709f8b0b 100644
--- a/lsp/vacuum.lua
+++ b/lsp/vacuum.lua
@@ -1,19 +1,19 @@
---@brief
---
---Vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and quality analysis tool.
---
--- You can install vacuum using mason or follow the instructions here: https://github.com/daveshanley/vacuum
---
--- The file types are not detected automatically, you can register them manually (see below) or override the filetypes:
---
--- ```lua
--- vim.filetype.add {
--- pattern = {
--- ['openapi.*%.ya?ml'] = 'yaml.openapi',
--- ['openapi.*%.json'] = 'json.openapi',
--- },
--- }
--- ```
+---
+--- You can install vacuum using mason or follow the instructions here: https://github.com/daveshanley/vacuum
+---
+--- The file types are not detected automatically, you can register them manually (see below) or override the filetypes:
+---
+--- ```lua
+--- vim.filetype.add {
+--- pattern = {
+--- ['openapi.*%.ya?ml'] = 'yaml.openapi',
+--- ['openapi.*%.json'] = 'json.openapi',
+--- },
+--- }
+--- ```
return {
cmd = { 'vacuum', 'language-server' },
filetypes = { 'yaml.openapi', 'json.openapi' },
diff --git a/lsp/vala_ls.lua b/lsp/vala_ls.lua
index a11228e5..3faff1d8 100644
--- a/lsp/vala_ls.lua
+++ b/lsp/vala_ls.lua
@@ -1,3 +1,7 @@
+---@brief
+---
+--- https://github.com/Prince781/vala-language-server
+
local util = require 'lspconfig.util'
local meson_matcher = function(path)
@@ -21,9 +25,6 @@ local meson_matcher = function(path)
end
end
----@brief
----
--- https://github.com/Prince781/vala-language-server
return {
cmd = { 'vala-language-server' },
filetypes = { 'vala', 'genie' },
diff --git a/lsp/vale_ls.lua b/lsp/vale_ls.lua
index f447d02d..336c1a4e 100644
--- a/lsp/vale_ls.lua
+++ b/lsp/vale_ls.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/errata-ai/vale-ls
---
--- An implementation of the Language Server Protocol (LSP) for the Vale command-line tool.
+--- https://github.com/errata-ai/vale-ls
+---
+--- An implementation of the Language Server Protocol (LSP) for the Vale command-line tool.
return {
cmd = { 'vale-ls' },
filetypes = { 'markdown', 'text', 'tex', 'rst' },
diff --git a/lsp/verible.lua b/lsp/verible.lua
index 879cc245..ae0addcc 100644
--- a/lsp/verible.lua
+++ b/lsp/verible.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/chipsalliance/verible
---
--- A linter and formatter for verilog and SystemVerilog files.
---
--- Release binaries can be downloaded from [here](https://github.com/chipsalliance/verible/releases)
--- and placed in a directory on PATH.
---
--- See https://github.com/chipsalliance/verible/tree/master/verilog/tools/ls/README.md for options.
+--- https://github.com/chipsalliance/verible
+---
+--- A linter and formatter for verilog and SystemVerilog files.
+---
+--- Release binaries can be downloaded from [here](https://github.com/chipsalliance/verible/releases)
+--- and placed in a directory on PATH.
+---
+--- See https://github.com/chipsalliance/verible/tree/master/verilog/tools/ls/README.md for options.
return {
cmd = { 'verible-verilog-ls' },
filetypes = { 'systemverilog', 'verilog' },
diff --git a/lsp/veridian.lua b/lsp/veridian.lua
index d31eb13e..cb533c9d 100644
--- a/lsp/veridian.lua
+++ b/lsp/veridian.lua
@@ -1,20 +1,20 @@
---@brief
---
--- https://github.com/vivekmalneedi/veridian
---
--- A SystemVerilog LanguageServer.
---
--- Download the latest release for your OS from the releases page
---
--- Install with slang feature, if C++17 compiler is available:
--- ```
--- cargo install --git https://github.com/vivekmalneedi/veridian.git --all-features
--- ```
---
--- Install if C++17 compiler is not available:
--- ```
--- cargo install --git https://github.com/vivekmalneedi/veridian.git
--- ```
+--- https://github.com/vivekmalneedi/veridian
+---
+--- A SystemVerilog LanguageServer.
+---
+--- Download the latest release for your OS from the releases page
+---
+--- Install with slang feature, if C++17 compiler is available:
+--- ```
+--- cargo install --git https://github.com/vivekmalneedi/veridian.git --all-features
+--- ```
+---
+--- Install if C++17 compiler is not available:
+--- ```
+--- cargo install --git https://github.com/vivekmalneedi/veridian.git
+--- ```
return {
cmd = { 'veridian' },
filetypes = { 'systemverilog', 'verilog' },
diff --git a/lsp/veryl_ls.lua b/lsp/veryl_ls.lua
index 5fa93157..53779e40 100644
--- a/lsp/veryl_ls.lua
+++ b/lsp/veryl_ls.lua
@@ -1,13 +1,13 @@
---@brief
---
--- https://github.com/veryl-lang/veryl
---
--- Language server for Veryl
---
--- `veryl-ls` can be installed via `cargo`:
--- ```sh
--- cargo install veryl-ls
--- ```
+--- https://github.com/veryl-lang/veryl
+---
+--- Language server for Veryl
+---
+--- `veryl-ls` can be installed via `cargo`:
+--- ```sh
+--- cargo install veryl-ls
+--- ```
return {
cmd = { 'veryl-ls' },
filetypes = { 'veryl' },
diff --git a/lsp/vhdl_ls.lua b/lsp/vhdl_ls.lua
index 1d93c350..5ca68107 100644
--- a/lsp/vhdl_ls.lua
+++ b/lsp/vhdl_ls.lua
@@ -1,31 +1,31 @@
---@brief
---
--- Install vhdl_ls from https://github.com/VHDL-LS/rust_hdl and add it to path
---
--- Configuration
---
--- The language server needs to know your library mapping to perform full analysis of the code. For this it uses a configuration file in the TOML format named vhdl_ls.toml.
---
--- vhdl_ls will load configuration files in the following order of priority (first to last):
---
--- A file named .vhdl_ls.toml in the user home folder.
--- A file name from the VHDL_LS_CONFIG environment variable.
--- A file named vhdl_ls.toml in the workspace root.
---
--- Settings in a later files overwrites those from previously loaded files.
---
--- Example vhdl_ls.toml
--- ```
--- # File names are either absolute or relative to the parent folder of the vhdl_ls.toml file
--- [libraries]
--- lib2.files = [
--- 'pkg2.vhd',
--- ]
--- lib1.files = [
--- 'pkg1.vhd',
--- 'tb_ent.vhd'
--- ]
--- ```
+--- Install vhdl_ls from https://github.com/VHDL-LS/rust_hdl and add it to path
+---
+--- Configuration
+---
+--- The language server needs to know your library mapping to perform full analysis of the code. For this it uses a configuration file in the TOML format named vhdl_ls.toml.
+---
+--- vhdl_ls will load configuration files in the following order of priority (first to last):
+---
+--- A file named .vhdl_ls.toml in the user home folder.
+--- A file name from the VHDL_LS_CONFIG environment variable.
+--- A file named vhdl_ls.toml in the workspace root.
+---
+--- Settings in a later files overwrites those from previously loaded files.
+---
+--- Example vhdl_ls.toml
+--- ```
+--- # File names are either absolute or relative to the parent folder of the vhdl_ls.toml file
+--- [libraries]
+--- lib2.files = [
+--- 'pkg2.vhd',
+--- ]
+--- lib1.files = [
+--- 'pkg1.vhd',
+--- 'tb_ent.vhd'
+--- ]
+--- ```
return {
cmd = { 'vhdl_ls' },
filetypes = { 'vhd', 'vhdl' },
diff --git a/lsp/vimls.lua b/lsp/vimls.lua
index 74b30968..32cf93fd 100644
--- a/lsp/vimls.lua
+++ b/lsp/vimls.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/iamcco/vim-language-server
---
--- You can install vim-language-server via npm:
--- ```sh
--- npm install -g vim-language-server
--- ```
+--- https://github.com/iamcco/vim-language-server
+---
+--- You can install vim-language-server via npm:
+--- ```sh
+--- npm install -g vim-language-server
+--- ```
return {
cmd = { 'vim-language-server', '--stdio' },
filetypes = { 'vim' },
diff --git a/lsp/visualforce_ls.lua b/lsp/visualforce_ls.lua
index a89a1b0d..6b19b9ea 100644
--- a/lsp/visualforce_ls.lua
+++ b/lsp/visualforce_ls.lua
@@ -1,22 +1,22 @@
---@brief
---
--- https://github.com/forcedotcom/salesforcedx-vscode
---
--- Language server for Visualforce.
---
--- For manual installation, download the .vsix archive file from the
--- [forcedotcom/salesforcedx-vscode](https://github.com/forcedotcom/salesforcedx-vscode)
--- GitHub releases. Then, configure `cmd` to run the Node script at the unpacked location:
---
--- ```lua
--- vim.lsp.config('visualforce_ls', {
--- cmd = {
--- 'node',
--- '/path/to/unpacked/archive/extension/node_modules/@salesforce/salesforcedx-visualforce-language-server/out/src/visualforceServer.js',
--- '--stdio'
--- }
--- })
--- ```
+--- https://github.com/forcedotcom/salesforcedx-vscode
+---
+--- Language server for Visualforce.
+---
+--- For manual installation, download the .vsix archive file from the
+--- [forcedotcom/salesforcedx-vscode](https://github.com/forcedotcom/salesforcedx-vscode)
+--- GitHub releases. Then, configure `cmd` to run the Node script at the unpacked location:
+---
+--- ```lua
+--- vim.lsp.config('visualforce_ls', {
+--- cmd = {
+--- 'node',
+--- '/path/to/unpacked/archive/extension/node_modules/@salesforce/salesforcedx-visualforce-language-server/out/src/visualforceServer.js',
+--- '--stdio'
+--- }
+--- })
+--- ```
return {
filetypes = { 'visualforce' },
root_markers = { 'sfdx-project.json' },
diff --git a/lsp/vls.lua b/lsp/vls.lua
index c3abae29..b4076672 100644
--- a/lsp/vls.lua
+++ b/lsp/vls.lua
@@ -1,10 +1,10 @@
---@brief
---
--- https://github.com/vlang/vls
---
--- V language server.
---
--- `v-language-server` can be installed by following the instructions [here](https://github.com/vlang/vls#installation).
+--- https://github.com/vlang/vls
+---
+--- V language server.
+---
+--- `v-language-server` can be installed by following the instructions [here](https://github.com/vlang/vls#installation).
return {
cmd = { 'v', 'ls' },
filetypes = { 'v', 'vlang' },
diff --git a/lsp/volar.lua b/lsp/volar.lua
index 70e8690d..99682977 100644
--- a/lsp/volar.lua
+++ b/lsp/volar.lua
@@ -1,3 +1,78 @@
+---@brief
+---
+--- https://github.com/vuejs/language-tools/tree/master/packages/language-server
+---
+--- Volar language server for Vue
+---
+--- Volar can be installed via npm:
+--- ```sh
+--- npm install -g @vue/language-server
+--- ```
+---
+--- Volar by default supports Vue 3 projects.
+--- For Vue 2 projects, [additional configuration](https://github.com/vuejs/language-tools/blob/master/extensions/vscode/README.md?plain=1#L19) are required.
+---
+--- **Hybrid Mode (by default)**
+---
+--- In this mode, the Vue Language Server exclusively manages the CSS/HTML sections.
+--- You need the `ts_ls` server with the `@vue/typescript-plugin` plugin to support TypeScript in `.vue` files.
+--- See `ts_ls` section for more information
+---
+--- **No Hybrid Mode**
+---
+--- Volar will run embedded `ts_ls` therefore there is no need to run it separately.
+--- ```lua
+--- local lspconfig = require('lspconfig')
+---
+--- lspconfig.volar.setup {
+--- -- add filetypes for typescript, javascript and vue
+--- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
+--- init_options = {
+--- vue = {
+--- -- disable hybrid mode
+--- hybridMode = false,
+--- },
+--- },
+--- }
+--- -- you must remove ts_ls setup
+--- -- lspconfig.ts_ls.setup {}
+--- ```
+---
+--- **Overriding the default TypeScript Server used by Volar**
+---
+--- The default config looks for TypeScript in the local `node_modules`. This can lead to issues
+--- e.g. when working on a [monorepo](https://monorepo.tools/). The alternatives are:
+---
+--- - use a global TypeScript Server installation
+--- ```lua
+--- require'lspconfig'.volar.setup {
+--- init_options = {
+--- typescript = {
+--- -- replace with your global TypeScript library path
+--- tsdk = '/path/to/node_modules/typescript/lib'
+--- }
+--- }
+--- }
+--- ```
+---
+--- - use a local server and fall back to a global TypeScript Server installation
+--- ```lua
+--- require'lspconfig'.volar.setup {
+--- init_options = {
+--- typescript = {
+--- -- replace with your global TypeScript library path
+--- tsdk = '/path/to/node_modules/typescript/lib'
+--- }
+--- },
+--- on_new_config = function(new_config, new_root_dir)
+--- local lib_path = vim.fs.find('node_modules/typescript/lib', { path = new_root_dir, upward = true })[1]
+--- if lib_path then
+--- new_config.init_options.typescript.tsdk = lib_path
+--- end
+--- end
+--- }
+--- ```
+
local function get_typescript_server_path(root_dir)
local project_root = vim.fs.dirname(vim.fs.find('node_modules', { path = root_dir, upward = true })[1])
return project_root and vim.fs.joinpath(project_root, 'node_modules', 'typescript', 'lib') or ''
@@ -10,80 +85,6 @@ local volar_init_options = {
},
}
----@brief
----
--- https://github.com/vuejs/language-tools/tree/master/packages/language-server
---
--- Volar language server for Vue
---
--- Volar can be installed via npm:
--- ```sh
--- npm install -g @vue/language-server
--- ```
---
--- Volar by default supports Vue 3 projects.
--- For Vue 2 projects, [additional configuration](https://github.com/vuejs/language-tools/blob/master/extensions/vscode/README.md?plain=1#L19) are required.
---
--- **Hybrid Mode (by default)**
---
--- In this mode, the Vue Language Server exclusively manages the CSS/HTML sections.
--- You need the `ts_ls` server with the `@vue/typescript-plugin` plugin to support TypeScript in `.vue` files.
--- See `ts_ls` section for more information
---
--- **No Hybrid Mode**
---
--- Volar will run embedded `ts_ls` therefore there is no need to run it separately.
--- ```lua
--- local lspconfig = require('lspconfig')
---
--- lspconfig.volar.setup {
--- -- add filetypes for typescript, javascript and vue
--- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
--- init_options = {
--- vue = {
--- -- disable hybrid mode
--- hybridMode = false,
--- },
--- },
--- }
--- -- you must remove ts_ls setup
--- -- lspconfig.ts_ls.setup {}
--- ```
---
--- **Overriding the default TypeScript Server used by Volar**
---
--- The default config looks for TypeScript in the local `node_modules`. This can lead to issues
--- e.g. when working on a [monorepo](https://monorepo.tools/). The alternatives are:
---
--- - use a global TypeScript Server installation
--- ```lua
--- require'lspconfig'.volar.setup {
--- init_options = {
--- typescript = {
--- -- replace with your global TypeScript library path
--- tsdk = '/path/to/node_modules/typescript/lib'
--- }
--- }
--- }
--- ```
---
--- - use a local server and fall back to a global TypeScript Server installation
--- ```lua
--- require'lspconfig'.volar.setup {
--- init_options = {
--- typescript = {
--- -- replace with your global TypeScript library path
--- tsdk = '/path/to/node_modules/typescript/lib'
--- }
--- },
--- on_new_config = function(new_config, new_root_dir)
--- local lib_path = vim.fs.find('node_modules/typescript/lib', { path = new_root_dir, upward = true })[1]
--- if lib_path then
--- new_config.init_options.typescript.tsdk = lib_path
--- end
--- end
--- }
--- ```
return {
cmd = { 'vue-language-server', '--stdio' },
filetypes = { 'vue' },
diff --git a/lsp/vscoqtop.lua b/lsp/vscoqtop.lua
index a62c7585..9eb353cb 100644
--- a/lsp/vscoqtop.lua
+++ b/lsp/vscoqtop.lua
@@ -1,6 +1,6 @@
---@brief
---
--- https://github.com/coq-community/vscoq
+--- https://github.com/coq-community/vscoq
return {
cmd = { 'vscoqtop' },
filetypes = { 'coq' },
diff --git a/lsp/vtsls.lua b/lsp/vtsls.lua
index e284e584..dc8410fa 100644
--- a/lsp/vtsls.lua
+++ b/lsp/vtsls.lua
@@ -1,16 +1,16 @@
---@brief
---
--- https://github.com/yioneko/vtsls
---
--- `vtsls` can be installed with npm:
--- ```sh
--- npm install -g @vtsls/language-server
--- ```
---
--- To configure a TypeScript project, add a
--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
--- or [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to
--- the root of your project.
+--- https://github.com/yioneko/vtsls
+---
+--- `vtsls` can be installed with npm:
+--- ```sh
+--- npm install -g @vtsls/language-server
+--- ```
+---
+--- To configure a TypeScript project, add a
+--- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
+--- or [`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig) to
+--- the root of your project.
return {
cmd = { 'vtsls', '--stdio' },
filetypes = {
diff --git a/lsp/vuels.lua b/lsp/vuels.lua
index 5a209b24..9ac20991 100644
--- a/lsp/vuels.lua
+++ b/lsp/vuels.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://github.com/vuejs/vetur/tree/master/server
---
--- Vue language server(vls)
--- `vue-language-server` can be installed via `npm`:
--- ```sh
--- npm install -g vls
--- ```
+--- https://github.com/vuejs/vetur/tree/master/server
+---
+--- Vue language server(vls)
+--- `vue-language-server` can be installed via `npm`:
+--- ```sh
+--- npm install -g vls
+--- ```
return {
cmd = { 'vls' },
filetypes = { 'vue' },
diff --git a/lsp/wasm_language_tools.lua b/lsp/wasm_language_tools.lua
index 6f253bef..9b11896b 100644
--- a/lsp/wasm_language_tools.lua
+++ b/lsp/wasm_language_tools.lua
@@ -1,9 +1,9 @@
---@brief
---
--- https://github.com/g-plane/wasm-language-tools
---
--- 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.
+--- https://github.com/g-plane/wasm-language-tools
+---
+--- 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.
return {
cmd = { 'wat_server' },
filetypes = { 'wat' },
diff --git a/lsp/wgsl_analyzer.lua b/lsp/wgsl_analyzer.lua
index 9ac095d7..938471ab 100644
--- a/lsp/wgsl_analyzer.lua
+++ b/lsp/wgsl_analyzer.lua
@@ -1,11 +1,11 @@
---@brief
---
--- https://github.com/wgsl-analyzer/wgsl-analyzer
---
--- `wgsl-analyzer` can be installed via `cargo`:
--- ```sh
--- cargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl-analyzer
--- ```
+--- https://github.com/wgsl-analyzer/wgsl-analyzer
+---
+--- `wgsl-analyzer` can be installed via `cargo`:
+--- ```sh
+--- cargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl-analyzer
+--- ```
return {
cmd = { 'wgsl-analyzer' },
filetypes = { 'wgsl' },
diff --git a/lsp/yamlls.lua b/lsp/yamlls.lua
index 9c177644..7a36f94f 100644
--- a/lsp/yamlls.lua
+++ b/lsp/yamlls.lua
@@ -1,63 +1,63 @@
---@brief
---
--- https://github.com/redhat-developer/yaml-language-server
---
--- `yaml-language-server` can be installed via `yarn`:
--- ```sh
--- yarn global add yaml-language-server
--- ```
---
--- To use a schema for validation, there are two options:
---
--- 1. Add a modeline to the file. A modeline is a comment of the form:
---
--- ```
--- # yaml-language-server: $schema=<urlToTheSchema|relativeFilePath|absoluteFilePath}>
--- ```
---
--- where the relative filepath is the path relative to the open yaml file, and the absolute filepath
--- is the filepath relative to the filesystem root ('/' on unix systems)
---
--- 2. Associated a schema url, relative , or absolute (to root of project, not to filesystem root) path to
--- the a glob pattern relative to the detected project root. Check `:checkhealth vim.lsp` to determine the resolved project
--- root.
---
--- ```lua
--- vim.lsp.config('yamlls', {
--- ... -- other configuration for setup {}
--- settings = {
--- yaml = {
--- ... -- other settings. note this overrides the lspconfig defaults.
--- schemas = {
--- ["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
--- ["../path/relative/to/file.yml"] = "/.github/workflows/*",
--- ["/path/from/root/of/project"] = "/.github/workflows/*",
--- },
--- },
--- }
--- })
--- ```
---
--- Currently, kubernetes is special-cased in yammls, see the following upstream issues:
--- * [#211](https://github.com/redhat-developer/yaml-language-server/issues/211).
--- * [#307](https://github.com/redhat-developer/yaml-language-server/issues/307).
---
--- To override a schema to use a specific k8s schema version (for example, to use 1.18):
---
--- ```lua
--- vim.lsp.config('yamlls', {
--- ... -- other configuration for setup {}
--- settings = {
--- yaml = {
--- ... -- other settings. note this overrides the lspconfig defaults.
--- schemas = {
--- ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/refs/heads/master/v1.32.1-standalone-strict/all.json"] = "/*.k8s.yaml",
--- ... -- other schemas
--- },
--- },
--- }
--- })
--- ```
+--- https://github.com/redhat-developer/yaml-language-server
+---
+--- `yaml-language-server` can be installed via `yarn`:
+--- ```sh
+--- yarn global add yaml-language-server
+--- ```
+---
+--- To use a schema for validation, there are two options:
+---
+--- 1. Add a modeline to the file. A modeline is a comment of the form:
+---
+--- ```
+--- # yaml-language-server: $schema=<urlToTheSchema|relativeFilePath|absoluteFilePath}>
+--- ```
+---
+--- where the relative filepath is the path relative to the open yaml file, and the absolute filepath
+--- is the filepath relative to the filesystem root ('/' on unix systems)
+---
+--- 2. Associated a schema url, relative , or absolute (to root of project, not to filesystem root) path to
+--- the a glob pattern relative to the detected project root. Check `:checkhealth vim.lsp` to determine the resolved project
+--- root.
+---
+--- ```lua
+--- vim.lsp.config('yamlls', {
+--- ... -- other configuration for setup {}
+--- settings = {
+--- yaml = {
+--- ... -- other settings. note this overrides the lspconfig defaults.
+--- schemas = {
+--- ["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
+--- ["../path/relative/to/file.yml"] = "/.github/workflows/*",
+--- ["/path/from/root/of/project"] = "/.github/workflows/*",
+--- },
+--- },
+--- }
+--- })
+--- ```
+---
+--- Currently, kubernetes is special-cased in yammls, see the following upstream issues:
+--- * [#211](https://github.com/redhat-developer/yaml-language-server/issues/211).
+--- * [#307](https://github.com/redhat-developer/yaml-language-server/issues/307).
+---
+--- To override a schema to use a specific k8s schema version (for example, to use 1.18):
+---
+--- ```lua
+--- vim.lsp.config('yamlls', {
+--- ... -- other configuration for setup {}
+--- settings = {
+--- yaml = {
+--- ... -- other settings. note this overrides the lspconfig defaults.
+--- schemas = {
+--- ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/refs/heads/master/v1.32.1-standalone-strict/all.json"] = "/*.k8s.yaml",
+--- ... -- other schemas
+--- },
+--- },
+--- }
+--- })
+--- ```
return {
cmd = { 'yaml-language-server', '--stdio' },
filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab' },
diff --git a/lsp/yang_lsp.lua b/lsp/yang_lsp.lua
index 88e0b703..b34f7c49 100644
--- a/lsp/yang_lsp.lua
+++ b/lsp/yang_lsp.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://github.com/TypeFox/yang-lsp
---
--- A Language Server for the YANG data modeling language.
+--- https://github.com/TypeFox/yang-lsp
+---
+--- A Language Server for the YANG data modeling language.
return {
cmd = { 'yang-language-server' },
filetypes = { 'yang' },
diff --git a/lsp/yls.lua b/lsp/yls.lua
index 57ed0c46..4722d564 100644
--- a/lsp/yls.lua
+++ b/lsp/yls.lua
@@ -1,12 +1,12 @@
---@brief
---
--- https://pypi.org/project/yls-yara/
---
--- An YLS plugin adding YARA linting capabilities.
---
--- This plugin runs yara.compile on every save, parses the errors, and returns list of diagnostic messages.
---
--- Language Server: https://github.com/avast/yls
+--- https://pypi.org/project/yls-yara/
+---
+--- An YLS plugin adding YARA linting capabilities.
+---
+--- This plugin runs yara.compile on every save, parses the errors, and returns list of diagnostic messages.
+---
+--- Language Server: https://github.com/avast/yls
return {
cmd = { 'yls', '-vv' },
filetypes = { 'yar', 'yara' },
diff --git a/lsp/ziggy.lua b/lsp/ziggy.lua
index 5ef023f3..40475b0f 100644
--- a/lsp/ziggy.lua
+++ b/lsp/ziggy.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://ziggy-lang.io/documentation/ziggy-lsp/
---
--- Language server for the Ziggy data serialization format
+--- https://ziggy-lang.io/documentation/ziggy-lsp/
+---
+--- Language server for the Ziggy data serialization format
return {
cmd = { 'ziggy', 'lsp' },
filetypes = { 'ziggy' },
diff --git a/lsp/ziggy_schema.lua b/lsp/ziggy_schema.lua
index 6d9b5308..c83fa3c9 100644
--- a/lsp/ziggy_schema.lua
+++ b/lsp/ziggy_schema.lua
@@ -1,8 +1,8 @@
---@brief
---
--- https://ziggy-lang.io/documentation/ziggy-lsp/
---
--- Language server for schema files of the Ziggy data serialization format
+--- https://ziggy-lang.io/documentation/ziggy-lsp/
+---
+--- Language server for schema files of the Ziggy data serialization format
return {
cmd = { 'ziggy', 'lsp', '--schema' },
filetypes = { 'ziggy_schema' },
diff --git a/lsp/zk.lua b/lsp/zk.lua
index 582bfbb5..6a336b7b 100644
--- a/lsp/zk.lua
+++ b/lsp/zk.lua
@@ -1,3 +1,9 @@
+---@brief
+---
+--- https://github.com/mickael-menu/zk
+---
+--- A plain text note-taking assistant
+
local function find_zk_root(startpath)
for dir in vim.fs.parents(startpath) do
if vim.fn.isdirectory(vim.fs.joinpath(dir, '.zk')) == 1 then
@@ -6,11 +12,6 @@ local function find_zk_root(startpath)
end
end
----@brief
----
--- https://github.com/mickael-menu/zk
---
--- A plain text note-taking assistant
return {
cmd = { 'zk', 'lsp' },
filetypes = { 'markdown' },
diff --git a/lsp/zls.lua b/lsp/zls.lua
index c599567f..a21ae197 100644
--- a/lsp/zls.lua
+++ b/lsp/zls.lua
@@ -1,7 +1,7 @@
---@brief
--- https://github.com/zigtools/zls
---
--- Zig LSP implementation + Zig Language Server
+--- https://github.com/zigtools/zls
+---
+--- Zig LSP implementation + Zig Language Server
return {
cmd = { 'zls' },