From 81ee9c4efd470b3670cbec3d428b5d43a5163310 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Fri, 23 May 2025 17:35:15 -0400 Subject: [PATCH] AutoYADM commit: 2025-05-23 17:35:15 --- .config/kak/autoload/filetype/kdl.kak | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.config/kak/autoload/filetype/kdl.kak b/.config/kak/autoload/filetype/kdl.kak index 43878dc3..7f91cf47 100644 --- a/.config/kak/autoload/filetype/kdl.kak +++ b/.config/kak/autoload/filetype/kdl.kak @@ -18,6 +18,19 @@ define-command -hidden kdl-indent-closing-brace %| try %= execute-keys -draft -itersel ^\h*\Q %val{hook_param} \E$ mGi s \A|.\z 1 = | +define-command -hidden kdl-indent-on-new-line %< + evaluate-commands -draft -itersel %< + # preserve prev indent + try %{ execute-keys -draft K } + # filter prev line + # try %{ execute-keys -draft k : json-trim-indent } + # indent after lines ending with opener + try %< execute-keys -draft k x [[}]\h*$ j > + # deindent closer when after cursor + try %< execute-keys -draft x ^\h*[}\]] gh / [}\]] m 1 > + > +> + ~ hook global BufCreate .*[.](kdl) %{ @@ -25,16 +38,18 @@ hook global BufCreate .*[.](kdl) %{ set-option buffer comment_line "//" set-option buffer comment_block_begin "/*" set-option buffer comment_block_end "*/" - set-option window formatcmd "kdlfmt format -" + # 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 InsertChar '}' -group kdl-indent %{ kdl-indent-closing-brace } + hook window InsertChar \n -group kdl-indent kdl-indent-on-new-line + hook -once -always window WinSetOption filetype=.* %{ remove-hooks window kdl-indent } hook -group kdl-auto-format window BufWritePre .* format