AutoYADM commit: 2025-05-23 17:55:15

This commit is contained in:
Daniel Fichtinger 2025-05-23 17:55:15 -04:00
parent 770c646cc2
commit 99bdbd9453

View file

@ -1,80 +1,48 @@
hook global BufCreate .*[.](kdl) %{ hook global BufCreate .*[.](kdl) %{
set-option buffer filetype kdl set-option buffer filetype kdl
set-option buffer comment_line "//" # set-option buffer comment_line "//"
set-option buffer comment_block_begin "/*" # set-option buffer comment_block_begin "/*"
set-option buffer comment_block_end "*/" # set-option buffer comment_block_end "*/"
# set-option window formatcmd "kdlfmt format -" # set-option window formatcmd "kdlfmt format -"
} }
hook global WinSetOption filetype=kdl %< hook global WinSetOption filetype=kdl %<
require-module kdl require-module kdl
# hook window InsertChar \n -group kdl-indent %{ kdl-indent-newline }
# hook window InsertChar [}{}] -group kdl-indent kdl-indent-closing-brace
# hook window InsertChar '}' -group kdl-indent %{ kdl-indent-closing-brace }
hook window ModeChange pop:insert:.* -group kdl-trim-indent kdl-trim-indent hook window ModeChange pop:insert:.* -group kdl-trim-indent kdl-trim-indent
hook window InsertChar .* -group kdl-indent kdl-indent-on-char hook window InsertChar .* -group kdl-indent kdl-indent-on-char
hook window InsertChar \n -group kdl-indent kdl-indent-on-new-line hook window InsertChar \n -group kdl-indent kdl-indent-on-new-line
hook -once -always window WinSetOption filetype=.* %{ remove-hooks window kdl-.+ } hook -once -always window WinSetOption filetype=.* %{ remove-hooks window kdl-.+ }
# hook -group kdl-auto-format window BufWritePre .* format
# hook -once -always WinSetOption filetype=.* %sh{
# if [ "$kak_opt_filetype" != "kdl" ]; then
# echo "unset-option window formatcmd"
# echo "remove-hooks window kdl-auto-format"
# fi
# }
> >
provide-module kdl %~ provide-module kdl %(
# define-command -hidden kdl-indent-newline %(
# evaluate-commands -no-hooks -draft -itersel %(
# # preserve prev line indent
# try %{ execute-keys -draft K<a-&> }
# # rem trailing whitespace on prev line
# try %( execute-keys -draft kx <a-k>\{$<ret> j<a-gt> )
# # deindent if next line start with {
# try %( execute-keys -draft x <a-k> ^\h*\} <ret> gh / \} <ret> m <a-S> 1<a-&> )
# )
# )
# define-command -hidden kdl-indent-closing-brace %|
# #align closing brace to block start
# # try %= execute-keys -draft x_ <a-k>^\h*\}\z<ret> m<a-S>1<a-&> =
# try %= execute-keys -draft -itersel <a-h><a-k>^\h*\Q %val{hook_param} \E$<ret> mGi s \A|.\z<ret> 1<a-&> =
# |
#
define-command -hidden kdl-trim-indent %{ define-command -hidden kdl-trim-indent %{
# remove trailing white space # remove trailing white spaces
try %{ execute-keys -draft -itersel x s \h+$ <ret> d } try %{ execute-keys -draft -itersel x s \h+$ <ret> d }
} }
define-command -hidden kdl-indent-on-char %< define-command -hidden kdl-indent-on-char %<
evaluate-commands -draft -itersel %< evaluate-commands -draft -itersel %<
# align closer to its opener when alone on line # align closer token to its opener when alone on a line
echo -debug 'attempting to indent new char'
try %< execute-keys -draft <a-h> <a-k> ^\h+[\]}]$ <ret> m <a-S> 1<a-&> > try %< execute-keys -draft <a-h> <a-k> ^\h+[\]}]$ <ret> m <a-S> 1<a-&> >
> >
> >
define-command -hidden kdl-indent-on-new-line %< define-command -hidden kdl-indent-on-new-line %<
evaluate-commands -draft -itersel %< evaluate-commands -draft -itersel %<
# preserve prev indent # preserve previous line indent
echo -debug 'attempting to indent new line'
try %{ execute-keys -draft <semicolon> K <a-&> } try %{ execute-keys -draft <semicolon> K <a-&> }
# filter prev line # filter previous line
try %{ execute-keys -draft k : kdl-trim-indent <ret> } try %{ execute-keys -draft k : kdl-trim-indent <ret> }
# indent after lines ending with opener # indent after lines ending with opener token
try %< execute-keys -draft k x <a-k> [[}]\h*$ <ret> j <a-gt> > try %< execute-keys -draft k x <a-k> [[{]\h*$ <ret> j <a-gt> >
# deindent closer when after cursor # deindent closer token(s) when after cursor
try %< execute-keys -draft x <a-k> ^\h*[}\]] <ret> gh / [}\]] <ret> m <a-S> 1<a-&> > try %< execute-keys -draft x <a-k> ^\h*[}\]] <ret> gh / [}\]] <ret> m <a-S> 1<a-&> >
> >
> >
~ )