From: martin f. krafft Date: Fri, 11 Apr 2025 07:16:38 +0000 (+0200) Subject: enable LSP, add ALE X-Git-Url: https://git.madduck.net/etc/neovim.git/commitdiff_plain/947cb734e6e7e813d63c0577bdd561cbdcb08751?hp=c9981be8892a27abb08312093a30d305b8529576 enable LSP, add ALE --- diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 705342e..03c40f1 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -34,6 +34,9 @@ Plug 'Houl/ExplainPattern-vim' -- Remember the last editing position Plug 'farmergreg/vim-lastplace' +Plug 'neovim/nvim-lspconfig' +Plug 'dense-analysis/ale' + vim.call "plug#end" function hasPlug(plugin) diff --git a/.config/nvim/keymaps.lua b/.config/nvim/keymaps.lua index 46bb87f..891ea02 100644 --- a/.config/nvim/keymaps.lua +++ b/.config/nvim/keymaps.lua @@ -6,3 +6,7 @@ vim.keymap.set({'n', 'v', 'o', 'i'}, '', ':set invpaste') -- clear highlights on search when pressing in normal mode vim.keymap.set('n', '', 'nohlsearch') + +-- Pop-up menu navigation with tab +vim.keymap.set('i', '', function() return vim.fn.pumvisible() and "" or "" end, {expr = true, remap = false}) +vim.keymap.set('i', '', function() return vim.fn.pumvisible() and "" or "" end, {expr = true, remap = false}) diff --git a/.config/nvim/plugin/ale.lua b/.config/nvim/plugin/ale.lua new file mode 100644 index 0000000..90dcfa9 --- /dev/null +++ b/.config/nvim/plugin/ale.lua @@ -0,0 +1,22 @@ +ale = prequire("ale") + +if ale then + vim.keymap.set({'n', 'i'}, '', [[ALELint]]) + vim.keymap.set({'n', 'i'}, '', [[ALEFix]]) + + vim.keymap.set('n', '', '(ale_previous_wrap)') + vim.keymap.set('n', '', '(ale_next_wrap)') + + vim.g.ale_completion_enabled = 0 + vim.g.ale_echo_msg_format = '%code: %%s [%linter%]' + vim.g.ale_fixers = { ['*'] = { "remove_trailing_lines", "trim_whitespace" } } + vim.g.ale_virtualtext_cursor = 'current' + + vim.g.ale_lint_on_text_changed = 'normal' + vim.g.ale_lint_on_insert_leave = true + vim.g.ale_lint_on_enter = true + + vim.opt_local.signcolumn = 'no' +else + print 'ALE is not installed' +end diff --git a/.config/nvim/plugin/lspconfig.lua b/.config/nvim/plugin/lspconfig.lua new file mode 100644 index 0000000..c7beef5 --- /dev/null +++ b/.config/nvim/plugin/lspconfig.lua @@ -0,0 +1,7 @@ +lspconfig = prequire('lspconfig') + +if lspconfig then + lspconfig.pylsp.setup{} +else + print 'lspconfig is not installed' +end diff --git a/.gitignore.d/neovim b/.gitignore.d/neovim index f4ff35c..d5d9387 100644 --- a/.gitignore.d/neovim +++ b/.gitignore.d/neovim @@ -4,8 +4,10 @@ !/.config/nvim/init.lua !/.config/nvim/keymaps.lua !/.config/nvim/options.lua +!/.config/nvim/plugin/ale.lua !/.config/nvim/plugin/highlight-yank.lua !/.config/nvim/plugin/listmode.lua +!/.config/nvim/plugin/lspconfig.lua !/.config/nvim/plugin/vim-artesanal.lua !/.config/nvim/plugin/vim-lastplace.lua !/.config/nvim/style.vim