Mercurial > dotfiles
diff dot_config/nvim/init.lua @ 280:dd8b9d0c0e41
Move lua config to lua.init
author | zegervdv <zegervdv@me.com> |
---|---|
date | Tue, 25 Aug 2020 09:35:59 +0200 |
parents | |
children | dfd62b5a9962 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dot_config/nvim/init.lua Tue Aug 25 09:35:59 2020 +0200 @@ -0,0 +1,77 @@ +local lsp = require'nvim_lsp' + +require "nvim-treesitter.highlight" +-- local hlmap = vim.treesitter.TSHighlighter.hl_map + +require'nvim-treesitter.configs'.setup { + highlight = { + enable = true, + }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "gnn", + node_incremental = "grn", + scope_incremental = "grc", + node_decremental = "grm", + } + }, + refactor = { + smart_rename = { + enable = true, + keymaps = { + smart_rename = "grr", + }, + }, + navigation = { + enable = true, + keymaps = { + goto_definition = "gnd", + list_definitions = "gnD", + }, + }, + }, +} + +local chain_complete_list = { + default = { + default = { + {complete_items = {'lsp', 'snippet'}}, + {complete_items = {'path'}, triggered_only = {'/'}}, + }, + string = { + {complete_items = {'path'}, triggered_only = {'/'}}, + }, + comment = {}, + } +} + +local on_attach = function(client) + require'diagnostic'.on_attach({ + -- enable_virtual_text = 1, + -- virtual_text_prefix = 'F', + }) + require'completion'.on_attach({ + sorting = 'alphabet', + matching_strategy_list = {'exact', 'fuzzy'}, + chain_complete_list = chain_complete_list, + }) + -- This came from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/lsp_config.lua + local mapper = function(mode, key, result) + vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=true, silent=true}) + end + + mapper('n', 'gd', '<cmd>lua vim.lsp.buf.declaration()<CR>') + mapper('n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<CR>') + mapper('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>') + mapper('n', 'gD', '<cmd>lua vim.lsp.buf.implementation()<CR>') + mapper('n', '1gD', '<cmd>lua vim.lsp.buf.type_definition()<CR>') + mapper('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>') + mapper('n', 'g0', '<cmd>lua vim.lsp.buf.document_symbol()<CR>') + mapper('i', '<c-l>', '<cmd>lua vim.lsp.buf.signature_help()<CR>') +end + +lsp.pyls.setup{ + cmd = {"pyls"}, + on_attach = on_attach; +}