From 1dd35ed47a9b48e910157d78b4e438d923ffdc6f Mon Sep 17 00:00:00 2001 From: jay Date: Mon, 7 Apr 2025 12:24:11 +0800 Subject: [PATCH] Refactor: Update neovim configuration This commit refactors the neovim configuration to include several updates: - Added LSP support for Zig (`zls`). - Added `analyzer` and `zls` to `ale` linters. - Added `zigfmt` to `ale` fixers. - Added `towolf/vim-helm` as a plugin. - Added configuration for `lualine` to display Treesitter status. - Included SSH config from `conf.d/*.conf`. - Updated keymaps for LSP formatting. - Modified tabwidth and shiftwidth for rust files. --- home/dot_config/nvim/lua/basic/setup.lua | 8 +++++++- home/dot_config/nvim/lua/plugins/ale.lua.tmpl | 2 ++ home/dot_config/nvim/lua/plugins/list.lua | 4 +++- home/dot_config/nvim/lua/plugins/lsp.lua | 6 +++++- home/dot_config/nvim/lua/plugins/lualine.lua | 7 ++++++- home/private_dot_ssh/config | 17 +---------------- 6 files changed, 24 insertions(+), 20 deletions(-) diff --git a/home/dot_config/nvim/lua/basic/setup.lua b/home/dot_config/nvim/lua/basic/setup.lua index 82421ef..8d0b59c 100644 --- a/home/dot_config/nvim/lua/basic/setup.lua +++ b/home/dot_config/nvim/lua/basic/setup.lua @@ -11,7 +11,6 @@ cmd "set tabstop=2" cmd "set shiftwidth=2" cmd "set expandtab" cmd "set nofoldenable" -cmd "set pastetoggle=" -- always show status cmd "set laststatus=2" @@ -65,3 +64,10 @@ vim.diagnostic.get(0, { severity = { } }) vim.diagnostic.config({virtual_text = false, signs = true}) +vim.api.nvim_create_autocmd("FileType", { + pattern = "rust", + callback = function() + vim.opt_local.shiftwidth = 4 + vim.opt_local.tabstop = 4 + end +}) diff --git a/home/dot_config/nvim/lua/plugins/ale.lua.tmpl b/home/dot_config/nvim/lua/plugins/ale.lua.tmpl index 01b36ed..f7c5969 100644 --- a/home/dot_config/nvim/lua/plugins/ale.lua.tmpl +++ b/home/dot_config/nvim/lua/plugins/ale.lua.tmpl @@ -13,11 +13,13 @@ return { go = {'gopls'}, rust = {'analyzer'}, sh = {'shellcheck'}, + zig = {'zls'}, } g.ale_fixers = { javascript = {'{{ if .nvim.js_fixer }}{{ .nvim.js_fixer }}{{ else }}eslint{{ end }}'}, typescript = {'{{ if .nvim.js_fixer }}{{ .nvim.js_fixer }}{{ else }}eslint{{ end }}'}, + zig = {'zigfmt'}, } g.ale_linters_explicit = 1 diff --git a/home/dot_config/nvim/lua/plugins/list.lua b/home/dot_config/nvim/lua/plugins/list.lua index 08b5098..a7f383a 100644 --- a/home/dot_config/nvim/lua/plugins/list.lua +++ b/home/dot_config/nvim/lua/plugins/list.lua @@ -122,6 +122,7 @@ return { -- temp plugins "elkowar/yuck.vim", + "towolf/vim-helm", "evanleck/vim-svelte", "AndrewRadev/linediff.vim", @@ -141,5 +142,6 @@ return { } } end - } + }, + require('plugins.vim-ai'), } diff --git a/home/dot_config/nvim/lua/plugins/lsp.lua b/home/dot_config/nvim/lua/plugins/lsp.lua index 5d3db68..ad63e44 100644 --- a/home/dot_config/nvim/lua/plugins/lsp.lua +++ b/home/dot_config/nvim/lua/plugins/lsp.lua @@ -39,7 +39,7 @@ return { buf_set_keymap('n', 'd[', 'lua vim.lsp.diagnostic.goto_prev()', opts) buf_set_keymap('n', 'd]', 'lua vim.lsp.diagnostic.goto_next()', opts) -- buf_set_keymap('n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) - -- buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) + buf_set_keymap('n', 'gf', 'lua vim.lsp.buf.format()', opts) end local nvlsp = require('lspconfig') @@ -68,6 +68,10 @@ return { capabilities = capabilities, on_attach = on_attach, } + nvlsp['zls'].setup{ + capabilities = capabilities, + on_attach = on_attach, + } end } diff --git a/home/dot_config/nvim/lua/plugins/lualine.lua b/home/dot_config/nvim/lua/plugins/lualine.lua index 6c253ac..c1ac612 100644 --- a/home/dot_config/nvim/lua/plugins/lualine.lua +++ b/home/dot_config/nvim/lua/plugins/lualine.lua @@ -30,7 +30,12 @@ return { path = 1, }, }, - lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_x = { + function() + return require('nvim-treesitter').statusline({ + }) + end, + 'encoding', 'fileformat', 'filetype'}, lualine_y = {'progress'}, lualine_z = {'location'} }, diff --git a/home/private_dot_ssh/config b/home/private_dot_ssh/config index e11ecc9..1a5d867 100644 --- a/home/private_dot_ssh/config +++ b/home/private_dot_ssh/config @@ -3,19 +3,4 @@ Host * UserKnownHostsFile /dev/null ForwardAgent yes -Host git.lawsnote.com - Port 2222 - User git - HostName git.lawsnote.com - -Host dev - User jay - HostName 192.168.200.15 - -Host vpn - User root - HostName 192.168.201.254 - -Host lndev - User jay - HostName 192.168.88.12 +Include conf.d/*.conf