about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2022-03-12 14:11:44 +0900
committersefidel <contact@sefidel.net>2022-03-12 14:11:44 +0900
commitbfe3c876513be13f099997ca7b1bdcd91e2f58f7 (patch)
treed0452595dbc66f5c69d3c0fd736009ad13d450f1
parentde95ea87833f04611329339c80d723bde696093f (diff)
downloadnvimrc-bfe3c876513be13f099997ca7b1bdcd91e2f58f7.tar.gz
nvimrc-bfe3c876513be13f099997ca7b1bdcd91e2f58f7.zip
feat(lsp)!: ccls -> clangd
-rw-r--r--fnl/nvrc/pack.fnl1
-rw-r--r--fnl/nvrc/packs/clangd.fnl15
-rw-r--r--fnl/nvrc/packs/cmp.fnl2
-rw-r--r--fnl/nvrc/packs/lspconfig.fnl1
4 files changed, 18 insertions, 1 deletions
diff --git a/fnl/nvrc/pack.fnl b/fnl/nvrc/pack.fnl
index 39ad5e2..0460b2f 100644
--- a/fnl/nvrc/pack.fnl
+++ b/fnl/nvrc/pack.fnl
@@ -20,6 +20,7 @@
                                           (pack :j-hui/fidget.nvim {:req :fidget :after :nvim-lspconfig})
                                           (pack :hrsh7th/cmp-nvim-lsp-signature-help {:after :cmp-nvim-lsp})]})
 (pack! :simrat39/rust-tools.nvim {:init :rust-tools :ft :rust :requires [(pack :nvim-lua/plenary.nvim)]})
+(pack! :p00f/clangd_extensions.nvim {:req :clangd :ft [:c :cpp :objc :objcpp] :module :clangd_extensions})
 (pack! :gpanders/editorconfig.nvim)
 (pack! :lewis6991/spaceless.nvim {:init :spaceless})
 (pack! :stefandtw/quickfix-reflector.vim {:ft :qf})
diff --git a/fnl/nvrc/packs/clangd.fnl b/fnl/nvrc/packs/clangd.fnl
new file mode 100644
index 0000000..25dbb60
--- /dev/null
+++ b/fnl/nvrc/packs/clangd.fnl
@@ -0,0 +1,15 @@
+(local {: setup} (require :clangd_extensions))
+
+(setup {:ast {:role_icons {:type "(ty)"
+                           :declaration "()"
+                           :expression "(expr)"
+                           :specifier "(sp)"
+                           :statement "(st)"
+                           "template argument" "(tt)"}
+              :kind_icons {:Compound "(cp)"
+                           :Recovery "(rc)"
+                           :TranslationUnit "(tu)"
+                           :PackExpansion "(pex)"
+                           :TemplateTypeParm "(tt)"
+                           :TemplateTemplateParm "(tt)"
+                           :TemplateParamObject "(tt)"}}})
diff --git a/fnl/nvrc/packs/cmp.fnl b/fnl/nvrc/packs/cmp.fnl
index 7e88eea..ef3d5eb 100644
--- a/fnl/nvrc/packs/cmp.fnl
+++ b/fnl/nvrc/packs/cmp.fnl
@@ -7,6 +7,7 @@
         : select_next_item
         : select_prev_item} (require :cmp))
 (local under-compare (require :cmp-under-comparator))
+(local clangd-score (require :clangd_extensions.cmp_scores))
 (local luasnip (require :luasnip))
 
 (set! completeopt "menuone,noselect")
@@ -72,6 +73,7 @@
                       {:name :nvim_lsp_signature_help}]
             :sorting {:comparators [compare.offset
                                     compare.exact
+                                    clangd-score
                                     compare.score
                                     under-compare.under
                                     compare.kind
diff --git a/fnl/nvrc/packs/lspconfig.fnl b/fnl/nvrc/packs/lspconfig.fnl
index 585a7be..612cb54 100644
--- a/fnl/nvrc/packs/lspconfig.fnl
+++ b/fnl/nvrc/packs/lspconfig.fnl
@@ -31,6 +31,5 @@
                      :virtual_text {:prefix "-"}
                      :signs false}))
 
-(init_lsp :ccls)
 (init_lsp :hls)
 (init_lsp :rust_analyzer)