diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-06-04 15:25:48 +0800 | 
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-06-04 18:38:00 +0800 | 
| commit | 30d3f94f11996259ca968e5f732f03e0d10e5233 (patch) | |
| tree | 51b80f1198b02523a9e75c7f13a079c187399b80 /store | |
| parent | 7b697cf28c954456f697160db3eeffa5bf699297 (diff) | |
| download | crupest-30d3f94f11996259ca968e5f732f03e0d10e5233.tar.gz crupest-30d3f94f11996259ca968e5f732f03e0d10e5233.tar.bz2 crupest-30d3f94f11996259ca968e5f732f03e0d10e5233.zip | |
config(nvim): new lsp config and use neo-tree.
Diffstat (limited to 'store')
| -rw-r--r-- | store/home/config/nvim/init.lua | 19 | ||||
| -rw-r--r-- | store/home/config/nvim/lazy-lock.json | 29 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/plugins.lua | 10 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/setup/lsp.lua | 67 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/setup/lsp/clangd.lua | 25 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/setup/lsp/init.lua | 27 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/setup/lsp/lua_ls.lua | 29 | ||||
| -rw-r--r-- | store/home/config/nvim/lua/setup/plugins/init.lua | 11 | 
8 files changed, 103 insertions, 114 deletions
| diff --git a/store/home/config/nvim/init.lua b/store/home/config/nvim/init.lua index 881ce15..95d1c30 100644 --- a/store/home/config/nvim/init.lua +++ b/store/home/config/nvim/init.lua @@ -1,12 +1,3 @@ -if vim.g.neovide then -    -- spellchecker: disable-next-line -    vim.opt.guifont = "FiraCode Nerd Font"; -    vim.g.neovide_normal_opacity = 0.95; -    vim.g.neovide_input_ime = false; -    vim.g.neovide_cursor_animate_in_insert_mode = false -    vim.g.neovide_input_macos_option_key_is_meta = 'only_left' -end -  local lazy_path = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"  if not vim.uv.fs_stat(lazy_path) then      vim.fn.system({ @@ -21,7 +12,13 @@ end  vim.opt.rtp:prepend(lazy_path)  require("lazy").setup("plugins") -vim.cmd("colorscheme catppuccin-macchiato") +if vim.g.neovide then +    vim.opt.guifont = "Maple Mono NF"; +    vim.g.neovide_normal_opacity = 0.95; +    vim.g.neovide_input_ime = false; +    vim.g.neovide_cursor_animate_in_insert_mode = false +    vim.g.neovide_input_macos_option_key_is_meta = 'only_left' +    vim.cmd("colorscheme catppuccin-macchiato") +end  require("setup").setup() - diff --git a/store/home/config/nvim/lazy-lock.json b/store/home/config/nvim/lazy-lock.json index 5f6c226..9869b1d 100644 --- a/store/home/config/nvim/lazy-lock.json +++ b/store/home/config/nvim/lazy-lock.json @@ -1,18 +1,19 @@  { -  "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" }, -  "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, -  "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, -  "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, -  "gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" }, +  "catppuccin": { "branch": "main", "commit": "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d" }, +  "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, +  "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, +  "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, +  "gitsigns.nvim": { "branch": "main", "commit": "d0f90ef51d4be86b824b012ec52ed715b5622e51" },    "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, -  "lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" }, -  "nvim-autopairs": { "branch": "master", "commit": "6522027785b305269fa17088395dfc0f456cedd2" }, -  "nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" }, -  "nvim-lint": { "branch": "master", "commit": "93b8040115c9114dac1047311763bef275e752dc" }, -  "nvim-lspconfig": { "branch": "master", "commit": "85e0dd26b710e834a105d679200d01e326a3d2b0" }, -  "nvim-tree.lua": { "branch": "master", "commit": "44d9b58f11d5a426c297aafd0be1c9d45617a849" }, -  "nvim-treesitter": { "branch": "master", "commit": "da5825bf70cc2ea7eacd1e60c32c07baf19adeba" }, -  "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" }, +  "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" }, +  "neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" }, +  "nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" }, +  "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, +  "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, +  "nvim-lint": { "branch": "master", "commit": "b47cbb249351873e3a571751c3fb66ed6369852f" }, +  "nvim-lspconfig": { "branch": "master", "commit": "8adb3b5938f6074a1bcc36d3c3916f497d2e8ec4" }, +  "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, +  "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },    "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, -  "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" } +  "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }  } diff --git a/store/home/config/nvim/lua/plugins.lua b/store/home/config/nvim/lua/plugins.lua index 841f659..480ea8f 100644 --- a/store/home/config/nvim/lua/plugins.lua +++ b/store/home/config/nvim/lua/plugins.lua @@ -11,11 +11,15 @@ return {          build = ":TSUpdate"      },      { -        "nvim-tree/nvim-tree.lua", -        lazy = false, +        "nvim-neo-tree/neo-tree.nvim", +        branch = "v3.x",          dependencies = { -            "nvim-tree/nvim-web-devicons", +            "nvim-lua/plenary.nvim", +            "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended +            "MunifTanjim/nui.nvim", +            -- {"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information          }, +        lazy = false, -- neo-tree will lazily load itself      },      {          "nvim-lualine/lualine.nvim", diff --git a/store/home/config/nvim/lua/setup/lsp.lua b/store/home/config/nvim/lua/setup/lsp.lua new file mode 100644 index 0000000..15deacd --- /dev/null +++ b/store/home/config/nvim/lua/setup/lsp.lua @@ -0,0 +1,67 @@ +-- spellchecker: words denols luals + +vim.lsp.config("*", { +    capabilities = vim.tbl_extend("force", +        vim.lsp.protocol.make_client_capabilities(), +        require("cmp_nvim_lsp").default_capabilities() +    ) +}) + +local function setup_clangd() +    local clangd = "clangd" +    local brew_clangd_path = "/usr/local/opt/llvm/bin/clangd" + +    if vim.uv.fs_stat(brew_clangd_path) ~= nil then +        clangd = brew_clangd_path +    end + +    vim.lsp.config("clangd", { +        cmd = { clangd } +    }) +    local old_on_attach = vim.lsp.config.clangd.on_attach +    vim.lsp.config.clangd.on_attach = function(client, bufnr) +        if old_on_attach then old_on_attach(client, bufnr) end +        vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", { +            buffer = bufnr +        }) +    end +end + +local function setup_luals() +    vim.lsp.config("lua_ls", { +        settings = { +            Lua = { +                runtime = { +                    version = "LuaJIT" +                }, +                diagnostics = { +                    globals = { "vim" }, +                }, +                workspace = { +                    library = { +                        [vim.fn.expand "$VIMRUNTIME/lua"] = true, +                        [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, +                        [vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true, +                    }, +                    maxPreload = 100000, +                    preloadFileSize = 10000, +                }, +            }, +        }, +    }) +end + +local function setup() +    vim.lsp.enable('denols') +    vim.lsp.enable('cmake') +    vim.lsp.enable('bashls') +    vim.lsp.enable('html') +    vim.lsp.enable('cssls') +    setup_clangd() +    setup_luals() +end + + +return { +    setup = setup +} diff --git a/store/home/config/nvim/lua/setup/lsp/clangd.lua b/store/home/config/nvim/lua/setup/lsp/clangd.lua deleted file mode 100644 index 6080510..0000000 --- a/store/home/config/nvim/lua/setup/lsp/clangd.lua +++ /dev/null @@ -1,25 +0,0 @@ -local lspconfig = require("lspconfig") - -local brew_clangd_path = "/usr/local/opt/llvm/bin/clangd" - -local function setup() -    local clangd = "clangd" - -    if vim.uv.fs_stat(brew_clangd_path) ~= nil then -        clangd = brew_clangd_path -    end - -    -- setup lsp clangd -    lspconfig.clangd.setup { -        cmd = { clangd }, -        on_attach = function(_, bufnr) -            vim.keymap.set('n', 'grs', "<cmd>ClangdSwitchSourceHeader<cr>", { -                buffer = bufnr -            }) -        end -    } -end - -return { -    setup = setup -} diff --git a/store/home/config/nvim/lua/setup/lsp/init.lua b/store/home/config/nvim/lua/setup/lsp/init.lua deleted file mode 100644 index 313cf98..0000000 --- a/store/home/config/nvim/lua/setup/lsp/init.lua +++ /dev/null @@ -1,27 +0,0 @@ -local lspconfig = require("lspconfig") -local cmp_nvim_lsp = require("cmp_nvim_lsp") -local cmp_default_caps = cmp_nvim_lsp.default_capabilities() - -local lspconfig_default_caps = lspconfig.util.default_config.capabilities - -lspconfig.util.default_config = vim.tbl_extend( -    "force", -    lspconfig.util.default_config, -    { -        capabilities = vim.tbl_extend("force",  lspconfig_default_caps, cmp_default_caps), -        autostart = false, -    }) - -local function setup() -    lspconfig.cmake.setup {} -    lspconfig.bashls.setup {} -    lspconfig.html.setup {} -    lspconfig.cssls.setup {} -    require("setup.lsp.clangd").setup() -    require("setup.lsp.lua_ls").setup() -end - - -return { -    setup = setup -} diff --git a/store/home/config/nvim/lua/setup/lsp/lua_ls.lua b/store/home/config/nvim/lua/setup/lsp/lua_ls.lua deleted file mode 100644 index 93aa503..0000000 --- a/store/home/config/nvim/lua/setup/lsp/lua_ls.lua +++ /dev/null @@ -1,29 +0,0 @@ -local lspconfig = require("lspconfig") - -local function setup() -    lspconfig.lua_ls.setup { -        settings = { -            Lua = { -                runtime = { -                    version = "LuaJIT" -                }, -                diagnostics = { -                    globals = { "vim" }, -                }, -                workspace = { -                    library = { -                        [vim.fn.expand "$VIMRUNTIME/lua"] = true, -                        [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, -                        [vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true, -                    }, -                    maxPreload = 100000, -                    preloadFileSize = 10000, -                }, -            }, -        }, -    } -end - -return { -    setup = setup -} diff --git a/store/home/config/nvim/lua/setup/plugins/init.lua b/store/home/config/nvim/lua/setup/plugins/init.lua index 79ca3a8..5bcc219 100644 --- a/store/home/config/nvim/lua/setup/plugins/init.lua +++ b/store/home/config/nvim/lua/setup/plugins/init.lua @@ -1,12 +1,13 @@  local function setup() -    require("setup.plugins.lint").setup() -    require("setup.plugins.cmp").setup() +    require("neo-tree").setup {} +    require('lualine').setup {} +      require("setup.plugins.telescope").setup()      require("setup.plugins.gitsigns").setup() -    require("setup.plugins.tree-sitter").setup() -    require('lualine').setup {} -    require("nvim-tree").setup {} +    require("setup.plugins.tree-sitter").setup() +    require("setup.plugins.lint").setup() +    require("setup.plugins.cmp").setup()      require("nvim-autopairs").setup {}  end | 
