From 99bdbd9453b35e7e5fcde438037cb56c1a69862f Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Fri, 23 May 2025 17:55:15 -0400 Subject: [PATCH] AutoYADM commit: 2025-05-23 17:55:15 --- .config/kak/autoload/filetype/kdl.kak | 60 +++++++-------------------- 1 file changed, 14 insertions(+), 46 deletions(-) diff --git a/.config/kak/autoload/filetype/kdl.kak b/.config/kak/autoload/filetype/kdl.kak index 93ecae2d..67da272c 100644 --- a/.config/kak/autoload/filetype/kdl.kak +++ b/.config/kak/autoload/filetype/kdl.kak @@ -1,80 +1,48 @@ hook global BufCreate .*[.](kdl) %{ set-option buffer filetype kdl - set-option buffer comment_line "//" - set-option buffer comment_block_begin "/*" - set-option buffer comment_block_end "*/" + # set-option buffer comment_line "//" + # set-option buffer comment_block_begin "/*" + # set-option buffer comment_block_end "*/" # set-option window formatcmd "kdlfmt format -" } hook global WinSetOption filetype=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 InsertChar .* -group kdl-indent kdl-indent-on-char 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 %~ - -# define-command -hidden kdl-indent-newline %( -# evaluate-commands -no-hooks -draft -itersel %( -# # preserve prev line indent -# try %{ execute-keys -draft K } -# # rem trailing whitespace on prev line -# try %( execute-keys -draft kx \{$ j ) - -# # deindent if next line start with { -# try %( execute-keys -draft x ^\h*\} gh / \} m 1 ) -# ) -# ) - -# define-command -hidden kdl-indent-closing-brace %| -# #align closing brace to block start -# # try %= execute-keys -draft x_ ^\h*\}\z m1 = -# try %= execute-keys -draft -itersel ^\h*\Q %val{hook_param} \E$ mGi s \A|.\z 1 = -# | -# +provide-module kdl %( define-command -hidden kdl-trim-indent %{ - # remove trailing white space - try %{ execute-keys -draft -itersel x s \h+$ d } + # remove trailing white spaces + try %{ execute-keys -draft -itersel x s \h+$ d } } define-command -hidden kdl-indent-on-char %< evaluate-commands -draft -itersel %< - # align closer to its opener when alone on line - echo -debug 'attempting to indent new char' + # align closer token to its opener when alone on a line try %< execute-keys -draft ^\h+[\]}]$ m 1 > > > define-command -hidden kdl-indent-on-new-line %< evaluate-commands -draft -itersel %< -# preserve prev indent - echo -debug 'attempting to indent new line' + # preserve previous line indent try %{ execute-keys -draft K } - # filter prev line + # filter previous line try %{ execute-keys -draft k : kdl-trim-indent } - # indent after lines ending with opener - try %< execute-keys -draft k x [[}]\h*$ j > - # deindent closer when after cursor + # indent after lines ending with opener token + try %< execute-keys -draft k x [[{]\h*$ j > + # deindent closer token(s) when after cursor try %< execute-keys -draft x ^\h*[}\]] gh / [}\]] m 1 > > > -~ +)