-- ----------------------------------------------------------------------------- -- -------------------------------- KEYBINDS ----------------------------------- -- ----------------------------------------------------------------------------- -- --------------------------------- Keymaps ----------------------------------- -- Initialize which-key local wk = require("which-key") wk.add({ { -- Toggle Terminal mode = "n", "", ":ToggleTerm", desc = "Toggle Terminal", }, { -- Open LazyGit in terminal "gt", rhs = function() require("config.rootiest").toggle_lazygit_term() end, desc = "LazyGit Terminal", }, -- Icon Picker group { mode = "n", lhs = "I", group = "IconPicker", icon = { icon = "󰥸", color = "orange" }, cond = function() return pcall(require, "icon-picker") end, }, -- Pick Icon { mode = "n", lhs = "Ii", rhs = "IconPickerNormal", desc = "Pick Icon", group = "IconPicker", cond = function() return pcall(require, "icon-picker") end, }, -- Yank Icon { mode = "n", lhs = "Iy", rhs = "IconPickerYank", desc = "Yank Icon", group = "IconPicker", cond = function() return pcall(require, "icon-picker") end, }, -- Insert Icon in insert mode { mode = "i", lhs = "", rhs = "IconPickerInsert", desc = "Insert Icon", group = "IconPicker", cond = function() return pcall(require, "icon-picker") end, }, -- Gists group { mode = "n", lhs = "gn", group = "Gists", icon = { icon = "", color = "orange" }, cond = function() return pcall(require, "gist") end, }, -- Create Gist { mode = { "n", "x" }, lhs = "gnc", rhs = "GistCreate", desc = "Create Gist", cond = function() return pcall(require, "gist") end, }, -- Find Gists { mode = "n", lhs = "gnf", rhs = "GistList", desc = "Find Gists", cond = function() return pcall(require, "gist") end, }, { -- Lazy group "l", group = "Lazy", }, { -- LazyVim "lv", "Lazy", desc = "LazyVim", }, { -- LazyExtras "lx", "LazyExtras", desc = "LazyExtras", }, { -- MiniMap "m", group = "MiniMap", icon = { icon = "", color = "yellow" }, }, -- Save selected code snapshot into clipboard { mode = "x", lhs = "cy", rhs = "CodeSnap", desc = "Save selected code snapshot into clipboard", cond = function() return pcall(require, "codesnap") end, }, -- Save selected code snapshot in ~/Pictures { mode = "x", lhs = "cs", rhs = "CodeSnapSave", desc = "Save selected code snapshot in ~/Pictures", cond = function() return pcall(require, "codesnap") end, }, -- Highlight and snapshot selected code into clipboard { mode = "x", lhs = "ch", rhs = "CodeSnapHighlight", desc = "Highlight and snapshot selected code into clipboard", cond = function() return pcall(require, "codesnap") end, }, -- Save ASCII code snapshot into clipboard { mode = "x", lhs = "ci", rhs = "CodeSnapASCII", desc = "Save ASCII code snapshot into clipboard", cond = function() return pcall(require, "codesnap") end, }, { "gx", "Browse", mode = { "n", "x" }, desc = "Open URL/Link", }, { "lg", "LazyGit", desc = "LazyGit", }, { "fs", rhs = function() require("rip-substitute").sub() end, mode = { "n", "x" }, desc = "Rip Substitute", }, { "", rhs = function() require("kitty-navigator").navigateLeft() end, desc = "KittyNavigateLeft", cond = function() -- Using Kitty return require("config.rootiest").using_kitty() end, }, { "", rhs = function() require("kitty-navigator").navigateDown() end, desc = "KittyNavigateDown", cond = function() -- Using Kitty return require("config.rootiest").using_kitty() end, }, { "", rhs = function() require("kitty-navigator").navigateUp() end, desc = "KittyNavigateUp", cond = function() -- Using Kitty return require("config.rootiest").using_kitty() end, }, { "", rhs = function() require("kitty-navigator").navigateRight() end, desc = "KittyNavigateRight", cond = function() -- Using Kitty return require("config.rootiest").using_kitty() end, }, { "zk", rhs = function() require("config.rootiest").toggle_precognition() end, desc = "Toggle Precognition", }, { "a", "Alternate", desc = "Toggle Alternate", cond = function() return ( vim.bo.filetype == "c" or vim.bo.filetype == "h" or vim.bo.filetype == "cpp" or vim.bo.filetype == "hpp" ) end, }, { "wt", rhs = function() require("transparent").toggle() end, desc = "Toggle Transparency", }, { mode = "x", lhs = "r", rhs = function() require("substitute").visual() end, desc = "Substitute", }, { "yo", rhs = function() require("config.rootiest").yank_line() end, desc = "Yank Line-text", }, { -- Toggle Hardmode with Hints "h", rhs = function() require("config.rootiest").toggle_hardmode() end, desc = "Toggle Hardmode", }, { -- Toggle ZenMode "z", rhs = function() require("zen-mode").toggle() end, desc = "Toggle ZenMode", }, -- Substitute operator in normal mode { mode = "n", lhs = "x", rhs = function() require("substitute").operator() end, desc = "Substitute operator", cond = function() return pcall(require, "substitute") end, }, -- Substitute line in normal mode { mode = "n", lhs = "xx", rhs = function() require("substitute").line() end, desc = "Substitute line", cond = function() return pcall(require, "substitute") end, }, -- Substitute end of line in normal mode { mode = "n", lhs = "X", rhs = function() require("substitute").eol() end, desc = "Substitute end of line", cond = function() return pcall(require, "substitute") end, }, -- Substitute visual selection in visual mode { mode = "x", lhs = "x", rhs = function() require("substitute").visual() end, desc = "Substitute visual selection", cond = function() return pcall(require, "substitute") end, }, { "u,", group = "Font" }, { "u,l", "Nekifoch list", desc = "Fonts list" }, { "u,c", "Nekifoch check", desc = "Check current font settings", }, { "u,f", rhs = function() require("nekifoch.nui_set_font")() end, desc = "Set font family", }, { "u,s", rhs = function() require("nekifoch.nui_set_size")() end, desc = "Set font size", }, { -- Yank buffer contents "Y", "%y", desc = "Yank buffer contents", }, })