diff options
author | Minijackson <minijackson@riseup.net> | 2021-06-04 15:06:12 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2021-06-04 15:06:12 +0200 |
commit | 491f44f7af95014838d1f6625d4f56408fbd1369 (patch) | |
tree | 2e4de555511e6e632247aa4cd991231cc616ed9f | |
parent | e28d325f20ae327b7eae75d23fee82922539ba58 (diff) | |
download | nixos-config-reborn-491f44f7af95014838d1f6625d4f56408fbd1369.tar.gz nixos-config-reborn-491f44f7af95014838d1f6625d4f56408fbd1369.zip |
vim: completion -> compe, snippets -> vsnip
-rw-r--r-- | common/vim.nix | 8 | ||||
-rw-r--r-- | dotfiles/vim-dev.lua | 13 | ||||
-rw-r--r-- | dotfiles/vim.lua | 33 |
3 files changed, 36 insertions, 18 deletions
diff --git a/common/vim.nix b/common/vim.nix index 8a27b06..ade66e1 100644 --- a/common/vim.nix +++ b/common/vim.nix | |||
@@ -57,15 +57,15 @@ let | |||
57 | vim-dirvish | 57 | vim-dirvish |
58 | lsp-status-nvim | 58 | lsp-status-nvim |
59 | 59 | ||
60 | completion-nvim | 60 | nvim-compe |
61 | completion-buffers | 61 | |
62 | snippets-nvim | 62 | vim-vsnip |
63 | vim-vsnip-integ | ||
63 | 64 | ||
64 | telescope-nvim | 65 | telescope-nvim |
65 | 66 | ||
66 | # Treesitter | 67 | # Treesitter |
67 | nvim-treesitter | 68 | nvim-treesitter |
68 | completion-treesitter | ||
69 | nvim-treesitter-textobjects | 69 | nvim-treesitter-textobjects |
70 | nvim-treesitter-context | 70 | nvim-treesitter-context |
71 | 71 | ||
diff --git a/dotfiles/vim-dev.lua b/dotfiles/vim-dev.lua index 6b78022..d89a3bb 100644 --- a/dotfiles/vim-dev.lua +++ b/dotfiles/vim-dev.lua | |||
@@ -34,13 +34,22 @@ function on_attach(client, bufnr) | |||
34 | 34 | ||
35 | -- Rust specific | 35 | -- Rust specific |
36 | buf_set_keymap("n", "<leader>sh", "<cmd>RustToggleInlayHints<CR>", opts) | 36 | buf_set_keymap("n", "<leader>sh", "<cmd>RustToggleInlayHints<CR>", opts) |
37 | |||
38 | require("completion").on_attach() | ||
39 | end | 37 | end |
40 | 38 | ||
39 | local capabilities = vim.lsp.protocol.make_client_capabilities() | ||
40 | capabilities.textDocument.completion.completionItem.snippetSupport = true | ||
41 | capabilities.textDocument.completion.completionItem.resolveSupport = { | ||
42 | properties = { | ||
43 | 'documentation', | ||
44 | 'detail', | ||
45 | 'additionalTextEdits', | ||
46 | } | ||
47 | } | ||
48 | |||
41 | function setup_lsp_with(servers) | 49 | function setup_lsp_with(servers) |
42 | for _, server in ipairs(servers) do | 50 | for _, server in ipairs(servers) do |
43 | lspconfig[server].setup { | 51 | lspconfig[server].setup { |
52 | capabilities = capabilities, | ||
44 | cmd = { vim.g[server .. "_path"] }, | 53 | cmd = { vim.g[server .. "_path"] }, |
45 | on_attach = on_attach, | 54 | on_attach = on_attach, |
46 | } | 55 | } |
diff --git a/dotfiles/vim.lua b/dotfiles/vim.lua index 27fa722..c09b8e0 100644 --- a/dotfiles/vim.lua +++ b/dotfiles/vim.lua | |||
@@ -5,6 +5,8 @@ vim.o.undofile = true | |||
5 | vim.o.backup = true | 5 | vim.o.backup = true |
6 | vim.cmd "set backupdir-=." | 6 | vim.cmd "set backupdir-=." |
7 | 7 | ||
8 | vim.cmd "set shortmess+=c" | ||
9 | |||
8 | vim.o.mouse = "a" | 10 | vim.o.mouse = "a" |
9 | 11 | ||
10 | vim.o.ignorecase = true | 12 | vim.o.ignorecase = true |
@@ -163,21 +165,24 @@ require('nvim-treesitter.configs').setup { | |||
163 | vim.o.foldmethod = 'expr' | 165 | vim.o.foldmethod = 'expr' |
164 | vim.o.foldexpr = 'nvim_treesitter#foldexpr()' | 166 | vim.o.foldexpr = 'nvim_treesitter#foldexpr()' |
165 | 167 | ||
166 | -- Completion-nvim | 168 | -- nvim-compe |
167 | 169 | ||
168 | vim.g.completion_chain_complete_list = { | 170 | require("compe").setup { |
169 | default = { | 171 | source = { |
170 | { | 172 | buffer = true, |
171 | complete_items = { 'lsp', 'ts', 'path', 'snippet', 'buffers', 'tmux', }, | 173 | calc = true, |
172 | } | 174 | nvim_lsp = true, |
175 | nvim_lua = true, | ||
176 | nvim_treesitter = true, | ||
177 | path = true, | ||
178 | spell = true, | ||
179 | vsnip = true, | ||
173 | }, | 180 | }, |
174 | } | 181 | } |
175 | 182 | ||
176 | vim.cmd [[autocmd BufEnter * lua require'completion'.on_attach()]] | ||
177 | 183 | ||
178 | local map = vim.api.nvim_set_keymap | 184 | map("i", "<CR>", "compe#confirm('<CR>')", { noremap = true, silent = true, expr = true }) |
179 | 185 | map("i", "<C-e>", "compe#close('<C-e>')", { noremap = true, silent = true, expr = true }) | |
180 | vim.g.completion_enable_snippet = "snippets.nvim" | ||
181 | 186 | ||
182 | -- Telescope | 187 | -- Telescope |
183 | 188 | ||
@@ -218,9 +223,13 @@ require("lualine").setup { | |||
218 | }, | 223 | }, |
219 | } | 224 | } |
220 | 225 | ||
221 | -- Snippets.nvim | 226 | -- VSnip |
227 | |||
228 | map("i", "<Tab>", "vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'", { silent = true, expr = true }) | ||
229 | map("s", "<Tab>", "vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'", { silent = true, expr = true }) | ||
222 | 230 | ||
223 | require("snippets").use_suggested_mappings() | 231 | map("i", "<S-Tab>", "vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<Tab>'", { silent = true, expr = true }) |
232 | map("s", "<S-Tab>", "vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<Tab>'", { silent = true, expr = true }) | ||
224 | 233 | ||
225 | -- OSCyank | 234 | -- OSCyank |
226 | 235 | ||