From 7a07d291b99192da4d1504f89f8782585324e76e Mon Sep 17 00:00:00 2001 From: Onns Date: Thu, 18 Apr 2024 18:33:32 +0800 Subject: [PATCH] neovim 0.10.0 --- .gitignore | 1 - lazy-lock.json | 69 ++++++++++++++++++++++++++++++++++++++++++ lazyvim.json | 14 +++++++-- lua/config/keymaps.lua | 20 +++++++----- lua/config/lazy.lua | 19 ++++++++++-- lua/config/options.lua | 15 +++++++-- lua/plugins/other.lua | 16 ++++++++-- 7 files changed, 136 insertions(+), 18 deletions(-) create mode 100644 lazy-lock.json diff --git a/.gitignore b/.gitignore index ed1d552..cc5457a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,3 @@ debug foo.* *.log data -lazy-lock.json diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..8fa140e --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,69 @@ +{ + "LazyVim": { "branch": "main", "commit": "e864713163bc01d8c7b3a82acb0cd12025f556f8" }, + "SchemaStore.nvim": { "branch": "main", "commit": "73594484edfa33ec9301e42c6c7a4af25c48266f" }, + "aerial.nvim": { "branch": "master", "commit": "a1c5476732686da2a51218f47580f0dc1a3b8aa9" }, + "bookmarks.nvim": { "branch": "main", "commit": "ed9d01a04d0183ce191bfc6ca279174605578f34" }, + "bufferline.nvim": { "branch": "main", "commit": "81820cac7c85e51e4cf179f8a66d13dbf7b032d9" }, + "catppuccin": { "branch": "main", "commit": "31fcfb02c47952d5c75aec893b93b2878abe5fbb" }, + "clangd_extensions.nvim": { "branch": "main", "commit": "a8500531c4ed3a207e744a374ea038744a0f93eb" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "conform.nvim": { "branch": "master", "commit": "c26dadf8a47a547768d1048a0d698ecec33494ce" }, + "crates.nvim": { "branch": "main", "commit": "df9937e1d2352704b0b58087d41da199261f7fc3" }, + "dashboard-nvim": { "branch": "master", "commit": "69a4c935cc43d3d725ed0600c6d00593bc23d132" }, + "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, + "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, + "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, + "fzf": { "branch": "master", "commit": "a06745826a4cba4f578a69258f9def75c59530fc" }, + "gitsigns.nvim": { "branch": "main", "commit": "0595724fa9516a35696ff6b1e3cb95b6462b38b1" }, + "gotests-vim": { "branch": "master", "commit": "42abccb59e9889cd1ce427b11b2ffbb36f2a46a6" }, + "hererocks": { "branch": "master", "commit": "ec640f26e25f4a8e16f236d78bf35ab72b197b29" }, + "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, + "lazy.nvim": { "branch": "main", "commit": "37c7163f8d27243993ac07db8477e44cd5275027" }, + "lazydev.nvim": { "branch": "main", "commit": "78d8a11fbd02ad4eafa07dd8a43a959a69fb3bf8" }, + "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, + "luarocks.nvim": { "branch": "main", "commit": "1db9093915eb16ba2473cfb8d343ace5ee04130a" }, + "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, + "mini.ai": { "branch": "main", "commit": "ebf806de0292ef89b2756cfb0b55040901d1c441" }, + "mini.comment": { "branch": "main", "commit": "b8bd7ea58912bd6fa6cf984f2f702a771ce24c1f" }, + "mini.pairs": { "branch": "main", "commit": "18a2d9d7106d08d3560d07c03dcbf5680c8675cc" }, + "mini.surround": { "branch": "main", "commit": "af280fc18792b4d142aab4c1638a8949a38ff33a" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "noice.nvim": { "branch": "main", "commit": "03c6a75661e68012e30b0ed81f050358b1e2233c" }, + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, + "nvim-lspconfig": { "branch": "master", "commit": "95b2fc427353e42318c974d10685d500441b821b" }, + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, + "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, + "nvim-spectre": { "branch": "master", "commit": "49fae98ef2bfa8342522b337892992e3495065d5" }, + "nvim-treesitter": { "branch": "master", "commit": "c11d49cbefb3c22550747840843eb86ab4a3b267" }, + "nvim-treesitter-context": { "branch": "master", "commit": "f2cbd231e296a282aa9aedb2a411539801557307" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, + "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "onedark.nvim": { "branch": "master", "commit": "8e4b79b0e6495ddf29552178eceba1e147e6cecf" }, + "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "refactoring.nvim": { "branch": "master", "commit": "c9c1a0995b7d9a534f3b9a4df7fd55240127eeb4" }, + "rest.nvim": { "branch": "main", "commit": "e7843c55f9df6a9db9f97dac180035c6ff895a90" }, + "rustaceanvim": { "branch": "master", "commit": "d6d7620b66d74b3b16defcf85cbef7b3582795b3" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope.nvim": { "branch": "master", "commit": "7bd2f9b72f8449780b79bcf351534e2cd36ec43a" }, + "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, + "tokyonight.nvim": { "branch": "main", "commit": "30d7be361a7fbf187a881f17e574e9213d5108ea" }, + "trouble.nvim": { "branch": "main", "commit": "88c3be40c061ce053ab326ce4fdcb973a1f785ff" }, + "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, + "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, + "vim-dadbod-completion": { "branch": "master", "commit": "8c9051c1cfc73fcf5bfe9a84db7097e4f7c0180d" }, + "vim-dadbod-ui": { "branch": "master", "commit": "2527310098e7458488e61a528614da142aa2dc42" }, + "vim-fugitive": { "branch": "master", "commit": "d0c1a437536778bcc8174b7cb2ffdf98f611e6fe" }, + "vim-go": { "branch": "master", "commit": "a64d097a1af1772c24d13f34529b9be2a34b7721" }, + "vim-startify": { "branch": "master", "commit": "4e089dffdad46f3f5593f34362d530e8fe823dcf" }, + "vim-wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, + "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } +} \ No newline at end of file diff --git a/lazyvim.json b/lazyvim.json index 7666e88..eac29ba 100644 --- a/lazyvim.json +++ b/lazyvim.json @@ -1,9 +1,17 @@ { "extras": [ - "lazyvim.plugins.extras.formatting.prettier" + "lazyvim.plugins.extras.coding.mini-comment", + "lazyvim.plugins.extras.coding.mini-surround", + "lazyvim.plugins.extras.editor.refactoring", + "lazyvim.plugins.extras.formatting.prettier", + "lazyvim.plugins.extras.lang.clangd", + "lazyvim.plugins.extras.lang.json", + "lazyvim.plugins.extras.lang.rust", + "lazyvim.plugins.extras.lang.sql", + "lazyvim.plugins.extras.ui.treesitter-context" ], "news": { - "NEWS.md": "3314" + "NEWS.md": "6077" }, - "version": 3 + "version": 6 } \ No newline at end of file diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 79a0116..3416cf5 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -29,10 +29,10 @@ vim.api.nvim_set_keymap("n", "rr", "Rest run", { noremap = true vim.api.nvim_set_keymap("n", "rs", ":lua SaveHttpResp()", { noremap = true, silent = true }) -function GetGoplsRootDir() +function GetLSPRootDir() local clients = vim.lsp.get_active_clients() for _, client in ipairs(clients) do - if client.name == "gopls" and client.config.root_dir then + if client.config.root_dir then return client.config.root_dir end end @@ -54,7 +54,7 @@ function GoToPathAndLine(input) -- if vim.g.WorkspaceFolders and #vim.g.WorkspaceFolders > 0 then -- pwd = vim.g.WorkspaceFolders[1] -- end - local goplsRootDir = GetGoplsRootDir() + local goplsRootDir = GetLSPRootDir() if goplsRootDir then pwd = goplsRootDir end @@ -70,7 +70,7 @@ vim.api.nvim_set_keymap( function ExportExpandToClipboard() local pwd = vim.fn.getcwd() - local goplsRootDir = GetGoplsRootDir() + local goplsRootDir = GetLSPRootDir() if goplsRootDir then pwd = goplsRootDir end @@ -124,10 +124,16 @@ function InsertGitBranch() if git_branch ~= "" then -- vim.api.nvim_put({ git_branch }, "", false, true) local line_num = vim.api.nvim_win_get_cursor(0)[1] - local todo_info = "// TODO: onns " .. git_branch .. " " + local todo_info = "TODO: onns " .. git_branch .. " " vim.api.nvim_buf_set_lines(0, line_num - 1, line_num - 1, false, { todo_info }) - vim.api.nvim_command("startinsert") - vim.api.nvim_win_set_cursor(0, { line_num, #todo_info }) + require('mini.comment').toggle_lines(line_num, line_num) + local buf = vim.api.nvim_get_current_buf() -- 获取当前缓冲区的句柄 + local lines = vim.api.nvim_buf_get_lines(buf, line_num - 1, line_num, false) + if #lines > 0 then + local line_length = #lines[1] + vim.api.nvim_command("startinsert") + vim.api.nvim_win_set_cursor(0, { line_num, line_length }) + end end end diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index a47942f..a475608 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -60,13 +60,28 @@ require("gitsigns").setup({ require("lspconfig").gopls.setup({ cmd = { "gopls", "-remote=unix;/tmp/gopls-daemon-socket" }, + settings = { + gopls = { + gofumpt = true + } + }, }) -require("lspconfig").bufls.setup({}) +-- require("lspconfig").bufls.setup({}) -- https://github.com/hrsh7th/nvim-cmp/issues/1809 -- gopls 在返回提示词的时候随机选择,理论上应该默认选第一个 local cmp = require("cmp") cmp.setup({ - preselect = cmp.PreselectMode.None + preselect = cmp.PreselectMode.None, +}) + +-- 设置剪贴板使用系统剪贴板 +vim.opt.clipboard:append("unnamedplus") + +require("aerial").setup({ + layout = { + min_width = 40, + max_width = { 60, 0.3 }, + }, }) diff --git a/lua/config/options.lua b/lua/config/options.lua index 2e9e456..1ed8524 100644 --- a/lua/config/options.lua +++ b/lua/config/options.lua @@ -6,7 +6,8 @@ -- vim.opt.spell = true -- vim.opt.spelllang = "en_us" -vim.g.go_fmt_command = "gofmt" +vim.g.go_fmt_command = "gopls" +vim.g.go_gopls_gofumpt = 1 vim.g.go_fillstruct_mode = "gopls" vim.g.go_autodetect_gopath = 1 vim.g.go_highlight_types = 1 @@ -32,8 +33,18 @@ vim.api.nvim_set_keymap("i", " ", ":GoDeclsDir", { silent = t -- vim.api.nvim_set_keymap('n', 'gm', "(coc-implementation)", { noremap = true, silent = true }) -- tagbar 打开后自动聚焦 -vim.g.tagbar_autofocus = 1 +-- vim.g.tagbar_autofocus = 1 vim.opt.wrap = true vim.g.startify_files_number = 20 + + +vim.opt.list = true +vim.opt.listchars = { + tab = '▸\\ ', -- 设置Tab显示为一个小三角后跟一个空格 + trail = '·', -- 设置行尾空格显示为中点 + extends = '>', -- 当文本超出屏幕视图时在右边界显示 + precedes = '<', -- 当文本超出屏幕视图时在左边界显示 + nbsp = '␣' -- 不断行空格的显示 +} diff --git a/lua/plugins/other.lua b/lua/plugins/other.lua index 3216b0d..2392fea 100644 --- a/lua/plugins/other.lua +++ b/lua/plugins/other.lua @@ -2,6 +2,7 @@ return { { 'onns/bookmarks.nvim', keys = {}, + lazy = false, branch = 'main', dependencies = { 'nvim-web-devicons' }, config = function() @@ -26,12 +27,18 @@ return { "git@github.com:junegunn/fzf.git" }, { - "git@github.com:majutsushi/tagbar.git", + 'stevearc/aerial.nvim', + opts = {}, + -- Optional dependencies + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-tree/nvim-web-devicons" + }, keys = { { "t", - "TagbarToggle", - desc = "TagbarToggle" + "AerialToggle", + desc = "AerialToggle" } } }, @@ -44,4 +51,7 @@ return { { 'buoto/gotests-vim' }, + { + 'tpope/vim-fugitive' + }, }