annotate dot_config/nvim/init.lua @ 281:dfd62b5a9962

Add buffer completion source
author zegervdv <zegervdv@me.com>
date Tue, 25 Aug 2020 09:48:17 +0200
parents dd8b9d0c0e41
children 6279917e1aaa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 local lsp = require'nvim_lsp'
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 -- local hlmap = vim.treesitter.TSHighlighter.hl_map
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
5
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 require'nvim-treesitter.configs'.setup {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 highlight = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 incremental_selection = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 enable = true,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 keymaps = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 init_selection = "gnn",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 node_incremental = "grn",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 scope_incremental = "grc",
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 node_decremental = "grm",
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 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 refactor = {
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 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
34 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
35
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
36 local chain_complete_list = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 default = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 default = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 {complete_items = {'lsp', 'snippet'}},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 {complete_items = {'path'}, triggered_only = {'/'}},
281
dfd62b5a9962 Add buffer completion source
zegervdv <zegervdv@me.com>
parents: 280
diff changeset
41 {complete_items = {'buffer'}},
280
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 string = {
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 {complete_items = {'path'}, triggered_only = {'/'}},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 },
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 comment = {},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 }
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
49
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 local on_attach = function(client)
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 require'diagnostic'.on_attach({
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 -- enable_virtual_text = 1,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 -- virtual_text_prefix = 'F',
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 })
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 require'completion'.on_attach({
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 sorting = 'alphabet',
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 matching_strategy_list = {'exact', 'fuzzy'},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 chain_complete_list = chain_complete_list,
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 })
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 -- 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
61 local mapper = function(mode, key, result)
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 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
63 end
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
64
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 mapper('n', 'gd', '<cmd>lua vim.lsp.buf.declaration()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 mapper('n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 mapper('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 mapper('n', 'gD', '<cmd>lua vim.lsp.buf.implementation()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 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
70 mapper('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 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
72 mapper('i', '<c-l>', '<cmd>lua vim.lsp.buf.signature_help()<CR>')
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 end
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
74
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 lsp.pyls.setup{
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 cmd = {"pyls"},
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 on_attach = on_attach;
dd8b9d0c0e41 Move lua config to lua.init
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 }