# HG changeset patch # User Zeger Van de Vannet # Date 1608223754 -3600 # Node ID b93f12d23fbdd76d7cd810484ae9596c52652fd0 # Parent 93b8df942a201dd0a8df9a77953782f9f52de7a6 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 diff -r 93b8df942a20 -r b93f12d23fbd dot_config/nvim/config.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dot_config/nvim/config.lua Thu Dec 17 17:49:14 2020 +0100 @@ -0,0 +1,137 @@ +local lsp = require'lspconfig' +local lsputil = require'lspconfig.util' + +require "nvim-treesitter.highlight" + +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 = { + highlight_definitions = { enable = true }, + smart_rename = { + enable = true, + keymaps = { + smart_rename = "grr", + }, + }, + navigation = { + enable = true, + keymaps = { + goto_definition = "gnd", + list_definitions = "gnD", + }, + }, + }, + textobjects = { + move = { + enable = true, + goto_next_start = { + ["]]"] = "@block.outer", + }, + goto_previous_start = { + ["[["] = "@block.outer", + }, + goto_next_end = { + ["]["] = "@block.outer", + }, + goto_previous_end = { + ["[]"] = "@block.outer", + }, + }, + }, + playground = { + enable = true, + disable = {}, + updatetime = 25, + persist_queries = false + } +} + +local chain_complete_list = { + default = { + default = { + {complete_items = {'lsp'}}, + {complete_items = {'lsp', 'snippet', 'ts', 'buffer'}}, + {complete_items = {'path'}, triggered_only = {'/'}}, + {complete_items = {'ts'}}, + }, + string = { + {complete_items = {'path'}, triggered_only = {'/'}}, + }, + comment = {}, + } +} + +local on_attach = function(client) + 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, noremap) + if noremap == nil then + noremap = true + end + vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=noremap, silent=true}) + end + + -- vim.api.nvim_command('autocmd CursorHold lua vim.lsp.diagnostic.show_line_diagnostics()') + mapper('n', '', 'lua vim.lsp.diagnostic.show_line_diagnostics()') + mapper('n', 'gd', 'lua vim.lsp.buf.declaration()') + mapper('n', '', 'lua vim.lsp.buf.definition()') + mapper('n', 'K', 'lua vim.lsp.buf.hover()') + mapper('n', 'gD', 'lua vim.lsp.buf.implementation()') + mapper('n', '1gD', 'lua vim.lsp.buf.type_definition()') + -- mapper('n', 'gr', 'lua vim.lsp.buf.references()') + mapper('n', 'gr', "lua require'telescope.builtin'.lsp_references()") + mapper('n', 'g0', 'lua vim.lsp.buf.document_symbol()') + mapper('i', '', 'lua vim.lsp.buf.signature_help()') + mapper('n', 'f', 'lua vim.lsp.buf.code_action()') + mapper('n', '', 'lua vim.lsp.buf.formatting()') + mapper("i", "", "(completion_trigger)", false) + mapper("i", "", "(completion_next_source)", false) + mapper("i", "", "(completion_prev_source)", false) +end + + +vim.lsp.handlers["textDocument/formatting"] = function(err, _, result, _, bufnr) + if err ~= nil or result == nil then + return + end + if not vim.api.nvim_buf_get_option(bufnr, "modified") then + local view = vim.fn.winsaveview() + vim.lsp.util.apply_text_edits(result, bufnr) + -- Fix to reload Treesitter + -- vim.api.nvim_command("edit") + vim.fn.winrestview(view) + end +end + +lsp.pyls.setup{ + cmd = {"pyls"}, + on_attach = on_attach; +} + +if (vim.fn.executable('veridian') == 1) then + lsp.veridian.setup{ + on_attach = on_attach; + } +end + +if (vim.fn.executable('efm-langserver') == 1) then + lsp.efm.setup{ + on_attach = on_attach; + root_dir = lsputil.root_pattern('.git', '.hg'); + } +end diff -r 93b8df942a20 -r b93f12d23fbd dot_config/nvim/init.lua --- a/dot_config/nvim/init.lua Thu Dec 17 15:00:49 2020 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ -local lsp = require'lspconfig' -local lsputil = require'lspconfig.util' - -require "nvim-treesitter.highlight" - -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 = { - highlight_definitions = { enable = true }, - smart_rename = { - enable = true, - keymaps = { - smart_rename = "grr", - }, - }, - navigation = { - enable = true, - keymaps = { - goto_definition = "gnd", - list_definitions = "gnD", - }, - }, - }, - textobjects = { - move = { - enable = true, - goto_next_start = { - ["]]"] = "@block.outer", - }, - goto_previous_start = { - ["[["] = "@block.outer", - }, - goto_next_end = { - ["]["] = "@block.outer", - }, - goto_previous_end = { - ["[]"] = "@block.outer", - }, - }, - }, - playground = { - enable = true, - disable = {}, - updatetime = 25, - persist_queries = false - } -} - -local chain_complete_list = { - default = { - default = { - {complete_items = {'lsp'}}, - {complete_items = {'lsp', 'snippet', 'ts', 'buffer'}}, - {complete_items = {'path'}, triggered_only = {'/'}}, - {complete_items = {'ts'}}, - }, - string = { - {complete_items = {'path'}, triggered_only = {'/'}}, - }, - comment = {}, - } -} - -local on_attach = function(client) - 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, noremap) - if noremap == nil then - noremap = true - end - vim.fn.nvim_buf_set_keymap(0, mode, key, result, {noremap=noremap, silent=true}) - end - - -- vim.api.nvim_command('autocmd CursorHold lua vim.lsp.diagnostic.show_line_diagnostics()') - mapper('n', '', 'lua vim.lsp.diagnostic.show_line_diagnostics()') - mapper('n', 'gd', 'lua vim.lsp.buf.declaration()') - mapper('n', '', 'lua vim.lsp.buf.definition()') - mapper('n', 'K', 'lua vim.lsp.buf.hover()') - mapper('n', 'gD', 'lua vim.lsp.buf.implementation()') - mapper('n', '1gD', 'lua vim.lsp.buf.type_definition()') - -- mapper('n', 'gr', 'lua vim.lsp.buf.references()') - mapper('n', 'gr', "lua require'telescope.builtin'.lsp_references()") - mapper('n', 'g0', 'lua vim.lsp.buf.document_symbol()') - mapper('i', '', 'lua vim.lsp.buf.signature_help()') - mapper('n', 'f', 'lua vim.lsp.buf.code_action()') - mapper('n', '', 'lua vim.lsp.buf.formatting()') - mapper("i", "", "(completion_trigger)", false) - mapper("i", "", "(completion_next_source)", false) - mapper("i", "", "(completion_prev_source)", false) -end - - -vim.lsp.handlers["textDocument/formatting"] = function(err, _, result, _, bufnr) - if err ~= nil or result == nil then - return - end - if not vim.api.nvim_buf_get_option(bufnr, "modified") then - local view = vim.fn.winsaveview() - vim.lsp.util.apply_text_edits(result, bufnr) - -- Fix to reload Treesitter - -- vim.api.nvim_command("edit") - vim.fn.winrestview(view) - end -end - -lsp.pyls.setup{ - cmd = {"pyls"}, - on_attach = on_attach; -} - -if (vim.fn.executable('veridian') == 1) then - lsp.veridian.setup{ - on_attach = on_attach; - } -end - -if (vim.fn.executable('efm-langserver') == 1) then - lsp.efm.setup{ - on_attach = on_attach; - root_dir = lsputil.root_pattern('.git', '.hg'); - } -end diff -r 93b8df942a20 -r b93f12d23fbd dot_config/nvim/init.vim --- a/dot_config/nvim/init.vim Thu Dec 17 15:00:49 2020 +0100 +++ b/dot_config/nvim/init.vim Thu Dec 17 17:49:14 2020 +0100 @@ -1244,7 +1244,7 @@ \ 'cache_enabled': 1, \ } -luafile ~/.config/nvim/init.lua +luafile ~/.config/nvim/config.lua " Load local vimrc if filereadable($HOME . '/.vimrc.local')