diff --git a/modules/_neovim/mappings.nix b/modules/_neovim/mappings.nix index c9c935e..a85d228 100644 --- a/modules/_neovim/mappings.nix +++ b/modules/_neovim/mappings.nix @@ -348,6 +348,98 @@ action = ":lua vim.lsp.buf.definition()"; options.desc = "Source definition"; } + # t - tab + { + mode = "n"; + key = "tc"; + action = ":tabclose"; + options.desc = "Close tab"; + } + { + mode = "n"; + key = "tn"; + action = ":tabnew"; + options.desc = "New tab"; + } + { + mode = "n"; + key = "to"; + action = ":tabonly"; + options.desc = "Close other tabs"; + } + { + mode = "n"; + key = "th"; + action = ":tabprevious"; + options.desc = "Previous tab"; + } + { + mode = "n"; + key = "tl"; + action = ":tabnext"; + options.desc = "Next tab"; + } + # w - window + { + mode = "n"; + key = "wh"; + action = "h"; + options.desc = "Go left"; + } + { + mode = "n"; + key = "wj"; + action = "j"; + options.desc = "Go down"; + } + { + mode = "n"; + key = "wk"; + action = "k"; + options.desc = "Go up"; + } + { + mode = "n"; + key = "wl"; + action = "l"; + options.desc = "Go right"; + } + { + mode = "n"; + key = "ws"; + action = ":split"; + options.desc = "Split horizontal"; + } + { + mode = "n"; + key = "wv"; + action = ":vsplit"; + options.desc = "Split vertical"; + } + { + mode = "n"; + key = "wc"; + action = ":close"; + options.desc = "Close window"; + } + { + mode = "n"; + key = "wq"; + action = ":q"; + options.desc = "Quit window"; + } + { + mode = "n"; + key = "wo"; + action = ":only"; + options.desc = "Close other windows"; + } + { + mode = "n"; + key = "w="; + action = "="; + options.desc = "Equalize windows"; + } # other { mode = "n"; diff --git a/modules/_neovim/plugins/mini.nix b/modules/_neovim/plugins/mini.nix index 41a9cb7..d0a26c2 100644 --- a/modules/_neovim/plugins/mini.nix +++ b/modules/_neovim/plugins/mini.nix @@ -35,6 +35,8 @@ { mode = 'x', keys = 'o', desc = '+OpenCode' }, { mode = 'n', keys = 'r', desc = '+Review' }, { mode = 'v', keys = 'r', desc = '+Review' }, + { mode = 'n', keys = 't', desc = '+Tab' }, + { mode = 'n', keys = 'w', desc = '+Window' }, require("mini.clue").gen_clues.builtin_completion(), require("mini.clue").gen_clues.g(), require("mini.clue").gen_clues.marks(), diff --git a/modules/_neovim/plugins/opencode.nix b/modules/_neovim/plugins/opencode.nix index a5e0a24..f043e26 100644 --- a/modules/_neovim/plugins/opencode.nix +++ b/modules/_neovim/plugins/opencode.nix @@ -35,18 +35,28 @@ in { debug = { show_ids = false, }, + ui = { + icons = { + preset = "text", + }, + input = { + text = { + wrap = true, + }, + }, + }, }) - local hl = vim.api.nvim_set_hl - hl(0, "OpencodeBorder", { fg = "#9893a5" }) - hl(0, "OpencodeToolBorder", { fg = "#cecacd" }) - hl(0, "OpencodeDiffAdd", { bg = "#dfeadf" }) - hl(0, "OpencodeDiffDelete", { bg = "#f2dde2" }) - hl(0, "OpencodeAgentPlan", { bg = "#907aa9", fg = "#fffaf3" }) - hl(0, "OpencodeAgentBuild", { bg = "#56949f", fg = "#fffaf3" }) - hl(0, "OpencodeAgentCustom", { bg = "#ea9d34", fg = "#fffaf3" }) - hl(0, "OpencodeContestualAction", { bg = "#dfdad9" }) - hl(0, "OpencodeInputLegend", { bg = "#f2e9e1", fg = "#797593" }) + local hl = vim.api.nvim_set_hl + hl(0, "OpencodeBorder", { fg = "#9893a5" }) + hl(0, "OpencodeToolBorder", { fg = "#cecacd" }) + hl(0, "OpencodeDiffAdd", { bg = "#dfeadf" }) + hl(0, "OpencodeDiffDelete", { bg = "#f2dde2" }) + hl(0, "OpencodeAgentPlan", { bg = "#907aa9", fg = "#fffaf3" }) + hl(0, "OpencodeAgentBuild", { bg = "#56949f", fg = "#fffaf3" }) + hl(0, "OpencodeAgentCustom", { bg = "#ea9d34", fg = "#fffaf3" }) + hl(0, "OpencodeContestualAction", { bg = "#dfdad9" }) + hl(0, "OpencodeInputLegend", { bg = "#f2e9e1", fg = "#797593" }) ''; }; } diff --git a/modules/dev-tools.nix b/modules/dev-tools.nix index 3612b87..452ee68 100644 --- a/modules/dev-tools.nix +++ b/modules/dev-tools.nix @@ -355,6 +355,80 @@ # JJUI configuration programs.jjui = { enable = true; + settings.ui.colors = { + text = {fg = "#575279";}; + dimmed = {fg = "#9893a5";}; + selected = { + bg = "#f2e9e1"; + fg = "#575279"; + bold = true; + }; + border = {fg = "#9893a5";}; + title = { + fg = "#907aa9"; + bold = true; + }; + shortcut = { + fg = "#286983"; + bold = true; + }; + matched = { + fg = "#ea9d34"; + bold = true; + }; + "revisions selected" = { + bg = "#f2e9e1"; + fg = "#575279"; + bold = true; + }; + "status" = {bg = "#f2e9e1";}; + "status title" = { + bg = "#907aa9"; + fg = "#faf4ed"; + bold = true; + }; + "status shortcut" = {fg = "#286983";}; + "status dimmed" = {fg = "#9893a5";}; + "menu" = {bg = "#faf4ed";}; + "menu selected" = { + bg = "#f2e9e1"; + fg = "#575279"; + bold = true; + }; + "menu border" = {fg = "#9893a5";}; + "menu title" = { + fg = "#907aa9"; + bold = true; + }; + "menu shortcut" = {fg = "#286983";}; + "menu matched" = { + fg = "#ea9d34"; + bold = true; + }; + "preview border" = {fg = "#9893a5";}; + "help" = {bg = "#faf4ed";}; + "help border" = {fg = "#9893a5";}; + "help title" = { + fg = "#907aa9"; + bold = true; + }; + "confirmation" = {bg = "#faf4ed";}; + "confirmation border" = {fg = "#9893a5";}; + "confirmation selected" = { + bg = "#f2e9e1"; + fg = "#575279"; + bold = true; + }; + "confirmation dimmed" = {fg = "#9893a5";}; + source_marker = { + fg = "#56949f"; + bold = true; + }; + target_marker = { + fg = "#d7827e"; + bold = true; + }; + }; }; # Direnv configuration diff --git a/modules/shell.nix b/modules/shell.nix index 17b474d..d91a499 100644 --- a/modules/shell.nix +++ b/modules/shell.nix @@ -9,6 +9,7 @@ settings = { show_banner = false; + edit_mode = "vi"; completions = { algorithm = "fuzzy"; case_sensitive = false;