Compare commits

..

10 Commits

40 changed files with 878 additions and 848 deletions

View File

@@ -19,7 +19,7 @@ repos:
args: [--autofix, --no-sort-keys] args: [--autofix, --no-sort-keys]
- repo: https://github.com/igorshubovych/markdownlint-cli - repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.41.0 rev: v0.42.0
hooks: hooks:
- id: markdownlint - id: markdownlint
args: [-c, .markdownlint.yaml, --fix] args: [-c, .markdownlint.yaml, --fix]
@@ -45,6 +45,6 @@ repos:
- id: shfmt - id: shfmt
- repo: https://github.com/rhysd/actionlint - repo: https://github.com/rhysd/actionlint
rev: v1.7.1 rev: v1.7.2
hooks: hooks:
- id: actionlint - id: actionlint

View File

@@ -1,18 +1,17 @@
asdf-plugin-manager 1.3.1 asdf-plugin-manager 1.4.0
nodejs 22.8.0 nodejs 22.9.0
golang 1.23.1 golang 1.23.1
python 3.12.6 python 3.12.6
ruby 3.3.4 ruby 3.3.4
rust 1.81.0 rust 1.81.0
direnv 2.34.0 direnv 2.34.0
eza 0.19.3
fd 10.2.0 fd 10.2.0
1password-cli 2.30.0 1password-cli 2.30.0
age 1.2.0 age 1.2.0
bottom 0.10.2 bottom 0.10.2
dotenv-linter 3.3.0 dotenv-linter 3.3.0
editorconfig-checker 2.8.0 editorconfig-checker 2.8.0
github-cli 2.56.0 github-cli 2.57.0
hadolint 2.12.0 hadolint 2.12.0
kubectl 1.31.1 kubectl 1.31.1
pipx 1.7.1 pipx 1.7.1
@@ -20,11 +19,11 @@ pre-commit 3.8.0
ripgrep 14.1.1 ripgrep 14.1.1
shellcheck 0.10.0 shellcheck 0.10.0
shfmt 3.9.0 shfmt 3.9.0
terragrunt 0.67.5 terragrunt 0.67.10
tf-summarize 0.3.10 tf-summarize 0.3.10
yamllint 1.35.1 yamllint 1.35.1
yq 4.44.3 yq 4.44.3
bats 1.11.0 bats 1.11.0
gitleaks 8.18.4 gitleaks 8.18.4
delta 0.18.1 delta 0.18.1
lazygit 0.44.0 sops 3.9.0

View File

@@ -6,7 +6,7 @@
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
LOCAL_SHARE="$HOME/.local/share" LOCAL_SHARE="$HOME/.local/share"
export PATH="$HOME/.local/bin:$DOTFILES/local/bin:$LOCAL_SHARE/nvim-kickstart/mason/bin:$LOCAL_SHARE/bob/nvim-bin:$LOCAL_SHARE/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH" export PATH="$HOME/.local/bin:$DOTFILES/local/bin:$LOCAL_SHARE/nvim/mason/bin:$LOCAL_SHARE/bob/nvim-bin:$LOCAL_SHARE/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
export SHARED_SCRIPTS_SOURCED=0 export SHARED_SCRIPTS_SOURCED=0
source "$DOTFILES/config/shared.sh" source "$DOTFILES/config/shared.sh"

View File

@@ -19,3 +19,5 @@ bob-nvim
// bottom, btm - A cross-platform graphical process/system monitor with // bottom, btm - A cross-platform graphical process/system monitor with
// a customizable interface and a multitude of features. // a customizable interface and a multitude of features.
bottom bottom
// A modern alternative to ls
eza

View File

@@ -17,3 +17,5 @@ github.com/charmbracelet/glow@v1.5.1
github.com/rhysd/actionlint/cmd/actionlint@v1.7.1 github.com/rhysd/actionlint/cmd/actionlint@v1.7.1
// Cleans up your $HOME from those pesky dotfiles // Cleans up your $HOME from those pesky dotfiles
github.com/doron-cohen/antidot@v0.6.3 github.com/doron-cohen/antidot@v0.6.3
// FZF is a general-purpose command-line fuzzy finder.
github.com/junegunn/fzf@latest

View File

@@ -5,7 +5,6 @@ bottom https://github.com/carbonteq/asdf-btm.git
direnv https://github.com/asdf-community/asdf-direnv.git a2219c2 direnv https://github.com/asdf-community/asdf-direnv.git a2219c2
dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53 dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53
editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5 editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5
eza https://github.com/lwiechec/asdf-eza.git eee3d59
fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0 fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0
github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7 github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7
golang https://github.com/asdf-community/asdf-golang.git 0e86b1d golang https://github.com/asdf-community/asdf-golang.git 0e86b1d

View File

@@ -1,3 +1,4 @@
ansible ansible
pipenv pipenv
semgrep semgrep
neovim

24
config/nvim/.neoconf.json Normal file
View File

@@ -0,0 +1,24 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": [
"nvim-lspconfig",
"lsp",
"completion",
]
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
},
}
},
"lspconfig": {
"lua_ls": {
"Lua.completion.callSnippet": "Replace",
},
}
}

View File

@@ -3,65 +3,44 @@
-- Install lazylazy -- Install lazylazy
-- https://github.com/folke/lazy.nvim -- https://github.com/folke/lazy.nvim
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system { local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
'git', local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
'clone', if vim.v.shell_error ~= 0 then
'--filter=blob:none', vim.api.nvim_echo({
'https://github.com/folke/lazy.nvim.git', { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' },
'--branch=stable', -- latest stable release { out, 'WarningMsg' },
lazypath, { '\nPress any key to exit...' },
} }, true, {})
vim.fn.getchar()
os.exit(1)
end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
require 'options' -- Add ~/.local/bin to the PATH
require 'keymaps' vim.fn.setenv('PATH', vim.fn.expand '$HOME/.local/bin' .. ':' .. vim.fn.expand '$PATH')
require('lazy').setup { require 'options'
require('lazy').setup('plugins', {
checker = { checker = {
-- Automatically check for updates -- Automatically check for updates
enabled = true, enabled = true,
nofity = false,
}, },
spec = { change_detection = {
-- Useful plugin to show you pending keybinds. notify = false,
-- https://github.com/folke/which-key.nvim
{
'folke/which-key.nvim',
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
priority = 1001, -- Make sure to load this as soon as possible
config = function() -- This is the function that runs, AFTER loading
local wk = require 'which-key'
wk.setup()
wk.add {
{ '<leader>b', group = '[b] Buffer' },
{ '<leader>c', group = '[c] Code' },
{ '<leader>d', group = '[d] Document' },
{ '<leader>f', group = '[f] File' },
{ '<leader>g', group = '[g] Git' },
{ '<leader>l', group = '[l] LSP' },
{ '<leader>o', group = '[o] Open' },
{ '<leader>p', group = '[p] Project' },
{ '<leader>q', group = '[q] Quit' },
{ '<leader>s', group = '[s] Search' },
{ '<leader>t', group = '[t] Toggle' },
{ '<leader>w', group = '[w] Workspace' },
{ '<leader>z', group = '[x] FZF' },
{ '<leader>?', group = '[?] Help' },
{
'<leader>?w',
function()
wk.show { global = false }
end,
desc = 'Buffer Local Keymaps (which-key)',
},
}
end,
},
-- Import plugins from `lua/plugins` directory
{ import = 'plugins' },
}, },
} })
require 'config.misc' -- [[ Highlight on yank ]]
-- See `:help vim.highlight.on_yank()`
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank()
end,
group = highlight_group,
pattern = '*',
})

View File

@@ -1,10 +0,0 @@
-- Go
local format_sync_grp = vim.api.nvim_create_augroup('GoFormat', {})
vim.api.nvim_create_autocmd('BufWritePre', {
pattern = '*.go',
callback = function()
require('go.format').goimport()
end,
group = format_sync_grp,
})
require('go').setup()

View File

@@ -1,78 +0,0 @@
vim.api.nvim_set_keymap('i', 'jj', '<Esc>', { noremap = false })
-- twilight
vim.api.nvim_set_keymap('n', 'tw', ':Twilight<enter>', { noremap = false })
-- buffers
vim.api.nvim_set_keymap('n', '<leader>bk', ':blast<enter>', { desc = 'Last', noremap = false })
vim.api.nvim_set_keymap('n', '<leader>bj', ':bfirst<enter>', { desc = 'First', noremap = false })
vim.api.nvim_set_keymap('n', '<leader>bh', ':bprev<enter>', { desc = 'Prev', noremap = false })
vim.api.nvim_set_keymap('n', '<leader>bl', ':bnext<enter>', { desc = 'Next', noremap = false })
vim.api.nvim_set_keymap('n', '<leader>bd', ':bdelete<enter>', { desc = 'Delete', noremap = false })
vim.api.nvim_set_keymap('n', '<C-w>', ':bdelete<enter>', { desc = 'Delete buffer', noremap = false })
-- files
vim.api.nvim_set_keymap('n', 'QQ', ':q!<enter>', { desc = 'Quickly Quit', noremap = false })
vim.api.nvim_set_keymap('n', 'WW', ':w!<enter>', { desc = 'Force write', noremap = false })
vim.api.nvim_set_keymap('n', 'E', '$', { noremap = false })
vim.api.nvim_set_keymap('n', 'B', '^', { noremap = false })
vim.api.nvim_set_keymap('n', 'tT', ':TransparentToggle<CR>', { desc = 'Toggle Transparency', noremap = true })
vim.api.nvim_set_keymap('n', 'ss', ':noh<CR>', { noremap = true })
-- splits
vim.api.nvim_set_keymap('n', '<C-W>,', ':vertical resize -10<CR>', { desc = 'V Resize -', noremap = true })
vim.api.nvim_set_keymap('n', '<C-W>.', ':vertical resize +10<CR>', { desc = 'V Resize +', noremap = true })
-- Quicker close split
vim.keymap.set('n', '<leader>qf', ':q<CR>', { desc = 'Quicker close split', silent = true, noremap = true })
-- Keymaps for better default experience
-- See `:help vim.keymap.set()`
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
-- Remap for dealing with word wrap
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
-- Noice
vim.api.nvim_set_keymap('n', '<leader>nn', ':Noice dismiss<CR>', { desc = 'Noice dismiss', noremap = true })
vim.keymap.set('n', '<leader>xe', '<cmd>GoIfErr<cr>', { desc = 'Go If Error', silent = true, noremap = true })
-- TIP: Disable arrow keys in normal mode
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
-- Keybinds to make split navigation easier.
-- Use CTRL+<hjkl> to switch between windows
--
-- See `:help wincmd` for a list of all window commands
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
-- Old habits
vim.keymap.set('n', '<C-s>', '<cmd>w<CR>', { desc = 'Save file' })
vim.keymap.set('n', '<leader>qq', '<cmd>wq!<CR>', { desc = '[qq] Quickly Quit' })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
--
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
-- [[ Highlight on yank ]]
-- See `:help vim.highlight.on_yank()`
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank()
end,
group = highlight_group,
pattern = '*',
})

