|
@@ -1,9 +1,17 @@
|
|
|
-{ lib
|
|
|
|
|
-, ...
|
|
|
|
|
|
|
+{
|
|
|
|
|
+ lib,
|
|
|
|
|
+ ...
|
|
|
}:
|
|
}:
|
|
|
let
|
|
let
|
|
|
inherit (lib.nixvim) mkRaw;
|
|
inherit (lib.nixvim) mkRaw;
|
|
|
- keyMap = mode: key: action: options: { inherit mode key action options; };
|
|
|
|
|
|
|
+ keyMap = mode: key: action: options: {
|
|
|
|
|
+ inherit
|
|
|
|
|
+ mode
|
|
|
|
|
+ key
|
|
|
|
|
+ action
|
|
|
|
|
+ options
|
|
|
|
|
+ ;
|
|
|
|
|
+ };
|
|
|
in
|
|
in
|
|
|
{
|
|
{
|
|
|
keymaps = [
|
|
keymaps = [
|
|
@@ -29,51 +37,48 @@ in
|
|
|
(keyMap "n" "<C-s>" "<cmd>w<CR>" { desc = "general save file"; })
|
|
(keyMap "n" "<C-s>" "<cmd>w<CR>" { desc = "general save file"; })
|
|
|
(keyMap "n" "<C-c>" "<cmd>%y+<CR>" { desc = "general copy whole file"; })
|
|
(keyMap "n" "<C-c>" "<cmd>%y+<CR>" { desc = "general copy whole file"; })
|
|
|
|
|
|
|
|
- (keyMap "n" "<leader>n" "<cmd>set nu!<CR>" { desc = "toggle line number"; })
|
|
|
|
|
(keyMap "n" "<leader>rn" "<cmd>set rnu!<CR>" { desc = "toggle relative number"; })
|
|
(keyMap "n" "<leader>rn" "<cmd>set rnu!<CR>" { desc = "toggle relative number"; })
|
|
|
(keyMap "n" "<leader>ch" "<cmd>NvCheatsheet<CR>" { desc = "toggle nvcheatsheet"; })
|
|
(keyMap "n" "<leader>ch" "<cmd>NvCheatsheet<CR>" { desc = "toggle nvcheatsheet"; })
|
|
|
|
|
|
|
|
- (keyMap [ "n" "x" ] "<leader>fm"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function ()
|
|
|
|
|
- require("conform").format { lsp_fallback = true }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "general format file"; })
|
|
|
|
|
|
|
+ (keyMap [ "n" "x" ] "<leader>fm" (mkRaw ''
|
|
|
|
|
+ function ()
|
|
|
|
|
+ require("conform").format { lsp_fallback = true }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "general format file"; })
|
|
|
|
|
|
|
|
# global lsp keyMappings
|
|
# global lsp keyMappings
|
|
|
- (keyMap "n" "<leader>ds" (mkRaw ''vim.diagnostic.setloclist'') { desc = "LSP diagnostic loclist"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>ds" (mkRaw "vim.diagnostic.setloclist") { desc = "LSP diagnostic loclist"; })
|
|
|
|
|
|
|
|
# -- tabufline
|
|
# -- tabufline
|
|
|
(keyMap "n" "<leader>b" "<cmd>enew<CR>" { desc = "buffer new"; })
|
|
(keyMap "n" "<leader>b" "<cmd>enew<CR>" { desc = "buffer new"; })
|
|
|
|
|
|
|
|
- (keyMap "n" "<tab>"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.tabufline").next()
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "buffer goto next"; })
|
|
|
|
|
-
|
|
|
|
|
- (keyMap "n" "<S-tab>"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.tabufline").prev()
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "buffer goto prev"; })
|
|
|
|
|
-
|
|
|
|
|
- (keyMap "n" "<leader>x"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.tabufline").close_buffer()
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "buffer close"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<tab>" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.tabufline").next()
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "buffer goto next"; })
|
|
|
|
|
+
|
|
|
|
|
+ (keyMap "n" "<S-tab>" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.tabufline").prev()
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "buffer goto prev"; })
|
|
|
|
|
+
|
|
|
|
|
+ (keyMap "n" "<leader>x" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.tabufline").close_buffer()
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "buffer close"; })
|
|
|
|
|
|
|
|
# Comment
|
|
# Comment
|
|
|
- (keyMap "n" "<leader>/" "gcc" { desc = "toggle comment"; remap = true; })
|
|
|
|
|
- (keyMap "v" "<leader>/" "gc" { desc = "toggle comment"; remap = true; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>/" "gcc" {
|
|
|
|
|
+ desc = "toggle comment";
|
|
|
|
|
+ remap = true;
|
|
|
|
|
+ })
|
|
|
|
|
+ (keyMap "v" "<leader>/" "gc" {
|
|
|
|
|
+ desc = "toggle comment";
|
|
|
|
|
+ remap = true;
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
# nvimtree
|
|
# nvimtree
|
|
|
(keyMap "n" "<C-n>" "<cmd>NvimTreeToggle<CR>" { desc = "nvimtree toggle window"; })
|
|
(keyMap "n" "<C-n>" "<cmd>NvimTreeToggle<CR>" { desc = "nvimtree toggle window"; })
|
|
@@ -85,85 +90,75 @@ in
|
|
|
(keyMap "n" "<leader>fh" "<cmd>Telescope help_tags<CR>" { desc = "telescope help page"; })
|
|
(keyMap "n" "<leader>fh" "<cmd>Telescope help_tags<CR>" { desc = "telescope help page"; })
|
|
|
(keyMap "n" "<leader>ma" "<cmd>Telescope marks<CR>" { desc = "telescope find marks"; })
|
|
(keyMap "n" "<leader>ma" "<cmd>Telescope marks<CR>" { desc = "telescope find marks"; })
|
|
|
(keyMap "n" "<leader>fo" "<cmd>Telescope oldfiles<CR>" { desc = "telescope find oldfiles"; })
|
|
(keyMap "n" "<leader>fo" "<cmd>Telescope oldfiles<CR>" { desc = "telescope find oldfiles"; })
|
|
|
- (keyMap "n" "<leader>fz" "<cmd>Telescope current_buffer_fuzzy_find<CR>" { desc = "telescope find in current buffer"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>fz" "<cmd>Telescope current_buffer_fuzzy_find<CR>" {
|
|
|
|
|
+ desc = "telescope find in current buffer";
|
|
|
|
|
+ })
|
|
|
(keyMap "n" "<leader>cm" "<cmd>Telescope git_commits<CR>" { desc = "telescope git commits"; })
|
|
(keyMap "n" "<leader>cm" "<cmd>Telescope git_commits<CR>" { desc = "telescope git commits"; })
|
|
|
(keyMap "n" "<leader>gt" "<cmd>Telescope git_status<CR>" { desc = "telescope git status"; })
|
|
(keyMap "n" "<leader>gt" "<cmd>Telescope git_status<CR>" { desc = "telescope git status"; })
|
|
|
(keyMap "n" "<leader>pt" "<cmd>Telescope terms<CR>" { desc = "telescope pick hidden term"; })
|
|
(keyMap "n" "<leader>pt" "<cmd>Telescope terms<CR>" { desc = "telescope pick hidden term"; })
|
|
|
|
|
|
|
|
- (keyMap "n" "<leader>th"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.themes").open()
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "telescope nvchad themes"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>th" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.themes").open()
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "telescope nvchad themes"; })
|
|
|
|
|
|
|
|
(keyMap "n" "<leader>ff" "<cmd>Telescope find_files<cr>" { desc = "telescope find files"; })
|
|
(keyMap "n" "<leader>ff" "<cmd>Telescope find_files<cr>" { desc = "telescope find files"; })
|
|
|
- (keyMap "n" "<leader>fa" "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>" { desc = "telescope find all files"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>fa" "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>" {
|
|
|
|
|
+ desc = "telescope find all files";
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
# terminal
|
|
# terminal
|
|
|
(keyMap "t" "<C-x>" "<C-\\><C-N>" { desc = "terminal escape terminal mode"; })
|
|
(keyMap "t" "<C-x>" "<C-\\><C-N>" { desc = "terminal escape terminal mode"; })
|
|
|
|
|
|
|
|
# new terminals
|
|
# new terminals
|
|
|
- (keyMap "n" "<leader>h"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.term").new { pos = "sp" }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "terminal new horizontal term"; })
|
|
|
|
|
-
|
|
|
|
|
- (keyMap "n" "<leader>v"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.term").new { pos = "vsp" }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "terminal new vertical term"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>h" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.term").new { pos = "sp" }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "terminal new horizontal term"; })
|
|
|
|
|
+
|
|
|
|
|
+ (keyMap "n" "<leader>v" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.term").new { pos = "vsp" }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "terminal new vertical term"; })
|
|
|
|
|
|
|
|
# toggleable
|
|
# toggleable
|
|
|
- (keyMap [ "n" "t" ] "<A-v>"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm" }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "terminal toggleable vertical term"; })
|
|
|
|
|
-
|
|
|
|
|
- (keyMap [ "n" "t" ] "<A-h>"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "terminal toggleable horizontal term"; })
|
|
|
|
|
-
|
|
|
|
|
- (keyMap [ "n" "t" ] "<A-i>"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- require("nvchad.term").toggle {
|
|
|
|
|
- pos = "float",
|
|
|
|
|
- id = "floatTerm",
|
|
|
|
|
- floatOpts = {
|
|
|
|
|
- row = .04,
|
|
|
|
|
- col = .04,
|
|
|
|
|
- width = .9,
|
|
|
|
|
- height = .9,
|
|
|
|
|
- },
|
|
|
|
|
- }
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "terminal toggle floating term"; })
|
|
|
|
|
|
|
+ (keyMap [ "n" "t" ] "<A-v>" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm" }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "terminal toggleable vertical term"; })
|
|
|
|
|
+
|
|
|
|
|
+ (keyMap [ "n" "t" ] "<A-h>" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "terminal toggleable horizontal term"; })
|
|
|
|
|
+
|
|
|
|
|
+ (keyMap [ "n" "t" ] "<A-i>" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ require("nvchad.term").toggle {
|
|
|
|
|
+ pos = "float",
|
|
|
|
|
+ id = "floatTerm",
|
|
|
|
|
+ floatOpts = {
|
|
|
|
|
+ row = .04,
|
|
|
|
|
+ col = .04,
|
|
|
|
|
+ width = .9,
|
|
|
|
|
+ height = .9,
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "terminal toggle floating term"; })
|
|
|
|
|
|
|
|
# whichkey
|
|
# whichkey
|
|
|
(keyMap "n" "<leader>wK" "<cmd>WhichKey <CR>" { desc = "whichkey all keymaps"; })
|
|
(keyMap "n" "<leader>wK" "<cmd>WhichKey <CR>" { desc = "whichkey all keymaps"; })
|
|
|
|
|
|
|
|
- (keyMap "n" "<leader>wk"
|
|
|
|
|
- (mkRaw ''
|
|
|
|
|
- function()
|
|
|
|
|
- vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
|
|
|
|
|
- end
|
|
|
|
|
- '')
|
|
|
|
|
- { desc = "whichkey query lookup"; })
|
|
|
|
|
|
|
+ (keyMap "n" "<leader>wk" (mkRaw ''
|
|
|
|
|
+ function()
|
|
|
|
|
+ vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
|
|
|
|
|
+ end
|
|
|
|
|
+ '') { desc = "whichkey query lookup"; })
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|