Mercurial > dotfiles
annotate dot_config/nvim/init.lua @ 306:43ee619a8657
Update to use lspconfig
nvim-lsp has updated the package name to lspconfig
author | zegervdv <zegervdv@me.com> |
---|---|
date | Mon, 23 Nov 2020 16:18:32 +0100 |
parents | 10078cb76622 |
children | b1578effa848 |
rev | line source |
---|---|
306 | 1 local lsp = require'lspconfig' |
280 | 2 |
3 require "nvim-treesitter.highlight" | |
4 | |
5 require'nvim-treesitter.configs'.setup { | |
6 highlight = { | |
7 enable = true, | |
8 }, | |
9 incremental_selection = { | |
10 enable = true, | |
11 keymaps = { | |
12 init_selection = "gnn", | |
13 node_incremental = "grn", | |
14 scope_incremental = "grc", | |
15 node_decremental = "grm", | |
16 } | |
17 }, | |
18 refactor = { | |
287
7168baf3c352
treesitter: highlight definitions/uses of the variable under the cursor
zegervdv <zegervdv@me.com>
parents:
285
diff
changeset
|
19 highlight_definitions = { enable = true }, |
280 | 20 smart_rename = { |
21 enable = true, | |
22 keymaps = { | |
23 smart_rename = "grr", | |
24 }, | |
25 }, | |
26 navigation = { | |
27 enable = true, | |
28 keymaps = { | |
29 goto_definition = "gnd", | |
30 list_definitions = "gnD", | |
31 }, | |
32 }, | |
33 }, | |
305
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
34 textobjects = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
35 move = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
36 enable = true, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
37 goto_next_start = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
38 ["]]"] = "@block.outer", |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
39 }, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
40 goto_previous_start = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
41 ["[["] = "@block.outer", |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
42 }, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
43 goto_next_end = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
44 ["]["] = "@block.outer", |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
45 }, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
46 goto_previous_end = { |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
47 ["[]"] = "@block.outer", |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
48 }, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
49 }, |
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
50 }, |
282 | 51 playground = { |
52 enable = true, | |
53 disable = {}, | |
54 updatetime = 25, | |
55 persist_queries = false | |
56 } | |
280 | 57 } |
58 | |
59 local chain_complete_list = { | |
60 default = { | |
61 default = { | |
305
10078cb76622
Add treesitter refactor and textobjects plugins
zegervdv <zegervdv@me.com>
parents:
301
diff
changeset
|
62 {complete_items = {'lsp', 'snippet', 'ts', 'buffer'}}, |
280 | 63 {complete_items = {'path'}, triggered_only = {'/'}}, |
285 | 64 {complete_items = {'ts'}}, |
280 | 65 }, |
66 string = { | |
67 {complete_items = {'path'}, triggered_only = {'/'}}, | |
68 }, | |
69 comment = {}, | |
70 } | |
71 } | |
72 | |
73 local on_attach = function(client) | |
74 require'completion'.on_attach({ | |
75 sorting = 'alphabet', | |
76 matching_strategy_list = {'exact', 'fuzzy'}, | |
77 chain_complete_list = chain_complete_list, | |
78 }) | |
79 -- This came from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/lsp_config.lua | |
80 local mapper = function(mode, key, result) | |
81 vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=true, silent=true}) | |
82 end | |
83 | |
301
f1590ff676ab
Remove diagnostics plugin and upgrade config to built-in diagnostics
zegervdv <zegervdv@me.com>
parents:
298
diff
changeset
|
84 vim.api.nvim_command('autocmd CursorHold <buffer> lua vim.lsp.diagnostic.show_line_diagnostics()') |
280 | 85 mapper('n', 'gd', '<cmd>lua vim.lsp.buf.declaration()<CR>') |
86 mapper('n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<CR>') | |
87 mapper('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>') | |
88 mapper('n', 'gD', '<cmd>lua vim.lsp.buf.implementation()<CR>') | |
89 mapper('n', '1gD', '<cmd>lua vim.lsp.buf.type_definition()<CR>') | |
90 mapper('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>') | |
91 mapper('n', 'g0', '<cmd>lua vim.lsp.buf.document_symbol()<CR>') | |
92 mapper('i', '<c-l>', '<cmd>lua vim.lsp.buf.signature_help()<CR>') | |
301
f1590ff676ab
Remove diagnostics plugin and upgrade config to built-in diagnostics
zegervdv <zegervdv@me.com>
parents:
298
diff
changeset
|
93 mapper('n', '<leader>f', '<cmd>lua vim.lsp.buf.code_action()<CR>') |
280 | 94 end |
95 | |
96 lsp.pyls.setup{ | |
97 cmd = {"pyls"}, | |
98 on_attach = on_attach; | |
99 } | |
298
a7901c1366de
Add veridian language server
Zeger Van de Vannet <zegervdv@me.com>
parents:
295
diff
changeset
|
100 |
a7901c1366de
Add veridian language server
Zeger Van de Vannet <zegervdv@me.com>
parents:
295
diff
changeset
|
101 lsp.veridian.setup{ |
a7901c1366de
Add veridian language server
Zeger Van de Vannet <zegervdv@me.com>
parents:
295
diff
changeset
|
102 on_attach = on_attach; |
a7901c1366de
Add veridian language server
Zeger Van de Vannet <zegervdv@me.com>
parents:
295
diff
changeset
|
103 } |