From dbe96d48d89d999ba5b6b54cf8a9706a0d14baf3 Mon Sep 17 00:00:00 2001 From: starr-dusT Date: Sun, 4 Dec 2022 20:15:06 -0800 Subject: [PATCH] add lsp for ts --- .config/nvim/after/plugin/lsp.lua | 34 +++++++++++++++++++++++++ .config/nvim/lua/tstarr/packer.lua | 3 ++- .config/nvim/plugin/packer_compiled.lua | 5 ++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/after/plugin/lsp.lua diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua new file mode 100644 index 00000000..8dc9dd94 --- /dev/null +++ b/.config/nvim/after/plugin/lsp.lua @@ -0,0 +1,34 @@ +local Remap = require("tstarr.keymap") +local nnoremap = Remap.nnoremap +local inoremap = Remap.inoremap + +local function config(_config) + return vim.tbl_deep_extend("force", { + on_attach = function() + local opts = { buffer = true }; + nnoremap("gd", function() vim.lsp.buf.definition() end, opts) + nnoremap("K", function() vim.lsp.buf.hover() end, opts) + nnoremap("vws", function() vim.lsp.buf.workspace_symbol() end, opts) + nnoremap("vd", function() vim.diagnostic.open_float() end, opts) + nnoremap("[d", function() vim.diagnostic.goto_next() end, opts) + nnoremap("]d", function() vim.diagnostic.goto_prev() end, opts) + nnoremap("vca", function() vim.lsp.buf.code_action() end, opts) + nnoremap("vco", function() vim.lsp.buf.code_action({ + filter = function(code_action) + if not code_action or not code_action.data then + return false + end + + local data = code_action.data.id + return string.sub(data, #data - 1, #data) == ":0" + end, + apply = true + }) end, opts) + nnoremap("vrr", function() vim.lsp.buf.references() end, opts) + nnoremap("vrn", function() vim.lsp.buf.rename() end, opts) + inoremap("", function() vim.lsp.buf.signature_help() end, opts) + end, + }, _config or {}) +end + +require("lspconfig").tsserver.setup(config()) diff --git a/.config/nvim/lua/tstarr/packer.lua b/.config/nvim/lua/tstarr/packer.lua index 23d6d5df..365f7f36 100644 --- a/.config/nvim/lua/tstarr/packer.lua +++ b/.config/nvim/lua/tstarr/packer.lua @@ -17,5 +17,6 @@ return require('packer').startup(function(use) use ('ThePrimeagen/harpoon') use ('kdheepak/lazygit.nvim') - + use 'neovim/nvim-lspconfig' + end) diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua index ecfe8cdb..7ef0fdb7 100644 --- a/.config/nvim/plugin/packer_compiled.lua +++ b/.config/nvim/plugin/packer_compiled.lua @@ -84,6 +84,11 @@ _G.packer_plugins = { path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/lazygit.nvim", url = "https://github.com/kdheepak/lazygit.nvim" }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, ["nvim-treesitter"] = { loaded = true, path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/nvim-treesitter",