diff --git a/nvim/init.vim b/nvim/init.vim index de252f7..0d9e1c2 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -26,7 +26,7 @@ set wildmenu " show candidates for vim commands with tab set wildignore=*.o,*.obj,*.bak,*.exe set background=dark set showmatch -set nocompatible " no more vi +" set nocompatible " no more vi set list set listchars=tab:\ ,trail: " set path from current directory and all directories under @@ -100,7 +100,9 @@ if has('nvim') Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-path' Plug 'hrsh7th/nvim-cmp' + Plug 'j-hui/fidget.nvim' Plug 'jose-elias-alvarez/null-ls.nvim' + Plug 'ksyasuda/lsp_lines.nvim' Plug 'neovim/nvim-lspconfig' Plug 'onsails/lspkind-nvim' Plug 'ray-x/lsp_signature.nvim' @@ -138,15 +140,14 @@ if has('nvim') source ~/.config/nvim/keybindings.vim source ~/.config/nvim/plugin-confs/bufferline.lua - source ~/.config/nvim/plugin-confs/presence.lua source ~/.config/nvim/plugin-confs/dashboard-art.vim source ~/.config/nvim/plugin-confs/dashboard-nvim.lua source ~/.config/nvim/plugin-confs/git-blame.lua source ~/.config/nvim/plugin-confs/gitsigns.lua source ~/.config/nvim/plugin-confs/lspfuzzy.lua source ~/.config/nvim/plugin-confs/lualine.lua - " source ~/.config/nvim/plugin-confs/neogit.lua source ~/.config/nvim/plugin-confs/nvimtree.lua + source ~/.config/nvim/plugin-confs/presence.lua source ~/.config/nvim/plugin-confs/treesitter.lua source ~/.config/nvim/plugin-confs/whichkey.lua @@ -155,8 +156,10 @@ if has('nvim') source ~/.config/nvim/plugin-confs/lsp-kind.lua source ~/.config/nvim/plugin-confs/lsp-signature.lua source ~/.config/nvim/plugin-confs/lspconfig.lua + source ~/.config/nvim/plugin-confs/lsplines.lua source ~/.config/nvim/plugin-confs/null-ls.lua source ~/.config/nvim/plugin-confs/nvim-cmp.lua + source ~/.config/nvim/plugin-confs/fidget.lua source ~/.config/nvim/plugin-confs/symbols-outline.lua source ~/.config/nvim/plugin-confs/trouble.lua diff --git a/nvim/keybindings.vim b/nvim/keybindings.vim index 913f6f7..259c3a9 100644 --- a/nvim/keybindings.vim +++ b/nvim/keybindings.vim @@ -70,7 +70,7 @@ nmap hk :Maps nmap isp :-1read $HOME/Templates/python.py4jw -nmap j :AnyJump +nmap j :AnyJump nmap K :lua vim.lsp.buf.hover() diff --git a/nvim/plugin-confs/fidget.lua b/nvim/plugin-confs/fidget.lua new file mode 100644 index 0000000..0000313 --- /dev/null +++ b/nvim/plugin-confs/fidget.lua @@ -0,0 +1,49 @@ +require"fidget".setup { + text = { + spinner = "pipe", -- animation shown when tasks are ongoing + done = "✔", -- character shown when all tasks are complete + commenced = "Started", -- message shown when task starts + completed = "Completed", -- message shown when task completes + }, + align = { + bottom = true, -- align fidgets along bottom edge of buffer + right = true, -- align fidgets along right edge of buffer + }, + timer = { + spinner_rate = 125, -- frame rate of spinner animation, in ms + fidget_decay = 2000, -- how long to keep around empty fidget, in ms + task_decay = 1000, -- how long to keep around completed task, in ms + }, + window = { + relative = "win", -- where to anchor, either "win" or "editor" + blend = 100, -- &winblend for the window + zindex = nil, -- the zindex value for the window + }, + fmt = { + leftpad = true, -- right-justify text in fidget box + stack_upwards = true, -- list of tasks grows upwards + max_width = 0, -- maximum width of the fidget box + fidget = -- function to format fidget title + function(fidget_name, spinner) + return string.format("%s %s", spinner, fidget_name) + end, + task = -- function to format each task line + function(task_name, message, percentage) + return string.format( + "%s%s [%s]", + message, + percentage and string.format(" (%s%%)", percentage) or "", + task_name + ) + end, + }, + -- sources = { + -- * = { + -- ignore = false, + -- }, + -- }, + -- debug = { + -- logging = false, -- whether to enable logging, for debugging + -- strict = false, -- whether to interpret LSP strictly + -- }, +} diff --git a/nvim/plugin-confs/lsplines.lua b/nvim/plugin-confs/lsplines.lua new file mode 100644 index 0000000..47f060d --- /dev/null +++ b/nvim/plugin-confs/lsplines.lua @@ -0,0 +1,5 @@ +require("lsp_lines").register_lsp_virtual_lines() +-- Disable virtual_text since it's redundant due to lsp_lines. +vim.diagnostic.config({ + virtual_text = false, +}) diff --git a/nvim/plugin-confs/null-ls.lua b/nvim/plugin-confs/null-ls.lua index d2d1209..f1e1fc6 100644 --- a/nvim/plugin-confs/null-ls.lua +++ b/nvim/plugin-confs/null-ls.lua @@ -37,7 +37,7 @@ require("null-ls").setup({ extra_args = { "-i", "4", "-ci", "-sr" } }), require("null-ls").builtins.diagnostics.shellcheck.with({ - extra_args = { "--format", "json1", "--source-path=$DIRNAME", "--external-sources", "-", "-s", "bash", "-o", "check-extra-masked-returns, check-set-e-suppressed, check-unassigned-uppercase, deprecate-which, quote-safe-variables" } + extra_args = { "-s", "bash", "-o", "check-extra-masked-returns, check-set-e-suppressed, check-unassigned-uppercase, deprecate-which, quote-safe-variables" } }), require("null-ls").builtins.formatting.black, require("null-ls").builtins.formatting.isort,