aboutsummaryrefslogtreecommitdiffstats
path: root/modules/programs/nixvim/plugins/lsp.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/programs/nixvim/plugins/lsp.nix')
-rw-r--r--modules/programs/nixvim/plugins/lsp.nix234
1 files changed, 0 insertions, 234 deletions
diff --git a/modules/programs/nixvim/plugins/lsp.nix b/modules/programs/nixvim/plugins/lsp.nix
deleted file mode 100644
index 7fc3ddd..0000000
--- a/modules/programs/nixvim/plugins/lsp.nix
+++ /dev/null
@@ -1,234 +0,0 @@
-{ config, lib, ... }:
-
-# LSP - Language Server Protocol configuration (nvim-lspconfig)
-{
- config.programs.nixvim.plugins.lsp = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- inlayHints = true;
- autoLoad = true;
-
- keymaps.lspBuf = {
- K = "hover";
- gD = "references";
- gd = "definition";
- gi = "implementation";
- gt = "type_definition";
- };
-
- servers = {
- # -- System & Configuration --
- nixd = {
- enable = true;
- package = null;
- }; # Nix
- bashls = {
- enable = true;
- package = null;
- }; # Bash/Shell
- taplo = {
- enable = true;
- package = null;
- }; # TOML
- yamlls = {
- enable = true;
- package = null;
- }; # YAML
- jsonls = {
- enable = true;
- package = null;
- }; # JSON
- marksman = {
- enable = true;
- package = null;
- }; # Markdown
-
- # -- Web Development (HTML/CSS/JS/TS) --
- html = {
- enable = true;
- package = null;
- }; # HTML
- cssls = {
- enable = true;
- package = null;
- }; # CSS/SCSS/LESS
- tailwindcss = {
- enable = true;
- package = null;
- }; # Tailwind CSS
- vtsls = {
- # JS/TS (Modern fast wrapper for tsserver)
- enable = true;
- package = null;
- settings = {
- # Optional but recommended: stops huge generic types from taking over your screen
- vtsls.experimental.maxInlayHintLength = 30;
-
- # TypeScript type inferences
- typescript.inlayHints = {
- parameterNames.enabled = "all";
- parameterTypes.enabled = true;
- variableTypes.enabled = true;
- propertyDeclarationTypes.enabled = true;
- functionLikeReturnTypes.enabled = true;
- enumMemberValues.enabled = true;
- };
-
- # JavaScript type inferences (via JSDoc)
- javascript.inlayHints = {
- parameterNames.enabled = "all";
- parameterTypes.enabled = true;
- variableTypes.enabled = true;
- propertyDeclarationTypes.enabled = true;
- functionLikeReturnTypes.enabled = true;
- enumMemberValues.enabled = true;
- };
- };
- };
- eslint = {
- enable = true;
- package = null;
- }; # ESLint diagnostics/formatting
-
- # -- Web Frameworks --
- volar = {
- # Vue
- enable = true;
- package = null;
- tslsIntegration = false;
- };
- svelte = {
- enable = true;
- package = null;
- }; # Svelte
- astro = {
- enable = true;
- package = null;
- }; # Astro
-
- # -- Scripting & High-Level Languages --
- basedpyright = {
- # Python (Modern, faster fork of Pyright)
- enable = true;
- package = null;
- settings.basedpyright.analysis.inlayHints = {
- variableTypes = true;
- callArgumentNames = true;
- functionReturnTypes = true;
- genericTypes = false; # can get noisy, opt-in
- };
- };
- ruff = {
- enable = true;
- package = null;
- }; # Python (Ultra-fast linter/formatter)
- ruby_lsp = {
- enable = true;
- package = null;
- }; # Ruby (Shopify's modern standard)
- lua_ls = {
- # Lua
- enable = true;
- package = null;
- settings.Lua.hint = {
- enable = true;
- arrayIndex = "Auto";
- setType = true;
- paramName = "All";
- paramType = true;
- };
- };
- intelephense = {
- enable = true;
- package = null;
- }; # PHP
- elixirls = {
- enable = true;
- package = null;
- }; # Elixir
-
- # -- Systems, Compiled, & Enterprise --
- clangd = {
- enable = true;
- package = null;
- }; # C/C++ (inlay hints on by default)
- rust_analyzer = {
- # Rust (inlay hints on by default)
- enable = true;
- package = null;
- installCargo = false;
- installRustc = false;
- };
- gopls = {
- # Go
- enable = true;
- package = null;
- settings.gopls.hints = {
- assignVariableTypes = true;
- compositeLiteralFields = true;
- compositeLiteralTypes = true;
- constantValues = true;
- functionTypeParameters = true;
- parameterNames = true;
- rangeVariableTypes = true;
- };
- };
- zls = {
- enable = true;
- package = null;
- }; # Zig (inlay hints on by default)
- jdtls = {
- # Java
- enable = true;
- package = null;
- settings.java.inlayHints.parameterNames.enabled = "all";
- };
- kotlin_language_server = {
- enable = true;
- package = null;
- }; # Kotlin
- csharp_ls = {
- enable = true;
- package = null;
- }; # C# (.NET) — no inlay hint support
- hls = {
- # Haskell
- enable = true;
- package = null;
- installGhc = false;
- settings.haskell.plugin."inlay-hints".globalOn = true;
- };
- ocamllsp = {
- enable = true;
- package = null;
- }; # OCaml
-
- # -- Infrastructure & DevOps --
- dockerls = {
- enable = true;
- package = null;
- }; # Dockerfile
- docker_compose_language_service = {
- enable = true;
- package = null;
- }; # Docker Compose
- terraformls = {
- enable = true;
- package = null;
- }; # Terraform/HCL
-
- # -- Data & APIs --
- sqlls = {
- enable = true;
- package = null;
- }; # SQL
- graphql = {
- enable = true;
- package = null;
- }; # GraphQL
- prismals = {
- enable = true;
- package = null;
- }; # Prisma ORM
- };
- };
-}