mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-23 22:19:49 +01:00
35 lines
1.5 KiB
Text
35 lines
1.5 KiB
Text
[[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: <<opt-vim.languages.rust.enable>>
|
|
* Nix: <<opt-vim.languages.nix.enable>>
|
|
* SQL: <<opt-vim.languages.sql.enable>>
|
|
* C/C++: <<opt-vim.languages.clang.enable>>
|
|
* Typescript/Javascript: <<opt-vim.languages.ts.enable>>
|
|
* Python: <<opt-vim.languages.python.enable>>:
|
|
* Zig: <<opt-vim.languages.zig.enable>>
|
|
* Markdown: <<opt-vim.languages.markdown.enable>>
|
|
* HTML: <<opt-vim.languages.html.enable>>
|
|
* SQL: <<opt-vim.languages.sql.enable>>
|
|
* Dart: <<opt-vim.languages.dart.enable>>
|
|
* Go: <<opt-vim.languages.go.enable>>
|
|
|
|
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.<language>.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"];
|
|
};
|
|
}
|
|
----
|