diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-08-06 16:19:31 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-08-06 16:19:31 +0300 |
| commit | 46335ce5edb504e1653e140e037f15be104e81db (patch) | |
| tree | 26ecfa1104a7e00675e1bab27c894cda69ec31cf /.config | |
| parent | 03a5e641f0347a37627e9d1ef2627f331bb6d82f (diff) | |
feat(nvim): clangd_extensions for lsp
Diffstat (limited to '.config')
| -rw-r--r-- | .config/nvim/lazy-lock.json | 4 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/config/cmp.lua | 22 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/clangd_extensions.lua | 38 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/hardtime.lua | 2 |
4 files changed, 59 insertions, 7 deletions
diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index daf4f6d..bab182e 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -6,6 +6,7 @@ "auto-session": { "branch": "main", "commit": "63a4a914be06dbe0ad6d757e56b8f1fad7478aa0" }, "buffer_manager.nvim": { "branch": "main", "commit": "fd36131b2b3e0f03fd6353ae2ffc88cf920b3bbb" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, + "clangd_extensions.nvim": { "branch": "main", "commit": "a8500531c4ed3a207e744a374ea038744a0f93eb" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, @@ -60,5 +61,6 @@ "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-tmux-navigator": { "branch": "master", "commit": "5b3c701686fb4e6629c100ed32e827edf8dad01e" }, - "vim-wakatime": { "branch": "master", "commit": "53bba6bb8342de9cbdafc82142a9b5e82008d858" } + "vim-wakatime": { "branch": "master", "commit": "53bba6bb8342de9cbdafc82142a9b5e82008d858" }, + "vscode-codicons": { "branch": "main", "commit": "eaa030691d720b9c5c0efa93d9be9e2e45d7262b" } } diff --git a/.config/nvim/lua/custom/config/cmp.lua b/.config/nvim/lua/custom/config/cmp.lua index 127f7b3..e8f3166 100644 --- a/.config/nvim/lua/custom/config/cmp.lua +++ b/.config/nvim/lua/custom/config/cmp.lua @@ -1,4 +1,4 @@ --- Load snippets +-- Load cmp_opts for _, ft_path in ipairs(vim.api.nvim_get_runtime_file('lua/custom/snippets/*.lua', true)) do loadfile(ft_path)() end @@ -36,10 +36,10 @@ cmp.setup({ enabled = is_enabled, completion = { completeopt = 'menu,menuone,noinsert' }, sources = cmp.config.sources({ - { name = 'nvim_lsp' }, -- for lsp - { name = 'luasnip' }, -- for snippets + { name = 'nvim_lsp' }, -- for lsp + { name = 'luasnip' }, -- for snippets { name = 'lazydev', group_index = 0 }, -- for lazydev.nvim - { name = 'path' }, -- for filesystem + { name = 'path' }, -- for filesystem }, {}), snippet = { expand = function(args) @@ -55,6 +55,18 @@ cmp.setup({ side_padding = 0, }, }, + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + cmp.config.compare.recently_used, + require('clangd_extensions.cmp_scores'), + cmp.config.compare.kind, + cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, mapping = cmp.mapping.preset.insert({ ['<Tab>'] = snippet_jump(1), ['<S-Tab>'] = snippet_jump(-1), @@ -72,7 +84,7 @@ cmp.setup({ format = function(entry, vim_item) local kind = lspkind.cmp_format({ mode = 'symbol_text', maxwidth = 50 })(entry, vim_item) local strings = vim.split(kind.kind, '%s', { trimempty = true }) - kind.kind = ' ' .. (strings[1] or '') .. ' ' -- left (icon) + kind.kind = ' ' .. (strings[1] or '') .. ' ' -- left (icon) kind.menu = ' ' .. (strings[2] or '') .. '' -- right (text) return kind end, diff --git a/.config/nvim/lua/custom/plugins/clangd_extensions.lua b/.config/nvim/lua/custom/plugins/clangd_extensions.lua new file mode 100644 index 0000000..07f9dc0 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/clangd_extensions.lua @@ -0,0 +1,38 @@ +return { + 'p00f/clangd_extensions.nvim', + dependencies = { 'microsoft/vscode-codicons' }, -- NOTE: for the ast icons + cmd = { + 'ClangdSwitchSourceHeader', + 'ClangdSetInlayHints', + 'ClangdDisableInlayHints', + 'ClangdToggleInlayHints', + 'ClangdAST', + 'ClangdSymbolInfo', + 'ClangdTypeHierarchy', + 'ClangdMemoryUsage', + }, + opts = { + inlay_hints = { + inline = false, + }, + ast = { + role_icons = { + type = '', + declaration = '', + expression = '', + specifier = '', + statement = '', + ['template argument'] = '', + }, + kind_icons = { + Compound = '', + Recovery = '', + TranslationUnit = '', + PackExpansion = '', + TemplateTypeParm = '', + TemplateTemplateParm = '', + TemplateParamObject = '', + }, + }, + }, +} diff --git a/.config/nvim/lua/custom/plugins/hardtime.lua b/.config/nvim/lua/custom/plugins/hardtime.lua index c8a478f..8c0f89f 100644 --- a/.config/nvim/lua/custom/plugins/hardtime.lua +++ b/.config/nvim/lua/custom/plugins/hardtime.lua @@ -7,6 +7,6 @@ return { { '<leader>hT', '<<cmd>Hardtime report<cr>', desc = '[H]ardtime Report' }, }, opts = { - disabled_filetypes = { 'qf', 'lazy', 'mason', 'oil', 'neo-tree' }, + disabled_filetypes = { 'qf', 'lazy', 'mason', 'oil', 'neo-tree', 'ClangdAST' }, }, } |
