diff --git a/.config/kak/autoload/surround.kak b/.config/kak/autoload/surround.kak index 61d7ee1c..296a4531 100644 --- a/.config/kak/autoload/surround.kak +++ b/.config/kak/autoload/surround.kak @@ -1,3 +1,4 @@ +provide-module surround %~ declare-user-mode surround declare-user-mode surround-add define-command -override surround-add-pair -params 2 %{ @@ -21,12 +22,13 @@ define-command -override -hidden surround-add-key -params 1 %{ define-command surround-add %{ info -title surround "Enter character to add" on-key %{ - nop %sh{ + eval %sh{ if [ "$kak_key" != "" ]; then - printf '%s' 'surround-add-key %val{key}' + printf '%s' 'surround-add-key %val{key}' + else + printf '%s' 'info -title surround "Canceled"' fi } - } } @@ -37,44 +39,64 @@ define-command -hidden surround-delete-key -params 1 %{ define-command surround-delete %{ info -title surround "Enter character to delete" on-key %{ - surround-delete-key %val{key} + eval %sh{ + if [ "$kak_key" != "" ]; then + printf '%s' 'surround-delete-key %val{key}' + else + printf '%s' 'info -title surround "Canceled"' + fi + } } } define-command -hidden surround-replace-sub -params 1 %{ + info -title surround "Enter character to replace with" on-key %{ - evaluate-commands -no-hooks -draft %{ - execute-keys "%arg{1}" - enter-user-mode surround-add - execute-keys %val{key} + eval %sh{ + if [ "$kak_key" != "" ]; then + printf '%s' 'evaluate-commands -no-hooks -draft %{ + execute-keys "%arg{1}" + enter-user-mode surround-add + execute-keys %val{key} + } + surround-delete-key %arg{1} + execute-keys H' + else + printf '%s' 'info -title surround "Canceled"' + fi } - - surround-delete-key %arg{1} } } define-command surround-replace %{ info -title surround "Enter character to replace" on-key %{ - surround-replace-sub %val{key} + eval %sh{ + if [ "$kak_key" != "" ]; then + printf '%s' 'surround-replace-sub %val{key}' + else + printf '%s' 'info -title surround "Canceled"' + fi + } } } -map global surround-add ( ':surround-add-pair ( )' -docstring 'surround with parenthesis' -map global surround-add ) ':surround-add-pair ( )' -docstring 'surround with parenthesis' -map global surround-add [ ':surround-add-pair [ ]' -docstring 'surround with brackets' -map global surround-add ] ':surround-add-pair [ ]' -docstring 'surround with brackets' -map global surround-add { ':surround-add-pair { }' -docstring 'surround with braces' -map global surround-add } ':surround-add-pair { }' -docstring 'surround with braces' +map global surround-add ( ':surround-add-pair ( )' -docstring 'surround with parenthesis' +map global surround-add ) ':surround-add-pair ( )' -docstring 'surround with parenthesis' +map global surround-add [ ':surround-add-pair [ ]' -docstring 'surround with brackets' +map global surround-add ] ':surround-add-pair [ ]' -docstring 'surround with brackets' +map global surround-add { ':surround-add-pair { }' -docstring 'surround with braces' +map global surround-add } ':surround-add-pair { }' -docstring 'surround with braces' map global surround-add < ':surround-add-pair ' -docstring 'surround with angles' -map global surround-add > ':surround-add-pair ' -docstring 'surround with angles' -map global surround-add "'" ":surround-add-pair ""'"" ""'""" -docstring 'surround with quotes' -map global surround-add '"' ":surround-add-pair '""' '""'" -docstring 'surround with double quotes' -map global surround-add * ':surround-add-pair * *' -docstring 'surround with asteriks' -map global surround-add _ ':surround-add-pair _ _' -docstring 'surround with undescores' -map global surround-add s ':surround-add' -docstring 'surround custom character' +map global surround-add > ':surround-add-pair ' -docstring 'surround with angles' +map global surround-add "'" ":surround-add-pair ""'"" ""'""" -docstring 'surround with quotes' +map global surround-add '"' ":surround-add-pair '""' '""'" -docstring 'surround with double quotes' +map global surround-add * ':surround-add-pair * *' -docstring 'surround with asteriks' +map global surround-add _ ':surround-add-pair _ _' -docstring 'surround with undescores' +map global surround-add s ':surround-add' -docstring 'surround custom character' map -docstring 'surround' global normal k ': enter-user-mode surround' map -docstring 'add surrounding' global surround s ': enter-user-mode surround-add' map -docstring 'delete surrounding' global surround d ':surround-delete' map -docstring 'replace surrounding' global surround r ':surround-replace' +~ diff --git a/.config/kak/kakrc b/.config/kak/kakrc index d4e4013b..5a5249f3 100644 --- a/.config/kak/kakrc +++ b/.config/kak/kakrc @@ -4,6 +4,7 @@ colorscheme ashen # colorscheme one-dark # colorscheme mocha require-module fishr +require-module surround try %{ set-option global ashen_dynamic_cursor true @@ -117,4 +118,3 @@ map -docstring %{ pick line in buffer } global peneira '/' ': peneira-lines' -# source "%val{config}/autoload/surround.kak"