annotate dot_config/nvim/init.lua @ 308:33b9f4c5ae6a

Add check to see if veridian is installed before loading it as lsp
author zegervdv <zegervdv@me.com>
date Mon, 23 Nov 2020 16:20:21 +0100
parents b1578effa848
children 386f7d66c031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
306
43ee619a8657 Update to use lspconfig
zegervdv <zegervdv@me.com>
parents: 305
diff changeset
1 local lsp = require'lspconfig'
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
2
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 require "nvim-treesitter.highlight"
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
4
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 require'nvim-treesitter.configs'.setup {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 highlight = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 incremental_selection = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 keymaps = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 init_selection = "gnn",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 node_incremental = "grn",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 scope_incremental = "grc",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 node_decremental = "grm",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 smart_rename = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 keymaps = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 smart_rename = "grr",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 navigation = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
27 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 keymaps = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 goto_definition = "gnd",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 list_definitions = "gnD",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
31 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
51 playground = {
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
52 enable = true,
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
53 disable = {},
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
54 updatetime = 25,
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
55 persist_queries = false
6279917e1aaa Switch to vim-one colorscheme
zegervdv <zegervdv@me.com>
parents: 281
diff changeset
56 }
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
58
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 local chain_complete_list = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 default = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 {complete_items = {'path'}, triggered_only = {'/'}},
285
d48b05b03ddf Add treesitter based completion
zegervdv <zegervdv@me.com>
parents: 282
diff changeset
64 {complete_items = {'ts'}},
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 string = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 {complete_items = {'path'}, triggered_only = {'/'}},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 comment = {},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
72
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 local on_attach = function(client)
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 require'completion'.on_attach({
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 sorting = 'alphabet',
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 matching_strategy_list = {'exact', 'fuzzy'},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 chain_complete_list = chain_complete_list,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 })
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 -- This came from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/lsp_config.lua
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 local mapper = function(mode, key, result)
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=true, silent=true})
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 end
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
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
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 mapper('n', 'gd', '<cmd>lua vim.lsp.buf.declaration()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 mapper('n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 mapper('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 mapper('n', 'gD', '<cmd>lua vim.lsp.buf.implementation()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 mapper('n', '1gD', '<cmd>lua vim.lsp.buf.type_definition()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 mapper('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 mapper('n', 'g0', '<cmd>lua vim.lsp.buf.document_symbol()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
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>')
307
b1578effa848 Add <c-p> as map to reformat using lsp
zegervdv <zegervdv@me.com>
parents: 306
diff changeset
94 mapper('n', '<c-p>', '<cmd>lua vim.lsp.buf.formatting()<CR>')
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 end
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
96
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 lsp.pyls.setup{
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 cmd = {"pyls"},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 on_attach = on_attach;
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 }
298
a7901c1366de Add veridian language server
Zeger Van de Vannet <zegervdv@me.com>
parents: 295
diff changeset
101
308
33b9f4c5ae6a Add check to see if veridian is installed before loading it as lsp
zegervdv <zegervdv@me.com>
parents: 307
diff changeset
102 if (vim.fn.executable('veridian') == 1) then
33b9f4c5ae6a Add check to see if veridian is installed before loading it as lsp
zegervdv <zegervdv@me.com>
parents: 307
diff changeset
103 lsp.veridian.setup{
33b9f4c5ae6a Add check to see if veridian is installed before loading it as lsp
zegervdv <zegervdv@me.com>
parents: 307
diff changeset
104 on_attach = on_attach;
33b9f4c5ae6a Add check to see if veridian is installed before loading it as lsp
zegervdv <zegervdv@me.com>
parents: 307
diff changeset
105 }
33b9f4c5ae6a Add check to see if veridian is installed before loading it as lsp
zegervdv <zegervdv@me.com>
parents: 307
diff changeset
106 end