[[ch-languages]] == Language Support Language specific support means there is a combination of language specific plugins, `treesitter` support, `nvim-lspconfig` language servers, and `null-ls` integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have sections under the `vim.languages` attribute. See the configuration docs for details. * Rust: <> * Nix: <> * SQL: <> * C/C++: <> * Typescript/Javascript: <> * Python: <>: * Zig: <> * Markdown: <> * HTML: <> * SQL: <> * Dart: <> * Go: <> Adding support for more languages, and improving support for existing ones are great places where you can contribute with a PR. === LSP Custom Packages/Command In any of the `opt.languages..lsp.package` options you can provide your own LSP package, or provide the command to launch the language server, as a list of strings. You can use this to skip automatic installation of a language server, and instead use the one found in your `$PATH` during runtime, for example: [source,nix] ---- vim.languages.java = { lsp = { enable = true; package = ["jdt-language-server" "-data" "~/.cache/jdtls/workspace"]; }; } ----