View File

@@ -78,3 +78,14 @@ vim.o.undofile = true
vim.o.completeopt = 'menuone,noselect' vim.o.completeopt = 'menuone,noselect'
-- Fixes Notify opacity issues -- Fixes Notify opacity issues
vim.o.termguicolors = true vim.o.termguicolors = true
-- Set spell checking
vim.o.spell = true
vim.o.spelllang = 'en_us'
vim.g.loaded_perl_provider = 0
-- ── Deal with word wrap ───────────────────────────────────────────────────────
local m = vim.api.nvim_set_keymap
m('n', 'k', "v:count == 0 ? 'gk' : 'k'", { desc = 'Move up', noremap = true, expr = true })
m('n', 'j', "v:count == 0 ? 'gj' : 'j'", { desc = 'Move down', noremap = true, expr = true })

View File

@@ -6,7 +6,7 @@ return {
cmd = { 'ConformInfo' }, cmd = { 'ConformInfo' },
keys = { keys = {
{ {
'<leader>f', '<leader>cf',
function() function()
require('conform').format { async = true, lsp_fallback = true } require('conform').format { async = true, lsp_fallback = true }
end, end,

View File

@@ -17,7 +17,21 @@ return {
{ {
'zbirenbaum/copilot-cmp', 'zbirenbaum/copilot-cmp',
dependencies = { dependencies = {
'zbirenbaum/copilot.lua', {
'zbirenbaum/copilot.lua',
cmd = 'Copilot',
build = ':Copilot setup',
event = { 'InsertEnter', 'LspAttach' },
fix_pairs = true,
opts = {
suggestion = { enabled = false },
panel = { enabled = false },
filetypes = {
markdown = true,
help = true,
},
},
},
}, },
config = function() config = function()
require('copilot_cmp').setup() require('copilot_cmp').setup()
@@ -25,7 +39,6 @@ return {
}, },
}, },
config = function() config = function()
-- nvim-cmp setup
local cmp = require 'cmp' local cmp = require 'cmp'
local luasnip = require 'luasnip' local luasnip = require 'luasnip'
local lspkind = require 'lspkind' local lspkind = require 'lspkind'
@@ -35,8 +48,11 @@ return {
formatting = { formatting = {
format = lspkind.cmp_format { format = lspkind.cmp_format {
mode = 'symbol', mode = 'symbol',
max_width = 50, min_width = 40,
symbol_map = { Copilot = '' }, max_width = 100,
symbol_map = {
Copilot = '',
},
}, },
}, },
view = { view = {

View File

@@ -1,17 +0,0 @@
-- CoPilot
-- https://github.com/zbirenbaum/copilot.lua
return {
'zbirenbaum/copilot.lua',
cmd = 'Copilot',
build = ':Copilot setup',
event = { 'InsertEnter', 'LspAttach' },
fix_pairs = true,
opts = {
suggestion = { enabled = false },
panel = { enabled = false },
filetypes = {
markdown = true,
help = true,
},
},
}

View File

@@ -1,29 +1,30 @@
return { return {
'ray-x/go.nvim',
'ray-x/guihua.lua',
{ {
'rcarriga/nvim-dap-ui', 'rcarriga/nvim-dap-ui',
dependencies = { dependencies = {
'mfussenegger/nvim-dap', 'mfussenegger/nvim-dap',
'nvim-neotest/nvim-nio', 'nvim-neotest/nvim-nio',
'theHamsta/nvim-dap-virtual-text', 'theHamsta/nvim-dap-virtual-text',
'ray-x/go.nvim',
'ray-x/guihua.lua',
'leoluz/nvim-dap-go', 'leoluz/nvim-dap-go',
}, },
keys = {
{ '<leader>dt', '<cmd>DapUiToggle', desc = 'DAP: Toggle UI' },
{ '<leader>db', '<cmd>DapToggleBreakpoint', desc = 'DAP: Toggle Breakpoint' },
{ '<leader>dc', '<cmd>DapContinue', desc = 'DAP: Continue' },
{ '<leader>dr', ":lua require('dapui').open({reset = true})<CR>", desc = 'DAP: Reset' },
{ '<leader>ht', ":lua require('harpoon.ui').toggle_quick_menu()<CR>", desc = 'DAP: Harpoon UI' },
},
setup = function() setup = function()
require('dapui').setup() require('dapui').setup()
require('dap-go').setup() require('dap-go').setup()
require('nvim-dap-virtual-text').setup() require('nvim-dap-virtual-text').setup()
vim.fn.sign_define('DapBreakpoint', { text = '🔴', texthl = 'DapBreakpoint', linehl = 'DapBreakpoint', numhl = 'DapBreakpoint' }) vim.fn.sign_define(
'DapBreakpoint',
-- Debugger { text = '🔴', texthl = 'DapBreakpoint', linehl = 'DapBreakpoint', numhl = 'DapBreakpoint' }
vim.api.nvim_set_keymap('n', '<leader>dt', ':DapUiToggle<CR>', { noremap = true }) )
vim.api.nvim_set_keymap('n', '<leader>db', ':DapToggleBreakpoint<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>dc', ':DapContinue<CR>', { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>dr', ":lua require('dapui').open({reset = true})<CR>", { noremap = true })
vim.api.nvim_set_keymap('n', '<leader>ht', ":lua require('harpoon.ui').toggle_quick_menu()<CR>", { noremap = true })
end, end,
}, },
} }

View File

@@ -5,22 +5,22 @@ return {
dependencies = { dependencies = {
{ 'junegunn/fzf', run = ':call fzf#install()' }, { 'junegunn/fzf', run = ':call fzf#install()' },
}, },
config = function() keys = {
-- Stolen from https://github.com/erikw/dotfiles/blob/d68d6274d67ac47afa20b9a0b9f3b0fa54bcdaf3/.config/nvim/lua/plugins.lua -- Stolen from https://github.com/erikw/dotfiles/blob/d68d6274d67ac47afa20b9a0b9f3b0fa54bcdaf3/.config/nvim/lua/plugins.lua
-- Comment must be on line of its own...
-- Search for files in given path. -- Search for files in given path.
vim.keymap.set('n', '<Leader>zf', ':FZF<space>', { silent = true, desc = 'FZF: search for files in given path.' }) { '<Leader>zf', ':FZF<space>', desc = 'FZF: search for files in given path.' },
-- Sublime-like shortcut 'go to file' ctrl+p. -- Sublime-like shortcut 'go to file' ctrl+p.
vim.keymap.set('n', '<C-p>', ':Files<CR>', { silent = true, desc = 'FZF: search for files starting at current directory.' }) { '<C-p>', ':Files<CR>', desc = 'FZF: search for files starting at current directory.' },
vim.keymap.set('n', '<Leader>zc', ':Commands<CR>', { silent = true, desc = 'FZF: search commands.' }) { '<Leader>zc', ':Commands<CR>', desc = 'FZF: search commands.' },
vim.keymap.set('n', '<Leader>zt', ':Tags<CR>', { silent = true, desc = 'FZF: search in tags file' }) { '<Leader>zt', ':Tags<CR>', desc = 'FZF: search in tags file' },
vim.keymap.set('n', '<Leader>zb', ':Buffers<CR>', { silent = true, desc = 'FZF: search open buffers.' }) { '<Leader>zb', ':Buffers<CR>', desc = 'FZF: search open buffers.' },
-- Ref: https://medium.com/@paulodiovani/vim-buffers-windows-and-tabs-an-overview-8e2a57c57afa). -- Ref: https://medium.com/@paulodiovani/vim-buffers-windows-and-tabs-an-overview-8e2a57c57afa
vim.keymap.set('n', '<Leader>zt', ':Windows<CR>', { silent = true, desc = 'FZF: search open tabs.' }) { '<Leader>zt', ':Windows<CR>', desc = 'FZF: search open tabs.' },
vim.keymap.set('n', '<Leader>zh', ':History<CR>', { silent = true, desc = 'FZF: search history of opened files' }) { '<Leader>zh', ':History<CR>', desc = 'FZF: search history of opened files' },
vim.keymap.set('n', '<Leader>zm', ':Maps<CR>', { silent = true, desc = 'FZF: search mappings.' }) { '<Leader>zm', ':Maps<CR>', desc = 'FZF: search mappings.' },
vim.keymap.set('n', '<Leader>zg', ':Rg<CR>', { silent = true, desc = 'FZF: search with rg (aka live grep).' }) { '<Leader>zg', ':Rg<CR>', desc = 'FZF: search with rg (aka live grep).' },
},
config = function()
-- To ignore a certain path in a git project from both RG and FD used by FZF, -- To ignore a certain path in a git project from both RG and FD used by FZF,
-- the eaiest way is to create ignore files and exclude the in local git clone. -- the eaiest way is to create ignore files and exclude the in local git clone.
-- Ref: https://stackoverflow.com/a/1753078/265508 -- Ref: https://stackoverflow.com/a/1753078/265508

View File

@@ -1,13 +1,9 @@
return { return {
-- fugitive.vim: A Git wrapper so awesome, it should be illegal
-- https://github.com/tpope/vim-fugitive
{ 'tpope/vim-fugitive' },
-- Git integration for buffers -- Git integration for buffers
-- https://github.com/lewis6991/gitsigns.nvim -- https://github.com/lewis6991/gitsigns.nvim
{ {
'lewis6991/gitsigns.nvim', 'lewis6991/gitsigns.nvim',
lazy = false,
config = function() config = function()
require('gitsigns').setup { require('gitsigns').setup {
signs = { signs = {
@@ -19,7 +15,7 @@ return {
}, },
current_line_blame = false, current_line_blame = false,
on_attach = function(bufnr) on_attach = function(bufnr)
local gs = package.loaded.gitsigns local gs = require 'gitsigns'
local function map(mode, l, r, opts) local function map(mode, l, r, opts)
opts = opts or {} opts = opts or {}
@@ -28,7 +24,7 @@ return {
end end
-- Navigation -- Navigation
map('n', ']c', function() map('n', 'gn', function()
if vim.wo.diff then if vim.wo.diff then
return ']c' return ']c'
end end
@@ -38,7 +34,7 @@ return {
return '<Ignore>' return '<Ignore>'
end, { expr = true }) end, { expr = true })
map('n', '[c', function() map('n', 'gp', function()
if vim.wo.diff then if vim.wo.diff then
return '[c' return '[c'
end end
@@ -47,70 +43,8 @@ return {
end) end)
return '<Ignore>' return '<Ignore>'
end, { expr = true }) end, { expr = true })
-- Actions
map({ 'n', 'v' }, '<leader>hs', ':Gitsigns stage_hunk<CR>')
map({ 'n', 'v' }, '<leader>hr', ':Gitsigns reset_hunk<CR>')
map('n', '<leader>hS', gs.stage_buffer)
map('n', '<leader>ha', gs.stage_hunk)
map('n', '<leader>hu', gs.undo_stage_hunk)
map('n', '<leader>hR', gs.reset_buffer)
map('n', '<leader>hp', gs.preview_hunk)
map('n', '<leader>hb', function()
gs.blame_line { full = true }
end)
map('n', '<leader>tB', gs.toggle_current_line_blame)
map('n', '<leader>hd', gs.diffthis)
map('n', '<leader>hD', function()
gs.diffthis '~'
end)
-- Text object
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
end, end,
} }
end, end,
}, },
-- git-worktree.nvim: Manage git worktrees
-- https://github.com/ThePrimeagen/git-worktree.nvim
{
'ThePrimeagen/git-worktree.nvim',
config = function()
require('git-worktree').setup()
end,
},
-- An interactive and powerful Git interface for Neovim, inspired by Magit
-- https://github.com/NeogitOrg/neogit
{
'NeogitOrg/neogit',
config = function()
-- This contains mainly Neogit but also a bunch of Git settings
-- like fetching branches with telescope or blaming with fugitive
local neogit = require 'neogit'
vim.keymap.set('n', '<leader>gs', neogit.open, { silent = true, noremap = true })
vim.keymap.set('n', '<leader>gc', ':Neogit commit<CR>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>gp', ':Neogit pull<CR>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>gP', ':Neogit push<CR>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>gb', ':Telescope git_branches<CR>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>gB', ':G blame<CR>', { silent = true, noremap = true })
neogit.setup {
disable_commit_confirmation = true,
disable_signs = false,
disable_context_highlighting = false,
disable_builtin_notifications = false,
signs = {
section = { '', '' },
item = { '', '' },
hunk = { '', '' },
},
integrations = {
diffview = true,
},
}
end,
},
} }

View File

@@ -2,6 +2,15 @@ return {
-- A small Neovim plugin for previewing definitions using floating windows. -- A small Neovim plugin for previewing definitions using floating windows.
-- https://github.com/rmagatti/goto-preview -- https://github.com/rmagatti/goto-preview
'rmagatti/goto-preview', 'rmagatti/goto-preview',
dependencies = {
{ 'nvim-telescope/telescope.nvim' },
},
keys = {
{ 'n', 'gp', group = 'Goto Preview' },
{ 'n', 'gpd', '<cmd>lua require("goto-preview").goto_preview_definition()<CR>' },
{ 'n', 'gpi', '<cmd>lua require("goto-preview").goto_preview_implementation()<CR>' },
{ 'n', 'gpP', '<cmd>lua require("goto-preview").close_all_windows()<CR>' },
},
config = function() config = function()
require('goto-preview').setup { require('goto-preview').setup {
width = 120, -- Width of the floating window width = 120, -- Width of the floating window

View File

@@ -15,7 +15,7 @@ return {
vim.keymap.set('n', '<leader>ht', function() vim.keymap.set('n', '<leader>ht', function()
harpoon.ui:toggle_quick_menu(harpoon:list()) harpoon.ui:toggle_quick_menu(harpoon:list())
end) end, { desc = 'Open Harpoon Quick menu' })
-- basic telescope configuration -- basic telescope configuration
local conf = require('telescope.config').values local conf = require('telescope.config').values
@@ -37,27 +37,27 @@ return {
:find() :find()
end end
vim.keymap.set('n', '<leader>xa', function() vim.keymap.set('n', '<leader>hw', function()
toggle_telescope(harpoon:list()) toggle_telescope(harpoon:list())
end, { desc = 'Open harpoon window' }) end, { desc = 'Open harpoon window with telescope' })
end, end,
keys = { keys = {
{ {
'<leader>xa', '<leader>ha',
function() function()
require('harpoon'):list():add() require('harpoon'):list():add()
end, end,
desc = 'harpoon file', desc = 'harpoon file',
}, },
{ {
'<leader>xN', '<leader>hp',
function() function()
require('harpoon'):list():prev() require('harpoon'):list():prev()
end, end,
desc = 'harpoon to previous file', desc = 'harpoon to previous file',
}, },
{ {
'<leader>xn', '<leader>hn',
function() function()
require('harpoon'):list():next() require('harpoon'):list():next()
end, end,

View File

@@ -1,16 +1,29 @@
return { return {
-- vscode-like pictograms for neovim lsp completion items -- A better annotation generator.
-- https://github.com/onsails/lspkind-nvim -- Supports multiple languages and annotation conventions.
{ 'onsails/lspkind.nvim' }, -- https://github.com/danymat/neogen
{
'danymat/neogen',
version = '*',
keys = {
{
'<leader>cg',
'<cmd>lua require("neogen").generate()<CR>',
desc = 'Generate annotations',
},
},
config = function()
require('neogen').setup {
enabled = true,
snippet_engine = 'luasnip',
}
end,
},
-- Rethinking Vim as a tool for writing -- Rethinking Vim as a tool for writing
-- https://github.com/preservim/vim-pencil -- https://github.com/preservim/vim-pencil
{ 'preservim/vim-pencil' }, { 'preservim/vim-pencil' },
-- obsession.vim: continuously updated session files
-- https://github.com/tpope/vim-obsession
{ 'tpope/vim-obsession' },
-- surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease -- surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
-- https://github.com/tpope/vim-surround -- https://github.com/tpope/vim-surround
{ 'tpope/vim-surround' }, { 'tpope/vim-surround' },
@@ -25,11 +38,6 @@ return {
end, end,
}, },
-- LSP Configuration & Plugins
-- Meta type definitions for the Lua platform Luvit.
-- https://github.com/Bilal2453/luvit-meta
{ 'Bilal2453/luvit-meta', lazy = true },
-- Indent guides for Neovim -- Indent guides for Neovim
-- https://github.com/lukas-reineke/indent-blankline.nvim -- https://github.com/lukas-reineke/indent-blankline.nvim
{ {

View File

@@ -1,254 +1,236 @@
-- Quickstart configs for Nvim LSP -- Quickstart configs for Nvim LSP
-- https://github.com/neovim/nvim-lspconfig -- https://github.com/neovim/nvim-lspconfig
return { return {
'neovim/nvim-lspconfig', {
dependencies = { 'neovim/nvim-lspconfig',
-- Automatically install LSPs to stdpath for neovim lazy = false,
'williamboman/mason.nvim', dependencies = {
'williamboman/mason-lspconfig.nvim', -- Neovim plugin to manage global and project-local settings
'WhoIsSethDaniel/mason-tool-installer.nvim', -- Should be included before LSP Config
-- Useful status updates for LSP -- https://github.com/folke/neoconf.nvim
{ {
'j-hui/fidget.nvim', 'folke/neoconf.nvim',
opts = { lazy = false,
notification = { keys = {
window = { { '<leader>?c', '<cmd>Neoconf<CR>', desc = 'Neoconf: Open' },
winblend = 50, { '<leader>?g', '<cmd>Neoconf global<CR>', desc = 'Neoconf: Global' },
align = 'top', { '<leader>?l', '<cmd>Neoconf local<CR>', desc = 'Neoconf: Local' },
}, { '<leader>?m', '<cmd>Neoconf lsp<CR>', desc = 'Neoconf: Show merged LSP config' },
{ '<leader>?s', '<cmd>Neoconf show<CR>', desc = 'Neoconf: Show merged config' },
}, },
config = function()
require('neoconf').setup()
end,
}, },
}, -- Automatically install LSPs to stdpath for neovim
'b0o/schemastore.nvim', {
{ 'williamboman/mason.nvim',
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins lazy = false,
-- used for completion, annotations and signatures of Neovim apis run = ':call MasonUpdate',
'folke/lazydev.nvim',
ft = 'lua',
opts = {
library = {
-- Load luvit types when the `vim.uv` word is found
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
},
}, },
'williamboman/mason-lspconfig.nvim',
'WhoIsSethDaniel/mason-tool-installer.nvim',
'b0o/schemastore.nvim',
-- vscode-like pictograms for neovim lsp completion items
-- https://github.com/onsails/lspkind-nvim
{ 'onsails/lspkind.nvim' },
}, },
}, keys = {
config = function() { '<leader>do', '<cmd>lua vim.diagnostic.open_float()<CR>', desc = 'Diagnostic: Open float' },
-- Diagnostic keymaps { '<leader>dq', '<cmd>lua vim.diagnostic.setloclist()<CR>', desc = 'Diagnostic: Set loc list' },
vim.keymap.set('n', 'dp', vim.diagnostic.goto_prev, { desc = 'Diagnostic: Goto Prev' }) { 'dn', '<cmd>lua vim.diagnostic.goto_next()<CR>', desc = 'Diagnostic: Goto Next' },
vim.keymap.set('n', 'dn', vim.diagnostic.goto_next, { desc = 'Diagnostic: Goto Next' }) { 'dp', '<cmd>lua vim.diagnostic.goto_prev()<CR>', desc = 'Diagnostic: Goto Prev' },
vim.keymap.set('n', '<leader>do', vim.diagnostic.open_float, { desc = 'Diagnostic: Open float' }) { '<leader>cr', '<cmd>lua vim.lsp.buf.rename()<CR>', desc = 'LSP: Rename' },
vim.keymap.set('n', '<leader>dq', vim.diagnostic.setloclist, { desc = 'Diagnostic: Set loc list' }) { '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', desc = 'LSP: Code Action' },
{ 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', desc = 'LSP: Goto Definition' },
-- LSP settings. { 'gr', '<cmd>lua require("telescope.builtin").lsp_references()<CR>', desc = 'LSP: Goto References' },
-- This function gets run when an LSP connects to a particular buffer. { 'gI', '<cmd>lua vim.lsp.buf.implementation()<CR>', desc = 'LSP: Goto Implementation' },
local on_attach = function(_, bufnr) { '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', desc = 'LSP: Type Definition' },
local nmap = function(keys, func, desc) { '<leader>ds', '<cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>', desc = 'LSP: Document Symbols' },
if desc then { '<leader>ws', '<cmd>lua require("telescope.builtin").lsp_dynamic_workspace_symbols()<CR>', desc = 'LSP: Workspace Symbols' },
desc = 'LSP: ' .. desc { 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', desc = 'LSP: Hover Documentation' },
end { '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', desc = 'LSP: Signature Documentation' },
{ 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', desc = 'LSP: Goto Declaration' },
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) { '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', desc = 'LSP: Workspace Add Folder' },
{ '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', desc = 'LSP: Workspace Remove Folder' },
{ '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', desc = 'LSP: Workspace List Folders' },
},
config = function()
-- LSP settings.
-- This function gets run when an LSP connects to a particular buffer.
local on_attach = function(_, bufnr)
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
if vim.lsp.buf.format then
vim.lsp.buf.format()
elseif vim.lsp.buf.formatting then
vim.lsp.buf.formatting()
end
end, { desc = 'Format current buffer with LSP' })
end end
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') -- Setup mason so it can manage external tooling
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction') require('mason').setup()
nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- See `:help K` for why this keymap -- Enable the following language servers
nmap('K', vim.lsp.buf.hover, 'Hover Documentation') -- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation') local servers = {
-- :help lspconfig-all for all pre-configured LSPs
ast_grep = {},
-- Lesser used LSP functionality actionlint = {}, -- GitHub Actions
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') ansiblels = {}, -- Ansible
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder') bashls = {}, -- Bash
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder') css_variables = {}, -- CSS
nmap('<leader>wl', function() cssls = {}, -- CSS
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) docker_compose_language_service = {}, -- Docker compose
end, '[W]orkspace [L]ist Folders') dockerls = {}, -- Docker
eslint = {}, -- ESLint
gitlab_ci_ls = {}, -- GitLab CI
gopls = {}, -- Go
html = {}, -- HTML
intelephense = {}, -- PHP
pest_ls = {}, -- Pest (PHP)
phpactor = {}, -- PHP
psalm = {}, -- PHP
pyright = {}, -- Python
semgrep = {}, -- Security
shellcheck = {}, -- Shell scripts
shfmt = {}, -- Shell scripts formatting
stylelint_lsp = {}, -- Stylelint for S/CSS
stylua = {}, -- Used to format Lua code
tailwindcss = {}, -- Tailwind CSS
terraformls = {}, -- Terraform
tflint = {}, -- Terraform
ts_ls = {}, -- TypeScript/JS
typos_lsp = {}, -- Better writing
volar = {}, -- Vue
yamlls = {}, -- YAML
-- Create a command `:Format` local to the LSP buffer lua_ls = {
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_) settings = {
if vim.lsp.buf.format then Lua = {
vim.lsp.buf.format() completion = {
elseif vim.lsp.buf.formatting then callSnippet = 'Replace',
vim.lsp.buf.formatting() },
end -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
end, { desc = 'Format current buffer with LSP' }) diagnostics = { disable = { 'missing-fields' } },
end
-- Setup mason so it can manage external tooling
require('mason').setup()
-- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
local servers = {
-- :help lspconfig-all for all pre-configured LSPs
ast_grep = {},
actionlint = {}, -- GitHub Actions
ansiblels = {}, -- Ansible
bashls = {}, -- Bash
css_variables = {}, -- CSS
cssls = {}, -- CSS
docker_compose_language_service = {}, -- Docker compose
dockerls = {}, -- Docker
eslint = {}, -- ESLint
gitlab_ci_ls = {}, -- GitLab CI
gopls = {}, -- Go
grammarly = {}, -- Grammar and better writing
html = {}, -- HTML
intelephense = {}, -- PHP
jinja_lsp = {}, -- Jinja templates
pest_ls = {}, -- Pest (PHP)
phpactor = {}, -- PHP
psalm = {}, -- PHP
pyright = {}, -- Python
semgrep = {}, -- Security
shellcheck = {}, -- Shell scripts
shfmt = {}, -- Shell scripts formatting
stylelint_lsp = {}, -- Stylelint for S/CSS
stylua = {}, -- Used to format Lua code
tailwindcss = {}, -- Tailwind CSS
terraformls = {}, -- Terraform
tflint = {}, -- Terraform
ts_ls = {}, -- TypeScript/JS
typos_lsp = {}, -- Better writing
volar = {}, -- Vue
yamlls = {}, -- YAML
lua_ls = {
-- cmd = {...},
-- filetypes = { ...},
-- capabilities = {},
settings = {
Lua = {
completion = {
callSnippet = 'Replace',
}, },
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
diagnostics = { disable = { 'missing-fields' } },
}, },
}, },
}, jsonls = {
jsonls = { settings = {
settings = { json = {
json = { schemas = require('schemastore').json.schemas(),
schemas = require('schemastore').json.schemas(), validate = { enable = true },
validate = { enable = true }, },
}, yaml = {
yaml = { schemaStore = {
schemaStore = { -- You must disable built-in schemaStore support if you want to use
-- You must disable built-in schemaStore support if you want to use -- this plugin and its advanced options like `ignore`.
-- this plugin and its advanced options like `ignore`. enable = false,
enable = false, -- Avoid TypeError: Cannot read properties of undefined (reading 'length')
-- Avoid TypeError: Cannot read properties of undefined (reading 'length') url = '',
url = '', },
schemas = require('schemastore').yaml.schemas(),
}, },
schemas = require('schemastore').yaml.schemas(),
}, },
}, },
}, }
}
local ensure_installed = vim.tbl_keys(servers or {}) local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, { vim.list_extend(ensure_installed, {
'actionlint', 'actionlint',
'ansible-language-server', 'ansible-language-server',
'ansible-lint', 'ansible-lint',
'bash-language-server', 'bash-language-server',
'blade-formatter', 'blade-formatter',
'codespell', 'commitlint',
'commitlint', 'diagnostic-languageserver',
'diagnostic-languageserver', 'docker-compose-language-service',
'docker-compose-language-service', 'dockerfile-language-server',
'dockerfile-language-server', 'editorconfig-checker',
'editorconfig-checker', 'fixjson',
'fixjson', 'flake8',
'flake8', 'html-lsp',
'html-lsp', 'jq',
'jq', 'jsonlint',
'jsonlint', 'luacheck',
'luacheck', 'php-cs-fixer',
'php-cs-fixer', 'phpcs',
'phpcs', 'phpmd',
'phpmd', 'semgrep',
'semgrep', 'shellcheck',
'shellcheck', 'shfmt',
'shfmt', 'stylelint',
'stylelint', 'stylua',
'stylua', 'yamllint',
'yamllint', })
}) require('mason-tool-installer').setup {
require('mason-tool-installer').setup { ensure_installed = ensure_installed,
ensure_installed = ensure_installed, auto_update = true,
auto_update = true, }
}
-- Ensure the servers above are installed -- Ensure the servers above are installed
require('mason-lspconfig').setup { require('mason-lspconfig').setup {
automatic_installation = true, automatic_installation = true,
ensure_installed = servers, ensure_installed = servers,
} }
-- nvim-cmp supports additional completion capabilities -- nvim-cmp supports additional completion capabilities
local capabilities = vim.lsp.protocol.make_client_capabilities() local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
for _, lsp in ipairs(servers) do for _, lsp in ipairs(servers) do
require('lspconfig')[lsp].setup { require('lspconfig')[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
-- Turn on lsp status information
-- require('fidget').setup()
-- Example custom configuration for lua
--
-- Make runtime files discoverable to the server
local runtime_path = vim.split(package.path, ';')
table.insert(runtime_path, 'lua/?.lua')
table.insert(runtime_path, 'lua/?/init.lua')
require('lspconfig').lua_ls.setup {
on_attach = on_attach, on_attach = on_attach,
capabilities = capabilities, capabilities = capabilities,
} settings = {
end Lua = {
runtime = {
-- Turn on lsp status information -- Tell the language server which version of Lua you're using (most likely LuaJIT)
require('fidget').setup() version = 'LuaJIT',
-- Setup your lua path
-- Example custom configuration for lua path = runtime_path,
-- },
-- Make runtime files discoverable to the server diagnostics = {
local runtime_path = vim.split(package.path, ';') globals = { 'vim' },
table.insert(runtime_path, 'lua/?.lua') },
table.insert(runtime_path, 'lua/?/init.lua') workspace = {
library = vim.api.nvim_get_runtime_file('', true),
require('lspconfig').lua_ls.setup { checkThirdParty = false,
on_attach = on_attach, },
capabilities = capabilities, -- Do not send telemetry data containing a randomized but unique identifier
settings = { telemetry = { enable = false },
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT)
version = 'LuaJIT',
-- Setup your lua path
path = runtime_path,
}, },
diagnostics = {
globals = { 'vim' },
},
workspace = {
library = vim.api.nvim_get_runtime_file('', true),
checkThirdParty = false,
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry = { enable = false },
}, },
}, }
}
vim.api.nvim_create_autocmd('FileType', { vim.api.nvim_create_autocmd('FileType', {
pattern = 'sh', pattern = 'sh',
callback = function() callback = function()
vim.lsp.start { vim.lsp.start {
name = 'bash-language-server', name = 'bash-language-server',
cmd = { 'bash-language-server', 'start' }, cmd = { 'bash-language-server', 'start' },
} }
end, end,
}) })
end, end,
},
} }

View File

@@ -2,6 +2,10 @@
-- https://github.com/nvim-lualine/lualine.nvim -- https://github.com/nvim-lualine/lualine.nvim
return { return {
'nvim-lualine/lualine.nvim', 'nvim-lualine/lualine.nvim',
dependencies = {
'kyazdani42/nvim-web-devicons',
'folke/noice.nvim',
},
config = function() config = function()
require('lualine').setup { require('lualine').setup {
options = { options = {

View File

@@ -30,7 +30,7 @@ return {
}, },
cmd = 'Neotree', cmd = 'Neotree',
keys = { keys = {
{ '<leader>e', ':Neotree reveal<CR>', { desc = 'NeoTree reveal' } }, { '<leader>e', ':Neotree reveal<CR>', desc = 'NeoTree reveal' },
}, },
opts = { opts = {
close_if_last_window = true, close_if_last_window = true,

View File

@@ -2,79 +2,83 @@ return {
-- Highly experimental plugin that completely replaces the UI -- Highly experimental plugin that completely replaces the UI
-- for messages, cmdline and the popupmenu. -- for messages, cmdline and the popupmenu.
-- https://github.com/folke/noice.nvim -- https://github.com/folke/noice.nvim
{ 'folke/noice.nvim',
'folke/noice.nvim', lazy = false,
dependencies = { enabled = true,
'MunifTanjim/nui.nvim', dependencies = {
-- A fancy, configurable, notification manager for NeoVim 'MunifTanjim/nui.nvim',
-- https://github.com/rcarriga/nvim-notify -- A fancy, configurable, notification manager for NeoVim
{ -- https://github.com/rcarriga/nvim-notify
'rcarriga/nvim-notify', 'rcarriga/nvim-notify',
config = function() 'hrsh7th/nvim-cmp',
require('notify').setup {
background_colour = '#000000',
enabled = false,
}
end,
},
},
setup = function()
vim.g.noice_ignored_filetypes = { 'fugitiveblame', 'fugitive', 'gitcommit' }
require('noice').setup {
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
views = {
cmdline_popup = {
position = {
row = 5,
col = '50%',
},
size = {
width = 60,
height = 'auto',
},
},
popupmenu = {
relative = 'editor',
position = {
row = 8,
col = '50%',
},
size = {
width = 60,
height = 10,
},
border = {
style = 'rounded',
padding = { 0, 1 },
},
win_options = {
winhighlight = { Normal = 'Normal', FloatBorder = 'DiagnosticInfo' },
},
},
},
routes = {
{
filter = {
event = 'msg_show',
any = {
{ find = '%d+L, %d+B' },
{ find = '; after #%d+' },
{ find = '; before #%d+' },
{ find = '%d fewer lines' },
{ find = '%d more lines' },
},
},
opts = { skip = true },
},
},
}
end,
}, },
keys = {
{ 'n', '<leader>tn', ':Noice dismiss<CR>', desc = 'Noice dismiss' },
},
config = function()
vim.g.noice_ignored_filetypes = { 'fugitiveblame', 'fugitive', 'gitcommit', 'noice' }
require('noice').setup {
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {
['vim.lsp.util.convert_input_to_markdown_lines'] = true,
['vim.lsp.util.stylize_markdown'] = true,
['cmp.entry.get_documentation'] = true, -- requires hrsh7th/nvim-cmp
},
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = false, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
routes = {
{
filter = {
event = 'msg_show',
any = {
{ find = '%d+L, %d+B' },
{ find = '; after #%d+' },
{ find = '; before #%d+' },
{ find = '%d fewer lines' },
{ find = '%d more lines' },
},
},
opts = { skip = true },
},
},
views = {
cmdline_popup = {
position = {
row = 5,
col = '50%',
},
size = {
width = 60,
height = 'auto',
},
},
popupmenu = {
relative = 'editor',
position = {
row = 8,
col = '50%',
},
size = {
width = 60,
height = 10,
},
border = {
style = 'rounded',
padding = { 0, 1 },
},
win_options = {
winhighlight = { Normal = 'Normal', FloatBorder = 'DiagnosticInfo' },
},
},
},
}
end,
} }

View File

@@ -1,19 +0,0 @@
return {
'epwalsh/obsidian.nvim',
version = '*', -- recommended, use latest release instead of latest commit
lazy = true,
ft = 'markdown',
dependencies = {
'nvim-lua/plenary.nvim',
},
config = function()
require('obsidian').setup {
workspaces = {
{
name = 'Notes',
path = vim.fn.expand '$HOME/Code/ivuorinen/obsidian',
},
},
}
end,
}

View File

@@ -1,85 +1,90 @@
return { return {
-- Fuzzy Finder (files, lsp, etc) -- Fuzzy Finder (files, lsp, etc)
-- https://github.com/nvim-telescope/telescope.nvim -- https://github.com/nvim-telescope/telescope.nvim
{ 'nvim-telescope/telescope.nvim',
'nvim-telescope/telescope.nvim', version = '*',
version = '*', lazy = false,
dependencies = { dependencies = {
{ 'nvim-lua/plenary.nvim' }, { 'nvim-lua/plenary.nvim' },
{ 'nvim-telescope/telescope-symbols.nvim' }, { 'nvim-telescope/telescope-symbols.nvim' },
{ 'folke/which-key.nvim' },
{ 'ThePrimeagen/harpoon' },
-- Fuzzy Finder Algorithm which requires local dependencies to be built. -- Fuzzy Finder Algorithm which requires local dependencies to be built.
-- Only load if `make` is available -- Only load if `make` is available
{ {
'nvim-telescope/telescope-fzf-native.nvim', 'nvim-telescope/telescope-fzf-native.nvim',
build = 'make', build = 'make',
cond = vim.fn.executable 'make' == 1, cond = vim.fn.executable 'make' == 1,
},
}, },
setup = function() },
local t = require 'telescope' config = function()
local a = require 'telescope.actions' local t = require 'telescope'
local b = require 'telescope.builtin' local a = require 'telescope.actions'
local themes = require 'telescope.themes' local themes = require 'telescope.themes'
require('telescope').load_extension 'harpoon'
t.load_extension 'git_worktree'
-- [[ Configure Telescope ]] -- [[ Configure Telescope ]]
-- See `:help telescope` and `:help telescope.setup()` -- See `:help telescope` and `:help telescope.setup()`
t.setup { t.setup {
defaults = { defaults = {
layout_strategy = 'horizontal', layout_strategy = 'horizontal',
layout_config = { layout_config = {
preview_width = 0.65, preview_width = 0.65,
horizontal = { horizontal = {
size = { size = {
width = '95%', width = '95%',
height = '95%', height = '95%',
},
},
},
pickers = {
find_files = {
theme = 'dropdown',
},
},
mappings = {
i = {
['<C-u>'] = false,
['<C-j>'] = a.move_selection_next,
['<C-k>'] = a.move_selection_previous,
['<C-d>'] = a.move_selection_previous,
}, },
}, },
}, },
} pickers = {
find_files = {
theme = 'dropdown',
},
},
mappings = {
i = {
['<C-u>'] = false,
['<C-j>'] = a.move_selection_next,
['<C-k>'] = a.move_selection_previous,
['<C-d>'] = a.move_selection_previous,
},
},
},
}
-- Enable telescope fzf native, if installed -- Load extensions
pcall(t.load_extension, 'fzf') pcall(t.load_extension, 'harpoon')
pcall(t.load_extension, 'git_worktree')
-- Enable telescope fzf native, if installed
pcall(t.load_extension, 'fzf')
-- See `:help telescope.builtin` -- [[ Telescope Keymaps ]]
vim.keymap.set('n', '<leader>so', b.oldfiles, { desc = '[?] Find recently opened files' }) -- See `:help telescope.builtin`
vim.keymap.set('n', '<leader>/', function() -- See `:help telescope.keymap`
-- You can pass additional configuration to telescope to change theme, layout, etc. local b = require 'telescope.builtin'
b.current_buffer_fuzzy_find(themes.get_dropdown {
winblend = 10,
previewer = true,
})
end, { desc = '[/] Fuzzily search in current buffer]' })
vim.keymap.set('n', '<leader>sf', b.find_files, { desc = '[S]earch [F]iles' }) local wk = require 'which-key'
vim.keymap.set('n', '<leader>sw', b.grep_string, { desc = '[S]earch current [W]ord' }) wk.add {
vim.keymap.set('n', '<leader>sg', b.live_grep, { desc = '[S]earch by [G]rep' }) { '<leader><space>', b.buffers, desc = '[ ] Find existing buffers' },
vim.keymap.set('n', '<leader>sd', b.diagnostics, { desc = '[S]earch [D]iagnostics' }) { '<leader><tab>', "<Cmd>lua require('telescope.builtin').commands()<CR>", desc = 'Telescope: Commands' },
vim.keymap.set('n', '<leader>sb', b.buffers, { desc = '[ ] Find existing buffers' }) { '<leader>sS', b.git_status, desc = 'Git Status' },
vim.keymap.set('n', '<leader>sS', b.git_status, { desc = '' }) { '<leader>sd', b.diagnostics, desc = 'Search Diagnostics' },
vim.keymap.set('n', '<leader>sm', ':Telescope harpoon marks<CR>', { desc = 'Harpoon [M]arks' }) { '<leader>sf', b.find_files, desc = 'Search Files' },
vim.keymap.set('n', '<Leader>sr', "<CMD>lua require('telescope').extensions.git_worktree.git_worktrees()<CR>") { '<leader>sg', b.live_grep, desc = 'Search by Grep' },
vim.keymap.set('n', '<Leader>sR', "<CMD>lua require('telescope').extensions.git_worktree.create_git_worktree()<CR>") { '<leader>sm', ':Telescope harpoon marks<CR>', desc = 'Harpoon Marks' },
vim.keymap.set('n', '<Leader>sn', "<CMD>lua require('telescope').extensions.notify.notify()<CR>") { '<leader>sn', "<cmd>lua require('telescope').extensions.notify.notify()<CR>", desc = 'Notify' },
{ '<leader>so', b.oldfiles, desc = 'Find recently Opened files' },
{ '<leader>st', ':TodoTelescope<CR>', desc = 'Telescope: Todo' },
{ '<leader>sw', b.grep_string, desc = 'Search current Word' },
}
vim.api.nvim_set_keymap('n', 'st', ':TodoTelescope<CR>', { noremap = true }) vim.keymap.set('n', '<leader>/', function()
vim.api.nvim_set_keymap('n', '<Leader><tab>', "<Cmd>lua require('telescope.builtin').commands()<CR>", { noremap = false }) -- You can pass additional configuration to telescope to change theme, layout, etc.
end, b.current_buffer_fuzzy_find(themes.get_dropdown {
}, winblend = 10,
previewer = true,
})
end, { desc = '[/] Fuzzily search in current buffer]' })
end,
} }

View File

@@ -10,6 +10,10 @@ return {
}, },
config = function() config = function()
require('nvim-treesitter.configs').setup { require('nvim-treesitter.configs').setup {
auto_install = true,
ignore_install = {},
sync_install = true,
modules = {},
-- Add languages to be installed here that you want installed for treesitter -- Add languages to be installed here that you want installed for treesitter
ensure_installed = { ensure_installed = {
@@ -95,10 +99,10 @@ return {
swap = { swap = {
enable = true, enable = true,
swap_next = { swap_next = {
['<leader>a'] = '@parameter.inner', ['<leader>cn'] = '@parameter.inner',
}, },
swap_previous = { swap_previous = {
['<leader>A'] = '@parameter.inner', ['<leader>cP'] = '@parameter.inner',
}, },
}, },
}, },

View File

@@ -2,6 +2,14 @@ return {
'folke/trouble.nvim', 'folke/trouble.nvim',
lazy = false, lazy = false,
dependencies = 'nvim-tree/nvim-web-devicons', dependencies = 'nvim-tree/nvim-web-devicons',
keys = {
{ '<leader>xx', '<cmd>Trouble<cr>', desc = 'Toggle Trouble' },
{ '<leader>xw', '<cmd>Trouble workspace_diagnostics<cr>', desc = 'Toggle Workspace Diagnostics' },
{ '<leader>xd', '<cmd>Trouble document_diagnostics<cr>', desc = 'Toggle Document Diagnostics' },
{ '<leader>xl', '<cmd>Trouble loclist<cr>', desc = 'Toggle Loclist' },
{ '<leader>xq', '<cmd>Trouble quickfix<cr>', desc = 'Toggle Quickfix' },
{ 'gR', '<cmd>Trouble lsp_references<cr>', desc = 'Toggle LSP References' },
},
config = function() config = function()
require('trouble').setup { require('trouble').setup {
auto_preview = false, auto_preview = false,
@@ -9,12 +17,6 @@ return {
auto_close = true, auto_close = true,
use_lsp_diagnostic_signs = true, use_lsp_diagnostic_signs = true,
} }
vim.keymap.set('n', '<leader>xx', '<cmd>TroubleToggle<cr>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>xw', '<cmd>TroubleToggle workspace_diagnostics<cr>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>xd', '<cmd>TroubleToggle document_diagnostics<cr>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>xl', '<cmd>TroubleToggle loclist<cr>', { silent = true, noremap = true })
vim.keymap.set('n', '<leader>xq', '<cmd>TroubleToggle quickfix<cr>', { silent = true, noremap = true })
vim.keymap.set('n', 'gR', '<cmd>TroubleToggle lsp_references<cr>', { silent = true, noremap = true })
-- Diagnostic signs -- Diagnostic signs
-- https://github.com/folke/trouble.nvim/issues/52 -- https://github.com/folke/trouble.nvim/issues/52

View File

@@ -1,3 +1,22 @@
-- Not UFO in the sky, but an ultra fold in Neovim.
-- https://github.com/kevinhwang91/nvim-ufo/
-- fold_virt_text_handler
-- This handler is called when the fold text is too long to fit in the window.
-- It is expected to truncate the text and return a new list of virtual text.
-- The handler is called with the following arguments:
-- virtText: The current virtual text list.
-- lnum: The line number of the first line in the fold.
-- endLnum: The line number of the last line in the fold.
-- width: The width of the window.
--
--@type function
--@param virtText
--@param lnum
--@param endLnum
--@param width
--@param truncate
--@return table
local handler = function(virtText, lnum, endLnum, width, truncate) local handler = function(virtText, lnum, endLnum, width, truncate)
local newVirtText = {} local newVirtText = {}
local suffix = (' 󰁂 %d '):format(endLnum - lnum) local suffix = (' 󰁂 %d '):format(endLnum - lnum)
@@ -27,8 +46,6 @@ local handler = function(virtText, lnum, endLnum, width, truncate)
end end
return { return {
-- Not UFO in the sky, but an ultra fold in Neovim.
-- https://github.com/kevinhwang91/nvim-ufo/
{ {
'kevinhwang91/nvim-ufo', 'kevinhwang91/nvim-ufo',
lazy = false, lazy = false,

View File

@@ -39,6 +39,9 @@ return {
{ {
'folke/twilight.nvim', 'folke/twilight.nvim',
ft = 'markdown', -- Highlight markdown files ft = 'markdown', -- Highlight markdown files
keys = {
{ 'n', 'tw', '<cmd>Twilight<cr>', desc = 'Twilight' },
},
}, },
-- Seamless navigation between tmux panes and vim splits -- Seamless navigation between tmux panes and vim splits
@@ -55,11 +58,11 @@ return {
'TmuxNavigatePrevious', 'TmuxNavigatePrevious',
}, },
keys = { keys = {
{ '<c-h>', '<cmd><C-U>TmuxNavigateLeft<cr>' }, { '<c-h>', '<cmd><C-U>TmuxNavigateLeft<cr>', desc = 'tmux: Navigate Left' },
{ '<c-j>', '<cmd><C-U>TmuxNavigateDown<cr>' }, { '<c-j>', '<cmd><C-U>TmuxNavigateDown<cr>', desc = 'tmux: Navigate Down' },
{ '<c-k>', '<cmd><C-U>TmuxNavigateUp<cr>' }, { '<c-k>', '<cmd><C-U>TmuxNavigateUp<cr>', desc = 'tmux: Navigate Up' },
{ '<c-l>', '<cmd><C-U>TmuxNavigateRight<cr>' }, { '<c-l>', '<cmd><C-U>TmuxNavigateRight<cr>', desc = 'tmux: Navigate Right' },
{ '<c-\\>', '<cmd><C-U>TmuxNavigatePrevious<cr>' }, { '<c-\\>', '<cmd><C-U>TmuxNavigatePrevious<cr>', desc = 'tmux: Navigate Previous' },
}, },
}, },
-- Cloak allows you to overlay *'s over defined patterns in defined files. -- Cloak allows you to overlay *'s over defined patterns in defined files.
@@ -69,6 +72,9 @@ return {
enabled = true, enabled = true,
lazy = false, lazy = false,
version = '*', version = '*',
keys = {
{ '<leader>tc', '<cmd>CloakToggle<cr>', desc = '[tc] Toggle Cloak' },
},
config = function() config = function()
require('cloak').setup { require('cloak').setup {
enabled = true, enabled = true,
@@ -92,9 +98,6 @@ return {
}, },
} }
end, end,
keys = {
{ '<leader>tc', '<cmd>CloakToggle<cr>', desc = '[tc] Toggle Cloak' },
},
}, },
-- Close buffer without messing up with the window. -- Close buffer without messing up with the window.
-- https://github.com/famiu/bufdelete.nvim -- https://github.com/famiu/bufdelete.nvim
@@ -122,18 +125,6 @@ return {
{ {
'LudoPinelli/comment-box.nvim', 'LudoPinelli/comment-box.nvim',
opts = {}, opts = {},
init = function()
local wk = require 'which-key'
wk.add {
{ '<leader>cb', group = 'CommentBox' },
{ '<Leader>cbt', '<Cmd>CBccbox<CR>', desc = 'CommentBox: Box Title' },
{ '<Leader>cbd', '<Cmd>CBd<CR>', desc = 'Remove a box' },
{ '<Leader>cbl', '<Cmd>CBline<CR>', desc = 'CommentBox: Simple Line' },
{ '<Leader>cbm', '<Cmd>CBllbox14<CR>', desc = 'CommentBox: Marked' },
{ '<Leader>cbt', '<Cmd>CBllline<CR>', desc = 'CommentBox: Titled Line' },
}
end,
}, },
-- Automatically expand width of the current window. -- Automatically expand width of the current window.
-- Maximizes and restore it. And all this with nice animations! -- Maximizes and restore it. And all this with nice animations!

View File

@@ -0,0 +1,140 @@
-- Useful plugin to show you pending keybinds.
-- https://github.com/folke/which-key.nvim
return {
'folke/which-key.nvim',
lazy = false,
version = '*',
priority = 1001, -- Make sure to load this as soon as possible
dependencies = {
'nvim-lua/plenary.nvim',
'echasnovski/mini.icons',
},
config = function()
local wk = require 'which-key'
wk.setup()
wk.add {
-- Better default experience
{ '<space>', '<Nop>', mode = { 'n', 'v' } },
-- ╭─────────────────────────────────────────────────────────╮
-- │ With leader │
-- ╰─────────────────────────────────────────────────────────╯
-- ── Buffer ──────────────────────────────────────────────────────────
{
'<leader>b',
group = '[b] Buffer',
expand = function()
return require('which-key.extras').expand.buf()
end,
},
{ '<leader>bk', ':blast<cr>', desc = 'Buffer: Last', mode = 'n' },
{ '<leader>bj', ':bfirst<cr>', desc = 'Buffer: First', mode = 'n' },
{ '<leader>bh', ':bprev<cr>', desc = 'Buffer: Prev', mode = 'n' },
{ '<leader>bl', ':bnext<cr>', desc = 'Buffer: Next', mode = 'n' },
{ '<leader>bd', ':Bdelete<cr>', desc = 'Buffer: Delete', mode = 'n' },
{ '<leader>bw', ':Bwipeout<cr>', desc = 'Buffer: Wipeout', mode = 'n' },
-- ── Code ────────────────────────────────────────────────────────────
{ '<leader>c', group = '[c] Code' },
-- ── Code: CommentBox ────────────────────────────────────────────────
{ '<leader>cb', group = 'CommentBox' },
{ '<leader>cbb', '<Cmd>CBccbox<CR>', desc = 'CommentBox: Box Title' },
{ '<leader>cbd', '<Cmd>CBd<CR>', desc = 'CommentBox: Remove a box' },
{ '<leader>cbl', '<Cmd>CBline<CR>', desc = 'CommentBox: Simple Line' },
{ '<leader>cbm', '<Cmd>CBllbox14<CR>', desc = 'CommentBox: Marked' },
{ '<leader>cbt', '<Cmd>CBllline<CR>', desc = 'CommentBox: Titled Line' },
{ '<leader>d', group = '[d] DAP' },
-- See: lua/plugins/dap.lua
{ '<leader>g', group = '[g] Git' },
-- See: lua/plugins/git.lua
{ '<leader>h', group = '[h] Harpoon' },
-- See: lua/plugins/harpoon.lua
{ '<leader>l', group = '[l] LSP' },
-- See: lua/plugins/lsp.lua
-- ── Quit ────────────────────────────────────────────────────────────
{ '<leader>q', group = '[q] Quit' },
{ '<leader>qf', ':q<CR>', desc = 'Quicker close split' },
{ '<leader>qq', ':wq!<CR>', desc = 'Quit with force saving' },
{ '<leader>qw', ':wq<CR>', desc = 'Write and quit' },
{ '<leader>s', group = '[s] Search' },
-- See: lua/plugins/telescope.lua
-- ── Toggle ──────────────────────────────────────────────────────────
{ '<leader>t', group = '[t] Toggle' },
{ '<leader>tt', ':TransparentToggle<CR>', desc = 'Toggle Transparency' },
{ '<leader>ts', ':noh<CR>', desc = 'Toggle Search Highlighting' },
{ '<leader>w', group = '[w] Workspace' },
{ '<leader>x', group = '[x] Trouble' },
{ '<leader>z', group = '[z] FZF' },
-- ── Help ────────────────────────────────────────────────────────────
{ '<leader>?', group = '[?] Help' },
{
'<leader>?w',
function()
wk.show { global = false }
end,
desc = 'Buffer Local Keymaps (which-key)',
},
-- ╭─────────────────────────────────────────────────────────╮
-- │ Without leader │
-- ╰─────────────────────────────────────────────────────────╯
{ 'y', group = 'Yank & Surround' },
-- ── Old habits ──────────────────────────────────────────────────────
{ '<C-s>', ':w<CR>', desc = 'Save file' },
-- ── Text manipulation in visual mode ────────────────────────────────
{ '>', '>gv', desc = 'Indent Right', mode = 'v' },
{ '<', '<gv', desc = 'Indent Left', mode = 'v' },
{ 'J', ":m '>+1<CR>gv=gv", desc = 'Move Block Down', mode = 'v' },
{ 'K', ":m '<-2<CR>gv=gv", desc = 'Move Block Up', mode = 'v' },
-- ── Misc keybinds ───────────────────────────────────────────────────
{ 'QQ', ':q!<CR>', desc = 'Quit without saving' },
{ 'WW', ':w!<CR>', desc = 'Force write to file' },
{ 'ss', ':noh<CR>', desc = 'Clear Search Highlighting' },
{ 'jj', '<Esc>', desc = 'Esc without touching esc in insert mode', mode = 'i' },
-- ── Splits ──────────────────────────────────────────────────────────
-- Use CTRL+<hjkl> to switch between windows in normal mode
-- See `:help wincmd` for a list of all window commands
{ '<C-h>', '<C-w><C-h>', desc = 'Move focus to the left window' },
{ '<C-l>', '<C-w><C-l>', desc = 'Move focus to the right window' },
{ '<C-j>', '<C-w><C-j>', desc = 'Move focus to the lower window' },
{ '<C-k>', '<C-w><C-k>', desc = 'Move focus to the upper window' },
-- Split resizing
{ '<C-w>,', ':vertical resize -10<CR>', desc = 'V Resize -' },
{ '<C-w>.', ':vertical resize +10<CR>', desc = 'V Resize +' },
-- ── Disable arrow keys in normal mode ───────────────────────────────
{ '<left>', '<cmd>echo "Use h to move!!"<CR>' },
{ '<right>', '<cmd>echo "Use l to move!!"<CR>' },
{ '<up>', '<cmd>echo "Use k to move!!"<CR>' },
{ '<down>', '<cmd>echo "Use j to move!!"<CR>' },
-- ── Terminal ────────────────────────────────────────────────────────
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
--
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode.
{ '<Esc><Esc>', '<C-\\><C-n>', desc = 'Exit terminal mode', mode = 't' },
-- ── Search ──────────────────────────────────────────────────────────
-- :noh if you have search highlights
{ '<Esc><Esc>', ':noh<CR>', desc = 'Clear search highlights' },
}
end,
}

View File

@@ -2,52 +2,98 @@
```txt ```txt
n <Esc> * <Cmd>nohlsearch<CR> n <Space>/ * <Lua 380: ~/.config/nvim/lua/plugins/telescope.lua:82>
n <Space>zg * :Rg<CR> [/] Fuzzily search in current buffer]
FZF: search with rg (aka live grep). n <Space>hw * <Lua 42: ~/.config/nvim/lua/plugins/harpoon.lua:40>
n <Space>zm * :Maps<CR> Open harpoon window with telescope
FZF: search mappings. n <Space>1 * <Lua 40: ~/.config/nvim/lua/plugins/harpoon.lua:68>
n <Space>zh * :History<CR> harpoon to file 1
FZF: search history of opened files n <Space>hn * <Lua 39: ~/.config/nvim/lua/plugins/harpoon.lua:61>
n <Space>zb * :Buffers<CR> harpoon to next file
FZF: search open buffers. n <Space>hp * <Lua 38: ~/.config/nvim/lua/plugins/harpoon.lua:54>
n <Space>zt * :Windows<CR> harpoon to previous file
FZF: search open tabs. n <Space>ha * <Lua 37: ~/.config/nvim/lua/plugins/harpoon.lua:47>
n <Space>zc * :Commands<CR> harpoon file
FZF: search commands. n <Space>5 * <Lua 36: ~/.config/nvim/lua/plugins/harpoon.lua:96>
n <Space>zf * :FZF<Space> harpoon to file 5
FZF: search for files in given path. n <Space>4 * <Lua 35: ~/.config/nvim/lua/plugins/harpoon.lua:89>
harpoon to file 4
n <Space>3 * <Lua 34: ~/.config/nvim/lua/plugins/harpoon.lua:82>
harpoon to file 3
n <Space>2 * <Lua 33: ~/.config/nvim/lua/plugins/harpoon.lua:75>
harpoon to file 2
n <Space>tc * <Cmd>CloakToggle<CR> n <Space>tc * <Cmd>CloakToggle<CR>
[tc] Toggle Cloak [tc] Toggle Cloak
n <Space>4 * <Lua 84: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>xx * <Cmd>Trouble<CR>
harpoon to file 4 Toggle Trouble
n <Space>3 * <Lua 83: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>xq * <Cmd>Trouble quickfix<CR>
harpoon to file 3 Toggle Quickfix
n <Space>2 * <Lua 82: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>xl * <Cmd>Trouble loclist<CR>
harpoon to file 2 Toggle Loclist
n <Space>1 * <Lua 81: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>xd * <Cmd>Trouble document_diagnostics<CR>
harpoon to file 1 Toggle Document Diagnostics
n <Space>xn * <Lua 80: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>xw * <Cmd>Trouble workspace_diagnostics<CR>
harpoon to next file Toggle Workspace Diagnostics
n <Space>xa * <Lua 79: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>?s * <Cmd>Neoconf show<CR>
harpoon quick menu Neoconf: Show merged config
n <Space>xN * <Lua 78: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>?m * <Cmd>Neoconf lsp<CR>
harpoon to previous file Neoconf: Show merged LSP config
n <Space>xA * <Lua 77: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>?l * <Cmd>Neoconf local<CR>
harpoon file Neoconf: Local
n <Space>5 * <Lua 76: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>?g * <Cmd>Neoconf global<CR>
harpoon to file 5 Neoconf: Global
n <Space>tz * <Lua 51: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>?c * <Cmd>Neoconf<CR>
[tz] Toggle ZenMode Neoconf: Open
n <Space>e * <Lua 47: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> n <Space>wl * <Cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>
<Space>f * <Lua 40: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121> LSP: Workspace List Folders
n <Space>wr * <Cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>
LSP: Workspace Remove Folder
n <Space>wa * <Cmd>lua vim.lsp.buf.add_workspace_folder()<CR>
LSP: Workspace Add Folder
n <Space>ws * <Cmd>lua require("telescope.builtin").lsp_dynamic_workspace_symbols()<CR>
LSP: Workspace Symbols
n <Space>ds * <Cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>
LSP: Document Symbols
n <Space>D * <Cmd>lua vim.lsp.buf.type_definition()<CR>
LSP: Type Definition
n <Space>ca * <Cmd>lua vim.lsp.buf.code_action()<CR>
LSP: Code Action
n <Space>cr * <Cmd>lua vim.lsp.buf.rename()<CR>
LSP: Rename
n <Space>dq * <Cmd>lua vim.diagnostic.setloclist()<CR>
Diagnostic: Set loc list
n <Space>do * <Cmd>lua vim.diagnostic.open_float()<CR>
Diagnostic: Open float
<Space>cf * <Lua 107: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
[f] Format buffer [f] Format buffer
n <Space>qq * <Cmd>wq!<CR> n <Space>e * <Lua 81: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
Quickly Quit NeoTree reveal
n <Space>bq * <Lua 28: ~/.local/share/bob/v0.10.0/nvim-macos-arm64/share/nvim/runtime/lua/vim/diagnostic.lua:1984> n <Space>cg * <Lua 50: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
Open diagnostic [Q]uickfix list Generate annotations
n <Space>be * <Lua 27: ~/.local/share/bob/v0.10.0/nvim-macos-arm64/share/nvim/runtime/lua/vim/diagnostic.lua:1694> n <Space>zm * <Lua 49: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
Show diagnostic [E]rror messages FZF: search mappings.
n <Space>zh * <Lua 48: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search history of opened files
n <Space>zb * <Lua 47: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search open buffers.
n <Space>zt * <Lua 46: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search open tabs.
n <Space>zc * <Lua 32: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search commands.
n <Space>zf * <Lua 31: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search for files in given path.
n <Space>zg * <Lua 25: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search with rg (aka live grep).
n <Space>dc * <Lua 45: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
DAP: Continue
n <Space>db * <Lua 44: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
DAP: Toggle Breakpoint
n <Space>dt * <Lua 43: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
DAP: Toggle UI
n <Space>ht * <Lua 369: ~/.config/nvim/lua/plugins/harpoon.lua:16>
Open Harpoon Quick menu
n <Space>dr * <Lua 41: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
DAP: Reset
x # * <Lua 7: vim/_defaults.lua:0> x # * <Lua 7: vim/_defaults.lua:0>
:help v_#-default :help v_#-default
o % <Plug>(MatchitOperationForward) o % <Plug>(MatchitOperationForward)
@@ -59,8 +105,11 @@ x * * <Lua 3: vim/_defaults.lua:0>
:help v_star-default :help v_star-default
x @ * mode() == 'V' ? ':normal! @'.getcharstr().'<CR>' : '@' x @ * mode() == 'V' ? ':normal! @'.getcharstr().'<CR>' : '@'
:help v_@-default :help v_@-default
n K * <Cmd>lua vim.lsp.buf.hover()<CR>
LSP: Hover Documentation
x Q * mode() == 'V' ? ':normal! @<C-R>=reg_recorded()<CR><CR>' : 'Q' x Q * mode() == 'V' ? ':normal! @<C-R>=reg_recorded()<CR><CR>' : 'Q'
:help v_Q-default :help v_Q-default
x S <Plug>VSurround
n Y * y$ n Y * y$
:help Y-default :help Y-default
o [% <Plug>(MatchitOperationMultiBackward) o [% <Plug>(MatchitOperationMultiBackward)
@@ -74,39 +123,27 @@ n ]% <Plug>(MatchitNormalMultiForward)
n ]d * <Lua 14: vim/_defaults.lua:0> n ]d * <Lua 14: vim/_defaults.lua:0>
Jump to the next diagnostic Jump to the next diagnostic
x a% <Plug>(MatchitVisualTextObject) x a% <Plug>(MatchitVisualTextObject)
o al <Lua 247: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n cS <Plug>CSurround
Around last textobject n cs <Plug>Csurround
o an <Lua 246: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n ds <Plug>Dsurround
Around next textobject n dp * <Cmd>lua vim.diagnostic.goto_prev()<CR>
x al <Lua 243: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> Diagnostic: Goto Prev
Around last textobject n dn * <Cmd>lua vim.diagnostic.goto_next()<CR>
x an <Lua 242: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> Diagnostic: Goto Next
Around next textobject
o a <Lua 240: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172>
Around textobject
x a <Lua 238: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172>
Around textobject
n dj * <Lua 26: ~/.local/share/bob/v0.10.0/nvim-macos-arm64/share/nvim/runtime/lua/vim/diagnostic.lua:1222>
Go to next [D]iagnostic message
n dk * <Lua 25: ~/.local/share/bob/v0.10.0/nvim-macos-arm64/share/nvim/runtime/lua/vim/diagnostic.lua:1145>
Go to previous [D]iagnostic message
o g% <Plug>(MatchitOperationBackward) o g% <Plug>(MatchitOperationBackward)
x g% <Plug>(MatchitVisualBackward) x g% <Plug>(MatchitVisualBackward)
n g% <Plug>(MatchitNormalBackward) n g% <Plug>(MatchitNormalBackward)
x gS <Plug>VgSurround
n gR * :RegexplainerToggle<CR> n gR * :RegexplainerToggle<CR>
Toggle Regexplainer Toggle Regexplainer
o g] <Lua 237: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1169> n gD * <Cmd>lua vim.lsp.buf.declaration()<CR>
Move to right "around" LSP: Goto Declaration
x g] <Lua 236: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1169> n gd * <Cmd>lua vim.lsp.buf.definition()<CR>
Move to right "around" LSP: Goto Definition
n g] <Lua 235: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1169> n gr * <Cmd>lua require("telescope.builtin").lsp_references()<CR>
Move to right "around" LSP: Goto References
o g[ <Lua 234: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1168> n gI * <Cmd>lua vim.lsp.buf.implementation()<CR>
Move to left "around" LSP: Goto Implementation
x g[ <Lua 233: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1168>
Move to left "around"
n g[ <Lua 232: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1168>
Move to left "around"
o gc * <Lua 13: vim/_defaults.lua:0> o gc * <Lua 13: vim/_defaults.lua:0>
Comment textobject Comment textobject
n gcc * <Lua 12: vim/_defaults.lua:0> n gcc * <Lua 12: vim/_defaults.lua:0>
@@ -119,54 +156,17 @@ x gx * <Lua 9: vim/_defaults.lua:0>
Opens filepath or URI under cursor with the system handler (file explorer, web browser, …) Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)
n gx * <Lua 8: vim/_defaults.lua:0> n gx * <Lua 8: vim/_defaults.lua:0>
Opens filepath or URI under cursor with the system handler (file explorer, web browser, …) Opens filepath or URI under cursor with the system handler (file explorer, web browser, …)
o il <Lua 249: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n j * v:count == 0 ? 'gj' : 'j'
Inside last textobject Move down
o in <Lua 248: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n k * v:count == 0 ? 'gk' : 'k'
Inside next textobject Move up
x il <Lua 245: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n n * <Lua 51: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
Inside last textobject Twilight
x in <Lua 244: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n ySS <Plug>YSsurround
Inside next textobject n ySs <Plug>YSsurround
o i <Lua 241: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n yss <Plug>Yssurround
Inside textobject n yS <Plug>YSurround
x i <Lua 239: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/ai.lua:1172> n ys <Plug>Ysurround
Inside textobject
n shn * <Lua 266: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Highlight next surrounding
n sFn * <Lua 265: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find next left surrounding
n sfn * <Lua 264: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find next right surrounding
n srn * <Lua 263: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Replace next surrounding
n sdn * <Lua 262: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Delete next surrounding
n shl * <Lua 261: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Highlight previous surrounding
n sFl * <Lua 260: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find previous left surrounding
n sfl * <Lua 259: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find previous right surrounding
n srl * <Lua 258: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Replace previous surrounding
n sdl * <Lua 257: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Delete previous surrounding
x sa * :<C-U>lua MiniSurround.add('visual')<CR>
Add surrounding to selection
n sn * <Lua 256: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:892>
Update `MiniSurround.config.n_lines`
n sh * <Lua 255: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Highlight surrounding
n sF * <Lua 254: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find left surrounding
n sf * <Lua 253: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Find right surrounding
n sr * <Lua 252: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Replace surrounding
n sd * <Lua 251: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Delete surrounding
n sa * <Lua 250: ~/.local/share/nvim-kickstart/lazy/mini.nvim/lua/mini/surround.lua:1252>
Add surrounding
x <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward) x <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
o <Plug>(MatchitOperationMultiForward) * :<C-U>call matchit#MultiMatch("W", "o")<CR> o <Plug>(MatchitOperationMultiForward) * :<C-U>call matchit#MultiMatch("W", "o")<CR>
o <Plug>(MatchitOperationMultiBackward) * :<C-U>call matchit#MultiMatch("bW", "o")<CR> o <Plug>(MatchitOperationMultiBackward) * :<C-U>call matchit#MultiMatch("bW", "o")<CR>
@@ -180,28 +180,44 @@ x <Plug>(MatchitVisualBackward) * :<C-U>call matchit#Match_wrapper('',0,'v')<CR
x <Plug>(MatchitVisualForward) * :<C-U>call matchit#Match_wrapper('',1,'v')<CR>:if col("''") != col("$") | exe ":normal! m'" | endif<CR>gv`` x <Plug>(MatchitVisualForward) * :<C-U>call matchit#Match_wrapper('',1,'v')<CR>:if col("''") != col("$") | exe ":normal! m'" | endif<CR>gv``
n <Plug>(MatchitNormalBackward) * :<C-U>call matchit#Match_wrapper('',0,'n')<CR> n <Plug>(MatchitNormalBackward) * :<C-U>call matchit#Match_wrapper('',0,'n')<CR>
n <Plug>(MatchitNormalForward) * :<C-U>call matchit#Match_wrapper('',1,'n')<CR> n <Plug>(MatchitNormalForward) * :<C-U>call matchit#Match_wrapper('',1,'n')<CR>
n <C-P> * :Files<CR> v <Plug>VgSurround * :<C-U>call <SNR>27_opfunc(visualmode(),visualmode() ==# 'V' ? 0 : 1)<CR>
v <Plug>VSurround * :<C-U>call <SNR>27_opfunc(visualmode(),visualmode() ==# 'V' ? 1 : 0)<CR>
n <Plug>YSurround * <SNR>27_opfunc2('setup')
n <Plug>Ysurround * <SNR>27_opfunc('setup')
n <Plug>YSsurround * <SNR>27_opfunc2('setup').'_'
n <Plug>Yssurround * '^'.v:count1.<SNR>27_opfunc('setup').'g_'
n <Plug>CSurround * :<C-U>call <SNR>27_changesurround(1)<CR>
n <Plug>Csurround * :<C-U>call <SNR>27_changesurround()<CR>
n <Plug>Dsurround * :<C-U>call <SNR>27_dosurround(<SNR>27_inputtarget())<CR>
n <Plug>SurroundRepeat * .
n <C-L> * :<C-U>TmuxNavigateRight<CR>
n <C-Bslash> * :<C-U>TmuxNavigatePrevious<CR>
n <C-J> * :<C-U>TmuxNavigateDown<CR>
n <C-H> * :<C-U>TmuxNavigateLeft<CR>
n <C-K> * :<C-U>TmuxNavigateUp<CR>
s <Plug>luasnip-jump-prev * <Lua 283: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:57>
LuaSnip: Jump to the previous node
s <Plug>luasnip-jump-next * <Lua 282: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:54>
LuaSnip: Jump to the next node
s <Plug>luasnip-prev-choice * <Lua 281: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:51>
LuaSnip: Change to the previous choice from the choiceNode
s <Plug>luasnip-next-choice * <Lua 280: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:48>
LuaSnip: Change to the next choice from the choiceNode
s <Plug>luasnip-expand-snippet * <Lua 279: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:45>
LuaSnip: Expand the current snippet
s <Plug>luasnip-expand-or-jump * <Lua 278: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:42>
LuaSnip: Expand or jump in the current snippet
<Plug>luasnip-expand-repeat * <Lua 276: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:35>
LuaSnip: Repeat last node expansion
n <Plug>luasnip-delete-check * <Lua 274: ~/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua:28>
LuaSnip: Removes current snippet from jumplist
n <Plug>PlenaryTestFile * :lua require('plenary.test_harness').test_file(vim.fn.expand("%:p"))<CR>
n <C-P> * <Lua 26: ~/.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
FZF: search for files starting at current directory. FZF: search for files starting at current directory.
o <Plug>(fzf-maps-o) * <C-C>:<C-U>call fzf#vim#maps('o', 0)<CR>
x <Plug>(fzf-maps-x) * :<C-U>call fzf#vim#maps('x', 0)<CR>
n <Plug>(fzf-maps-n) * :<C-U>call fzf#vim#maps('n', 0)<CR>
n <Plug>(fzf-normal) * <Nop>
n <Plug>(fzf-insert) * i
n <C-Bslash> * <Lua 60: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
n <C-S> * <Cmd>w<CR>
Save file
n <C-K> * <Lua 57: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
n <C-J> * <Lua 56: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
n <C-H> * <Lua 58: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
n <Down> * <Cmd>echo "Use j to move!!"<CR>
n <Up> * <Cmd>echo "Use k to move!!"<CR>
n <Right> * <Cmd>echo "Use l to move!!"<CR>
n <Left> * <Cmd>echo "Use h to move!!"<CR>
n <C-W><C-D> <C-W>d n <C-W><C-D> <C-W>d
Show diagnostics under the cursor Show diagnostics under the cursor
n <C-W>d * <Lua 16: vim/_defaults.lua:0> n <C-W>d * <Lua 16: vim/_defaults.lua:0>
Show diagnostics under the cursor Show diagnostics under the cursor
n <C-L> * <Lua 59: ~/.local/share/nvim-kickstart/lazy/lazy.nvim/lua/lazy/core/handler/keys.lua:121>
``` ```
- Generated on Sat 10 Aug 2024 13:01:59 EEST - Generated on Wed 25 Sep 2024 14:52:25 EEST

View File

@@ -15,7 +15,7 @@ main()
printf "\`\`\`txt" printf "\`\`\`txt"
} > "$DEST" } > "$DEST"
NVIM_APPNAME="nvim-kickstart" nvim -c "redir! >> $DEST" -c 'silent verbose map' -c 'redir END' -c 'q' nvim -c "redir! >> $DEST" -c 'silent verbose map' -c 'redir END' -c 'q'
printf "\n\`\`\`\n\n- Generated on %s\n" "$(date)" >> "$DEST" printf "\n\`\`\`\n\n- Generated on %s\n" "$(date)" >> "$DEST"

View File

@@ -3,7 +3,7 @@
# #
# shellcheck source=shared.sh # shellcheck source=shared.sh
echo "This file has been deprecated in favor of asdf. Please use asdf instead." echo "This file ($0) has been deprecated in favor of asdf. Please use asdf instead."
exit 0 exit 0
eval "$HOME/.dotfiles/config/shared.sh" eval "$HOME/.dotfiles/config/shared.sh"

View File

@@ -2,6 +2,10 @@
# #
# Install fzf # Install fzf
# #
echo "This file ($0) has been deprecated in favor of asdf. Please use asdf instead."
exit 0
# shellcheck source=shared.sh # shellcheck source=shared.sh
eval "$DOTFILES/config/shared.sh" eval "$DOTFILES/config/shared.sh"

View File

@@ -3,7 +3,7 @@
# #
# shellcheck source=shared.sh # shellcheck source=shared.sh
echo "This file has been deprecated in favor of asdf. Please use asdf instead." echo "This file ($0) has been deprecated in favor of asdf. Please use asdf instead."
exit 0 exit 0
eval "$DOTFILES/config/shared.sh" eval "$DOTFILES/config/shared.sh"

View File

@@ -3,7 +3,7 @@
# #
# shellcheck source=shared.sh # shellcheck source=shared.sh
echo "This file has been deprecated in favor of asdf. Please use asdf instead." echo "This file ($0) has been deprecated in favor of asdf. Please use asdf instead."
exit 0 exit 0
eval "$DOTFILES/config/shared.sh" eval "$DOTFILES/config/shared.sh"

View File

@@ -3,7 +3,7 @@
# #
# shellcheck source=shared.sh # shellcheck source=shared.sh
echo "This file has been deprecated in favor of asdf. Please use asdf instead." echo "This file ($0) has been deprecated in favor of asdf. Please use asdf instead."
exit 0 exit 0
source "${DOTFILES}/config/shared.sh" source "${DOTFILES}/config/shared.sh"