annotate dot_config/nvim/config.lua @ 319:b93f12d23fbd

Rename init.lua to config.lua init.lua is now automatically sourced, and runs before init.vim causing issues like lspconfig that cannot be found. Renaming to something that will not be sourced automatically and manually load it from init.vim when all plugins are loaded
author Zeger Van de Vannet <zegervdv@me.com>
date Thu, 17 Dec 2020 17:49:14 +0100
parents
children aa0a095f8759
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
319
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
1 local lsp = require'lspconfig'
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
2 local lsputil = require'lspconfig.util'
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
3
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
4 require "nvim-treesitter.highlight"
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
5
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
6 require'nvim-treesitter.configs'.setup {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
7 highlight = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
8 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
9 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
10 incremental_selection = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
11 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
12 keymaps = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
13 init_selection = "gnn",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
14 node_incremental = "grn",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
15 scope_incremental = "grc",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
16 node_decremental = "grm",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
17 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
18 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
19 refactor = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
20 highlight_definitions = { enable = true },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
21 smart_rename = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
22 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
23 keymaps = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
24 smart_rename = "grr",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
25 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
26 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
27 navigation = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
28 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
29 keymaps = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
30 goto_definition = "gnd",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
31 list_definitions = "gnD",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
32 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
33 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
34 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
35 textobjects = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
36 move = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
37 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
38 goto_next_start = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
39 ["]]"] = "@block.outer",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
40 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
41 goto_previous_start = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
42 ["[["] = "@block.outer",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
43 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
44 goto_next_end = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
45 ["]["] = "@block.outer",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
46 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
47 goto_previous_end = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
48 ["[]"] = "@block.outer",
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
49 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
50 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
51 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
52 playground = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
53 enable = true,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
54 disable = {},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
55 updatetime = 25,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
56 persist_queries = false
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
57 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
58 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
59
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
60 local chain_complete_list = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
61 default = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
62 default = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
63 {complete_items = {'lsp'}},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
64 {complete_items = {'lsp', 'snippet', 'ts', 'buffer'}},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
65 {complete_items = {'path'}, triggered_only = {'/'}},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
66 {complete_items = {'ts'}},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
67 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
68 string = {
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
69 {complete_items = {'path'}, triggered_only = {'/'}},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
70 },
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
71 comment = {},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
72 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
73 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
74
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
75 local on_attach = function(client)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
76 require'completion'.on_attach({
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
77 sorting = 'alphabet',
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
78 matching_strategy_list = {'exact', 'fuzzy'},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
79 chain_complete_list = chain_complete_list,
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
80 })
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
81 -- This came from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/lsp_config.lua
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
82 local mapper = function(mode, key, result, noremap)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
83 if noremap == nil then
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
84 noremap = true
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
85 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
86 vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=noremap, silent=true})
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
87 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
88
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
89 -- vim.api.nvim_command('autocmd CursorHold <buffer> lua vim.lsp.diagnostic.show_line_diagnostics()')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
90 mapper('n', '<CR>', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
91 mapper('n', 'gd', '<cmd>lua vim.lsp.buf.declaration()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
92 mapper('n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
93 mapper('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
94 mapper('n', 'gD', '<cmd>lua vim.lsp.buf.implementation()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
95 mapper('n', '1gD', '<cmd>lua vim.lsp.buf.type_definition()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
96 -- mapper('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
97 mapper('n', 'gr', "<cmd>lua require'telescope.builtin'.lsp_references()<CR>")
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
98 mapper('n', 'g0', '<cmd>lua vim.lsp.buf.document_symbol()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
99 mapper('i', '<c-l>', '<cmd>lua vim.lsp.buf.signature_help()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
100 mapper('n', '<leader>f', '<cmd>lua vim.lsp.buf.code_action()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
101 mapper('n', '<c-p>', '<cmd>lua vim.lsp.buf.formatting()<CR>')
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
102 mapper("i", "<c-n>", "<Plug>(completion_trigger)", false)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
103 mapper("i", "<c-j>", "<Plug>(completion_next_source)", false)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
104 mapper("i", "<c-k>", "<Plug>(completion_prev_source)", false)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
105 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
106
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
107
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
108 vim.lsp.handlers["textDocument/formatting"] = function(err, _, result, _, bufnr)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
109 if err ~= nil or result == nil then
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
110 return
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
111 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
112 if not vim.api.nvim_buf_get_option(bufnr, "modified") then
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
113 local view = vim.fn.winsaveview()
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
114 vim.lsp.util.apply_text_edits(result, bufnr)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
115 -- Fix to reload Treesitter
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
116 -- vim.api.nvim_command("edit")
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
117 vim.fn.winrestview(view)
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
118 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
119 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
120
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
121 lsp.pyls.setup{
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
122 cmd = {"pyls"},
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
123 on_attach = on_attach;
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
124 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
125
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
126 if (vim.fn.executable('veridian') == 1) then
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
127 lsp.veridian.setup{
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
128 on_attach = on_attach;
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
129 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
130 end
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
131
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
132 if (vim.fn.executable('efm-langserver') == 1) then
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
133 lsp.efm.setup{
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
134 on_attach = on_attach;
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
135 root_dir = lsputil.root_pattern('.git', '.hg');
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
136 }
b93f12d23fbd Rename init.lua to config.lua
Zeger Van de Vannet <zegervdv@me.com>
parents:
diff changeset
137 end