From 279da20b9788543fd7b30a55e713e8e2d5da11a5 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 21:31:35 +0900 Subject: [PATCH 1/5] remove duplicated config --- dotfiles/neovim/init.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 1e27109..f117e5b 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -125,14 +125,6 @@ require('lazy').setup({ }, { "andymass/vim-matchup", - config = function() - vim.g.matchup_matchparen_offscreen = { method = "popup" } - require 'nvim-treesitter.configs'.setup { - matchup = { - enable = true, - } - } - end, }, { 'nvim-telescope/telescope.nvim', From 8bf5f0adcf16eb6cc319fed46da94fa0d546ab1d Mon Sep 17 00:00:00 2001 From: qwjyh Date: Mon, 3 Mar 2025 21:32:32 +0900 Subject: [PATCH 2/5] update: fix treesitter config in orgmode setup --- dotfiles/neovim/init.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index f117e5b..9bf8253 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -226,14 +226,6 @@ require('lazy').setup({ }, -- event = 'VeryLazy', -- doesn't work with existing comp and treesitter config = function() - -- Setup treesitter - require('nvim-treesitter.configs').setup({ - highlight = { - enable = true, - additional_vim_regex_highlighting = { 'org' }, - }, - ensure_installed = { 'org' }, - }) -- Setup orgmode require('orgmode').setup({ From 47b4fc83bc62f212c082ad044ecd873fa46d7b2b Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 4 Mar 2025 23:29:16 +0900 Subject: [PATCH 3/5] remove unnecessary lines (unused lspconfig) --- dotfiles/neovim/init.lua | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 9bf8253..b813e64 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -734,17 +734,6 @@ lspconfig.powershell_es.setup { bundle_path = vim.fn.has('win32') == 1 and win_pwsh_es_path or arch_pwsh_es_path, capabilities = capabilities, } --- ccls --- -- csharp --- lspconfig.omnisharp.setup { --- cmd = {'omnisharp'}, --- } - --- lspconfig.typst_lsp.setup { --- on_attach = on_attach, --- capabilities = capabilities, --- single_file_support = true, --- } lspconfig.tinymist.setup { on_attach = on_attach, From 5f6e107b41c08b5faac368f2c09ccef7dd14816e Mon Sep 17 00:00:00 2001 From: qwjyh Date: Fri, 14 Mar 2025 04:34:52 +0900 Subject: [PATCH 4/5] refactor(nvim): separate lsp on_attach func to module to share the same config between general lspconfig & lean config --- bin/install.ps1 | 1 + bin/install.sh | 1 + dotfiles/neovim/init.lua | 50 ++---------------------------- dotfiles/neovim/lua/lsp_config.lua | 37 ++++++++++++++++++++++ 4 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 dotfiles/neovim/lua/lsp_config.lua diff --git a/bin/install.ps1 b/bin/install.ps1 index be17a41..581923d 100644 --- a/bin/install.ps1 +++ b/bin/install.ps1 @@ -54,6 +54,7 @@ scoop import .\bin\windows\scoop_apps\scoop_minimal_apps.json New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\init.lua -Target (Resolve-Path .\dotfiles\neovim\init.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lualine_setup.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lualine_setup.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\term_powershell.lua -Target (Resolve-Path .\dotfiles\neovim\lua\term_powershell.lua) -Force +New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lsp_config.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lsp_config.lua) -Force New-Item -ItemType SymbolicLink -Path ~\AppData\Local\nvim\lua\lspconfig\server_configurations\satysfi_ls.lua -Target (Resolve-Path .\dotfiles\neovim\lua\lspconfig\server_configurations\satysfi_ls.lua) -Force mkdir $env:LOCALAPPDATA\nvim\after\ftplugin New-Item -ItemType SymbolicLink -Path $env:LOCALAPPDATA\nvim\after\ftplugin\satysfi.lua -Target (Resolve-Path .\dotfiles\neovim\after\ftplugin\satysfi.lua) diff --git a/bin/install.sh b/bin/install.sh index 90626e9..3e649f6 100755 --- a/bin/install.sh +++ b/bin/install.sh @@ -25,6 +25,7 @@ ln -sf $(pwd)/dotfiles/neovim/init.lua ~/.config/nvim/init.lua mkdir -p ~/.config/nvim/lua ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua ln -sf $(pwd)/dotfiles/neovim/lua/term_powershell.lua ~/.config/nvim/lua/term_powershell.lua +ln -sf $(pwd)/dotfiles/neovim/lua/lsp_config.lua ~/.config/nvim/lua/lsp_config.lua ln -sf $(pwd)/dotfiles/neovim/lua/pluto_nvim.lua ~/.config/nvim/lua/pluto_nvim.lua mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index b813e64..4d6599f 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -188,29 +188,7 @@ require('lazy').setup({ -- see Julian/lean.nvim readme opts = { lsp = { - on_attach = function(client, bufnr) - -- Enable completion triggered by - --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings - -- See `:help vim.lsp.*` for documentation on any of the below function - local bufopts = { noremap = true, silent = true, buffer = bufnr } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, bufopts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts) - end, + on_attach = require("lsp_config").on_attach, }, mappings = true, }, @@ -226,7 +204,6 @@ require('lazy').setup({ }, -- event = 'VeryLazy', -- doesn't work with existing comp and treesitter config = function() - -- Setup orgmode require('orgmode').setup({ org_agenda_files = '~/orgfiles/**/*', @@ -608,30 +585,7 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - -- Enable completion triggered by - --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings - -- See `:help vim.lsp.*` for documentation on any of the below function - local bufopts = { noremap = true, silent = true, buffer = bufnr } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, bufopts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'grf', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts) -end +local on_attach = require("lsp_config").on_attach -- cmp_nvim_lsp supports additional LSP completion capabilities local capabilities = require("cmp_nvim_lsp").default_capabilities() diff --git a/dotfiles/neovim/lua/lsp_config.lua b/dotfiles/neovim/lua/lsp_config.lua new file mode 100644 index 0000000..1f714f1 --- /dev/null +++ b/dotfiles/neovim/lua/lsp_config.lua @@ -0,0 +1,37 @@ +local M = {} + +---Add `desc` to bufopts table. +---@param bufopts vim.keymap.set.Opts +---@param desc string +---@return vim.keymap.set.Opts +local function with_desc(bufopts, desc) + return vim.tbl_extend("error", bufopts, { desc = desc }) +end + +M.on_attach = function(client, bufnr) + -- Enable completion triggered by + --vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings + -- See `:help vim.lsp.*` for documentation on any of the below function + local bufopts = { noremap = true, silent = true, buffer = bufnr } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, with_desc(bufopts, "goto declaration")) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, with_desc(bufopts, "goto definition")) + vim.keymap.set('n', 'gT', vim.lsp.buf.type_definition, with_desc(bufopts, "goto type definition")) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, with_desc(bufopts, "lsp hover")) + vim.keymap.set('n', 'g1', vim.lsp.buf.implementation, with_desc(bufopts, "lsp implementations")) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, with_desc(bufopts, "lsp signature help")) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, with_desc(bufopts, "lsp add_workspace_folder")) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, + with_desc(bufopts, "lsp remove_workspace_folder")) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, with_desc(bufopts, "lsp list_workspace_folders")) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, with_desc(bufopts, "lsp type definition")) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, with_desc(bufopts, "lsp rename")) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, with_desc(bufopts, "lsp code_action")) + vim.keymap.set('n', 'grf', vim.lsp.buf.references, with_desc(bufopts, "lsp references")) + vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, with_desc(bufopts, "lsp format")) +end + +return M From eb60fcf0b66275d33b38f8bb73f17fef40a11641 Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 18 Mar 2025 02:51:14 +0900 Subject: [PATCH 5/5] update(nvim): update keyremap func annot --- dotfiles/neovim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index 4d6599f..6645d65 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -423,7 +423,7 @@ require('gitsigns').setup { ---@param mode string|string[] ---@param l string ---@param r any - ---@param opts table? + ---@param opts vim.keymap.set.Opts? local function map(mode, l, r, opts) opts = opts or {} opts.buffer = bufnr