summaryrefslogtreecommitdiff
path: root/.config/nvim
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-08-06 16:19:31 +0300
committerKyren223 <ulmliad223@gmail.com>2024-08-06 16:19:31 +0300
commit46335ce5edb504e1653e140e037f15be104e81db (patch)
tree26ecfa1104a7e00675e1bab27c894cda69ec31cf /.config/nvim
parent03a5e641f0347a37627e9d1ef2627f331bb6d82f (diff)
feat(nvim): clangd_extensions for lsp
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/lazy-lock.json4
-rw-r--r--.config/nvim/lua/custom/config/cmp.lua22
-rw-r--r--.config/nvim/lua/custom/plugins/clangd_extensions.lua38
-rw-r--r--.config/nvim/lua/custom/plugins/hardtime.lua2
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' },
},
}