{"id":13479679,"url":"https://github.com/mattn/vim-lsp-settings","last_synced_at":"2025-05-14T09:06:39.393Z","repository":{"id":37937737,"uuid":"228015450","full_name":"mattn/vim-lsp-settings","owner":"mattn","description":"Auto configurations for Language Server for vim-lsp","archived":false,"fork":false,"pushed_at":"2025-04-26T15:04:05.000Z","size":1483,"stargazers_count":1347,"open_issues_count":88,"forks_count":240,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-05-14T09:05:34.846Z","etag":null,"topics":["language-server","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"mattn","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-12-14T11:58:55.000Z","updated_at":"2025-05-10T16:34:33.000Z","dependencies_parsed_at":"2024-01-06T14:22:42.010Z","dependency_job_id":"aad09aad-c3da-408d-9b3c-e1d93f0b9b6d","html_url":"https://github.com/mattn/vim-lsp-settings","commit_stats":{"total_commits":1132,"total_committers":184,"mean_commits":"6.1521739130434785","dds":0.5256183745583038,"last_synced_commit":"496fbb2f910aecd3bb481d70c39806ff266a0d06"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fvim-lsp-settings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fvim-lsp-settings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fvim-lsp-settings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fvim-lsp-settings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattn","download_url":"https://codeload.github.com/mattn/vim-lsp-settings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110374,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["language-server","vim"],"created_at":"2024-07-31T16:02:21.276Z","updated_at":"2025-05-14T09:06:39.373Z","avatar_url":"https://github.com/mattn.png","language":"Vim Script","funding_links":["https://github.com/sponsors/mattn"],"categories":["Vim Script"],"sub_categories":[],"readme":"# vim-lsp-settings\n\n[![Actions Status](https://github.com/mattn/vim-lsp-settings/workflows/reviewdog/badge.svg)](https://github.com/mattn/vim-lsp-settings/actions)\n[![Actions Status](https://github.com/mattn/vim-lsp-settings/workflows/ci/badge.svg)](https://github.com/mattn/vim-lsp-settings/actions)\n\nAuto configurations for Language Servers for [vim-lsp](https://github.com/prabirshrestha/vim-lsp).\n\n## Introduction\n\nLanguage Servers are not easy to install. Visual Studio Code provides easy ways to install and update Language Servers and Language Server Client. This plugin provides the same feature for Vim.\n\n## Installation\n\nUsing the [vim-plug](https://github.com/junegunn/vim-plug) plugin manager:\n\n```viml\nPlug 'prabirshrestha/vim-lsp'\nPlug 'mattn/vim-lsp-settings'\n```\n\nYou need to install both [vim-lsp](https://github.com/prabirshrestha/vim-lsp) and vim-lsp-settings.\n\n## Usage\n\nWhile editing a file with a supported filetype:\n\n```\n:LspInstallServer\n```\n\nTo uninstall server:\n\n```\n:LspUninstallServer server-name\n```\n\nBecause there is no way to update a server, please run `:LspInstallServer` again, the newer version will be installed.\n\n\n### Auto-complete\n\nIf you want to use auto-completion, you can use one of the following.\n\n#### asyncomplete.vim\n```viml\nPlug 'prabirshrestha/asyncomplete.vim'\nPlug 'prabirshrestha/asyncomplete-lsp.vim'\n```\n\n#### ddc.vim\n```viml\nPlug 'Shougo/ddc.vim'\nPlug 'shun/ddc-vim-lsp'\n```\n\n### LSP server download directory\n\nThis is where LSP servers are placed on your system after you download them with `:LspInstallServer`\n\n#### Windows\n\n```\n%LOCALAPPDATA%\\vim-lsp-settings\\servers\n```\n\n#### MacOS/Linux\n\n```\n$HOME/.local/share/vim-lsp-settings/servers\n```\n\nIf you define `$XDG_DATA_HOME`:\n\n```\n$XDG_DATA_HOME/vim-lsp-settings/servers\n```\n\nYou can change the directory to install servers by set `g:lsp_settings_servers_dir` option in full path.\n\n## Supported Languages\n\n| Language          | Language Server                     | Installer | Local Install |\n| ----------------- | ----------------------------------- | :-------: | :-----------: |\n| Apex/VisualForce  | apex-jorje-lsp                      |    Yes    |      Yes      |\n| Astro             | astro-ls                            |    Yes    |      Yes      |\n| Astro             | biome                               |    Yes    |      Yes      |\n| Bash              | bash-language-server                |    Yes    |      Yes      |\n| C#                | omnisharp                           |    Yes    |      Yes      |\n| C/C++             | clangd                              |    Yes    |      Yes      |\n| COBOL             | cobol-language-support              |    Yes    |      Yes      |\n| CSS               | css-languageserver                  |    Yes    |      Yes      |\n| CSS               | tailwindcss-intellisense            |    Yes    |      Yes      |\n| Clojure           | clojure-lsp                         |    Yes    |      Yes      |\n| Clojure           | clj-kondo-lsp                       |    Yes    |      Yes      |\n| Cmake             | cmake-language-server               |    Yes    |      Yes      |\n| D                 | dls                                 |    Yes    |      No       |\n| D                 | serve-d                             |    Yes    |      No       |\n| Dart              | analysis-server-dart-snapshot       |    Yes    |      Yes      |\n| Dockerfile        | dockerfile-language-server-nodejs   |    Yes    |      Yes      |\n| Dot               | dot-language-server                 |    Yes    |      Yes      |\n| Elixir            | elixir-ls                           |    Yes    |      Yes      |\n| Elm               | elm-language-server                 |    Yes    |      Yes      |\n| Erlang            | erlang-ls                           |    Yes    |      Yes      |\n| F#                | fsautocomplete                      |    Yes    |      Yes      |\n| F#                | fsharp-language-server              |    Yes    |      Yes      |\n| Fortran           | fortls                              |    Yes    |      Yes      |\n| Go                | gopls                               |    Yes    |      Yes      |\n| Go                | golangci-lint-langserver            |    Yes    |      Yes      |\n| GraphQL           | graphql-language-service-cli        |    Yes    |      Yes      |\n| GraphQL           | gql-language-server                 |    Yes    |      Yes      |\n| Groovy            | groovy-language-server              |    Yes    |      Yes      |\n| Haskell           | haskell-ide-engine                  |    No     |      No       |\n| Haskell           | haskell-language-server             |    No     |      No       |\n| Helm              | helm-ls                             |    Yes    |      Yes      |\n| HTML              | html-languageserver                 |    Yes    |      Yes      |\n| HTML              | angular-language-server             |    Yes    |      Yes      |\n| HTML              | tailwindcss-intellisense            |    Yes    |      Yes      |\n| Hy                | hyuga                               |    Yes    |      No       |\n| JSON              | json-languageserver                 |    Yes    |      Yes      |\n| JSON              | rome                                |    Yes    |      Yes      |\n| JSON              | biome                               |    Yes    |      Yes      |\n| Jsonnet           | jsonnet-language-server             |    Yes    |      Yes      |\n| Java              | eclipse-jdt-ls                      |    Yes    |      Yes      |\n| Java              | java-language-server                |    No     |      Yes      |\n| JavaScript        | typescript-language-server          |    Yes    |      Yes      |\n| JavaScript        | vtsls                               |    Yes    |      Yes      |\n| JavaScript        | javascript-typescript-stdio         |    Yes    |      Yes      |\n| JavaScript        | rome                                |    Yes    |      Yes      |\n| JavaScript        | flow                                |    Yes    |      Yes      |\n| JavaScript        | eslint-language-server              |    Yes    |      Yes      |\n| JavaScript        | biome                               |    Yes    |      Yes      |\n| Julia             | LanguageServer.jl                   |    Yes    |      No       |\n| Kotlin            | kotlin-language-server              |    Yes    |      Yes      |\n| Lisp              | cl-lsp                              |    Yes    |      No       |\n| Lua               | emmylua-ls                          |    Yes    |      Yes      |\n| Lua               | sumneko-lua-language-server         |    Yes    |      Yes      |\n| Markdown (remark) | remark-language-server              |    Yes    |      Yes      |\n| Markdown          | Marksman                            |    Yes    |      Yes      |\n| Nim               | nimls                               |    No     |      No       |\n| Nix               | nixd                                |    Yes    |      Yes      |\n| Nix               | nil                                 |    Yes    |      Yes      |\n| PHP               | intelephense                        |    Yes    |      Yes      |\n| PHP               | psalm-language-server               |    Yes    |      Yes      |\n| OCaml             | ocaml-lsp                           | UNIX Only |      Yes      |\n| Protobuf          | bufls                               |    Yes    |      Yes      |\n| Puppet            | puppet-languageserver               |    Yes    |      Yes      |\n| PureScript        | purescript-language-server          |    Yes    |      Yes      |\n| Python            | pyls-all (pyls with dependencies)   |    Yes    |      Yes      |\n| Python            | pyls (pyls without dependencies)    |    Yes    |      Yes      |\n| Python            | pyls-ms (Microsoft Version)         |    Yes    |      Yes      |\n| Python            | jedi-language-server                |    Yes    |      Yes      |\n| Python            | pyright-langserver                  |    Yes    |      Yes      |\n| Python            | pylsp-all (pylsp with dependencies) |    Yes    |      Yes      |\n| Python            | pylsp (pylsp without dependencies)  |    Yes    |      Yes      |\n| Python            | pylyzer                             |    Yes    |      Yes      |\n| Python            | ruff                                |    Yes    |      Yes      |\n| Python            | ruff-lsp                            |    Yes    |      Yes      |\n| Prisma            | prisma-language-server              |    Yes    |      Yes      |\n| Qml               | qmlls                               |    Yes    |      Yes      |\n| R                 | languageserver                      |    Yes    |      No       |\n| Racket            | racket-lsp                          |    Yes    |      No       |\n| Reason            | reason-language-server              |    Yes    |      Yes      |\n| Ruby              | ruby-lsp                            | UNIX Only |      Yes      |\n| Ruby              | solargraph                          |    Yes    |      Yes      |\n| Ruby              | steep                               |    Yes    |      Yes      |\n| Ruby              | typeprof                            |    Yes    |      Yes      |\n| Ruby              | rubocop (lsp mode)                  |    Yes    |      No       |\n| Ruby              | sorbet                              |    Yes    |      No       |\n| Rust              | rls                                 |    Yes    |      No       |\n| Rust              | rust-analyzer                       |    Yes    |      Yes      |\n| Sphinx            | esbonio                             |    Yes    |      Yes      |\n| SQL               | sql-language-server                 |    Yes    |      Yes      |\n| SQL               | sqls                                |    Yes    |      Yes      |\n| SQL               | plpgsql-server                      | UNIX Only |      Yes      |\n| Starlark          | starpls                             |    Yes    |      Yes      |\n| Scala             | Metals                              |    Yes    |      Yes      |\n| Svelte            | svelte-language-server              |    Yes    |      Yes      |\n| Svelte            | tailwindcss-intellisense            |    Yes    |      Yes      |\n| Svelte            | biome                               |    Yes    |      Yes      |\n| Swift             | sourcekit-lsp                       |    Yes    |      No       |\n| SystemVerilog     | verible-verilog-ls                  | UNIX Only |      Yes      |\n| SystemVerilog     | svls                                |    Yes    |      Yes      |\n| TeX               | texlab                              |    Yes    |      Yes      |\n| TeX               | digestif                            |    Yes    |      No       |\n| Terraform         | terraform-lsp                       |    Yes    |      Yes      |\n| Terraform         | terraform-ls                        |    Yes    |      Yes      |\n| TOML              | taplo-lsp                           |    No     |      Yes      |\n| TTCN-3            | ntt                                 |    Yes    |      Yes      |\n| TypeScript        | typescript-language-server          |    Yes    |      Yes      |\n| TypeScript        | vtsls                               |    Yes    |      Yes      |\n| TypeScript        | deno                                |    Yes    |      Yes      |\n| TypeScript        | rome                                |    Yes    |      Yes      |\n| TypeScript        | eslint-language-server              |    Yes    |      Yes      |\n| TypeScript        | biome                               |    Yes    |      Yes      |\n| Typst             | typst-lsp                           |    Yes    |      Yes      |\n| Typst             | tinymist                            |    Yes    |      Yes      |\n| Vim               | vim-language-server                 |    Yes    |      Yes      |\n| Vala              | vala-language-server                |    No     |      No       |\n| Verilog           | verible-verilog-ls                  | UNIX Only |      Yes      |\n| Veryl             | veryl-ls                            |    Yes    |      Yes      |\n| Vue               | volar-server (Vue Language Tools)   |    Yes    |      Yes      |\n| Vue               | vls                                 |    Yes    |      Yes      |\n| Vue               | biome                               |    Yes    |      Yes      |\n| V                 | v-analyzer                          |    Yes    |      Yes      |\n| V                 | vlang-vls                           |    Yes    |      Yes      |\n| XML               | lemminx                             |    Yes    |      Yes      |\n| YAML              | yaml-language-server                |    Yes    |      Yes      |\n| YAML              | aws-lsp-yaml                        |    Yes    |      Yes      |\n| YANG              | yang-lsp                            |    Yes    |      Yes      |\n| ZIG               | zls                                 |    Yes    |      Yes      |\n| \\*                | efm-langserver                      |    Yes    |      Yes      |\n| \\*                | typos-lsp                           |    Yes    |      Yes      |\n\n## Notes\n\n### clangd (C/C++)\n\nThere is a Linux OS/version that does not run the locally installed `clangd` due to zlib version mismatch. If you want to use `clangd`, please install `clangd` on your system.\n\n### rls (Rust)\n\nIf you installed `rls` already, you can use `rls` without configurations. But if you have not installed `rls` yet, you can install it by following [these instructions](https://github.com/rust-lang/rls#setup).\n\n### [rust-analyzer](https://rust-analyzer.github.io/)\n\nIf you want to configure many of the [`rust-analyzer` configuration\noptions](https://rust-analyzer.github.io/manual.html#configuration), you need\nto you insert a `initialization_options` dictionary between `rust-analyzer` and\nsubdictionaries (`cargo`, `completion`, `procMacro`, etc.) in your\n`.vim-lsp-settings/settings.json`.\n```json\n{\n    \"rust-analyzer\": {\n        \"initialization_options\": {\n            \"server.extraEnv\": {\n                \"RUSTUP_TOOLCHAIN\": \"nightly\"\n            },\n            \"cargo\": {\n                \"target\": \"aarch64-apple-ios-sim\"\n            },\n            \"completion\": { \"autoimport\": {\"enable\": false } },\n            \"procMacro\": { \"enable\": true }\n        }\n    }\n}\n```\n\n#### [LSP Extensions Support](https://github.com/rust-lang/rust-analyzer/blob/master/docs/dev/lsp-extensions.md)\n\n| Extension Name                  | Status |\n| ------------------------------- | ------ |\n| initializationOptions           | ❓     |\n| Snippet TextEdit                | ❌     |\n| CodeAction Groups               | ❌     |\n| Parent Module                   | ❌     |\n| Join Lines                      | ✔️     |\n| On Enter                        | ❌     |\n| Structural Search Replace (SSR) | ❌     |\n| Matching Brace                  | ✔️     |\n| Runnables                       | ❌     |\n| Test explorer                   | ❌     |\n| Open External Documentation     | ✔️     |\n| Analyzer Status                 | ✔️     |\n| Reload Workspace                | ✔️     |\n| Rebuild proc-macros             | ❌     |\n| Unindexed Project               | ❌     |\n| Server Status                   | ❌     |\n| Syntax Tree                     | ❌     |\n| View Hir                        | ❌     |\n| View Mir                        | ❌     |\n| Interpret Function              | ❌     |\n| View File Text                  | ❌     |\n| View ItemTree                   | ❌     |\n| View Crate Graph                | ❌     |\n| Shuffle Crate Graph             | ❌     |\n| Expand Macro                    | ✔️     |\n| Hover Actions                   | ❌     |\n| Open Cargo.toml                 | ✔️     |\n| Related tests                   | ❌     |\n| Hover Range                     | ❌     |\n| Move Item                       | ❌     |\n| Workspace Symbols Filtering     | ❌     |\n| Client Commands                 | ❌     |\n| Colored Diagnostic Output       | ❌     |\n| Dependency Tree                 | ❌     |\n| View Recursive Memory Layout    | ❌     |\n\n### deno (TypeScript)\n\nTo use deno, `deno.json(c)` should located on the project directory or traversing the filesystem upwards.\n\nIf `deno.json` does not located, `node_modules` should **not** located on the project directory or traversing the filesystem upwards.\n\nWhen editing Node projects, the following warning message is shown.\n\n`server \"deno\" is disabled since \"node_modules\" is found`\n\nIf you want to disable warning message, you may put `.vim-lsp-settings/settings.json` in your project root directory.\n\n```json\n{\n  \"deno\": {\n    \"disabled\": true\n  }\n}\n```\n\nTo use importMap, default file name is `import_map.json`.\n\nIf you don't want to use `import_map.json`, you may put `.vim-lsp-settings/settings.json` in your project root directory and set importMap whatever you want.\n\n```\n{\n  \"deno\": {\n    \"initialization_options\": {\n      \"enable\": true,\n      \"lint\": true,\n      \"unstable\": true,\n      \"importMap\": \"your_own_import_map.json\"\n    }\n  }\n}\n```\n\nRecommend to add `let g:markdown_fenced_languages = ['ts=typescript']` to your\nvimrc for hover(preview) Deno's library.\n\nNote that `deno` language server is specified.\n\n```vim\nlet g:lsp_settings_filetype_typescript = ['typescript-language-server', 'eslint-language-server', 'deno']\n```\n\n### flow (JavaScript)\n\nTo use flow, the `.flowconfig` has to be located on the top of project directory.\n\n### graphql-language-service-cli(GraphQL)\n\nTo use graphql-language-service-cli, the [GraphQL Config](https://graphql-config.com/introduction#examples) has to be located on the top of project directory. The schema must be pointed to the schema file correctly.\n\n```json\n{\n  \"schema\": \"./schema.graphql\"\n}\n```\n\n### gql-language-server (GraphQL)\n\nTo use gql-language-server, the `.gqlconfig` has to be located on the top of project directory. The schema must be pointed to the schema file correctly.\n\n```json5\n{\n  schema: {\n    files: 'path/to/schema.graphql'\n  }\n}\n```\n\nFinally, you have to install `@playlyfe/gql` into your project.\n\n```\n$ npm install @playlyfe/gql --save-dev\n```\n\n### [dart analysis server](https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server) (Dart)\n\nIf you have a separate existing installation of the dart analysis server and\nwant it to be used, it must either exist in your path, or you must specify its\nlocation. See 'Configurations' below.\n\n### [haskell ide engine](https://github.com/haskell/haskell-ide-engine) (Haskell)\n\nIf you installed `hie` with stack, you can use hie without configurations.\nBut if you have not installed `hie` yet, you can install it by following [these steps](https://github.com/haskell/haskell-ide-engine#installation).\n\n### [golangci-lint-langserver](https://github.com/nametake/golangci-lint-langserver) (Go)\n\nTo use older version `golangci-lint`, please run `:LspSettingsGlobalEdit` and put bellow configuration.\n\n```json5\n\"golangci-lint-langserver\": {\n    \"initialization_options\": {\n        \"command\": [\n            \"golangci-lint\", \"run\", \"--enable-all\", \"--disable\", \"lll\", \"--out-format\", \"json\"\n        ]\n    }\n}\n```\n\n### [kotlin-language-server](https://github.com/fwcd/kotlin-language-server)\n\nTo resolve issue about proper '-jvm-target' (INLINE_FROM_HIGHER_PLATFORM) [read\nmore](https://github.com/fwcd/kotlin-language-server/issues/72)\n\n```vim\nlet g:lsp_settings = {\n\\  'kotlin-language-server': {\n\\    'workspace_config': {\n\\      'kotlin': {'compiler': {'jvm': {'target': '17'}}}\n\\    }\n\\  }\n\\}\n```\n### [qmlls](https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html)\n\nTo use the language server you need a .qmlls.ini, which can be generated\nautomatically. Additionally, you have to configure your the qml include\ndirectories from the qt install root.\n```vim\n let g:lsp_settings = {\n \\  'qmlls': {\n \\    'args': ['-I', '[QTROOT]/qml'],\n \\  },\n \\}\n\n By default, the qmlls server will search the QML_IMPORT PATH (-E option).\n ```\n\n### [rubocop lsp mode (Ruby)](https://docs.rubocop.org/rubocop/usage/lsp.html)\n\nTo use rubocop-lsp-mode, you need to install rubocop in your Ruby project using bundler.\n\n### [sorbet (Ruby)](https://sorbet.org/docs/vscode)\n\nTo use sorbet, you need to install rubocop in your Ruby project using bundler.\nAlso, [Watchman](https://facebook.github.io/watchman/) is required to watch file changes.\nFor more details, please see [Sorbet](https://sorbet.org/docs/vscode#installing-and-enabling-the-sorbet-extension) and [Watchman](https://facebook.github.io/watchman/docs/install.html) documentations.\n\n### [volar (Vue Language Tools)](https://github.com/vuejs/language-tools)\n\nTo enable full Vue support, both `typescript-language-server` and `volar-server` should be installed and enabled in `vue` filetype.\n\n```vim\nlet g:lsp_settings_filetype_vue = ['typescript-language-server', 'volar-server']\n```\n\n## Extra Configurations\n\nMost of the configurations are not required.\n\nIf you installed `clangd` already, you can use `clangd` for C/C++ without any configuration. But if you installed `clang` with the name` clangd-6.0`, you can replace executable with the following config:\n\n```vim\nlet g:lsp_settings = {\n\\  'clangd': {'cmd': ['clangd-6.0']},\n\\  'efm-langserver': {'disabled': v:false}\n\\}\n```\n\nOr put `.vim-lsp-settings/settings.json` in your project root directory.\n\n```json\n{\n  \"clangd\": {\n    \"cmd\": [\"clangd-6.0\"]\n  },\n  \"efm-langserver\": {\n    \"disabled\": false\n  }\n}\n```\n\nIf you already have the dart analysis server installed but it is not in your\npath, you can still configure the settings to use it. Use the vimscript below\nto change the command to start the server. Note the command has two parts:\nthe path to your 'dart' executable, and a subcommand 'language-server.\n\n```vimscript\nlet g:lsp_settings = {\n    \\ 'analysis-server-dart-snapshot': {\n    \\     'cmd': [\n    \\         '/path/to/your/dart-sdk/bin/dart',\n    \\         'language-server'\n    \\     ],\n    \\ },\n\\ }\n```\n\nTo edit the project local `settings.json`, do `:LspSettingsLocalEdit`.\n\nOverridable keys are:\n\n* cmd (List ex: `['clangd-6.0', '-enable-snippets']`)\n* initialization_options (Dictionary)\n* allowlist (List)\n* blocklist (List)\n* config (Dictionary)\n* workspace_config (Dictionary)\n* disabled (Boolean)\n* root_uri (String)\n* root_uri_patterns (List)\n* semantic_highlight (Dictionary)\n\nIf you have some Language Servers and want to use specified the server:\n\n```vim\nlet g:lsp_settings_filetype_perl = 'slp'\nlet g:lsp_settings_filetype_html = ['html-languageserver', 'angular-language-server']\nlet g:lsp_settings_filetype_typescript = ['typescript-language-server', 'eslint-language-server']\n```\n\nWhen the servers are specified in a list, these will all be started.\n\nIf you want to configure Language Server to use `flake8` rather than `pycodestyle`,\nthe following can be added to your `~/.vimrc` file.\nNote that `pylsp-all` was the automatically registered server name. Check with `:LspStatus`.\n\n```vim\nlet g:lsp_settings = {\n\\   'pylsp-all': {\n\\     'workspace_config': {\n\\       'pylsp': {\n\\         'configurationSources': ['flake8']\n\\       }\n\\     }\n\\   },\n\\}\n```\n\nIf you want to disable a Language Server:\n\n```vim\nlet g:lsp_settings = {\n\\  'perl-languageserver': {\n\\    'disabled': 1,\n\\   }\n\\}\n```\n\nWhen resolving the root directory for a language server, this plugin will look\nfor directories containing special root markers defined in `g:lsp_settings_root_markers`.\n\nBy default, this is set to:\n\n```vim\nlet g:lsp_settings_root_markers = [\n\\   '.git',\n\\   '.git/',\n\\   '.svn',\n\\   '.hg',\n\\   '.bzr'\n\\ ]\n```\n\nIf you need to specify alternative root markers:\n\n```vim\nlet g:lsp_settings_root_markers = ['.projections.json', '.git', '.git/']\n```\n\nThis would look for a custom `.projections.json`, a git submodule `.git` or a git root\n`.git/` starting from the current directory upwards.\n\n## License\n\nMIT\n\n## Author\n\nYasuhiro Matsumoto (a.k.a. mattn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattn%2Fvim-lsp-settings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattn%2Fvim-lsp-settings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattn%2Fvim-lsp-settings/lists"}