From 8df9c6e8a99aa1a82a4adfdf20194c9ab53f6beb Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 22 Feb 2022 14:07:23 +0100 Subject: Disabling neovim lsp, Added neovim tags support --- config/nvim/lua/plugins.lua | 178 ++++++++++++++++++++++++-------------------- 1 file changed, 98 insertions(+), 80 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 71498e9..e820099 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -8,92 +8,109 @@ return require('packer').startup(function() use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) use 'romainl/vim-cool' -- only highlight search matches when searching - -- nvim lsp configuration + -- tags managment use { - 'neovim/nvim-lspconfig', - ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + 'ludovicchabant/vim-gutentags', config = function() - local on_attach = function(_, bufnr) - local opts = { noremap = true, silent = true } - local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - end - local lspconfig = require('lspconfig') - lspconfig.clangd.setup { on_attach = on_attach } - lspconfig.rust_analyzer.setup { on_attach = on_attach } - -- need python-lsp-server and pyls-flake8 - lspconfig.pylsp.setup { on_attach = on_attach } - -- package lua-language-server on ArchLinux - lspconfig.sumneko_lua.setup { - on_attach = on_attach , - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Setup your lua path - path = vim.split(package.path, ';'), - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = { - [vim.fn.expand('$VIMRUNTIME/lua')] = true, - [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - }, - }, - } - }, - } - vim.diagnostic.config { - signs = false, - update_in_insert = false, - } - end, - } - - -- rust lsp (needs rust-analyser) - use { - 'simrat39/rust-tools.nvim', - requires = {'neovim/nvim-lspconfig'}, - ft = {'rust'}, - config = function() - local on_attach = function(_, bufnr) - local opts = { noremap = true, silent = true } - local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - end - require('rust-tools').setup { - server = { - on_attach = on_attach, - } - } - vim.diagnostic.config { - signs = false, - update_in_insert = false, + vim.g.gutentags_ctags_exclude = { + 'doc/*', + 'docs/*', + 'Makefile', + '.mypy_cache', + '.pytest_cache', + '.tox', + 'build/*', + 'dist/*' } end } + -- nvim lsp configuration + -- use { + -- 'neovim/nvim-lspconfig', + -- ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + -- config = function() + -- local on_attach = function(_, bufnr) + -- local opts = { noremap = true, silent = true } + -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) + -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + -- map('n', 'q', 'Telescope diagnostics', opts) + -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- end + -- local lspconfig = require('lspconfig') + -- lspconfig.clangd.setup { on_attach = on_attach } + -- lspconfig.rust_analyzer.setup { on_attach = on_attach } + -- -- need python-lsp-server and pyls-flake8 + -- lspconfig.pylsp.setup { on_attach = on_attach } + -- -- package lua-language-server on ArchLinux + -- lspconfig.sumneko_lua.setup { + -- on_attach = on_attach , + -- settings = { + -- Lua = { + -- runtime = { + -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + -- version = 'LuaJIT', + -- -- Setup your lua path + -- path = vim.split(package.path, ';'), + -- }, + -- diagnostics = { + -- -- Get the language server to recognize the `vim` global + -- globals = {'vim'}, + -- }, + -- workspace = { + -- -- Make the server aware of Neovim runtime files + -- library = { + -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, + -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- }, + -- }, + -- } + -- }, + -- } + -- vim.diagnostic.config { + -- signs = false, + -- update_in_insert = false, + -- } + -- end, + -- } + -- + -- -- rust lsp (needs rust-analyser) + -- use { + -- 'simrat39/rust-tools.nvim', + -- requires = {'neovim/nvim-lspconfig'}, + -- ft = {'rust'}, + -- config = function() + -- local on_attach = function(_, bufnr) + -- local opts = { noremap = true, silent = true } + -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) + -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + -- map('n', 'q', 'Telescope diagnostics', opts) + -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- end + -- require('rust-tools').setup { + -- server = { + -- on_attach = on_attach, + -- } + -- } + -- vim.diagnostic.config { + -- signs = false, + -- update_in_insert = false, + -- } + -- end + -- } + -- comment text objects use { 'numToStr/Comment.nvim', @@ -181,6 +198,7 @@ return require('packer').startup(function() map('n', '', 'Telescope git_files', {}) map('n', 'H', 'Telescope help_tags', {}) map('n', ';', 'Telescope commands', {}) + map('n', 'p', 'Telescope tags', {}) end } -- cgit From 747462f7e25acae6957402fc34af084700faf4d5 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 22 Feb 2022 14:45:37 +0100 Subject: Changed terminal stuff to use nord theme instead of gruvbox --- config/nvim/lua/plugins.lua | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index e820099..b26decb 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -7,6 +7,7 @@ return require('packer').startup(function() use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) use 'romainl/vim-cool' -- only highlight search matches when searching + use 'lukas-reineke/indent-blankline.nvim' -- tags managment use { @@ -118,20 +119,32 @@ return require('packer').startup(function() require('Comment').setup() end } - -- color scheme + -- gruvbox color scheme + -- use { + -- 'ellisonleao/gruvbox.nvim', + -- requires = {'rktjmp/lush.nvim'}, + -- config = function() + -- vim.opt.termguicolors = true + -- vim.opt.background = "dark" + -- -- vim.cmd [[ colorscheme gruvbox ]] + -- vim.g.gruvbox_italic = 1 + -- vim.g.gruvbox_bold = 1 + -- vim.g.gruvbox_termcolors = 256 + -- vim.g.gruvbox_contrast_dark = 'medium' + -- vim.g.gruvbox_contrast_light = 'hard' + -- vim.g.gruvbox_invert_selection = 0 + -- end + -- } + -- nord color scheme use { - 'ellisonleao/gruvbox.nvim', - requires = {'rktjmp/lush.nvim'}, + 'shaunsingh/nord.nvim', config = function() vim.opt.termguicolors = true vim.opt.background = "dark" - vim.cmd [[ colorscheme gruvbox ]] - vim.g.gruvbox_italic = 1 - vim.g.gruvbox_bold = 1 - vim.g.gruvbox_termcolors = 256 - vim.g.gruvbox_contrast_dark = 'medium' - vim.g.gruvbox_contrast_light = 'hard' - vim.g.gruvbox_invert_selection = 0 + vim.cmd [[ colorscheme nord ]] + vim.g.nord_contrast = true + vim.g.nord_borders = true + vim.g.nord_italic = true end } -- status line @@ -141,7 +154,8 @@ return require('packer').startup(function() config = function() require('lualine').setup { options = { - theme = 'gruvbox', + -- theme = 'gruvbox', + theme = 'nord', icons_enabled = true, section_separators = '', component_separators = '' -- cgit From 30196e455be943777f56da672dee039ca6a27932 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 21 Mar 2022 09:27:51 +0100 Subject: Added black python formatter --- config/nvim/init.lua | 11 ----------- config/nvim/lua/plugins.lua | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 7665221..db908c6 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -43,17 +43,6 @@ vim.opt.laststatus=2 -- always a statusline (all window) vim.opt.showcmd = true -- show current partial command in the bottom right vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) --- colorscheme -vim.opt.termguicolors = true -vim.opt.background = "dark" -vim.cmd [[ colorscheme gruvbox ]] -vim.g.gruvbox_italic = 1 -vim.g.gruvbox_bold = 1 -vim.g.gruvbox_termcolors = 256 -vim.g.gruvbox_contrast_dark = 'medium' -vim.g.gruvbox_contrast_light = 'hard' -vim.g.gruvbox_invert_selection = 0 - -- remove ugly treesitter error highlight require 'nvim-treesitter.highlight' local hlmap = vim.treesitter.highlighter.hl_map diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index b26decb..2156a52 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,16 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + -- python formatter + use { + 'psf/black', + branch = 'stable', + ft = 'python', + config = function() + vim.cmd [[ autocmd BufWritePre *.py Black ]] + end + } + -- tags managment use { 'ludovicchabant/vim-gutentags', -- cgit From a601873e477807e90cbd9bbbcec431815bc3f9ca Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 1 Apr 2022 16:13:48 +0200 Subject: Added .sql.j2 to sql syntax in neovim --- config/nvim/init.lua | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index db908c6..2b46cc9 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -58,4 +58,6 @@ augroup end -- remove trailing white space on save vim.cmd [[ autocmd BufWritePre * %s/\s\+$//e ]] +vim.cmd [[ autocmd BufReadPre *.sql.j2 set ft=sql ]] + require('mappings') -- cgit From 7e68aa434eb56ac5ce9140f501fdc8a2bba10fd6 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 4 Apr 2022 13:56:14 +0200 Subject: Added neovim jinja syntax --- config/nvim/lua/plugins.lua | 118 +++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 55 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 2156a52..2e51e37 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,11 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + use { + 'cacharle/vim-jinja-languages', + requires = {'mitsuhiko/vim-jinja'} + } + -- python formatter use { 'psf/black', @@ -37,60 +42,60 @@ return require('packer').startup(function() } -- nvim lsp configuration - -- use { - -- 'neovim/nvim-lspconfig', - -- ft = {'rust', 'python', 'c', 'cpp', 'lua'}, - -- config = function() - -- local on_attach = function(_, bufnr) - -- local opts = { noremap = true, silent = true } - -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) - -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - -- map('n', 'q', 'Telescope diagnostics', opts) - -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - -- end - -- local lspconfig = require('lspconfig') - -- lspconfig.clangd.setup { on_attach = on_attach } - -- lspconfig.rust_analyzer.setup { on_attach = on_attach } - -- -- need python-lsp-server and pyls-flake8 - -- lspconfig.pylsp.setup { on_attach = on_attach } - -- -- package lua-language-server on ArchLinux - -- lspconfig.sumneko_lua.setup { - -- on_attach = on_attach , - -- settings = { - -- Lua = { - -- runtime = { - -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - -- version = 'LuaJIT', - -- -- Setup your lua path - -- path = vim.split(package.path, ';'), - -- }, - -- diagnostics = { - -- -- Get the language server to recognize the `vim` global - -- globals = {'vim'}, - -- }, - -- workspace = { - -- -- Make the server aware of Neovim runtime files - -- library = { - -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, - -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - -- }, - -- }, - -- } - -- }, - -- } - -- vim.diagnostic.config { - -- signs = false, - -- update_in_insert = false, - -- } - -- end, - -- } - -- + use { + 'neovim/nvim-lspconfig', + ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + config = function() + local on_attach = function(_, bufnr) + local opts = { noremap = true, silent = true } + local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + map('n', ']', 'lua vim.lsp.buf.definition()', opts) + map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + map('n', 'q', 'Telescope diagnostics', opts) + map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + end + local lspconfig = require('lspconfig') + -- lspconfig.clangd.setup { on_attach = on_attach } + -- lspconfig.rust_analyzer.setup { on_attach = on_attach } + -- need python-lsp-server and pyls-flake8 + lspconfig.pylsp.setup { on_attach = on_attach } + -- package lua-language-server on ArchLinux + -- lspconfig.sumneko_lua.setup { + -- on_attach = on_attach , + -- settings = { + -- Lua = { + -- runtime = { + -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + -- version = 'LuaJIT', + -- -- Setup your lua path + -- path = vim.split(package.path, ';'), + -- }, + -- diagnostics = { + -- -- Get the language server to recognize the `vim` global + -- globals = {'vim'}, + -- }, + -- workspace = { + -- -- Make the server aware of Neovim runtime files + -- library = { + -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, + -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- }, + -- }, + -- } + -- }, + -- } + vim.diagnostic.config { + signs = false, + update_in_insert = false, + } + end, + } + -- -- rust lsp (needs rust-analyser) -- use { -- 'simrat39/rust-tools.nvim', @@ -168,7 +173,8 @@ return require('packer').startup(function() theme = 'nord', icons_enabled = true, section_separators = '', - component_separators = '' + component_separators = '', + -- globalstatus = true, -- need 0.7 } } end @@ -223,6 +229,8 @@ return require('packer').startup(function() map('n', 'H', 'Telescope help_tags', {}) map('n', ';', 'Telescope commands', {}) map('n', 'p', 'Telescope tags', {}) + map('n', 'g', 'Telescope live_grep', {}) + map('n', 'G', 'Telescope grep_string', {}) end } -- cgit From d4d3c29d4478b1d9a1d9391bc597bd76953f954e Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 25 Apr 2022 15:27:31 +0200 Subject: Added nvim-cmp for auto completion --- config/nvim/lua/plugins.lua | 59 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 2e51e37..e5244a5 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -17,7 +17,7 @@ return require('packer').startup(function() -- python formatter use { 'psf/black', - branch = 'stable', + tag = 'stable', ft = 'python', config = function() vim.cmd [[ autocmd BufWritePre *.py Black ]] @@ -41,6 +41,7 @@ return require('packer').startup(function() end } + -- nvim lsp configuration use { 'neovim/nvim-lspconfig', @@ -60,10 +61,14 @@ return require('packer').startup(function() map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) end local lspconfig = require('lspconfig') + local capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ) + -- lspconfig.clangd.setup { on_attach = on_attach } -- lspconfig.rust_analyzer.setup { on_attach = on_attach } -- need python-lsp-server and pyls-flake8 - lspconfig.pylsp.setup { on_attach = on_attach } + lspconfig.pylsp.setup { on_attach = on_attach, capabilities = capabilities } -- package lua-language-server on ArchLinux -- lspconfig.sumneko_lua.setup { -- on_attach = on_attach , @@ -127,6 +132,54 @@ return require('packer').startup(function() -- end -- } + use { + 'hrsh7th/nvim-cmp', + requires = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'onsails/lspkind.nvim', + }, + config = function() + local lspkind = require('lspkind') + local cmp = require('cmp') + cmp.setup { + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + }), + -- order of the sources matter (first are higher priority) + sources = { + { name = "nvim_lsp" }, + { name = 'nvim_lsp_signature_help' }, + { name = "path" }, + { name = "buffer", keyword_length = 2 }, + }, + formatting = { + format = lspkind.cmp_format({ + with_text = true, + menu = { + nvim_lsp = "[LSP]", + path = "[path]", + buffer = "[buf]", + } + }) + }, + window = { + documentation = cmp.config.window.bordered(), + }, + experimental = { + ghost_text = true, + } + } + end + } + + -- comment text objects use { 'numToStr/Comment.nvim', @@ -174,7 +227,7 @@ return require('packer').startup(function() icons_enabled = true, section_separators = '', component_separators = '', - -- globalstatus = true, -- need 0.7 + globalstatus = true, } } end -- cgit From ca5b53db1e8ce9f7f5c33cd9ddcda63d460942e0 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 06:04:56 +0200 Subject: Added nvim vim-slime plugin, Updated zsh chpwd hook to cache conda env list command --- config/nvim/lua/plugins.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index e5244a5..cd6d463 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,13 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + use { + 'jpalardy/vim-slime', + config = function() + vim.g.slime_target = 'tmux' + end + } + use { 'cacharle/vim-jinja-languages', requires = {'mitsuhiko/vim-jinja'} @@ -148,7 +155,7 @@ return require('packer').startup(function() mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), }), -- cgit From dfa9425bc2ff78f8c34a11b83cca9ec1277747db Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:01:46 +0200 Subject: Added golang lsp --- config/nvim/init.lua | 30 ++++++++++++++++++++--------- config/nvim/lua/plugins.lua | 46 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 12 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 2b46cc9..1caa245 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -39,7 +39,7 @@ vim.opt.hlsearch = true -- match highlight vim.opt.incsearch = true -- status -vim.opt.laststatus=2 -- always a statusline (all window) +vim.opt.laststatus = 2 -- always a statusline (all window) vim.opt.showcmd = true -- show current partial command in the bottom right vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) @@ -48,16 +48,28 @@ require 'nvim-treesitter.highlight' local hlmap = vim.treesitter.highlighter.hl_map hlmap.error = nil -vim.cmd [[ -augroup packer_user_config - autocmd! - autocmd BufWritePost plugins.lua source | PackerCompile -augroup end -]] +local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {}) + +-- run PackerCompile when we modify plugins.lua +vim.api.nvim_create_autocmd( + "BufWritePost", + { + command = "source | PackerCompile", + pattern = "plugins.lua", + group = augroup + } +) -- remove trailing white space on save -vim.cmd [[ autocmd BufWritePre * %s/\s\+$//e ]] +vim.api.nvim_create_autocmd( + "BufWritePre", + { command = [[ %s/\s\+$//e ]], pattern = "*", group = augroup } +) -vim.cmd [[ autocmd BufReadPre *.sql.j2 set ft=sql ]] +-- set filttype for *.sql.j2 files +vim.api.nvim_create_autocmd( + "BufReadPre", + { command = "set ft=sql", pattern = "*.sql.j2", group = augroup } +) require('mappings') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index cd6d463..acaf6ec 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -27,7 +27,11 @@ return require('packer').startup(function() tag = 'stable', ft = 'python', config = function() - vim.cmd [[ autocmd BufWritePre *.py Black ]] + local augroup = vim.api.nvim_create_augroup("cacharle_black_group", {}) + vim.api.nvim_create_autocmd( + "BufWritePre", + { command = "Black", pattern = "*.py", group = augroup } + ) end } @@ -52,7 +56,7 @@ return require('packer').startup(function() -- nvim lsp configuration use { 'neovim/nvim-lspconfig', - ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + ft = {'rust', 'python', 'c', 'cpp', 'lua', 'go'}, config = function() local on_attach = function(_, bufnr) local opts = { noremap = true, silent = true } @@ -72,10 +76,46 @@ return require('packer').startup(function() vim.lsp.protocol.make_client_capabilities() ) + -- $ go install golang.org/x/tools/gopls + lspconfig.gopls.setup { + on_attach = on_attach, + capabilities = capabilities, + settings = { + gopls = { + analyses = { + unusedparams = true + }, + staticcheck = true + } + } + } + -- from: https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-imports + function go_import_callback() + local wait_ms = 1000 + local params = vim.lsp.util.make_range_params() + params.context = {only = {"source.organizeImports"}} + local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms) + for _, res in pairs(result or {}) do + for _, r in pairs(res.result or {}) do + if r.edit then + vim.lsp.util.apply_workspace_edit(r.edit, "UTF-8") + else + vim.lsp.buf.execute_command(r.command) + end + end + end + end + local augroup = vim.api.nvim_create_augroup("cacharle_gopls_group", {}) + vim.api.nvim_create_autocmd( + "BufWritePre", + { callback = go_import_callback, pattern = "*.go", group = augroup } + ) + -- lspconfig.clangd.setup { on_attach = on_attach } -- lspconfig.rust_analyzer.setup { on_attach = on_attach } -- need python-lsp-server and pyls-flake8 lspconfig.pylsp.setup { on_attach = on_attach, capabilities = capabilities } + -- package lua-language-server on ArchLinux -- lspconfig.sumneko_lua.setup { -- on_attach = on_attach , @@ -234,7 +274,7 @@ return require('packer').startup(function() icons_enabled = true, section_separators = '', component_separators = '', - globalstatus = true, + -- globalstatus = true, } } end -- cgit From bcf388658b20ba4d06df539d6befd01557f5bd8a Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:20:34 +0200 Subject: Added telescope fzf native sorter --- config/nvim/init.lua | 6 +++--- config/nvim/lua/plugins.lua | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 1caa245..016819a 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -44,9 +44,9 @@ vim.opt.showcmd = true -- show current partial command in the bottom r vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) -- remove ugly treesitter error highlight -require 'nvim-treesitter.highlight' -local hlmap = vim.treesitter.highlighter.hl_map -hlmap.error = nil +-- require 'nvim-treesitter.highlight' +-- local hlmap = vim.treesitter.highlighter.hl_map +-- hlmap.error = nil local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {}) diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index acaf6ec..905991b 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -309,10 +309,12 @@ return require('packer').startup(function() requires = { {'nvim-lua/plenary.nvim'}, {'kyazdani42/nvim-web-devicons', opt = true}, + {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, }, config = function() local actions = require('telescope.actions') - require('telescope').setup { + local telescope = require('telescope') + telescope.setup { defaults = { mappings = { i = { @@ -322,8 +324,9 @@ return require('packer').startup(function() ['kj'] = actions.close, } }, - } + }, } + telescope.load_extension('fzf') local map = vim.api.nvim_set_keymap map('n', '', 'Telescope git_files', {}) map('n', 'H', 'Telescope help_tags', {}) -- cgit From a7c757ff4d4b6bbb3f164cd479a600f4cdd1a288 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:28:30 +0200 Subject: Changing single quote to double quotes in nvim configs --- config/nvim/init.lua | 14 +-- config/nvim/lua/plugins.lua | 262 ++++++++++++++++++++++---------------------- 2 files changed, 139 insertions(+), 137 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 016819a..d046567 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,8 +1,8 @@ -require('plugins') +require("plugins") -- common -vim.g.mapleader = ' ' -- set leader key to space -vim.g.maplocalleader = '-' -- set file local leader key to backslash +vim.g.mapleader = " " -- set leader key to space +vim.g.maplocalleader = "-" -- set file local leader key to backslash vim.opt.compatible = false -- not compatible with vi vim.opt.number = true -- line number vim.opt.numberwidth = 1 -- line numbers gutter autowidth @@ -15,10 +15,10 @@ vim.opt.swapfile = false -- disable swap files vim.opt.scrolloff = 2 -- line padding when scrolling vim.opt.textwidth = 0 -- when line wrap occurs vim.opt.wrapmargin = 0 -- disable auto line wrapping -vim.opt.clipboard = 'unnamedplus' -- use system clipboard +vim.opt.clipboard = "unnamedplus" -- use system clipboard vim.g.c_syntax_for_h = 1 -- .h file use C filetype instead of C++ vim.opt.encoding = "utf-8" -- utf-8 encoding -vim.opt.shellredir = ">" -- don't inclue stderr when reading a command +vim.opt.shellredir = ">" -- don"t inclue stderr when reading a command -- intuitif split opening vim.opt.splitbelow = true @@ -44,7 +44,7 @@ vim.opt.showcmd = true -- show current partial command in the bottom r vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) -- remove ugly treesitter error highlight --- require 'nvim-treesitter.highlight' +-- require "nvim-treesitter.highlight" -- local hlmap = vim.treesitter.highlighter.hl_map -- hlmap.error = nil @@ -72,4 +72,4 @@ vim.api.nvim_create_autocmd( { command = "set ft=sql", pattern = "*.sql.j2", group = augroup } ) -require('mappings') +require("mappings") diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 905991b..f0b1e11 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -1,31 +1,31 @@ vim.cmd [[ packadd packer.nvim ]] -return require('packer').startup(function() - use 'wbthomason/packer.nvim' -- plugin manager (can manage itself) - use 'junegunn/vim-easy-align' -- align - use 'AndrewRadev/sideways.vim' -- Move arguments sideways - use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines - use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) - use 'romainl/vim-cool' -- only highlight search matches when searching - use 'lukas-reineke/indent-blankline.nvim' +return require("packer").startup(function() + use "wbthomason/packer.nvim" -- plugin manager (can manage itself) + use "junegunn/vim-easy-align" -- align + use "AndrewRadev/sideways.vim" -- Move arguments sideways + use "FooSoft/vim-argwrap" -- Put arguments on multiple lines + use "tpope/vim-eunuch" -- basic commands on current file (Rename/Remove) + use "romainl/vim-cool" -- only highlight search matches when searching + use "lukas-reineke/indent-blankline.nvim" use { - 'jpalardy/vim-slime', + "jpalardy/vim-slime", config = function() - vim.g.slime_target = 'tmux' + vim.g.slime_target = "tmux" end } use { - 'cacharle/vim-jinja-languages', - requires = {'mitsuhiko/vim-jinja'} + "cacharle/vim-jinja-languages", + requires = {"mitsuhiko/vim-jinja"} } -- python formatter use { - 'psf/black', - tag = 'stable', - ft = 'python', + "psf/black", + tag = "stable", + ft = "python", config = function() local augroup = vim.api.nvim_create_augroup("cacharle_black_group", {}) vim.api.nvim_create_autocmd( @@ -37,17 +37,17 @@ return require('packer').startup(function() -- tags managment use { - 'ludovicchabant/vim-gutentags', + "ludovicchabant/vim-gutentags", config = function() vim.g.gutentags_ctags_exclude = { - 'doc/*', - 'docs/*', - 'Makefile', - '.mypy_cache', - '.pytest_cache', - '.tox', - 'build/*', - 'dist/*' + "doc/*", + "docs/*", + "Makefile", + ".mypy_cache", + ".pytest_cache", + ".tox", + "build/*", + "dist/*" } end } @@ -55,24 +55,24 @@ return require('packer').startup(function() -- nvim lsp configuration use { - 'neovim/nvim-lspconfig', - ft = {'rust', 'python', 'c', 'cpp', 'lua', 'go'}, + "neovim/nvim-lspconfig", + ft = {"rust", "python", "c", "cpp", "lua", "go"}, config = function() local on_attach = function(_, bufnr) local opts = { noremap = true, silent = true } local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + map("n", "[", "lua vim.lsp.buf.declaration()", opts) + map("n", "]", "lua vim.lsp.buf.definition()", opts) + map("n", "K", "lua vim.lsp.buf.hover()", opts) + map("n", "gk", "lua vim.lsp.buf.signature_help()", opts) + map("n", "gd", "lua vim.lsp.buf.definition()", opts) + map("n", "[d", "lua vim.diagnostic.goto_prev()", opts) + map("n", "]d", "lua vim.diagnostic.goto_next()", opts) + map("n", "q", "Telescope diagnostics", opts) + map("n", "rn", "lua vim.lsp.buf.rename()", opts) end - local lspconfig = require('lspconfig') - local capabilities = require('cmp_nvim_lsp').update_capabilities( + local lspconfig = require("lspconfig") + local capabilities = require("cmp_nvim_lsp").update_capabilities( vim.lsp.protocol.make_client_capabilities() ) @@ -122,20 +122,20 @@ return require('packer').startup(function() -- settings = { -- Lua = { -- runtime = { - -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - -- version = 'LuaJIT', + -- -- Tell the language server which version of Lua you"re using (most likely LuaJIT in the case of Neovim) + -- version = "LuaJIT", -- -- Setup your lua path - -- path = vim.split(package.path, ';'), + -- path = vim.split(package.path, ";"), -- }, -- diagnostics = { -- -- Get the language server to recognize the `vim` global - -- globals = {'vim'}, + -- globals = {"vim"}, -- }, -- workspace = { -- -- Make the server aware of Neovim runtime files -- library = { - -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, - -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- [vim.fn.expand("$VIMRUNTIME/lua")] = true, + -- [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, -- }, -- }, -- } @@ -150,24 +150,24 @@ return require('packer').startup(function() -- -- rust lsp (needs rust-analyser) -- use { - -- 'simrat39/rust-tools.nvim', - -- requires = {'neovim/nvim-lspconfig'}, - -- ft = {'rust'}, + -- "simrat39/rust-tools.nvim", + -- requires = {"neovim/nvim-lspconfig"}, + -- ft = {"rust"}, -- config = function() -- local on_attach = function(_, bufnr) -- local opts = { noremap = true, silent = true } -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) - -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - -- map('n', 'q', 'Telescope diagnostics', opts) - -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- map("n", "[", "lua vim.lsp.buf.declaration()", opts) + -- map("n", "]", "lua vim.lsp.buf.definition()", opts) + -- map("n", "K", "lua vim.lsp.buf.hover()", opts) + -- map("n", "gk", "lua vim.lsp.buf.signature_help()", opts) + -- map("n", "gd", "lua vim.lsp.buf.definition()", opts) + -- map("n", "[d", "lua vim.diagnostic.goto_prev()", opts) + -- map("n", "]d", "lua vim.diagnostic.goto_next()", opts) + -- map("n", "q", "Telescope diagnostics", opts) + -- map("n", "rn", "lua vim.lsp.buf.rename()", opts) -- end - -- require('rust-tools').setup { + -- require("rust-tools").setup { -- server = { -- on_attach = on_attach, -- } @@ -180,29 +180,29 @@ return require('packer').startup(function() -- } use { - 'hrsh7th/nvim-cmp', + "hrsh7th/nvim-cmp", requires = { - 'hrsh7th/cmp-nvim-lsp', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-nvim-lsp-signature-help', - 'onsails/lspkind.nvim', + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-path", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-nvim-lsp-signature-help", + "onsails/lspkind.nvim", }, config = function() - local lspkind = require('lspkind') - local cmp = require('cmp') + local lspkind = require("lspkind") + local cmp = require("cmp") cmp.setup { mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), }), -- order of the sources matter (first are higher priority) sources = { { name = "nvim_lsp" }, - { name = 'nvim_lsp_signature_help' }, + { name = "nvim_lsp_signature_help" }, { name = "path" }, { name = "buffer", keyword_length = 2 }, }, @@ -229,15 +229,15 @@ return require('packer').startup(function() -- comment text objects use { - 'numToStr/Comment.nvim', + "numToStr/Comment.nvim", config = function() - require('Comment').setup() + require("Comment").setup() end } -- gruvbox color scheme -- use { - -- 'ellisonleao/gruvbox.nvim', - -- requires = {'rktjmp/lush.nvim'}, + -- "ellisonleao/gruvbox.nvim", + -- requires = {"rktjmp/lush.nvim"}, -- config = function() -- vim.opt.termguicolors = true -- vim.opt.background = "dark" @@ -245,14 +245,14 @@ return require('packer').startup(function() -- vim.g.gruvbox_italic = 1 -- vim.g.gruvbox_bold = 1 -- vim.g.gruvbox_termcolors = 256 - -- vim.g.gruvbox_contrast_dark = 'medium' - -- vim.g.gruvbox_contrast_light = 'hard' + -- vim.g.gruvbox_contrast_dark = "medium" + -- vim.g.gruvbox_contrast_light = "hard" -- vim.g.gruvbox_invert_selection = 0 -- end -- } -- nord color scheme use { - 'shaunsingh/nord.nvim', + "shaunsingh/nord.nvim", config = function() vim.opt.termguicolors = true vim.opt.background = "dark" @@ -264,16 +264,16 @@ return require('packer').startup(function() } -- status line use { - 'nvim-lualine/lualine.nvim', - requires = {'kyazdani42/nvim-web-devicons', opt = true}, + "nvim-lualine/lualine.nvim", + requires = {"kyazdani42/nvim-web-devicons", opt = true}, config = function() - require('lualine').setup { + require("lualine").setup { options = { - -- theme = 'gruvbox', - theme = 'nord', + -- theme = "gruvbox", + theme = "nord", icons_enabled = true, - section_separators = '', - component_separators = '', + section_separators = "", + component_separators = "", -- globalstatus = true, } } @@ -281,10 +281,10 @@ return require('packer').startup(function() } -- better syntax highlight for everything use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate', + "nvim-treesitter/nvim-treesitter", + run = ":TSUpdate", config = function() - require('nvim-treesitter.configs').setup { + require("nvim-treesitter.configs").setup { highlight = { enable = true }, @@ -305,44 +305,46 @@ return require('packer').startup(function() } -- fuzzy finder (replace fzf.vim or ctrlp.vim) use { - 'nvim-telescope/telescope.nvim', + "nvim-telescope/telescope.nvim", requires = { - {'nvim-lua/plenary.nvim'}, - {'kyazdani42/nvim-web-devicons', opt = true}, - {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, + {"nvim-lua/plenary.nvim"}, + {"kyazdani42/nvim-web-devicons", opt = true}, + { + "nvim-telescope/telescope-fzf-native.nvim", + run = "make", + config = function() require("telescope").load_extension("fzf") end + }, }, config = function() - local actions = require('telescope.actions') - local telescope = require('telescope') - telescope.setup { + local actions = require("telescope.actions") + require("telescope").setup { defaults = { mappings = { i = { - [''] = actions.move_selection_next, - [''] = actions.move_selection_previous, - [''] = actions.close, - ['kj'] = actions.close, + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + [""] = actions.close, + ["kj"] = actions.close, } }, }, } - telescope.load_extension('fzf') local map = vim.api.nvim_set_keymap - map('n', '', 'Telescope git_files', {}) - map('n', 'H', 'Telescope help_tags', {}) - map('n', ';', 'Telescope commands', {}) - map('n', 'p', 'Telescope tags', {}) - map('n', 'g', 'Telescope live_grep', {}) - map('n', 'G', 'Telescope grep_string', {}) + map("n", "", "Telescope git_files", {}) + map("n", "H", "Telescope help_tags", {}) + map("n", ";", "Telescope commands", {}) + map("n", "p", "Telescope tags", {}) + map("n", "g", "Telescope live_grep", {}) + map("n", "G", "Telescope grep_string", {}) end } -- todos,fix,etc.. highlight and list use { - 'folke/todo-comments.nvim', - requires = 'nvim-lua/plenary.nvim', + "folke/todo-comments.nvim", + requires = "nvim-lua/plenary.nvim", config = function() - require('todo-comments').setup { + require("todo-comments").setup { signs = false } end @@ -350,43 +352,43 @@ return require('packer').startup(function() -- remote files and lsp use { - 'chipsenkbeil/distant.nvim', + "chipsenkbeil/distant.nvim", config = function() -- local on_attach = function(client, bufnr) -- local opts = { noremap = true, silent = true } -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) - -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - -- map('n', 'q', 'Telescope lsp_workspace_diagnostics', opts) - -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- map("n", "[", "lua vim.lsp.buf.declaration()", opts) + -- map("n", "]", "lua vim.lsp.buf.definition()", opts) + -- map("n", "K", "lua vim.lsp.buf.hover()", opts) + -- map("n", "[d", "lua vim.diagnostic.goto_prev()", opts) + -- map("n", "]d", "lua vim.diagnostic.goto_next()", opts) + -- map("n", "q", "Telescope lsp_workspace_diagnostics", opts) + -- map("n", "rn", "lua vim.lsp.buf.rename()", opts) -- end - require('distant').setup { - ['*'] = require('distant.settings').chip_default() + require("distant").setup { + ["*"] = require("distant.settings").chip_default() } -- TODO: extend with job_distant_config.lua end, - run = ':DistantInstall' + run = ":DistantInstall" } -- jupyter kernel in nvim (with images, needs ueberzug) use { - 'dccsillag/magma-nvim', - -- ft = { 'python' }, -- doesn't work - run = ':UpdateRemotePlugins', + "dccsillag/magma-nvim", + -- ft = { "python" }, -- doesn"t work + run = ":UpdateRemotePlugins", config = function() local map = vim.api.nvim_set_keymap - map('n', 'm', "nvim_exec('MagmaEvaluateOperator', v:true)", { expr = true}) - map('n', 'mm', 'MagmaEvaluateLine', {}) - map('x', 'm', 'MagmaEvaluateVisual', {}) - map('n', 'mc', 'MagmaReevaluateCell', {}) - map('n', 'md', 'MagmaDelete', {}) - map('n', 'mo', 'MagmaShowOutput', {}) + map("n", "m", "nvim_exec('MagmaEvaluateOperator', v:true)", { expr = true}) + map("n", "mm", "MagmaEvaluateLine", {}) + map("x", "m", "MagmaEvaluateVisual", {}) + map("n", "mc", "MagmaReevaluateCell", {}) + map("n", "md", "MagmaDelete", {}) + map("n", "mo", "MagmaShowOutput", {}) end } - use { 'nvim-treesitter/playground', opt = true, cmd = { 'TSPlaygroundToggle' } } - -- use { '~/git/argwrap.nvim', opt = true } + use { "nvim-treesitter/playground", opt = true, cmd = { "TSPlaygroundToggle" } } + -- use { "~/git/argwrap.nvim", opt = true } end) -- cgit From 4c3176a9c6a9b3301f558936da1cb14a1026651f Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 6 May 2022 12:24:39 +0200 Subject: Added luasnip to nvim-cmp --- config/nvim/lua/plugins.lua | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index f0b1e11..3cb003a 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -187,17 +187,40 @@ return require("packer").startup(function() "hrsh7th/cmp-buffer", "hrsh7th/cmp-nvim-lsp-signature-help", "onsails/lspkind.nvim", + "L3MON4D3/LuaSnip", }, config = function() local lspkind = require("lspkind") local cmp = require("cmp") + local luasnip = require("luasnip") cmp.setup { mapping = cmp.mapping.preset.insert({ [""] = cmp.mapping.select_next_item(), [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping.scroll_docs(-4), [""] = cmp.mapping.scroll_docs(4), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), }), -- order of the sources matter (first are higher priority) sources = { @@ -221,7 +244,7 @@ return require("packer").startup(function() }, experimental = { ghost_text = true, - } + }, } end } -- cgit From 41a8601bd0ac8fe8d3b1b480b85d5d02c711b3bf Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 18 May 2022 14:16:48 +0200 Subject: Added previous vim config autocommand to neovim, Updated lua-snip and argwrap plugins configurations --- config/nvim/init.lua | 21 ++++++++++++++++++--- config/nvim/lua/mappings.lua | 19 ------------------- config/nvim/lua/plugins.lua | 26 +++++++++++++++++++------- 3 files changed, 37 insertions(+), 29 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index d046567..4e050a9 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -54,8 +54,8 @@ local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {}) vim.api.nvim_create_autocmd( "BufWritePost", { - command = "source | PackerCompile", pattern = "plugins.lua", + command = "source | PackerCompile", group = augroup } ) @@ -63,13 +63,28 @@ vim.api.nvim_create_autocmd( -- remove trailing white space on save vim.api.nvim_create_autocmd( "BufWritePre", - { command = [[ %s/\s\+$//e ]], pattern = "*", group = augroup } + { pattern = "*", command = [[ %s/\s\+$//e ]], group = augroup } ) -- set filttype for *.sql.j2 files vim.api.nvim_create_autocmd( "BufReadPre", - { command = "set ft=sql", pattern = "*.sql.j2", group = augroup } + { pattern = "*.sql.j2", command = "set ft=sql", group = augroup } +) + +-- -- Format go files on save +-- vim.api.nvim_create_autocmd( +-- "BufWritePre", +-- { command = [[ !go fmt % ]], pattern = "*.go", group = augroup } +-- ) + +vim.api.nvim_create_autocmd( + "FileType", + { pattern = "haskell", command = [[ set formatprg=stylish-haskell ]], group = augroup } +) +vim.api.nvim_create_autocmd( + "FileType", + { pattern = "lisp,html,css,htmldjango", command = [[ setlocal shiftwidth=2 ]], group = augroup } ) require("mappings") diff --git a/config/nvim/lua/mappings.lua b/config/nvim/lua/mappings.lua index 50c57e2..5373a4e 100644 --- a/config/nvim/lua/mappings.lua +++ b/config/nvim/lua/mappings.lua @@ -26,25 +26,6 @@ map('n', ' ?', '?\v', {}) map('c', '', '', {}) map('c', '', '', {}) --- -- hook --- -- remove trailing white space on save --- autocmd vimrc BufWritePre * %s/\s\+$//e --- -- dirty hack to disable this feature on markdown (autocmd! wouldn't work) --- autocmd vimrc BufReadPre *.md autocmd! BufWritePre - - --- augroup vimrc_files --- autocmd! --- -- school c --- autocmd Filetype c setlocal noexpandtab --- autocmd Filetype c setlocal comments=s:/**,m:**,e:*/,s:/*,m:**,e:*/ --- -- std::cout << ... << std::endl; shortcut --- autocmd Filetype cpp nnoremap cout istd::cout << << std::endl;2F