neovim configuration using rocks.nvim plugin manager
at main 132 lines 4.2 kB view raw
1---@module "lspconfig" 2 3-- HACK: is `@type lspconfig.options` a thing? 4 5---@diagnostic disable: missing-fields 6---@type table<string, vim.lsp.ClientConfig> 7return { 8 astro = {}, 9 clangd = {}, 10 cssls = {}, 11 dartls = {}, 12 emmet_language_server = {}, 13 gopls = {}, 14 hls = { 15 settings = { 16 haskell = { 17 formattingProvider = "ormolu", 18 checkProject = true, 19 }, 20 }, 21 }, 22 html = {}, 23 jsonls = {}, 24 lua_ls = { 25 -- on_init = require("utils").lazydev_is_not_working, 26 settings = { 27 Lua = { 28 hint = { 29 enable = true, 30 arrayIndex = "Disable", 31 paramType = false, 32 setType = true, 33 }, 34 completion = { 35 callSnippet = "Replace", 36 }, 37 diagnostics = { 38 unusedLocalExclude = { "_*" }, 39 globals = { "vim" }, 40 }, 41 format = { 42 enable = false, -- use stylua istead 43 }, 44 workspace = { 45 checkThirdParty = "Disable", 46 }, 47 }, 48 }, 49 }, 50 nil_ls = { 51 on_attach = function (client, bufnr) 52 -- if bufIsBig(bufnr) then 53 client.server_capabilities.semanticTokensProvider = nil 54 -- end 55 end, 56 settings = { 57 ["nil"] = { 58 nix = { 59 flake = { 60 autoArchive = false, 61 }, 62 }, 63 }, 64 }, 65 }, 66 ts_ls = { 67 settings = { 68 typescript = { 69 inlayHints = { 70 includeInlayParameterNameHints = "all", 71 includeInlayParameterNameHintsWhenArgumentMatchesName = false, 72 includeInlayVariableTypeHintsWhenTypeMatchesName = false, 73 includeInlayFunctionParameterTypeHints = true, 74 includeInlayVariableTypeHints = false, 75 includeInlayPropertyDeclarationTypeHints = true, 76 includeInlayFunctionLikeReturnTypeHints = true, 77 includeInlayEnumMemberValueHints = true, 78 }, 79 }, 80 javascript = { 81 inlayHints = { 82 includeInlayParameterNameHints = "all", 83 includeInlayParameterNameHintsWhenArgumentMatchesName = false, 84 includeInlayVariableTypeHintsWhenTypeMatchesName = false, 85 includeInlayFunctionParameterTypeHints = true, 86 includeInlayVariableTypeHints = false, 87 includeInlayPropertyDeclarationTypeHints = true, 88 includeInlayFunctionLikeReturnTypeHints = true, 89 includeInlayEnumMemberValueHints = true, 90 }, 91 }, 92 }, 93 }, 94 sourcekit = {}, 95 svelte = {}, 96 ruff = {}, 97 rust_analyzer = { 98 cargo = { 99 buildScripts = { 100 -- enable = true, 101 }, 102 }, 103 }, 104 -- volar = { 105 -- filetypes = { 106 -- "javascript", 107 -- "typescript", 108 -- "javascriptreact", 109 -- "typescriptreact", 110 -- "vue", 111 -- "json", 112 -- }, 113 -- -- on_new_config = function(new_config, new_root_dir) 114 -- -- new_config.init_options.typescript.tsdk = "/path/to/tsserver" 115 -- -- end 116 -- }, 117 -- yamlls = { 118 -- settings = { 119 -- yaml = { 120 -- on_new_config = function(new_config) 121 -- if require("utils").plugin.has("SchemaStore.nvim") then 122 -- new_config.settings.yaml.schemas = new_config.settings.yaml.schemas or {} 123 -- vim.list_extend(new_config.settings.yaml.schemas, require("schemastore").yaml.schemas()) 124 -- end 125 -- end, 126 -- schemaStore = { 127 -- enable = false, 128 -- }, 129 -- }, 130 -- }, 131 -- }, 132}