mirror of
https://github.com/nix-community/nixvim.git
synced 2026-08-24 10:14:03 -05:00
generated: Update
- Updated conform-formatters.json - Updated lspconfig-servers.json
This commit is contained in:
committed by
Gaétan Lepage
parent
6d7c8ab427
commit
00a38f089b
@@ -167,6 +167,7 @@
|
||||
"pretty-php",
|
||||
"prettypst",
|
||||
"prolog",
|
||||
"pruner",
|
||||
"puppet-lint",
|
||||
"purs-tidy",
|
||||
"pycln",
|
||||
@@ -234,6 +235,7 @@
|
||||
"trim_whitespace",
|
||||
"trunk",
|
||||
"twig-cs-fixer",
|
||||
"txtpbfmt",
|
||||
"typespec",
|
||||
"typos",
|
||||
"typstfmt",
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"arduino_language_server": "https://github.com/arduino/arduino-language-server Language server for\nArduino The `arduino-language-server` can be installed by running:\n\n go install github.com/arduino/arduino-language-server@latest\n\nThe `arduino-cli` tool must also be installed. Follow [these\ninstallation\ninstructions](https://arduino.github.io/arduino-cli/latest/installation/)\nfor your platform. After installing `arduino-cli`, follow [these\ninstructions](https://arduino.github.io/arduino-cli/latest/getting-started/#create-a-configuration-file)\nfor generating a configuration file if you haven't done so already, and\nmake sure you [install any relevant platforms\nlibraries](https://arduino.github.io/arduino-cli/latest/getting-started/#install-the-core-for-your-board).\nThe language server also requires `clangd` to be installed. Follow\n[these installation instructions](https://clangd.llvm.org/installation)\nfor your platform. If you don't have a sketch yet create one.\n\n``` sh\n$ arduino-cli sketch new test\n$ cd test\n```\n\nYou will need a `sketch.yaml` file in order for the language server to\nunderstand your project. It will also save you passing options to\n`arduino-cli` each time you compile or upload a file. You can generate\nthe file by using the following commands. First gather some information\nabout your board. Make sure your board is connected and run the\nfollowing:\n\n``` sh\n$ arduino-cli board list\nPort Protocol Type Board Name FQBN Core\n/dev/ttyACM0 serial Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr\n```\n\nThen generate the file:\n\n``` sh\narduino-cli board attach -p /dev/ttyACM0 -b arduino:avr:uno test.ino\n```\n\nThe resulting file should look like this:\n\n``` yaml\ndefault_fqbn: arduino:avr:uno\ndefault_port: /dev/ttyACM0\n```\n\nYour folder structure should look like this:\n\n .\n ├── test.ino\n └── sketch.yaml\n\nFor further instructions about configuration options, run\n`arduino-language-server --help`. Note that an upstream bug makes\nkeywords in some cases become undefined by the language server. Ref:\nhttps://github.com/arduino/arduino-ide/issues/159",
|
||||
"asm_lsp": "https://github.com/bergercookie/asm-lsp Language Server for NASM/GAS/GO\nAssembly `asm-lsp` can be installed via cargo: cargo install asm-lsp",
|
||||
"ast_grep": "https://ast-grep.github.io/ ast-grep(sg) is a fast and polyglot tool for\ncode structural search, lint, rewriting at large scale. ast-grep LSP\nonly works in projects that have `sgconfig.y[a]ml` in their root\ndirectories.\n\n``` sh\nnpm install [-g] @ast-grep/cli\n```",
|
||||
"astro": "https://github.com/withastro/language-tools/tree/main/packages/language-server\n`astro-ls` can be installed via `npm`:\n\n``` sh\nnpm install -g @astrojs/language-server\n```",
|
||||
"astro": "https://github.com/withastro/language-tools/tree/main/packages/language-server\n`astro-ls` can be installed via `npm`:\n\n``` sh\nnpm install -g @astrojs/language-server\n```\n\nIf typescript is installed globally, you might get the\n`\\`typescript.tsdk\\` init option is\nrequired```` error. You will need to manually pass the typescript SDK path. Here is an example of a Nix configuration where typescript is installed via Nix's Home-manager: ```nix { config, pkgs, ... }: { home.packages = with pkgs; [ typescript ]; programs.neovim = { plugins = with pkgs.vimPlugins; [ nvim-lspconfig ]; extraPackages = with pkgs; [ astro-language-server ]; initLua = '' vim.lsp.config['astro'] = { init_options = { typescript = { tsdk = ${pkgs.typescript}/lib/node_modules/typescript/lib, }, }, } vim.lsp.enable('astro') -- ... ''; }; } ``` The path can also be passed via a variable, like ````vim.g.tsdk\n= \"\\${pkgs.typescript}/lib/node_modules/typescript/lib\"\\` and then used\nin the Lua Neovim config.",
|
||||
"atlas": "https://github.com/ariga/atlas Language server for Atlas config and\nschema files. You may also need to configure the filetype for \\*.hcl\nfiles:\n\n``` vim\nautocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config\nautocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql\nautocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql\nautocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite\nautocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse\nautocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql\nautocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift\nautocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test\nautocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan\nautocmd BufNewFile,BufRead *.rule.hcl set filetype=atlas-rule\n```\n\nor\n\n``` lua\nvim.filetype.add({\n filename = {\n ['atlas.hcl'] = 'atlas-config',\n },\n pattern = {\n ['.*/*.my.hcl'] = 'atlas-schema-mysql',\n ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',\n ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',\n ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',\n ['.*/*.ms.hcl'] = 'atlas-schema-mssql',\n ['.*/*.rs.hcl'] = 'atlas-schema-redshift',\n ['.*/*.test.hcl'] = 'atlas-test',\n ['.*/*.plan.hcl'] = 'atlas-plan',\n ['.*/*.rule.hcl'] = 'atlas-rule',\n },\n})\n```\n\nOptionally, tell treesitter to treat Atlas filetypes as HCL for better\nsyntax highlighting:\n\n``` lua\nvim.treesitter.language.register('hcl', 'atlas-config')\nvim.treesitter.language.register('hcl', 'atlas-schema-mysql')\nvim.treesitter.language.register('hcl', 'atlas-schema-postgresql')\nvim.treesitter.language.register('hcl', 'atlas-schema-sqlite')\nvim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')\nvim.treesitter.language.register('hcl', 'atlas-schema-mssql')\nvim.treesitter.language.register('hcl', 'atlas-schema-redshift')\nvim.treesitter.language.register('hcl', 'atlas-test')\nvim.treesitter.language.register('hcl', 'atlas-plan')\nvim.treesitter.language.register('hcl', 'atlas-rule')\n```",
|
||||
"atopile": "https://atopile.io/ A language server for atopile Programming Language.\nIt comes with the atopile compiler, for installation see: [Installing\natopile](https://docs.atopile.io/atopile/guides/install)",
|
||||
"autohotkey_lsp": "https://github.com/thqby/vscode-autohotkey2-lsp AutoHotkey v2.0 LSP\nimplementation NOTE: AutoHotkey is Windows-only.",
|
||||
@@ -70,7 +70,7 @@
|
||||
"dartls": "https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec\nLanguage server for dart.",
|
||||
"dcmls": "https://dcm.dev/ Language server for DCM analyzer.",
|
||||
"debputy": "https://salsa.debian.org/debian/debputy Language Server for Debian\npackages.",
|
||||
"denols": "https://github.com/denoland/deno Deno's built-in language server To\nappropriately highlight codefences returned from denols, you will need\nto augment vim.g.markdown_fenced languages in your init.lua. Example:\n\n``` lua\nvim.g.markdown_fenced_languages = {\n \"ts=typescript\"\n}\n```",
|
||||
"denols": "https://github.com/denoland/deno Deno's built-in language server To\nappropriately highlight codefences returned from denols, you will need\nto augment vim.g.markdown_fenced languages in your init.lua. Example:\n\n``` lua\nvim.g.markdown_fenced_languages = {\n \"ts=typescript\"\n}\n```\n\nSome care must be taken here to correctly infer whether a file is part\nof a Deno program, or a TS program that expects to run in Node or Web\nBrowsers. This supports having a Deno module that is a part of a\nmostly-not-Deno monorepo. We do this by finding the nearest package\nmanager lock file, and the nearest deno.json or deno.jsonc. Note that\nthis means that without a deno.json, deno.jsonc, or deno.lock file, this\nLSP client will not attach. Example:\n\n project-root\n +-- node_modules/...\n +-- package-lock.json\n +-- package.json\n +-- packages\n +-- deno-module\n | +-- deno.json\n | +-- package.json <-- It's normal for Deno projects to have package.json files!\n | +-- src\n | +-- index.ts <-- this is a Deno file\n +-- node-module\n +-- package.json\n +-- src\n +-- index.ts <-- a non-Deno file (ie, should use ts_ls or tsgo)\n\nFrom the file being edited, we walk up to find the nearest package\nmanager lockfile. This is PROJECT ROOT. From the file being edited, find\nthe nearest deno.json or deno.jsonc. This is DENO ROOT. From the file\nbeing edited, find the nearest deno.lock. This is DENO LOCK ROOT If DENO\nLOCK ROOT is found, and PROJECT ROOT is missing or shorter, then this is\na deno file, and we attach. If DENO ROOT is found, and it's longer than\nor equal to PROJECT ROOT, then this is a Deno file, and we attach.\nOtherwise, we abort, because this is a non-Deno TS file.",
|
||||
"dhall_lsp_server": "https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-lsp-server\nlanguage server for dhall `dhall-lsp-server` can be installed via cabal:\n\n``` sh\ncabal install dhall-lsp-server\n```\n\nprebuilt binaries can be found\n[here](https://github.com/dhall-lang/dhall-haskell/releases).",
|
||||
"diagnosticls": "https://github.com/iamcco/diagnostic-languageserver Diagnostic language\nserver integrate with linters.",
|
||||
"digestif": "https://github.com/astoff/digestif Digestif is a code analyzer, and a\nlanguage server, for LaTeX, ConTeXt et caterva. It provides\ncontext-sensitive completion, documentation, code navigation, and\nrelated functionality to any text editor that speaks the LSP protocol.",
|
||||
@@ -105,6 +105,7 @@
|
||||
"flow": "https://flow.org/ https://github.com/facebook/flow See below for how to\nsetup Flow itself. https://flow.org/en/docs/install/ See below for lsp\ncommand options.\n\n``` sh\nnpx flow lsp --help\n```",
|
||||
"flux_lsp": "https://github.com/influxdata/flux-lsp `flux-lsp` can be installed via\n`cargo`:\n\n``` sh\ncargo install --git https://github.com/influxdata/flux-lsp\n```",
|
||||
"foam_ls": "https://github.com/FoamScience/foam-language-server\n`foam-language-server` can be installed via `npm`\n\n``` sh\nnpm install -g foam-language-server\n```",
|
||||
"fortitude": "https://fortitude.readthedocs.io/en/stable/ Fortitude is a Fortran\nlinter built in Rust and inspired by (and build upon) Ruff\n\n``` sh\n# Install With uv:\nuv tool install fortitude-lint@latest\n# Install with pip:\npip install fortitude-lint\n```\n\n**LSP is available in Fortitude `v0.8.0`.** Refer to the\n[documentation](https://fortitude.readthedocs.io/en/stable/editors/) for\nmore details.",
|
||||
"fortls": "https://fortls.fortran-lang.org/index.html fortls is a Fortran Language\nServer, the server can be installed via pip\n\n``` sh\npip install fortls\n```\n\nSettings to the server can be passed either through the `cmd` option or\nthrough a local configuration file e.g. `.fortls`. For more information\nsee the `fortls`\n[documentation](https://fortls.fortran-lang.org/options.html).",
|
||||
"fsautocomplete": "https://github.com/fsharp/FsAutoComplete Language Server for F# provided\nby FsAutoComplete (FSAC). FsAutoComplete requires the\n[dotnet-sdk](https://dotnet.microsoft.com/download) to be installed. The\npreferred way to install FsAutoComplete is with\n`dotnet tool install --global fsautocomplete`. Instructions to compile\nfrom source are found on the main\n[repository](https://github.com/fsharp/FsAutoComplete). You may also\nneed to configure the filetype as Vim defaults to Forth for `*.fs`\nfiles: `autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`\nThis is automatically done by plugins such as\n[PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp),\n[fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and\n[adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim).",
|
||||
"fsharp_language_server": "F# Language Server https://github.com/faldor20/fsharp-language-server An\nimplementation of the language server protocol using the F# Compiler\nService. Build the project from source and override the command path to\nlocation of DLL. If filetype determination is not already performed by\nan available plugin\n([PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp),\n[fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp), and\n[adelarsq/neofsharp.vim](https://github.com/adelarsq/neofsharp.vim). ),\nthen the following must be added to initialization configuration:\n`autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`",
|
||||
@@ -157,8 +158,9 @@
|
||||
"jqls": "https://github.com/wader/jq-lsp Language server for jq, written using\nGo. You can install the server easily using go install:\n\n``` sh\n# install directly\ngo install github.com/wader/jq-lsp@master\n# copy binary to $PATH\ncp $(go env GOPATH)/bin/jq-lsp /usr/local/bin\n```\n\nNote: To activate properly nvim needs to know the jq filetype. You can\nadd it via:\n\n``` lua\nvim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]])\n```",
|
||||
"jsonls": "https://github.com/hrsh7th/vscode-langservers-extracted\nvscode-json-language-server, a language server for JSON and JSON schema\n`vscode-json-language-server` can be installed via `npm`:\n\n``` sh\nnpm i -g vscode-langservers-extracted\n```\n\n`vscode-json-language-server` only provides completions when snippet\nsupport is enabled. If you use Neovim older than v0.10 you need to\nenable completion, install a snippet plugin and add the following\noverride to your language client capabilities during setup.\n\n``` lua\n--Enable (broadcasting) snippet capability for completion\nlocal capabilities = vim.lsp.protocol.make_client_capabilities()\ncapabilities.textDocument.completion.completionItem.snippetSupport = true\nvim.lsp.config('jsonls', {\n capabilities = capabilities,\n})\n```",
|
||||
"jsonnet_ls": "",
|
||||
"julials": "https://github.com/julia-vscode/julia-vscode LanguageServer.jl,\nSymbolServer.jl and StaticLint.jl can be installed with `julia` and\n`Pkg`:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add(\"LanguageServer\"); Pkg.add(\"SymbolServer\"); Pkg.add(\"StaticLint\")'\n```\n\nwhere `~/.julia/environments/nvim-lspconfig` is the location where the\ndefault configuration expects LanguageServer.jl, SymbolServer.jl and\nStaticLint.jl to be installed. To update an existing install, use the\nfollowing command:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'\n```\n\nNote: In order to have LanguageServer.jl pick up installed packages or\ndependencies in a Julia project, you must make sure that the project is\ninstantiated:\n\n``` sh\njulia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'\n```\n\nNote: The julia programming language searches for global environments\nwithin the `environments/` folder of `$JULIA_DEPOT_PATH` entries. By\ndefault this simply `~/.julia/environments`",
|
||||
"julials": "https://github.com/julia-vscode/julia-vscode LanguageServer.jl,\nSymbolServer.jl and StaticLint.jl can be installed with `julia` and\n`Pkg`:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add(\"LanguageServer\"); Pkg.add(\"SymbolServer\"); Pkg.add(\"StaticLint\")'\n```\n\nwhere `~/.julia/environments/nvim-lspconfig` is the location where the\ndefault configuration expects LanguageServer.jl, SymbolServer.jl and\nStaticLint.jl to be installed. To update an existing install, use the\nfollowing command:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'\n```\n\nNote: In order to have LanguageServer.jl pick up installed packages or\ndependencies in a Julia project, you must make sure that the project is\ninstantiated:\n\n``` sh\njulia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'\n```\n\nTo activate a Julia environment, use the `:LspJuliaActivateEnv` command.\nA prompt will ask you to select a Julia environment from the list of\nenvironments found in the current working directory and the\n`environments/` folder of `$JULIA_DEPOT_PATH` entries. You can also\nprovide a path to a Julia environment directly. Example:\n`:LspJuliaActivateEnv /path/to/my/project`. Note: The julia programming\nlanguage searches for global environments within the `environments/`\nfolder of `$JULIA_DEPOT_PATH` entries. By default this simply\n`~/.julia/environments`",
|
||||
"just": "https://github.com/terror/just-lsp `just-lsp` is an LSP for just built\non top of the tree-sitter-just parser.",
|
||||
"kakehashi": "",
|
||||
"kcl": "https://github.com/kcl-lang/kcl.nvim Language server for the KCL\nconfiguration and policy language.",
|
||||
"koka": "https://koka-lang.github.io/koka/doc/index.html Koka is a functional\nprogramming language with effect types and handlers.",
|
||||
"kotlin_language_server": "A kotlin language server which was developed for internal usage and\nreleased afterwards. Maintaining is not done by the original author, but\nby fwcd. It is built via gradle and developed on github. Source and\nadditional description: https://github.com/fwcd/kotlin-language-server\nThis server requires vim to be aware of the kotlin-filetype. You could\nrefer for this capability to: https://github.com/udalov/kotlin-vim\n(recommended) Note that there is no LICENSE specified yet. For faster\nstartup, you can setup caching by specifying a storagePath in the\ninit_options. The default is your home directory.",
|
||||
@@ -191,12 +193,13 @@
|
||||
"mojo": "https://github.com/modularml/mojo `mojo-lsp-server` can be installed\n[via Modular](https://developer.modular.com/download) Mojo is a new\nprogramming language that bridges the gap between research and\nproduction by combining Python syntax and ecosystem with systems\nprogramming and metaprogramming features.",
|
||||
"motoko_lsp": "https://github.com/dfinity/vscode-motoko Language server for the Motoko\nprogramming language.",
|
||||
"move_analyzer": "https://github.com/move-language/move/tree/main/language/move-analyzer\nLanguage server for Move The `move-analyzer` can be installed by\nrunning:\n\n cargo install --git https://github.com/move-language/move move-analyzer\n\nSee [`move-analyzer`'s\ndoc](https://github.com/move-language/move/blob/1b258a06e3c7d2bc9174578aac92cca3ac19de71/language/move-analyzer/editors/code/README.md#how-to-install)\nfor details.",
|
||||
"mpls": "https://github.com/mhersson/mpls Markdown Preview Language Server",
|
||||
"msbuild_project_tools_server": "https://github.com/tintoy/msbuild-project-tools-server/ MSBuild Project\nTools Server can be installed by following the README.MD on the above\nrepository. Example config:\n\n``` lua\nvim.lsp.config('msbuild_project_tools_server', {\n cmd = {'dotnet', '/path/to/server/MSBuildProjectTools.LanguageServer.Host.dll'}\n})\n```\n\nThere's no builtin filetypes for msbuild files, would require some\nfiletype aliases:\n\n``` lua\nvim.filetype.add({\n extension = {\n props = 'msbuild',\n tasks = 'msbuild',\n targets = 'msbuild',\n },\n pattern = {\n [ [[.*\\..*proj]] ] = 'msbuild',\n },\n})\n```\n\nOptionally tell treesitter to treat `msbuild` as `xml` so you can get\nsyntax highlighting if you have the treesitter-xml-parser installed.\n\n``` lua\nvim.treesitter.language.register('xml', { 'msbuild' })\n```",
|
||||
"muon": "https://muon.build",
|
||||
"mutt_ls": "https://github.com/neomutt/mutt-language-server A language server for\n(neo)mutt's muttrc. It can be installed via pip.\n\n``` sh\npip install mutt-language-server\n```",
|
||||
"nelua_lsp": "",
|
||||
"neocmake": "https://github.com/neocmakelsp/neocmakelsp CMake LSP Implementation\nNeovim does not currently include built-in snippets. `neocmakelsp` only\nprovides completions when snippet support is enabled. To enable\ncompletion, install a snippet plugin and add the following override to\nyour language client capabilities during setup.\n\n``` lua\n--Enable (broadcasting) snippet capability for completion\nlocal capabilities = vim.lsp.protocol.make_client_capabilities()\ncapabilities.textDocument.completion.completionItem.snippetSupport = true\nvim.lsp.config('neocmake', {\n capabilities = capabilities,\n})\n```",
|
||||
"nextflow_ls": "https://github.com/nextflow-io/language-server Requirements: - Java 17+\n`nextflow_ls` can be installed by following the instructions\n[here](https://github.com/nextflow-io/language-server#development). If\nyou have installed nextflow language server, you can set the `cmd`\ncustom path as follow:\n\n``` lua\nvim.lsp.config('nextflow_ls', {\n cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },\n filetypes = { 'nextflow' },\n settings = {\n nextflow = {\n files = {\n exclude = { '.git', '.nf-test', 'work' },\n },\n },\n },\n})\n```",
|
||||
"nextflow_ls": "https://github.com/nextflow-io/language-server Requirements: - Java 17+\n`nextflow_ls` can be installed by following the instructions\n[here](https://github.com/nextflow-io/language-server#development). If\nyou have installed nextflow language server, you can set the `cmd`\ncustom path as follow:\n\n``` lua\nvim.lsp.config('nextflow_ls', {\n cmd = { 'nextflow-language-server' },\n filetypes = { 'nextflow' },\n settings = {\n nextflow = {\n files = {\n exclude = { '.git', '.nf-test', 'work' },\n },\n },\n },\n})\n```",
|
||||
"nextls": "https://github.com/elixir-tools/next-ls **Please see the following\n[detailed\ninstructions](https://www.elixir-tools.dev/docs/next-ls/installation/)\nfor possible installation methods.**",
|
||||
"nginx_language_server": "https://pypi.org/project/nginx-language-server/ `nginx-language-server`\ncan be installed via pip:\n\n``` sh\npip install -U nginx-language-server\n```",
|
||||
"nickel_ls": "Nickel Language Server https://github.com/tweag/nickel `nls` can be\ninstalled with nix, or cargo, from the Nickel repository.\n\n``` sh\ngit clone https://github.com/tweag/nickel.git\n```\n\nNix:\n\n``` sh\ncd nickel\nnix-env -f . -i\n```\n\ncargo:\n\n``` sh\ncd nickel/lsp/nls\ncargo install --path .\n```\n\nIn order to have lspconfig detect Nickel filetypes (a prerequisite for\nautostarting a server), install the [Nickel vim\nplugin](https://github.com/nickel-lang/vim-nickel).",
|
||||
@@ -230,7 +233,8 @@
|
||||
"pico8_ls": "https://github.com/japhib/pico8-ls Full language support for the PICO-8\ndialect of Lua.",
|
||||
"please": "https://github.com/thought-machine/please High-performance extensible\nbuild system for reproducible multi-language builds. The `plz` binary\nwill automatically install the LSP for you on first run",
|
||||
"pli": "`pli_language_server` is a language server for the PL/I language used on\nIBM SystemZ mainframes. To learn how to configure the PL/I language\nserver, see the [PL/I Language Support\ndocumentation](https://github.com/zowe/zowe-pli-language-support).",
|
||||
"pony_language_server": "https://github.com/ponylang/pony-language-server Language server for the\nPony programming language",
|
||||
"pony_language_server": "Renamed to [pony_lsp](#pony_lsp)",
|
||||
"pony_lsp": "https://github.com/ponylang/ponyc/tree/main/tools/pony-lsp Language\nserver for the Pony programming language",
|
||||
"poryscript_pls": "https://github.com/huderlem/poryscript-pls Language server for\nporyscript (a high level scripting language for GBA-era Pokémon\ndecompilation projects)",
|
||||
"postgres_lsp": "https://pg-language-server.com A collection of language tools and a\nLanguage Server Protocol (LSP) implementation for Postgres, focusing on\ndeveloper experience and reliable SQL tooling.",
|
||||
"powershell_es": "",
|
||||
@@ -299,6 +303,7 @@
|
||||
"sqlls": "https://github.com/joe-re/sql-language-server This LSP can be installed\nvia `npm`. Find further instructions on manual installation of the\nsql-language-server at\n[joe-re/sql-language-server](https://github.com/joe-re/sql-language-server).",
|
||||
"sqls": "https://github.com/sqls-server/sqls\n\n``` lua\nvim.lsp.config('sqls', {\n cmd = {\"path/to/command\", \"-config\", \"path/to/config.yml\"};\n ...\n})\n```\n\nSqls can be installed via\n`go install github.com/sqls-server/sqls@latest`. Instructions for\ncompiling Sqls from the source can be found at\n[sqls-server/sqls](https://github.com/sqls-server/sqls).",
|
||||
"sqruff": "https://github.com/quarylabs/sqruff `sqruff` can be installed by\nfollowing the instructions\n[here](https://github.com/quarylabs/sqruff?tab=readme-ov-file#installation)",
|
||||
"stan_ls": "https://github.com/tomatitito/stan-language-server Language server for\nthe Stan probabilistic programming language.",
|
||||
"standardrb": "https://github.com/testdouble/standard Ruby Style Guide, with linter &\nautomatic code fixer.",
|
||||
"starlark_rust": "https://github.com/facebookexperimental/starlark-rust/ The LSP part of\n`starlark-rust` is not currently documented, but the implementation\nworks well for linting. This gives valuable warnings for potential\nissues in the code, but does not support refactorings. It can be\ninstalled with cargo: https://crates.io/crates/starlark",
|
||||
"starpls": "https://github.com/withered-magic/starpls `starpls` is an LSP\nimplementation for Starlark. Installation instructions can be found in\nthe project's README.",
|
||||
@@ -335,9 +340,9 @@
|
||||
"tinymist": "https://github.com/Myriad-Dreamin/tinymist An integrated language\nservice for Typst \\[taɪpst\\]. You can also call it \"微霭\" \\[wēi ǎi\\] in\nChinese. Currently some of Tinymist's workspace commands are supported,\nnamely: `LspTinymistExportSvg`, `LspTinymistExportPng`,\n`LspTinymistExportPdf`, `LspTinymistExportMarkdown`,\n`LspTinymistExportText`, `LspTinymistExportQuery`,\n`LspTinymistExportAnsiHighlight`, `LspTinymistGetServerInfo`,\n`LspTinymistGetDocumentTrace`, `LspTinymistGetWorkspaceLabels`,\n`LspTinymistGetDocumentMetrics`, and `LspTinymistPinMain`.",
|
||||
"tofu_ls": "[OpenTofu Language Server](https://github.com/opentofu/tofu-ls)",
|
||||
"tombi": "https://tombi-toml.github.io/tombi/ Language server for Tombi, a TOML\ntoolkit.",
|
||||
"ts_ls": "https://github.com/typescript-language-server/typescript-language-server\n`ts_ls`, aka `typescript-language-server`, is a Language Server Protocol\nimplementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is\nnot `tsserver`. `typescript-language-server` depends on `typescript`.\nBoth packages can be installed via `npm`:\n\n``` sh\nnpm install -g typescript typescript-language-server\n```\n\nTo configure typescript language server, add a\n[`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\nor\n[`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig)\nto the root of your project. Here's an example that disables type\nchecking in JavaScript files.\n\n``` json\n{\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"target\": \"es6\",\n \"checkJs\": false\n },\n \"exclude\": [\n \"node_modules\"\n ]\n}\n```\n\nUse the `:LspTypescriptSourceAction` command to see \"whole file\"\n(\"source\") code-actions such as: - organize imports - remove unused code\nUse the `:LspTypescriptGoToSourceDefinition` command to navigate to the\nsource definition of a symbol (e.g., jump to the original implementation\ninstead of type definitions). \\### Monorepo support `ts_ls` supports\nmonorepos by default. It will automatically find the `tsconfig.json` or\n`jsconfig.json` corresponding to the package you are working on. This\nworks without the need of spawning multiple instances of `ts_ls`, saving\nmemory. It is recommended to use the same version of TypeScript in all\npackages, and therefore have it available in your workspace root. The\nlocation of the TypeScript binary will be determined automatically, but\nonly once.",
|
||||
"ts_ls": "https://github.com/typescript-language-server/typescript-language-server\n`ts_ls`, aka `typescript-language-server`, is a Language Server Protocol\nimplementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is\nnot `tsserver`. `typescript-language-server` depends on `typescript`.\nBoth packages can be installed via `npm`:\n\n``` sh\nnpm install -g typescript typescript-language-server\n```\n\nTo configure typescript language server, add a\n[`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\nor\n[`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig)\nto the root of your project. Here's an example that disables type\nchecking in JavaScript files.\n\n``` json\n{\n \"compilerOptions\": {\n \"module\": \"commonjs\",\n \"target\": \"es6\",\n \"checkJs\": false\n },\n \"exclude\": [\n \"node_modules\"\n ]\n}\n```\n\nUse the `:LspTypescriptSourceAction` command to see \"whole file\"\n(\"source\") code-actions such as: - organize imports - remove unused code\nUse the `:LspTypescriptGoToSourceDefinition` command to navigate to the\nsource definition of a symbol (e.g., jump to the original implementation\ninstead of type definitions). \\### Monorepo support `ts_ls` supports\nmonorepos by default. It will automatically find the `tsconfig.json` or\n`jsconfig.json` corresponding to the package you are working on. This\nworks without the need of spawning multiple instances of `ts_ls`, saving\nmemory. It is recommended to use the same version of TypeScript in all\npackages, and therefore have it available in your workspace root. The\nlocation of the TypeScript binary will be determined automatically, but\nonly once. Some care must be taken here to correctly infer whether a\nfile is part of a Deno program, or a TS program that expects to run in\nNode or Web Browsers. This supports having a Deno module using the\ndenols LSP as a part of a mostly-not-Deno monorepo. We do this by\nfinding the nearest package manager lock file, and the nearest deno.json\nor deno.jsonc. Example:\n\n project-root\n +-- node_modules/...\n +-- package-lock.json\n +-- package.json\n +-- packages\n +-- deno-module\n | +-- deno.json\n | +-- package.json <-- It's normal for Deno projects to have package.json files!\n | +-- src\n | +-- index.ts <-- this is a Deno file\n +-- node-module\n +-- package.json\n +-- src\n +-- index.ts <-- a non-Deno file (ie, should use ts_ls or tsgols)\n\nFrom the file being edited, we walk up to find the nearest package\nmanager lockfile. This is PROJECT ROOT. From the file being edited, find\nthe nearest deno.json or deno.jsonc. This is DENO ROOT. From the file\nbeing edited, find the nearest deno.lock. This is DENO LOCK ROOT If DENO\nLOCK ROOT is found, and PROJECT ROOT is missing or shorter, then this is\na deno file, and we abort. If DENO ROOT is found, and it's longer than\nor equal to PROJECT ROOT, then this is a Deno file, and we abort.\nOtherwise, attach at PROJECT ROOT, or the cwd if not found.",
|
||||
"ts_query_ls": "https://github.com/ribru17/ts_query_ls Can be configured by passing a\n\"settings\" object to `vim.lsp.config('ts_query_ls', {})`:\n\n``` lua\nvim.lsp.config('ts_query_ls', {\n init_options = {\n parser_install_directories = {\n '/my/parser/install/dir',\n },\n -- This setting is provided by default\n parser_aliases = {\n ecma = 'javascript',\n jsx = 'javascript',\n php_only = 'php',\n },\n },\n})\n```",
|
||||
"tsgo": "https://github.com/microsoft/typescript-go `typescript-go` is\nexperimental port of the TypeScript compiler (tsc) and language server\n(tsserver) to the Go programming language. `tsgo` can be installed via\nnpm `npm install @typescript/native-preview`. \\### Monorepo support\n`tsgo` supports monorepos by default. It will automatically find the\n`tsconfig.json` or `jsconfig.json` corresponding to the package you are\nworking on. This works without the need of spawning multiple instances\nof `tsgo`, saving memory. It is recommended to use the same version of\nTypeScript in all packages, and therefore have it available in your\nworkspace root. The location of the TypeScript binary will be determined\nautomatically, but only once.",
|
||||
"tsgo": "https://github.com/microsoft/typescript-go `typescript-go` is\nexperimental port of the TypeScript compiler (tsc) and language server\n(tsserver) to the Go programming language. `tsgo` can be installed via\nnpm `npm install @typescript/native-preview`. \\### Monorepo support\n`tsgo` supports monorepos by default. It will automatically find the\n`tsconfig.json` or `jsconfig.json` corresponding to the package you are\nworking on. This works without the need of spawning multiple instances\nof `tsgo`, saving memory. It is recommended to use the same version of\nTypeScript in all packages, and therefore have it available in your\nworkspace root. The location of the TypeScript binary will be determined\nautomatically, but only once. Some care must be taken here to correctly\ninfer whether a file is part of a Deno program, or a TS program that\nexpects to run in Node or Web Browsers. This supports having a Deno\nmodule using the denols LSP as a part of a mostly-not-Deno monorepo. We\ndo this by finding the nearest package manager lock file, and the\nnearest deno.json or deno.jsonc. Example:\n\n project-root\n +-- node_modules/...\n +-- package-lock.json\n +-- package.json\n +-- packages\n +-- deno-module\n | +-- deno.json\n | +-- package.json <-- It's normal for Deno projects to have package.json files!\n | +-- src\n | +-- index.ts <-- this is a Deno file\n +-- node-module\n +-- package.json\n +-- src\n +-- index.ts <-- a non-Deno file (ie, should use ts_ls or tsgols)\n\nFrom the file being edited, we walk up to find the nearest package\nmanager lockfile. This is PROJECT ROOT. From the file being edited, find\nthe nearest deno.json or deno.jsonc. This is DENO ROOT. From the file\nbeing edited, find the nearest deno.lock. This is DENO LOCK ROOT If DENO\nLOCK ROOT is found, and PROJECT ROOT is missing or shorter, then this is\na deno file, and we abort. If DENO ROOT is found, and it's longer than\nor equal to PROJECT ROOT, then this is a Deno file, and we abort.\nOtherwise, attach at PROJECT ROOT, or the cwd if not found.",
|
||||
"tsp_server": "https://github.com/microsoft/typespec The language server for TypeSpec,\na language for defining cloud service APIs and shapes. `tsp-server` can\nbe installed together with the typespec compiler via `npm`:\n\n``` sh\nnpm install -g @typespec/compiler\n```",
|
||||
"ttags": "https://github.com/npezza93/ttags",
|
||||
"turbo_ls": "https://www.npmjs.com/package/turbo-language-server\n`turbo-language-server` can be installed via `npm`:\n\n``` sh\nnpm install -g turbo-language-server\n```\n\nor via `yarn`:\n\n``` sh\nyarn global add turbo-language-server\n```",
|
||||
@@ -355,7 +360,7 @@
|
||||
"uvls": "https://codeberg.org/caradhras/uvls Language server for UVL, written\nusing tree sitter and rust. You can install the server easily using\ncargo:\n\n``` sh\ngit clone https://codeberg.org/caradhras/uvls\ncd uvls\ncargo install --path .\n```\n\nNote: To activate properly nvim needs to know the uvl filetype. You can\nadd it via:\n\n``` lua\nvim.cmd([[au BufRead,BufNewFile *.uvl setfiletype uvl]])\n```",
|
||||
"v_analyzer": "https://github.com/vlang/v-analyzer V language server. `v-analyzer` can\nbe installed by following the instructions\n[here](https://github.com/vlang/v-analyzer#installation).",
|
||||
"vacuum": "You can install vacuum using mason or follow the instructions here:\nhttps://github.com/daveshanley/vacuum The file types are not detected\nautomatically, you can register them manually (see below) or override\nthe filetypes:\n\n``` lua\nvim.filetype.add {\n pattern = {\n ['openapi.*%.ya?ml'] = 'yaml.openapi',\n ['openapi.*%.json'] = 'json.openapi',\n },\n}\n```",
|
||||
"vala_ls": "https://github.com/Prince781/vala-language-server",
|
||||
"vala_ls": "https://github.com/vala-lang/vala-language-server",
|
||||
"vale_ls": "https://github.com/errata-ai/vale-ls An implementation of the Language\nServer Protocol (LSP) for the Vale command-line tool.",
|
||||
"vectorcode_server": "https://github.com/Davidyz/VectorCode A Language Server Protocol\nimplementation for VectorCode, a code repository indexing tool.",
|
||||
"verible": "https://github.com/chipsalliance/verible A linter and formatter for\nverilog and SystemVerilog files. Release binaries can be downloaded from\n[here](https://github.com/chipsalliance/verible/releases) and placed in\na directory on PATH. See\nhttps://github.com/chipsalliance/verible/tree/master/verilog/tools/ls/README.md\nfor options.",
|
||||
@@ -363,13 +368,14 @@
|
||||
"veryl_ls": "https://github.com/veryl-lang/veryl Language server for Veryl `veryl-ls`\ncan be installed via `cargo`: `sh cargo install veryl-ls`",
|
||||
"vespa_ls": "https://github.com/vespa-engine/vespa/tree/master/integration/schema-language-server\nVespa Language Server provides LSP features such as completion,\ndiagnostics, and go-to-definition for Vespa schema files (`.sd`),\nprofile files (`.profile`), and YQL query files (`.yql`). This language\nserver requires Java 17 or higher. You can build the jar from source.\nYou can override the default command by manually configuring it like\nthis:\n\n``` lua\nvim.lsp.config('vespa_ls', {\n cmd = { 'java', '-jar', '/path/to/vespa-language-server.jar' },\n})\n```\n\nThe project root is determined based on the presence of a `.git`\ndirectory. To make Neovim recognize the proper filetypes, add the\nfollowing setting in `init.lua`: vim.filetype.add { extension = {\nprofile = 'sd', sd = 'sd', yql = 'yql', }, }",
|
||||
"vhdl_ls": "Install vhdl_ls from https://github.com/VHDL-LS/rust_hdl and add it to\npath Configuration The language server needs to know your library\nmapping to perform full analysis of the code. For this it uses a\nconfiguration file in the TOML format named vhdl_ls.toml. vhdl_ls will\nload configuration files in the following order of priority (first to\nlast): A file named .vhdl_ls.toml in the user home folder. A file name\nfrom the VHDL_LS_CONFIG environment variable. A file named vhdl_ls.toml\nin the workspace root. Settings in a later files overwrites those from\npreviously loaded files. Example vhdl_ls.toml\n\n # File names are either absolute or relative to the parent folder of the vhdl_ls.toml file\n [libraries]\n lib2.files = [\n 'pkg2.vhd',\n ]\n lib1.files = [\n 'pkg1.vhd',\n 'tb_ent.vhd'\n ]",
|
||||
"vimdoc_ls": "https://github.com/barrettruth/vimdoc-language-server Language server\nfor vim help files (vimdoc). `vimdoc-language-server` can be installed\nvia `cargo`:\n\n``` sh\ncargo install vimdoc-language-server\n```",
|
||||
"vimls": "https://github.com/iamcco/vim-language-server You can install\nvim-language-server via npm:\n\n``` sh\nnpm install -g vim-language-server\n```",
|
||||
"visualforce_ls": "https://github.com/forcedotcom/salesforcedx-vscode Language server for\nVisualforce. For manual installation, download the .vsix archive file\nfrom the\n[forcedotcom/salesforcedx-vscode](https://github.com/forcedotcom/salesforcedx-vscode)\nGitHub releases. Then, configure `cmd` to run the Node script at the\nunpacked location:\n\n``` lua\nvim.lsp.config('visualforce_ls', {\n cmd = {\n 'node',\n '/path/to/unpacked/archive/extension/node_modules/@salesforce/salesforcedx-visualforce-language-server/out/src/visualforceServer.js',\n '--stdio'\n }\n})\n```",
|
||||
"vls": "https://github.com/vlang/vls V language server. `v-language-server` can\nbe installed by following the instructions\n[here](https://github.com/vlang/vls#installation).",
|
||||
"volar": "Renamed to [vue_ls](#vue_ls)",
|
||||
"vscoqtop": "Renamed to [vsrocq](#vsrocq)",
|
||||
"vsrocq": "https://github.com/rocq-prover/vsrocq",
|
||||
"vtsls": "https://github.com/yioneko/vtsls `vtsls` can be installed with npm:\n\n``` sh\nnpm install -g @vtsls/language-server\n```\n\nTo configure a TypeScript project, add a\n[`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\nor\n[`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig)\nto the root of your project. \\### Vue support Since v3.0.0, the Vue\nlanguage server requires `vtsls` to support TypeScript.\n\n -- If you are using mason.nvim, you can get the ts_plugin_path like this\n -- For Mason v1,\n -- local mason_registry = require('mason-registry')\n -- local vue_language_server_path = mason_registry.get_package('vue-language-server'):get_install_path() .. '/node_modules/@vue/language-server'\n -- For Mason v2,\n -- local vue_language_server_path = vim.fn.expand '$MASON/packages' .. '/vue-language-server' .. '/node_modules/@vue/language-server'\n -- or even\n -- local vue_language_server_path = vim.fn.stdpath('data') .. \"/mason/packages/vue-language-server/node_modules/@vue/language-server\"\n local vue_language_server_path = '/path/to/@vue/language-server'\n local vue_plugin = {\n name = '@vue/typescript-plugin',\n location = vue_language_server_path,\n languages = { 'vue' },\n configNamespace = 'typescript',\n }\n vim.lsp.config('vtsls', {\n settings = {\n vtsls = {\n tsserver = {\n globalPlugins = {\n vue_plugin,\n },\n },\n },\n },\n filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },\n })\n\n- `location` MUST be defined. If the plugin is installed in\n `node_modules`, `location` can have any value.\n- `languages` must include vue even if it is listed in filetypes.\n- `filetypes` is extended here to include Vue SFC. You must make sure\n the Vue language server is setup. For example,\n\n<!-- -->\n\n vim.lsp.enable('vue_ls')\n\nSee `vue_ls` section and\nhttps://github.com/vuejs/language-tools/wiki/Neovim for more\ninformation. \\### Monorepo support `vtsls` supports monorepos by\ndefault. It will automatically find the `tsconfig.json` or\n`jsconfig.json` corresponding to the package you are working on. This\nworks without the need of spawning multiple instances of `vtsls`, saving\nmemory. It is recommended to use the same version of TypeScript in all\npackages, and therefore have it available in your workspace root. The\nlocation of the TypeScript binary will be determined automatically, but\nonly once.",
|
||||
"vtsls": "https://github.com/yioneko/vtsls `vtsls` can be installed with npm:\n\n``` sh\nnpm install -g @vtsls/language-server\n```\n\nTo configure a TypeScript project, add a\n[`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\nor\n[`jsconfig.json`](https://code.visualstudio.com/docs/languages/jsconfig)\nto the root of your project. \\### Vue support Since v3.0.0, the Vue\nlanguage server requires `vtsls` to support TypeScript.\n\n -- If you are using mason.nvim, you can get the ts_plugin_path like this\n -- For Mason v1,\n -- local mason_registry = require('mason-registry')\n -- local vue_language_server_path = mason_registry.get_package('vue-language-server'):get_install_path() .. '/node_modules/@vue/language-server'\n -- For Mason v2,\n -- local vue_language_server_path = vim.fn.expand '$MASON/packages' .. '/vue-language-server' .. '/node_modules/@vue/language-server'\n -- or even\n -- local vue_language_server_path = vim.fn.stdpath('data') .. \"/mason/packages/vue-language-server/node_modules/@vue/language-server\"\n local vue_language_server_path = '/path/to/@vue/language-server'\n local vue_plugin = {\n name = '@vue/typescript-plugin',\n location = vue_language_server_path,\n languages = { 'vue' },\n configNamespace = 'typescript',\n }\n vim.lsp.config('vtsls', {\n settings = {\n vtsls = {\n tsserver = {\n globalPlugins = {\n vue_plugin,\n },\n },\n },\n },\n filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },\n })\n\n- `location` MUST be defined. If the plugin is installed in\n `node_modules`, `location` can have any value.\n- `languages` must include vue even if it is listed in filetypes.\n- `filetypes` is extended here to include Vue SFC. You must make sure\n the Vue language server is setup. For example,\n\n<!-- -->\n\n vim.lsp.enable('vue_ls')\n\nSee `vue_ls` section and\nhttps://github.com/vuejs/language-tools/wiki/Neovim for more\ninformation. \\### Monorepo support `vtsls` supports monorepos by\ndefault. It will automatically find the `tsconfig.json` or\n`jsconfig.json` corresponding to the package you are working on. This\nworks without the need of spawning multiple instances of `vtsls`, saving\nmemory. It is recommended to use the same version of TypeScript in all\npackages, and therefore have it available in your workspace root. The\nlocation of the TypeScript binary will be determined automatically, but\nonly once. This includes the same Deno-excluding logic from `ts_ls`. It\nis not recommended to enable both `vtsls` and `ts_ls` at the same time!",
|
||||
"vue_ls": "https://github.com/vuejs/language-tools/tree/master/packages/language-server\nThe official language server for Vue It can be installed via npm:\n\n``` sh\nnpm install -g @vue/language-server\n```\n\nThe language server only supports Vue 3 projects by default. For Vue 2\nprojects, [additional\nconfiguration](https://github.com/vuejs/language-tools/blob/master/extensions/vscode/README.md?plain=1#L19)\nare required. The Vue language server works in \"hybrid mode\" that\nexclusively manages the CSS/HTML sections. You need the `vtsls` server\nwith the `@vue/typescript-plugin` plugin to support TypeScript in `.vue`\nfiles. See `vtsls` section and\nhttps://github.com/vuejs/language-tools/wiki/Neovim for more\ninformation. NOTE: Since v3.0.0, the Vue Language Server [no longer\nsupports takeover\nmode](https://github.com/vuejs/language-tools/pull/5248).",
|
||||
"wasm_language_tools": "https://github.com/g-plane/wasm-language-tools WebAssembly Language\nTools aims to provide and improve the editing experience of WebAssembly\nText Format. It also provides an out-of-the-box formatter (a.k.a. pretty\nprinter) for WebAssembly Text Format.",
|
||||
"wc_language_server": "https://github.com/wc-toolkit/wc-language-server Web Components Language\nServer provides intelligent editor support for Web Components and custom\nelements. It offers advanced HTML diagnostics, completion, and\nvalidation for custom elements, including support for attribute types,\ndeprecation, and duplicate attribute detection. The language server uses\nthe [Custom Elements\nManifest](https://github.com/webcomponents/custom-elements-manifest) to\ngenerate component integration and validation information\n`wc-language-server` can be installed by following the instructions at\nthe [GitHub\nrepository](https://github.com/wc-toolkit/wc-language-server/blob/main/packages/neovim/README.md).\nThe default `cmd` assumes that the `wc-language-server` binary can be\nfound in `$PATH`. Alternatively, you can install it via\n[mason.nvim](https://github.com/williamboman/mason.nvim):\n\n``` vim\n:MasonInstall wc-language-server\n```\n\n**Configuration**\n\nThe language server reads settings from `wc.config.js` (or\n`.ts/.mjs/.cjs`) at the project root. Use it to customize manifest\nsources, file scoping, and diagnostic behavior. Example `wc.config.js`:\n\n``` js\nexport default {\n // Fetch manifest from a custom path or URL\n manifestSrc: './dist/custom-elements.json',\n // Narrow which files opt into the language server\n include: ['src/**/*.ts', 'src/**/*.html'],\n // Skip specific globs\n exclude: ['**/*.stories.ts'],\n // Per-library overrides\n libraries: {\n '@your/pkg': {\n manifestSrc: 'https://cdn.example.com/custom-elements.json',\n tagFormatter: (tag) => tag.replace(/^x-/, 'my-'),\n },\n },\n // Customize diagnostic severity levels\n diagnosticSeverity: {\n duplicateAttribute: 'warning',\n unknownElement: 'info',\n },\n};\n```\n\nSee the [configuration\ndocumentation](https://github.com/wc-toolkit/wc-language-server#configuration)\nfor more details.",
|
||||
|
||||
Reference in New Issue
Block a user