diff --git a/.config/helix/.config.toml.kak.tTVegy b/.config/helix/.config.toml.kak.tTVegy new file mode 100644 index 00000000..b5e5d305 --- /dev/null +++ b/.config/helix/.config.toml.kak.tTVegy @@ -0,0 +1,426 @@ +theme = "ashen" + +[editor] +line-number = "relative" +undercurl = true +default-yank-register = '+' +cursorline = true +bufferline = "multiple" +color-modes = true +shell = ['fish', '-c'] +text-width = 80 + +mouse = true +continue-comments = true +auto-completion = true +path-completion = true +completion-replace = false +completion-trigger-len = 2 + +scrolloff = 2 +jump-label-alphabet = "tnseriplfuwydhcxoaqz" +# minimum severity to show +end-of-line-diagnostics = "disable" +# rulers = [82] + +[editor.smart-tab] +enable = false + +[editor.whitespace.render] +tab = "none" +space = "none" +newline = "all" + +[editor.whitespace.characters] +newline = "" +tab = "" +tabpad = " " +# tabpad = "·" + +[editor.cursor-shape] +insert = "bar" +normal = "block" +# select = "underline" + +[editor.statusline] +mode.normal = "NRM" +left = [ + "mode", + "spinner", + "version-control", + # "spacer", + # "separator", + # "file-name", + "file-base-name", + "read-only-indicator", + "file-modification-indicator", + # "workspace-diagnostics", +] +center = ["diagnostics"] +right = [ + "primary-selection-length", + "selections", + "register", + # "position", + "position-percentage", + "total-line-numbers", + "file-encoding", +] +separator = "|" +diagnostics = ["warning", "error"] +workspace-diagnostics = ["warning", "error"] + +[editor.lsp] +# enable = false +display-inlay-hints = true +display-messages = true +display-progress-messages = true +# use C-k manually instead +auto-signature-help = false + +[editor.inline-diagnostics] +cursor-line = "disable" +other-lines = "disable" + +[editor.indent-guides] +render = true +# character = "|" +skip-levels = 1 + +[editor.soft-wrap] +enable = true +# prevents words from being split +# max-wrap = 25 +wrap-indicator = "" + +[keys.insert] +C-k = "signature_help" +C-c = "completion" +S-tab = "move_parent_node_start" + +# sticky mode! +[keys.normal.Z] +e = "scroll_up" +n = "scroll_down" +j = "search_next" +J = "search_prev" + +[keys.normal.space.p] +# force inline paste +p = ':append-output ~/.config/helix/scripts/paste.py' +P = ':insert-output ~/.config/helix/scripts/paste.py' +# force linewise paste +"]" = [ + "ensure_selections_forward", + "add_newline_below", + "move_line_down", + ":insert-output ~/.config/helix/scripts/paste.py", +] +"[" = [ + "ensure_selections_forward", + "flip_selections", + "add_newline_above", + "move_line_up", + ":insert-output ~/.config/helix/scripts/paste.py", +] +c = ''' +:append-output sh -c clipcat-menu --finder custom --custom-finder-program-path fuzzel --custom-finder-arguments=--dmenu,--placeholder=Clipboard --config <(printf "[log]\nemit_stdout = true\n") | grep -q 'Nothing is selected' && exit 1 || wl-paste''' +C = ''' +:insert-output sh -c clipcat-menu --finder custom --custom-finder-program-path fuzzel --custom-finder-arguments=--dmenu,--placeholder=Clipboard --config <(printf "[log]\nemit_stdout = true\n") | grep -q 'Nothing is selected' && exit 1 || wl-paste''' + +[keys.normal] +tab = "trim_selections" +# swap select_mode and regex keys +v = "select_regex" +V = "split_selection" +s = "select_mode" + +# reload lsp +C-r = ":lsp-restart" +# toggle lsp +# C-r = '@:toggle lsp.enable:echo %sh{sleep 0.1}:lsp-restart' + +A-o = '@oOh' + +C-A-r = ":lsp-stop" +# config file stuff + +# execute current file +# A-x = ':sh "%sh{pwd}/%{buffer_name}"' + +# Treesitter selections +# Left <-> Right: Sibling nodes +# Up <-> Down: Parent/Child nodes +A-S-n = "move_parent_node_end" +A-S-e = "move_parent_node_start" +A-a = "select_all_siblings" +A-m = "select_prev_sibling" +A-n = "shrink_selection" +A-e = "expand_selection" +A-i = "select_next_sibling" +"{" = "rotate_selections_backward" +"}" = "rotate_selections_forward" +"A-{" = "rotate_selection_contents_backward" +"A-}" = "rotate_selection_contents_forward" + +C-f = "jump_forward" +C-p = "jump_backward" +# a = "append_mode_same_line" +C-k = "signature_help" +"\\" = ":format" +"+" = ":reflow" +ret = "goto_word" +# master +m = "move_char_left" +i = "move_char_right" +# # axel +# m = "move_same_line_char_left" +# i = "move_same_line_char_right" +n = "move_visual_line_down" +e = "move_visual_line_up" +N = "move_line_down" +E = "move_line_up" +h = "insert_mode" +H = "insert_at_line_start" +L = "move_next_long_word_end" +j = ["search_next", "align_view_center"] +J = ["search_prev", "align_view_center"] +A-j = "join_selections" +A-J = "join_selections_space" +C-q = ":qa" +C-S-q = ":qa!" +# C-m = ":bp" +M = ":bp" +# C-i = ":bn" +C-m = "jump_view_left" +C-n = "jump_view_down" +C-i = "jump_view_right" +C-e = "jump_view_up" +I = ":bn" +X = "extend_line_above" +x = "extend_line_below" +# A-x = "toggle_line_select" +D = "kill_to_line_end" +A-d = "kill_to_line_start" +# Sub-word Movement +w = "move_next_word_start" +C-w = "move_next_sub_word_start" +b = "move_prev_word_start" +C-b = "move_prev_sub_word_start" +l = "move_next_word_end" +C-l = "move_next_sub_word_end" +A-l = "move_prev_sub_word_start" +# Navigation +C-d = ["page_cursor_half_down", "align_view_center"] +C-u = ["page_cursor_half_up", "align_view_center"] + +# language specific commands +[keys.normal.space.l] +# open pdf preview for typst +p = ':sh ~/dev/utils/helix-pdf/hx-typ-zathura.fish --watch --kill-on-exit %{buffer_name}' +# p = ':sh ~/.config/helix/scripts/hx-typ-zathura.fish -k %{buffer_name}' + +# git stuff +[keys.normal.space.g] +# blame +b = ":sh git -C $(dirname $(realpath %{buffer_name})) blame -L %{cursor_line},%{cursor_line} $(realpath %{buffer_name})" +# lazygit +g = ":sh footclient -d error lazygit" +# URL to current line +o = ":sh ~/.config/helix/scripts/get_git_provider_url.fish %{buffer_name} %{cursor_line}" +r = ":reset-diff-change" +# minimap fun! +m = ':sh code-minimap (path resolve %{buffer_name})' + +[keys.normal."["] +x = "extend_line_above" + +[keys.normal.space.m] +m = '@ks*' +t = '@:insert-output cat % | markdown-toc --bullets - --no-firsth1 -' +[keys.select.space.m] +m = '@ks*' +t = '@:insert-output cat % | markdown-toc --bullets - --no-firsth1 -' + +[keys.normal.space] +A-r = ":config-reload" +A-o = ":config-open" +A-w = ":config-open-workspace" +y = ':w' +Y = ':w!' +# create line above and below selection +O = '@ks' +o = '@xks' +t = "move_parent_node_end" +T = "move_parent_node_start" +# yazi integration +space = [ + ':sh rm -f /tmp/yazi-path', + ':insert-output footclient -d error yazi %{buffer_name} --chooser-file=/tmp/yazi-path', + ':open %sh{cat /tmp/yazi-path}', + ':redraw', + ':set mouse false', + ':set mouse true', +] + +# insert markdown toc :) + +x = ":bc" +X = ':sh %{buffer_name}' + +# UI settings and stuff +[keys.normal.space.u] +# Toggle insert cursor shape +C = ':toggle cursor-shape.insert bar block' +# Toggle Cursor Always Centered +z = ':toggle scrolloff 2 99' +d = ':toggle statusline.center ["diagnostics"] ["workspace-diagnostics","diagnostics"] []' +# # Toggle End of line diagnostics +# D = ':toggle end-of-line-diagnostics hint disable' +# # Toggle Inline diagnostics +# d = ':toggle inline-diagnostics.cursor-line disable hint' +# Toggle soft-wrap +w = ':toggle soft-wrap.enable' +# Soft wrap at specified text width +s = ':set soft-wrap.wrap-at-text-width true' +S = ':set soft-wrap.wrap-at-text-width false' +# Toggle signature help (off by default) +k = ":toggle lsp.auto-signature-help" +# toggle auto completion (on by default) +c = ":toggle auto-completion" +# toggle inlay hints (on by default) +h = ':toggle lsp.display-inlay-hints' +# Toggle git display +g = ':toggle gutters.layout ["diagnostics", "spacer", "line-numbers", "spacer", "diff"] ["diagnostics", "spacer", "line-numbers", "spacer", "spacer"]' +# Toggle Ruler +r = ':toggle rulers [82] []' + +[keys.select.g] +m = "extend_to_line_start" +i = "extend_to_line_end" +I = "extend_to_line_end_newline" +l = "extend_to_file_end" +L = "extend_to_last_line" + +[keys.select.space] +t = "extend_parent_node_end" +T = "extend_parent_node_start" +# yazi integration +space = [ + ':sh rm -f /tmp/yazi-path', + ':insert-output footclient -d error yazi %{buffer_name} --chooser-file=/tmp/yazi-path', + ':open %sh{cat /tmp/yazi-path}', + ':redraw', + ':set mouse false', + ':set mouse true', +] + +# insert markdown toc :) + +p = ''' +:append-output clipcat-menu --finder custom --custom-finder-program-path fuzzel --custom-finder-arguments=--dmenu,--placeholder=Clipboard --config <(printf "[log]\nemit_stdout = true\n") | grep -q 'Nothing is selected' && exit 1 || wl-paste''' +P = ''' +:insert-output clipcat-menu --finder custom --custom-finder-program-path fuzzel --custom-finder-arguments=--dmenu,--placeholder=Clipboard --config <(printf "[log]\nemit_stdout = true\n") | grep -q 'Nothing is selected' && exit 1 || wl-paste''' +x = ":bc" + + +[keys.select] +tab = "trim_selections" +"{" = "rotate_selections_backward" +"}" = "rotate_selections_forward" +"A-{" = "rotate_selection_contents_backward" +"A-}" = "rotate_selection_contents_forward" +# swap select_mode and regex keys +v = "select_regex" +V = "split_selection" +s = "normal_mode" +# Treesitter selections +# Left <-> Right: Sibling nodes +# Up <-> Down: Parent/Child nodes +A-S-n = "move_parent_node_end" +A-S-e = "move_parent_node_start" +A-a = "select_all_siblings" +A-m = "select_prev_sibling" +A-n = "shrink_selection" +A-e = "expand_selection" +A-i = "select_next_sibling" +X = "extend_line_above" +x = "extend_line" +ret = "extend_to_word" +# master +m = "extend_char_left" +i = "extend_char_right" +# # axel +# m = "extend_same_line_char_left" +# i = "extend_same_line_char_right" +n = "extend_visual_line_down" +e = "extend_visual_line_up" +j = ["extend_search_next", "align_view_center"] +J = ["extend_search_prev", "align_view_center"] +C-l = "extend_next_sub_word_end" +l = "extend_next_word_end" +C-w = "extend_next_sub_word_start" +C-b = "extend_prev_sub_word_start" +L = "extend_next_long_word_end" +A-l = "extend_prev_sub_word_start" + +[keys.normal.k] +m = "match_brackets" +k = "match_brackets" +s = "surround_add" +r = "surround_replace" +d = "surround_delete" +a = "select_textobject_around" +i = "select_textobject_inner" + +[keys.select.k] +m = "match_brackets" +k = "match_brackets" +s = "surround_add" +r = "surround_replace" +d = "surround_delete" +a = "select_textobject_around" +i = "select_textobject_inner" + +# Window Mode +[keys.normal.space.w] +m = "jump_view_left" +C-m = "jump_view_left" +n = "jump_view_down" +C-n = "jump_view_down" +i = "jump_view_right" +C-i = "jump_view_right" +e = "jump_view_up" +C-e = "jump_view_up" +M = "swap_view_left" +N = "swap_view_down" +E = "swap_view_up" +I = "swap_view_right" +d = "wclose" +V = ":vsplit-new" +S = ":hsplit-new" +h = "no_op" +j = "no_op" +k = "no_op" +l = "no_op" +H = "no_op" +J = "no_op" +K = "no_op" +L = "no_op" + +[keys.normal.g] +z = "goto_window_center" +m = "goto_first_nonwhitespace" +i = "goto_line_end" +I = "goto_line_end_newline" +n = "move_line_down" +e = "move_line_up" +l = "goto_file_end" +L = "goto_last_line" + +[keys.normal.backspace] +d = "delete_selection_noyank" +c = "change_selection_noyank" +[keys.select.backspace] +d = "delete_selection_noyank" +c = "change_selection_noyank" diff --git a/.config/kak/.ignore b/.config/kak/.ignore new file mode 100644 index 00000000..7b0dd1d9 --- /dev/null +++ b/.config/kak/.ignore @@ -0,0 +1,3 @@ +bundle/** +plugins/** +bundle diff --git a/.config/kak/.kakignore b/.config/kak/.kakignore new file mode 100644 index 00000000..3b895101 --- /dev/null +++ b/.config/kak/.kakignore @@ -0,0 +1 @@ +stdlib diff --git a/.config/waybar/.ignore b/.config/waybar/.ignore new file mode 100644 index 00000000..04204c7c --- /dev/null +++ b/.config/waybar/.ignore @@ -0,0 +1 @@ +config