1

Neovim: Update neovim module

This commit is contained in:
2024-06-03 20:37:56 +02:00
parent 3787e991b8
commit 3877bcd7cb
3 changed files with 972 additions and 910 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,492 +2,497 @@
lib, lib,
mylib, mylib,
... ...
}: [ }: let
# No Leader no-leader = [
{ {
mode = "n"; mode = "n";
key = "<C-s>"; key = "<C-s>";
action = "<cmd>w<CR>"; action = "<cmd>w<CR>";
options.desc = "Save current buffer"; options.desc = "Save current buffer";
} }
{ {
mode = "n"; mode = "n";
key = "<C-S-s>"; key = "<C-S-s>";
action = "<cmd>wa<CR>"; action = "<cmd>wa<CR>";
options.desc = "Save all buffers"; options.desc = "Save all buffers";
} }
{ {
mode = "v"; mode = "v";
key = "<"; key = "<";
action = "<gv"; action = "<gv";
options.desc = "Outdent"; options.desc = "Outdent";
} }
{ {
mode = "v"; mode = "v";
key = ">"; key = ">";
action = ">gv"; action = ">gv";
options.desc = "Indent"; options.desc = "Indent";
} }
{ {
mode = "n"; mode = "n";
key = "<"; key = "<";
action = "v<<Esc>"; action = "v<<Esc>";
options.desc = "Outdent"; options.desc = "Outdent";
} }
{ {
mode = "n"; mode = "n";
key = ">"; key = ">";
action = "v><Esc>"; action = "v><Esc>";
options.desc = "Indent"; options.desc = "Indent";
} }
{ {
mode = "n"; mode = "n";
key = "<C-d>"; key = "<C-d>";
action = "<C-d>zz"; action = "<C-d>zz";
options.desc = "Jump down"; options.desc = "Jump down (centered)";
} }
{ {
mode = "n"; mode = "n";
key = "<C-u>"; key = "<C-u>";
action = "<C-u>zz"; action = "<C-u>zz";
options.desc = "Jump up"; options.desc = "Jump up (centered)";
} }
{ {
mode = "n"; mode = "n";
key = "n"; key = "n";
action = "nzzzv"; action = "nzzzv";
options.desc = "Next match"; options.desc = "Next match (centered)";
} }
{ {
mode = "n"; mode = "n";
key = "N"; key = "N";
action = "Nzzzv"; action = "Nzzzv";
options.desc = "Previous match"; options.desc = "Previous match (centered)";
} }
{ {
mode = "i"; mode = "i";
key = "<Tab>"; key = "<Tab>";
action = "<cmd>lua require('intellitab').indent()<CR>"; action = "<cmd>lua require('intellitab').indent()<CR>";
options.desc = "Indent"; options.desc = "Indent (IntelliTab)";
} }
{ {
mode = "i"; mode = "i";
key = "<C-BS>"; key = "<C-BS>";
action = "<C-w>"; action = "<C-w>";
options.desc = "Delete previous word"; options.desc = "Delete previous word"; # TODO: Breaks backspace <C-v><S-i> multiline cursor?
} }
{ {
mode = "i"; mode = "i";
key = "<M-BS>"; key = "<M-BS>";
action = "<C-w>"; action = "<C-w>";
options.desc = "Delete previous word"; options.desc = "Delete previous word"; # TODO: Breaks backspace <C-v><S-i> multiline cursor?
} }
{ {
mode = "i"; mode = "i";
key = "<C-S-v>"; key = "<C-S-v>";
action = "<Esc>\"+pi"; action = "<Esc>\"+pi";
options.desc = "Paste from clipboard"; options.desc = "Paste from clipboard";
} }
{ {
mode = "i"; mode = "i";
key = "<C-v>"; key = "<C-v>";
action = "<Esc>\"+pi"; action = "<Esc>\"+pi";
options.desc = "Paste from clipboard"; options.desc = "Paste from clipboard";
} }
{ {
mode = "v"; mode = "v";
key = "<C-S-c>"; key = "<C-S-c>";
action = "\"+y"; action = "\"+y";
options.desc = "Copy to clipboard"; options.desc = "Copy to clipboard";
} }
{ {
mode = "n"; mode = "n";
key = "<C-h>"; key = "<C-h>";
action = "<cmd>nohlsearch<CR>"; action = "<cmd>nohlsearch<CR>";
options.desc = "Clear search highlights"; options.desc = "Clear search highlights";
} }
{ {
mode = "n"; mode = "n";
key = "K"; key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<CR>"; action = "<cmd>lua vim.lsp.buf.hover()<CR>";
options.desc = "Show LSP hover"; options.desc = "Show LSP hover";
} }
];
# General <leader> leader = [
{ {
mode = "n"; mode = "n";
key = "<leader>qq"; key = "<leader>L";
action = "<cmd>quitall<CR>"; action = "<cmd>Lazy<CR>";
options.desc = "Quit"; options.desc = "Show Lazy";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>q!"; key = "<leader><Space>";
action = "<cmd>quitall!<CR>"; action = "<cmd>Telescope buffers<CR>";
options.desc = "Forceful quit"; options.desc = "Show open buffers";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>L"; key = "<leader>S";
action = "<cmd>Lazy<CR>"; action = "<cmd>wa<CR>";
options.desc = "Show Lazy"; options.desc = "Save all buffers";
} }
{ {
mode = "n"; mode = "n";
key = "<leader><Space>"; key = "<leader>f";
action = "<cmd>Telescope buffers<CR>"; action = "<cmd>Telescope find_files<CR>";
options.desc = "Show open buffers"; options.desc = "Find file";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>S"; key = "<leader>o";
action = "<cmd>wa<CR>"; action = "<cmd>Telescope vim_options<CR>";
options.desc = "Save all buffers"; options.desc = "Show Vim options";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>f"; key = "<leader>u";
action = "<cmd>Telescope find_files<CR>"; action = "<cmd>Telescope undo<CR>";
options.desc = "Find file"; options.desc = "Show undo history";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>o"; key = "<leader>/";
action = "<cmd>Telescope vim_options<CR>"; action = "<cmd>Telescope current_buffer_fuzzy_find<CR>";
options.desc = "Show Vim options"; options.desc = "Find in current buffer";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>u"; key = "<leader>n";
action = "<cmd>Telescope undo<CR>"; action = "<cmd>Telescope notify<CR>";
options.desc = "Show undo history"; options.desc = "Show notify history";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>/"; key = "<leader>s";
action = "<cmd>Telescope current_buffer_fuzzy_find<CR>"; action = "<cmd>Telescope live_grep<CR>";
options.desc = "Find in current buffer"; options.desc = "Find in working directory";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>n"; key = "<leader>r";
action = "<cmd>Telescope notify<CR>"; action = "<cmd>Telescope resume<CR>";
options.desc = "Show notify history"; options.desc = "Show last telescope picker";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>s"; key = "<leader>?";
action = "<cmd>Telescope live_grep<CR>"; action = "<cmd>Telescope keymaps<CR>";
options.desc = "Find in working directory"; options.desc = "Show keymaps";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>r"; key = "<leader>:";
action = "<cmd>Telescope resume<CR>"; action = "<cmd>Telescope commands<CR>";
options.desc = "Show last telescope picker"; options.desc = "Execute command";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>?"; key = "<leader>M";
action = "<cmd>Telescope keymaps<CR>"; action = "<cmd>Telescope marks<CR>";
options.desc = "Show keymaps"; options.desc = "Show marks";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>:"; key = "<leader>J";
action = "<cmd>Telescope commands<CR>"; action = "<cmd>Telescope jumplist<CR>";
options.desc = "Execute command"; options.desc = "Show jumplist";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>M"; key = "<leader>m";
action = "<cmd>Telescope marks<CR>"; action = "<cmd>Telescope man_pages<CR>";
options.desc = "Show marks"; options.desc = "Show manpages";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>J"; key = "<leader>h";
action = "<cmd>Telescope jumplist<CR>"; action = "<cmd>Telescope help_tags<CR>";
options.desc = "Show jumplist"; options.desc = "Show help tags";
} }
{ ];
mode = "n";
key = "<leader>m";
action = "<cmd>Telescope man_pages<CR>";
options.desc = "Show manpages";
}
{
mode = "n";
key = "<leader>h";
action = "<cmd>Telescope help_tags<CR>";
options.desc = "Show help tags";
}
# Quit <leader>q leader-quit = [
{ {
mode = "n"; mode = "n";
key = "<leader>q"; key = "<leader>q";
action = "+quit"; action = "+quit";
} }
{
mode = "n";
key = "<leader>qq";
action = "<cmd>quitall<CR>";
options.desc = "Quit";
}
{
mode = "n";
key = "<leader>q!";
action = "<cmd>quitall!<CR>";
options.desc = "Quit forcefully";
}
];
# Buffers <leader>b leader-buffers = [
{ {
mode = "n"; mode = "n";
key = "<leader>b"; key = "<leader>b";
action = "+buffers"; action = "+buffers";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>bb"; key = "<leader>bb";
action = "<cmd>Telescope buffers<CR>"; action = "<cmd>Telescope buffers<CR>";
options.desc = "Show open buffers"; options.desc = "Show open buffers";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>bn"; key = "<leader>bn";
action = "<cmd>bnext<CR>"; action = "<cmd>bnext<CR>";
options.desc = "Goto next buffer"; options.desc = "Goto next buffer";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>bp"; key = "<leader>bp";
action = "<cmd>bprevious<CR>"; action = "<cmd>bprevious<CR>";
options.desc = "Goto previous buffer"; options.desc = "Goto previous buffer";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>bd"; key = "<leader>bd";
action = "<cmd>Bdelete<CR>"; action = "<cmd>Bdelete<CR>";
options.desc = "Close current buffer"; options.desc = "Close current buffer";
} }
];
# Windows <leader>w leader-windows = [
{ {
mode = "n"; mode = "n";
key = "<leader>w"; key = "<leader>w";
action = "+windows"; action = "+windows";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>ws"; key = "<leader>ws";
action = "<C-w>s"; action = "<C-w>s";
options.desc = "Split window horizontally"; options.desc = "Split window horizontally";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>wv"; key = "<leader>wv";
action = "<C-w>v"; action = "<C-w>v";
options.desc = "Split window vertically"; options.desc = "Split window vertically";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>wd"; key = "<leader>w=";
action = "<C-w>c"; action = "<C-w>=";
options.desc = "Close current window"; options.desc = "Balance windows";
} }
# { {
# mode = "n"; mode = "n";
# key = "<leader>wh"; key = "<leader>wd";
# action = "<C-W>s"; action = "<C-w>c";
# options.desc = "Split window horizontally"; options.desc = "Close current window";
# } }
{ {
mode = "n"; mode = "n";
key = "<leader>wh"; key = "<leader>wh";
action = "<C-w>h"; action = "<C-w>h";
options.desc = "Goto left window"; options.desc = "Goto left window";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>wl"; key = "<leader>wl";
action = "<C-w>l"; action = "<C-w>l";
options.desc = "Goto right window"; options.desc = "Goto right window";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>wj"; key = "<leader>wj";
action = "<C-w>j"; action = "<C-w>j";
options.desc = "Goto bottom window"; options.desc = "Goto bottom window";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>wk"; key = "<leader>wk";
action = "<C-w>k"; action = "<C-w>k";
options.desc = "Goto top window"; options.desc = "Goto top window";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>ww"; key = "<leader>ww";
action = "<C-w>p"; action = "<C-w>p";
options.desc = "Goto other window"; options.desc = "Goto other window";
} }
];
# Toggles <leader>t leader-toggles = [
{ {
mode = "n"; mode = "n";
key = "<leader>t"; key = "<leader>t";
action = "+toggle"; action = "+toggle";
} }
# { {
# mode = "n"; mode = "n";
# key = "<leader>tt"; key = "<leader>tt";
# action = "<cmd>Neotree action=show toggle=true<CR>"; action = "<cmd>Neotree action=show toggle=true<CR>";
# options.desc = "Toggle NeoTree"; options.desc = "Toggle NeoTree";
# } }
{ # {
mode = "n"; # mode = "n";
key = "<leader>tt"; # key = "<leader>tt";
action = "<cmd>CHADopen --nofocus<CR>"; # action = "<cmd>CHADopen --nofocus<CR>";
options.desc = "Toggle CHADtree"; # options.desc = "Toggle CHADtree";
} # }
{ {
mode = "n"; mode = "n";
key = "<leader>tn"; key = "<leader>tn";
action = "<cmd>Navbuddy<CR>"; action = "<cmd>Navbuddy<CR>";
options.desc = "Toggle NavBuddy"; options.desc = "Toggle NavBuddy";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>td"; key = "<leader>td";
action = "<cmd>TroubleToggle focus=false<CR>"; action = "<cmd>TroubleToggle focus=false<CR>";
options.desc = "Toggle Trouble"; options.desc = "Toggle Trouble";
} }
# { ];
# mode = "n";
# key = "<leader>tg";
# action = "<cmd>LazyGit<CR>";
# }
# {
# mode = "n";
# key = "<leader>tp";
# action = "<cmd>TroubleToggle<CR>";
# }
# Git <leader>g leader-git = [
{ {
mode = "n"; mode = "n";
key = "<leader>g"; key = "<leader>g";
action = "+git"; action = "+git";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>gg"; key = "<leader>gg";
action = "<cmd>LazyGit<CR>"; action = "<cmd>LazyGit<CR>";
options.desc = "Show LazyGit"; options.desc = "Show LazyGit";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>gm"; key = "<leader>gm";
action = "<cmd>GitMessenger<CR>"; action = "<cmd>GitMessenger<CR>";
options.desc = "Show GitMessenger"; options.desc = "Show GitMessenger";
} }
# { {
# mode = "n"; mode = "n";
# key = "<leader>gs"; key = "<leader>gs";
# action = "<cmd>Git status<CR>"; action = "<cmd>Telescope git_status<CR>";
# } options.desc = "Show Git status";
{ }
mode = "n"; {
key = "<leader>gs"; mode = "n";
action = "<cmd>Telescope git_status<CR>"; key = "<leader>gc";
options.desc = "Show Git status"; action = "<cmd>Telescope git_commits<CR>";
} options.desc = "Show Git log";
{ }
mode = "n"; {
key = "<leader>gc"; mode = "n";
action = "<cmd>Telescope git_commits<CR>"; key = "<leader>gb";
options.desc = "Show Git log"; action = "<cmd>Telescope git_branches<CR>";
} options.desc = "Show Git branches";
{ }
mode = "n"; {
key = "<leader>gb"; mode = "n";
action = "<cmd>Telescope git_branches<CR>"; key = "<leader>gf";
options.desc = "Show Git branches"; action = "<cmd>Telescope git_bcommits<CR>";
} options.desc = "Show Git log for current file";
{ }
mode = "n"; ];
key = "<leader>gf";
action = "<cmd>Telescope git_bcommits<CR>";
options.desc = "Show Git log for current file";
}
# LSP <leader>l leader-lsp = [
{ {
mode = "n"; mode = "n";
key = "<leader>l"; key = "<leader>l";
action = "+lsp"; action = "+lsp";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>lr"; key = "<leader>lr";
action = "<cmd>Telescope lsp_references<CR>"; action = "<cmd>Telescope lsp_references<CR>";
options.desc = "Goto references"; options.desc = "Goto references";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>ld"; key = "<leader>ld";
action = "<cmd>Telescope lsp_definitions<CR>"; action = "<cmd>Telescope lsp_definitions<CR>";
options.desc = "Goto definition"; options.desc = "Goto definition";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>li"; key = "<leader>li";
action = "<cmd>Telescope lsp_implementations<CR>"; action = "<cmd>Telescope lsp_implementations<CR>";
options.desc = "Goto implementation"; options.desc = "Goto implementation";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>lt"; key = "<leader>lt";
action = "<cmd>Telescope lsp_type_definitions<CR>"; action = "<cmd>Telescope lsp_type_definitions<CR>";
options.desc = "Goto type definition"; options.desc = "Goto type definition";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>lI"; key = "<leader>lI";
action = "<cmd>Telescope lsp_incoming_calls<CR>"; action = "<cmd>Telescope lsp_incoming_calls<CR>";
options.desc = "Show incoming calls"; options.desc = "Show incoming calls";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>lO"; key = "<leader>lO";
action = "<cmd>Telescope lsp_outgoing_calls<CR>"; action = "<cmd>Telescope lsp_outgoing_calls<CR>";
options.desc = "Show outgoing calls"; options.desc = "Show outgoing calls";
} }
];
# Code <leader>c leader-code = [
{ {
mode = "n"; mode = "n";
key = "<leader>c"; key = "<leader>c";
action = "+code"; action = "+code";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>cf"; key = "<leader>cf";
action = "<cmd>lua require('conform').format()<CR>"; action = "<cmd>lua require('conform').format()<CR>";
options.desc = "Format current buffer"; options.desc = "Format current buffer";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>cd"; key = "<leader>cd";
action = "<cmd>Telescope diagnostics<CR>"; action = "<cmd>Telescope diagnostics<CR>";
options.desc = "Show diagnostics"; options.desc = "Show diagnostics";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>cr"; key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.rename()<CR>"; action = "<cmd>lua vim.lsp.buf.rename()<CR>";
options.desc = "Rename LSP symbol"; options.desc = "Rename LSP symbol";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>ca"; key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<CR>"; action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
options.desc = "Show LSP code actions"; options.desc = "Show LSP code actions";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>cD"; key = "<leader>cD";
action = "<cmd>lua vim.diagnostic.open_float()<CR>"; action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Show LSP line diagnostics"; options.desc = "Show LSP line diagnostics";
} }
] ];
in
builtins.concatLists [
no-leader
leader
leader-quit
leader-buffers
leader-windows
leader-toggles
leader-git
leader-lsp
leader-code
]

View File

@ -1,6 +1,6 @@
fork = true # Start neovide detached fork = true # Start neovide detached
frame = "none" # full, buttonless, none frame = "none" # full, buttonless, none
idle = true # Don't render frames without changes idle = true # Don't render frames without changes
# maximized = true
title-hidden = true title-hidden = true
# maximized = true
# vsync = true # vsync = true