diff --git a/vim/.vim/lua/plugins/lsp.lua b/vim/.vim/lua/plugins/lsp.lua index a59e60f..b8dc062 100644 --- a/vim/.vim/lua/plugins/lsp.lua +++ b/vim/.vim/lua/plugins/lsp.lua @@ -2,136 +2,130 @@ local use_google = require("utils").use_google local flags = require("utils").flags return { - -- { - -- "ray-x/lsp_signature.nvim", - -- event = "VeryLazy", - -- opts = { - -- floating_window = true, - -- hint_prefix = "󰡱 ", - -- }, - -- config = function(_, opts) - -- require("lsp_signature").setup(opts) - -- end, - -- }, - { - "kosayoda/nvim-lightbulb", - commit = "1cae7b7153ae98dcf1b11173a443ac1b6d8e3d49", - event = { "LspAttach" }, - opts = { - autocmd = { enabled = true }, - virtual_text = { - enabled = true, - text = " 󱐋", - hl = "DiagnosticWarn", - }, - sign = { enabled = false }, - }, - }, - { - "L3MON4D3/LuaSnip", - build = "make install_jsregexp", - config = function() - require("luasnip.loaders.from_vscode").lazy_load() - end, - dependencies = { "rafamadriz/friendly-snippets" }, - }, - { - "ray-x/go.nvim", - dependencies = { -- optional packages - "ray-x/guihua.lua", - "neovim/nvim-lspconfig", - "nvim-treesitter/nvim-treesitter", - }, - -- cond = not use_google(), - config = function() - local capabilities = flags.blink - and require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) - or require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) - capabilities.offsetEncoding = { "utf-16" } - require("go").setup({ - lsp_cfg = { capabilities = capabilities }, - lsp_keymaps = false, - lsp_inlay_hints = { - enable = not use_google(), -- doesn't work with ciderlsp - }, - }) - -- Run gofmt + goimports on save + -- { + -- "ray-x/lsp_signature.nvim", + -- event = "VeryLazy", + -- opts = { + -- floating_window = true, + -- hint_prefix = "󰡱 ", + -- }, + -- config = function(_, opts) + -- require("lsp_signature").setup(opts) + -- end, + -- }, + { + "kosayoda/nvim-lightbulb", + commit = "1cae7b7153ae98dcf1b11173a443ac1b6d8e3d49", + event = { "LspAttach" }, + opts = { + autocmd = { enabled = true }, + virtual_text = { + enabled = true, + text = " 󱐋", + hl = "DiagnosticWarn", + }, + sign = { enabled = false }, + }, + }, + { + "L3MON4D3/LuaSnip", + build = "make install_jsregexp", + config = function() + require("luasnip.loaders.from_vscode").lazy_load() + end, + dependencies = { "rafamadriz/friendly-snippets" }, + }, + { + "ray-x/go.nvim", + dependencies = { -- optional packages + "ray-x/guihua.lua", + "neovim/nvim-lspconfig", + "nvim-treesitter/nvim-treesitter", + }, + -- cond = not use_google(), + config = function() + local capabilities = flags.blink + and require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) + or require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) + capabilities.offsetEncoding = { "utf-16" } + require("go").setup({ + lsp_cfg = { capabilities = capabilities }, + lsp_keymaps = false, + lsp_inlay_hints = { + enable = not use_google(), -- doesn't work with ciderlsp + }, + }) + -- Run gofmt + goimports on save - local format_sync_grp = vim.api.nvim_create_augroup("goimports", {}) - vim.api.nvim_create_autocmd("BufWritePre", { - pattern = "*.go", - callback = function() - require("go.format").goimports() - end, - group = format_sync_grp, - }) - end, - ft = { "go", "gomod" }, - build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries - }, - { - "neovim/nvim-lspconfig", - dependencies = { - "hrsh7th/nvim-cmp", - "saghen/blink.cmp", - "saghen/blink.compat", - "nvim-lua/lsp-status.nvim", - "VonHeikemen/lsp-zero.nvim", - }, - keys = { - { "F", ":lua vim.lsp.buf.format()" }, - { "rn", ":lua vim.lsp.buf.rename()" }, - { "L", ":lua vim.lsp.buf.hover()" }, - { "gr", ":Telescope lsp_references" }, - { "gd", ":lua vim.lsp.buf.definition()" }, - -- { "gd", "Telescope lsp_definitions" }, - { "gD", ":tab split | lua vim.lsp.buf.definition()" }, - { "gi", ":lua vim.lsp.buf.implementation()" }, - { "gI", ":lua vim.lsp.buf.implementation()" }, - { "gR", ":lua vim.lsp.buf.references()" }, - { "gt", ":lua vim.lsp.buf.type_definition()" }, - { "", ":lua vim.lsp.buf.signature_help()" }, - { "", ":lua vim.lsp.buf.signature_help()", mode = "i" }, - }, - config = function() - local nvim_lspconfig = require("lspconfig") - local lsp_configs = require("lspconfig.configs") + local format_sync_grp = vim.api.nvim_create_augroup("goimports", {}) + vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*.go", + callback = function() + require("go.format").goimports() + end, + group = format_sync_grp, + }) + end, + ft = { "go", "gomod" }, + build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries + }, + { + "neovim/nvim-lspconfig", + dependencies = { + "hrsh7th/nvim-cmp", + "saghen/blink.cmp", + "saghen/blink.compat", + "nvim-lua/lsp-status.nvim", + "VonHeikemen/lsp-zero.nvim", + }, + keys = { + { "F", ":lua vim.lsp.buf.format()" }, + { "rn", ":lua vim.lsp.buf.rename()" }, + { "L", ":lua vim.lsp.buf.hover()" }, + { "gr", ":Telescope lsp_references" }, + { "gd", ":lua vim.lsp.buf.definition()" }, + -- { "gd", "Telescope lsp_definitions" }, + { "gD", ":tab split | lua vim.lsp.buf.definition()" }, + { "gi", ":lua vim.lsp.buf.implementation()" }, + { "gI", ":lua vim.lsp.buf.implementation()" }, + { "gR", ":lua vim.lsp.buf.references()" }, + { "gt", ":lua vim.lsp.buf.type_definition()" }, + { "", ":lua vim.lsp.buf.signature_help()" }, + { "", ":lua vim.lsp.buf.signature_help()", mode = "i" }, + }, + config = function() + local nvim_lspconfig = require("lspconfig") + local lsp_configs = require("lspconfig.configs") - lsp_configs.ciderlsp = { - default_config = { - cmd = { - "/google/bin/releases/cider/ciderlsp/ciderlsp", - "--tooltag=nvim-lsp", - "--noforward_sync_responses", - }, - filetypes = { - "c", - "cpp", - "java", - "kotlin", - "objc", - "proto", - "textproto", - "go", - "python", - "bzl", - "typescript", - }, - offset_encoding = "utf-8", - root_dir = nvim_lspconfig.util.root_pattern(".citc"), - settings = {}, - }, - } + lsp_configs.ciderlsp = { + default_config = { + cmd = { + "/google/bin/releases/cider/ciderlsp/ciderlsp", + "--tooltag=nvim-lsp", + "--noforward_sync_responses", + }, + filetypes = { + "c", + "cpp", + "java", + "kotlin", + "objc", + "proto", + "textproto", + "go", + "python", + "bzl", + "typescript", + }, + offset_encoding = "utf-8", + root_dir = nvim_lspconfig.util.root_pattern(".citc"), + settings = {}, + }, + } - nvim_lspconfig.ciderlsp.setup({}) - -- Godot - lspconfig.gdscript.setup({ - -- flags = { - -- debounce_text_changes = 2000, -- Wait 5 seconds before sending didChange - -- }, - }) - vim.cmd([[autocmd FileType gdscript setlocal commentstring=#\ %s]]) - vim.cmd([[autocmd FileType gdscript setlocal autoindent noexpandtab tabstop=4 shiftwidth=4]]) - end, - }, + nvim_lspconfig.ciderlsp.setup({}) + vim.cmd([[autocmd FileType gdscript setlocal commentstring=#\ %s]]) + vim.cmd([[autocmd FileType gdscript setlocal autoindent noexpandtab tabstop=4 shiftwidth=4]]) + end, + }, }