From a569128faac772d05648b07ec93206010f12bc3d Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 5 Jul 2021 10:36:01 -0400 Subject: [PATCH 01/10] only when dap install is active --- ftplugin/python.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ftplugin/python.lua b/ftplugin/python.lua index 04fe2ded..d7db1977 100644 --- a/ftplugin/python.lua +++ b/ftplugin/python.lua @@ -76,5 +76,7 @@ if O.lang.python.autoformat then } end -local dap_install = require("dap-install") -dap_install.config("python_dbg", {}) +if O.plugin.dap_install.active then + local dap_install = require("dap-install") + dap_install.config("python_dbg", {}) +end From 5eed5cf3ec13de0ce2a82ff032a1967e759d6a26 Mon Sep 17 00:00:00 2001 From: kjssad Date: Mon, 5 Jul 2021 14:43:37 +0000 Subject: [PATCH 02/10] Add borders to lsp popups (#686) * feat(lsp): add single type border to hover popup * feat(lsp): add single type border to signatureHelp * feat(lsp): add border to line diagnostic popup * feat(lsp): use global option to configure borders --- lua/default-config.lua | 4 ++++ lua/lsp/init.lua | 16 ++++++++++++++-- lua/lv-which-key/init.lua | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/lua/default-config.lua b/lua/default-config.lua index 3f8bbc34..661f8f23 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -31,6 +31,10 @@ O = { rainbow = { enabled = false }, }, + lsp = { + popup_border = "single" + }, + database = { save_location = "~/.config/nvcode_db", auto_execute = 1 }, plugin = { diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index ad8985d8..0292064a 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -22,8 +22,8 @@ vim.cmd("nnoremap gr lua vim.lsp.buf.references()") vim.cmd("nnoremap gi lua vim.lsp.buf.implementation()") vim.cmd("nnoremap K :lua vim.lsp.buf.hover()") -- vim.cmd('nnoremap lua vim.lsp.buf.signature_help()') -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev()") -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next()") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})") -- scroll down hover doc or scroll in definition preview -- scroll up hover doc vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') @@ -41,6 +41,18 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( } ) +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( + vim.lsp.handlers.hover, { + border = O.lsp.popup_border + } +) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with( + vim.lsp.handlers.signature_help, { + border = O.lsp.popup_border + } +) + -- symbols for autocomplete vim.lsp.protocol.CompletionItemKind = { "  (Text) ", diff --git a/lua/lv-which-key/init.lua b/lua/lv-which-key/init.lua index 31ecf94c..b35b546e 100644 --- a/lua/lv-which-key/init.lua +++ b/lua/lv-which-key/init.lua @@ -200,8 +200,8 @@ local mappings = { }, f = { "lua vim.lsp.buf.formatting()", "Format" }, i = { "LspInfo", "Info" }, - j = { "lua vim.lsp.diagnostic.goto_next()", "Next Diagnostic" }, - k = { "lua vim.lsp.diagnostic.goto_prev()", "Prev Diagnostic" }, + j = { "lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})", "Next Diagnostic" }, + k = { "lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})", "Prev Diagnostic" }, q = { "Telescope quickfix", "Quickfix" }, r = { "lua vim.lsp.buf.rename()", "Rename" }, s = { From c7ff6f2b6f9eb78fe5f9d794c820026a6d2f4e1d Mon Sep 17 00:00:00 2001 From: jimcornmell Date: Mon, 5 Jul 2021 17:01:10 +0100 Subject: [PATCH 03/10] Add True/False to dial (#707) For languages like Python. --- lua/lv-dial/init.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/lv-dial/init.lua b/lua/lv-dial/init.lua index c299f18a..842e86be 100644 --- a/lua/lv-dial/init.lua +++ b/lua/lv-dial/init.lua @@ -17,6 +17,14 @@ vmap g (dial-decrement-additional) strlist = { "true", "false" }, } table.insert(dial.config.searchlist.normal, "custom#boolean") + + -- For Languages which prefer True/False, e.g. python. + dial.augends["custom#Boolean"] = dial.common.enum_cyclic { + name = "Boolean", + strlist = { "True", "False" }, + } + table.insert(dial.config.searchlist.normal, "custom#Boolean") + end return M From 246afe05d06fa3d61f46aa40139195c95e7c3da7 Mon Sep 17 00:00:00 2001 From: Pasquale <48988058+Pasqat@users.noreply.github.com> Date: Mon, 5 Jul 2021 18:01:38 +0200 Subject: [PATCH 04/10] add SignColumn to transparent window option (#701) --- lua/settings.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/settings.lua b/lua/settings.lua index 43c1bf77..371cdb08 100644 --- a/lua/settings.lua +++ b/lua/settings.lua @@ -12,6 +12,7 @@ cmd "set iskeyword+=-" cmd "set whichwrap+=<,>,[,],h,l" if O.transparent_window then cmd "au ColorScheme * hi Normal ctermbg=none guibg=none" + cmd "au ColorScheme * hi SignColumn ctermbg=none guibg=none" end --- COLORSCHEME --- From 1940bd26a6538210f2e03dd657705d532c67a097 Mon Sep 17 00:00:00 2001 From: Robin Kautz Date: Mon, 5 Jul 2021 18:02:05 +0200 Subject: [PATCH 05/10] evenly resize split windows (#698) * evenly resize split windows * fixed indention --- lua/default-config.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lua/default-config.lua b/lua/default-config.lua index 661f8f23..01b3ff83 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -288,4 +288,8 @@ require("lv-utils").define_augroups { _buffer_bindings = { { "FileType", "floaterm", "nnoremap q :q" }, }, + _auto_resize = { + -- will cause split windows to be resized evenly if main window is resized + {'VimResized ', '*', 'wincmd ='}, + }, } From 279e01f2f35948afa185115b100254cd1496277b Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Mon, 5 Jul 2021 13:58:38 -0400 Subject: [PATCH 06/10] debugging updates --- ftplugin/python.lua | 2 +- lua/lv-galaxyline/init.lua | 2 +- lua/plugins.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ftplugin/python.lua b/ftplugin/python.lua index d7db1977..62464397 100644 --- a/ftplugin/python.lua +++ b/ftplugin/python.lua @@ -76,7 +76,7 @@ if O.lang.python.autoformat then } end -if O.plugin.dap_install.active then +if O.plugin.debug.active and O.plugin.dap_install.active then local dap_install = require("dap-install") dap_install.config("python_dbg", {}) end diff --git a/lua/lv-galaxyline/init.lua b/lua/lv-galaxyline/init.lua index f063a146..efb6a988 100644 --- a/lua/lv-galaxyline/init.lua +++ b/lua/lv-galaxyline/init.lua @@ -104,7 +104,7 @@ table.insert(gls.left, { vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()]) return "▊" end, - -- highlight = 'TabLineSel' + highlight = 'StatusLineNC' -- highlight = {colors.red, colors.bg} }, }) diff --git a/lua/plugins.lua b/lua/plugins.lua index a6f0d646..1a857c66 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -254,7 +254,7 @@ return require("packer").startup(function(use) "mfussenegger/nvim-dap", config = function() require('dap') - vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''}) + vim.fn.sign_define('DapBreakpoint', {text='', texthl='LspDiagnosticsSignError', linehl='', numhl=''}) require('dap').defaults.fallback.terminal_win_cmd = '50vsplit new' end, disable = not O.plugin.debug.active, From a0e2823f7f6b5e5c23422ac3c4eec44d70780090 Mon Sep 17 00:00:00 2001 From: rebuilt Date: Mon, 5 Jul 2021 20:36:30 +0200 Subject: [PATCH 07/10] Adds: packer keybindings (#709) --- lua/lv-which-key/init.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lua/lv-which-key/init.lua b/lua/lv-which-key/init.lua index b35b546e..6ea74ef7 100644 --- a/lua/lv-which-key/init.lua +++ b/lua/lv-which-key/init.lua @@ -121,7 +121,14 @@ local mappings = { "sort BufferLines automatically by language", }, }, - + p = { + name = "Packer", + c = {"PackerCompile", "Compile"}, + i = {"PackerInstall", "Install"}, + r = {":luafile %", "Reload"}, + s = {"PackerSync", "Sync"}, + u = {"PackerUpdate", "Update"} + }, -- diagnostics vanilla nvim -- -- diagnostic -- function lv_utils.get_all() From cea49760660acc366940b51ccd13e03e28b7acda Mon Sep 17 00:00:00 2001 From: Robin Kautz Date: Mon, 5 Jul 2021 20:37:01 +0200 Subject: [PATCH 08/10] switch to absolute line numbers in insert mode (#702) * switch to absolute line numbers in insert mode * made aucmd respect cursorline setting --- lua/default-config.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lua/default-config.lua b/lua/default-config.lua index 01b3ff83..cd49c136 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -292,4 +292,11 @@ require("lv-utils").define_augroups { -- will cause split windows to be resized evenly if main window is resized {'VimResized ', '*', 'wincmd ='}, }, + _mode_switching = { + -- will switch between absolute and relative line numbers depending on mode + {'InsertEnter', '*', 'if &relativenumber | let g:ms_relativenumberoff = 1 | setlocal number norelativenumber | endif'}, + {'InsertLeave', '*', 'if exists("g:ms_relativenumberoff") | setlocal relativenumber | endif'}, + {'InsertEnter', '*', 'if &cursorline | let g:ms_cursorlineoff = 1 | setlocal nocursorline | endif'}, + {'InsertLeave', '*', 'if exists("g:ms_cursorlineoff") | setlocal cursorline | endif'}, + }, } From d178870db6a49edccf799c97efe65f5340d5c054 Mon Sep 17 00:00:00 2001 From: Nawfal bin Mohmad Rouyan Date: Tue, 6 Jul 2021 02:47:27 +0800 Subject: [PATCH 09/10] Ensure the keymap set in lua/lv-autopairs/init.lua works as expected. (#684) Please refer to https://github.com/windwp/nvim-autopairs#mapping-cr nvim-compe section. If this keymap is preferred, maybe we can remove the map set in autopairs. --- lua/lv-compe/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lv-compe/init.lua b/lua/lv-compe/init.lua index cd3be5ae..19998b62 100644 --- a/lua/lv-compe/init.lua +++ b/lua/lv-compe/init.lua @@ -90,7 +90,7 @@ M.config = function() vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", { expr = true }) vim.api.nvim_set_keymap("i", "", "compe#complete()", { noremap = true, silent = true, expr = true }) - vim.api.nvim_set_keymap("i", "", "compe#confirm('')", { noremap = true, silent = true, expr = true }) + -- vim.api.nvim_set_keymap("i", "", "compe#confirm('')", { noremap = true, silent = true, expr = true }) vim.api.nvim_set_keymap("i", "", "compe#close('')", { noremap = true, silent = true, expr = true }) vim.api.nvim_set_keymap("i", "", "compe#scroll({ 'delta': +4 })", { noremap = true, silent = true, expr = true }) vim.api.nvim_set_keymap("i", "", "compe#scroll({ 'delta': -4 })", { noremap = true, silent = true, expr = true }) From 6b41286d70b71184b915724a0a03ccd8ec3b4e16 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Mon, 5 Jul 2021 14:49:07 -0400 Subject: [PATCH 10/10] updated autocommands for user --- lua/default-config.lua | 59 +++------------------------ lua/lv-utils/init.lua | 56 +++++++++++++++++++++++++ utils/installer/lv-config.example.lua | 2 + 3 files changed, 64 insertions(+), 53 deletions(-) diff --git a/lua/default-config.lua b/lua/default-config.lua index cd49c136..830a77d4 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -4,6 +4,7 @@ CACHE_PATH = vim.fn.stdpath "cache" TERMINAL = vim.fn.expand "$TERMINAL" O = { + auto_close_tree = 0, auto_complete = true, colorscheme = "lunar", @@ -76,6 +77,10 @@ O = { tabnine = { active = false }, }, + user_autocommands = { + { "FileType", "qf", "set nobuflisted" }, + }, + lang = { python = { linter = "", @@ -247,56 +252,4 @@ O = { }, } --- TODO find a new home for these autocommands -require("lv-utils").define_augroups { - _general_settings = { - { - "TextYankPost", - "*", - "lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})", - }, - { - "BufWinEnter", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { - "BufRead", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { - "BufNewFile", - "*", - "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", - }, - { "VimLeavePre", "*", "set title set titleold=" }, - { "FileType", "qf", "set nobuflisted" }, - }, - -- _solidity = { - -- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'}, - -- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'} - -- }, - -- _gemini = { - -- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'}, - -- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'} - -- }, - _markdown = { - { "FileType", "markdown", "setlocal wrap" }, - { "FileType", "markdown", "setlocal spell" }, - }, - _buffer_bindings = { - { "FileType", "floaterm", "nnoremap q :q" }, - }, - _auto_resize = { - -- will cause split windows to be resized evenly if main window is resized - {'VimResized ', '*', 'wincmd ='}, - }, - _mode_switching = { - -- will switch between absolute and relative line numbers depending on mode - {'InsertEnter', '*', 'if &relativenumber | let g:ms_relativenumberoff = 1 | setlocal number norelativenumber | endif'}, - {'InsertLeave', '*', 'if exists("g:ms_relativenumberoff") | setlocal relativenumber | endif'}, - {'InsertEnter', '*', 'if &cursorline | let g:ms_cursorlineoff = 1 | setlocal nocursorline | endif'}, - {'InsertLeave', '*', 'if exists("g:ms_cursorlineoff") | setlocal cursorline | endif'}, - }, -} + diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua index c836af97..db3deb87 100644 --- a/lua/lv-utils/init.lua +++ b/lua/lv-utils/init.lua @@ -22,4 +22,60 @@ function lv_utils.define_augroups(definitions) -- {{{1 end end +lv_utils.define_augroups { + + _user_autocommands = O.user_autocommands, + _general_settings = { + { + "TextYankPost", + "*", + "lua require('vim.highlight').on_yank({higroup = 'Search', timeout = 200})", + }, + { + "BufWinEnter", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { + "BufRead", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { + "BufNewFile", + "*", + "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + }, + { "VimLeavePre", "*", "set title set titleold=" }, + }, + -- _solidity = { + -- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'}, {'BufRead', '*.sol', 'setlocal filetype=solidity'}, + -- {'BufNewFile', '*.sol', 'setlocal filetype=solidity'} + -- }, + -- _gemini = { + -- {'BufWinEnter', '.gmi', 'setlocal filetype=markdown'}, {'BufRead', '*.gmi', 'setlocal filetype=markdown'}, + -- {'BufNewFile', '*.gmi', 'setlocal filetype=markdown'} + -- }, + _markdown = { + { "FileType", "markdown", "setlocal wrap" }, + { "FileType", "markdown", "setlocal spell" }, + }, + _buffer_bindings = { + { "FileType", "floaterm", "nnoremap q :q" }, + }, + _auto_resize = { + -- will cause split windows to be resized evenly if main window is resized + {'VimResized ', '*', 'wincmd ='}, + }, + -- _mode_switching = { + -- -- will switch between absolute and relative line numbers depending on mode + -- {'InsertEnter', '*', 'if &relativenumber | let g:ms_relativenumberoff = 1 | setlocal number norelativenumber | endif'}, + -- {'InsertLeave', '*', 'if exists("g:ms_relativenumberoff") | setlocal relativenumber | endif'}, + -- {'InsertEnter', '*', 'if &cursorline | let g:ms_cursorlineoff = 1 | setlocal nocursorline | endif'}, + -- {'InsertLeave', '*', 'if exists("g:ms_cursorlineoff") | setlocal cursorline | endif'}, + -- }, +} + return lv_utils + +-- TODO find a new home for these autocommands diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index c68a9bda..ba4bedb2 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -97,6 +97,8 @@ O.lang.php.filetypes = { "php", "phtml" } -- TODO Autocommands -- https://neovim.io/doc/user/autocmd.html +-- local test = { "BufWinEnter", "*", "echo \"hi again\""} +-- table.insert(O.user_autocommands, test) -- TODO Additional Plugins