diff --git a/.config/foot/foot.ini##hostname.dbox b/.config/foot/foot.ini##hostname.dbox index 45b06b1d..02ee95fa 100644 --- a/.config/foot/foot.ini##hostname.dbox +++ b/.config/foot/foot.ini##hostname.dbox @@ -197,7 +197,7 @@ pipe-visible=[wl-copy] Control+Mod1+Shift+v # pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none pipe-scrollback=[wl-copy] Control+Mod1+Shift+p # pipe-selected=[xargs -r firefox] none -pipe-command-output=[wl-copy] Control+Shift+y +pipe-command-output=[wl-copy] Control+Mod1+Shift+y show-urls-launch=Control+Shift+o show-urls-copy=Control+Mod1+Shift+o # show-urls-persistent=Control+Mod1+Shift+p diff --git a/.config/kak/autoload/filetype/kakrc.kak b/.config/kak/autoload/filetype/kakrc.kak index 30efdbfb..1895e4c6 100644 --- a/.config/kak/autoload/filetype/kakrc.kak +++ b/.config/kak/autoload/filetype/kakrc.kak @@ -55,8 +55,12 @@ add-highlighter shared/kakrc/shell6 region -recurse '\(' '(^|\h)\K-?shell-script add-highlighter shared/kakrc/shell7 region -recurse '\[' '(^|\h)\K-?shell-script(-completion|-candidates)?\h+%\[' '\]' ref sh add-highlighter shared/kakrc/shell8 region -recurse '<' '(^|\h)\K-?shell-script(-completion|-candidates)?\h+%<' '>' ref sh +## BEGIN PATCH +# add-highlighter shared/kakrc/code +## END PATCH + evaluate-commands %sh{ - # Grammar +# Grammar keywords="add-highlighter alias arrange-buffers buffer buffer-next buffer-previous catch change-directory colorscheme debug declare-option declare-user-mode define-command complete-command delete-buffer delete-buffer! echo edit edit! enter-user-mode evaluate-commands execute-keys diff --git a/.config/kak/autoload/mark.kak b/.config/kak/autoload/mark.kak index 7b53dc49..2eff8a16 100644 --- a/.config/kak/autoload/mark.kak +++ b/.config/kak/autoload/mark.kak @@ -1,11 +1,20 @@ -declare-option -hidden str mark_saved define-command mark-save %{ - execute-keys '"jZ' -} -define-command mark-restore %{ - execute-keys '"jz' + try %{ + execute-keys '"jZ' + echo "Mark saved" + } catch %{ + info "Couldn't save mark!" + } } -map global normal ': echo hi' -# map global normal ': mark-save' +define-command mark-restore %{ + try %{ + execute-keys '"jz' + echo "Mark restored" + } catch %{ + info "Couldn't restore mark!" + } +} + +map global normal ': mark-save' map global normal ': mark-restore' diff --git a/.config/kak/autoload/search-highlight.kak b/.config/kak/autoload/search-highlight.kak index 47d59c74..a4b6c9e2 100644 --- a/.config/kak/autoload/search-highlight.kak +++ b/.config/kak/autoload/search-highlight.kak @@ -14,6 +14,19 @@ provide-module search-highlight %— def -hidden -override search-highlight-on nop def -hidden -override search-highlight-off fail + declare-option -hidden bool search_highlight_quit false + + define-command -hidden search-highlight-clear %{ + try %{ + # for safety; only run if highlighting is on + %opt{search_highlight_status} + # remove highlighter + remove-highlighter window/search-highlight + # update status + set-option window search_highlight_status 'search-highlight-off' + } + } + # enable the plugin define-command -hidden search-highlight-enable-impl %{ # register hook to show highlighting during search @@ -22,20 +35,21 @@ provide-module search-highlight %— try %{ %opt{search_highlight_status} } catch %{ + map window prompt ': set-option window search_highlight_quit true' # if not, add the highlighter add-highlighter window/search-highlight dynregex '%reg{/}' %exp{0:%opt{search_highlight_face}} # update status tracker set-option window search_highlight_status 'search-highlight-on' + # register hook to clear highlighter after leaving search hook -once -group search-highlight window NormalIdle .* %{ try %{ - # for safety; only run if highlighting is on - %opt{search_highlight_status} - # remove highlighter - remove-highlighter window/search-highlight - # update status - set-option window search_highlight_status 'search-highlight-off' + %opt{search_highlight_quit} + search-highlight-clear + } catch %{ + map window normal ': search-highlight-clear' } + unmap window prompt } } }