223 lines
4.4 KiB
Nix
223 lines
4.4 KiB
Nix
{ pkgs }:
|
|
let
|
|
caseMenu = with pkgs; {
|
|
p = ":pipe ${lib.getExe sttr} pascal";
|
|
c = ":pipe ${lib.getExe sttr} camel";
|
|
k = ":pipe ${lib.getExe sttr} kebab";
|
|
K = ":pipe ${lib.getExe sttr} kebab | ${lib.getExe sttr} upper";
|
|
s = ":pipe ${lib.getExe sttr} snake";
|
|
S = ":pipe ${lib.getExe sttr} snake | ${lib.getExe sttr} upper";
|
|
u = ":pipe ${lib.getExe sttr} upper";
|
|
l = ":pipe ${lib.getExe sttr} lower";
|
|
t = ":pipe ${lib.getExe sttr} title";
|
|
};
|
|
in
|
|
{
|
|
normal = {
|
|
"~" = caseMenu;
|
|
space = {
|
|
q = ":quit";
|
|
Q = ":quit!";
|
|
w = ":write";
|
|
W = ":write!";
|
|
o = "file_picker_in_current_buffer_directory";
|
|
};
|
|
C-c = ":config-open";
|
|
C-r = ":config-reload";
|
|
"C-/" = "toggle_comments";
|
|
S-right = "goto_next_buffer";
|
|
S-left = "goto_previous_buffer";
|
|
C-b = ":buffer-close";
|
|
C-s = [
|
|
"select_all"
|
|
"select_regex"
|
|
];
|
|
|
|
C-j = "shrink_selection";
|
|
C-k = "expand_selection";
|
|
C-l = "select_next_sibling";
|
|
C-a = "select_all";
|
|
C-u = [
|
|
"half_page_up"
|
|
"align_view_center"
|
|
];
|
|
C-d = [
|
|
"half_page_down"
|
|
"align_view_center"
|
|
];
|
|
|
|
"{" = [
|
|
"goto_prev_paragraph"
|
|
"collapse_selection"
|
|
];
|
|
"}" = [
|
|
"goto_next_paragraph"
|
|
"collapse_selection"
|
|
];
|
|
"0" = "goto_line_start";
|
|
"$" = "goto_line_end";
|
|
"^" = "goto_first_nonwhitespace";
|
|
G = "goto_file_end";
|
|
"%" = "match_brackets";
|
|
V = [
|
|
"select_mode"
|
|
"extend_to_line_bounds"
|
|
];
|
|
C = [
|
|
"collapse_selection"
|
|
"extend_to_line_end"
|
|
"change_selection"
|
|
];
|
|
D = [
|
|
"extend_to_line_end"
|
|
"delete_selection"
|
|
];
|
|
S = "surround_add";
|
|
|
|
d = {
|
|
d = [
|
|
"extend_to_line_bounds"
|
|
"delete_selection"
|
|
];
|
|
t = [ "extend_till_char" ];
|
|
s = [ "surround_delete" ];
|
|
i = [ "select_textobject_inner" ];
|
|
a = [ "select_textobject_around" ];
|
|
};
|
|
|
|
x = "delete_selection";
|
|
p = "paste_clipboard_after";
|
|
P = "paste_clipboard_before";
|
|
y = [
|
|
"yank_main_selection_to_clipboard"
|
|
"normal_mode"
|
|
"flip_selections"
|
|
"collapse_selection"
|
|
];
|
|
Y = [
|
|
"extend_to_line_bounds"
|
|
"yank_main_selection_to_clipboard"
|
|
"goto_line_start"
|
|
"collapse_selection"
|
|
];
|
|
|
|
w = [
|
|
"move_next_word_start"
|
|
"move_char_right"
|
|
"collapse_selection"
|
|
];
|
|
e = [
|
|
"move_next_word_end"
|
|
"collapse_selection"
|
|
];
|
|
b = [
|
|
"move_prev_word_start"
|
|
"collapse_selection"
|
|
];
|
|
|
|
i = [
|
|
"insert_mode"
|
|
"collapse_selection"
|
|
];
|
|
a = [
|
|
"append_mode"
|
|
"collapse_selection"
|
|
];
|
|
|
|
esc = [
|
|
"collapse_selection"
|
|
"keep_primary_selection"
|
|
];
|
|
};
|
|
insert = {
|
|
esc = [
|
|
"collapse_selection"
|
|
"normal_mode"
|
|
];
|
|
};
|
|
select = {
|
|
"~" = caseMenu;
|
|
space = {
|
|
j = with pkgs; {
|
|
e = ":pipe ${lib.getExe jq}";
|
|
c = ":pipe ${lib.getExe jq} -c";
|
|
};
|
|
};
|
|
"{" = [
|
|
"extend_to_line_bounds"
|
|
"goto_prev_paragraph"
|
|
];
|
|
"}" = [
|
|
"extend_to_line_bounds"
|
|
"goto_next_paragraph"
|
|
];
|
|
"0" = "goto_line_start";
|
|
"$" = "goto_line_end";
|
|
"^" = "goto_first_nonwhitespace";
|
|
G = "goto_file_end";
|
|
D = [
|
|
"extend_to_line_bounds"
|
|
"delete_selection"
|
|
"normal_mode"
|
|
];
|
|
C = [
|
|
"goto_line_start"
|
|
"extend_to_line_bounds"
|
|
"change_selection"
|
|
];
|
|
"%" = "match_brackets";
|
|
S = "surround_add";
|
|
|
|
i = "select_textobject_inner";
|
|
a = "select_textobject_around";
|
|
|
|
tab = [
|
|
"insert_mode"
|
|
"collapse_selection"
|
|
];
|
|
C-a = [
|
|
"append_mode"
|
|
"collapse_selection"
|
|
];
|
|
|
|
k = [
|
|
"extend_line_up"
|
|
"extend_to_line_bounds"
|
|
];
|
|
j = [
|
|
"extend_line_down"
|
|
"extend_to_line_bounds"
|
|
];
|
|
|
|
d = [
|
|
"yank_main_selection_to_clipboard"
|
|
"delete_selection"
|
|
];
|
|
x = [
|
|
"yank_main_selection_to_clipboard"
|
|
"delete_selection"
|
|
];
|
|
y = [
|
|
"yank_main_selection_to_clipboard"
|
|
"normal_mode"
|
|
"flip_selections"
|
|
"collapse_selection"
|
|
];
|
|
Y = [
|
|
"extend_to_line_bounds"
|
|
"yank_main_selection_to_clipboard"
|
|
"goto_line_start"
|
|
"collapse_selection"
|
|
"normal_mode"
|
|
];
|
|
p = "replace_selections_with_clipboard";
|
|
P = "paste_clipboard_before";
|
|
|
|
esc = [
|
|
"collapse_selection"
|
|
"keep_primary_selection"
|
|
"normal_mode"
|
|
];
|
|
};
|
|
}
|