From 2c49e5ee47e4e2eae79a9461a91d9ab416996bce Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Wed, 9 Jul 2025 12:51:02 -0400 Subject: [PATCH] AutoYADM commit: 2025-07-09 12:51:02 --- .config/kak/autoload/filetype/markdown.kak | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.config/kak/autoload/filetype/markdown.kak b/.config/kak/autoload/filetype/markdown.kak index b2fb0c7b..50e820f4 100644 --- a/.config/kak/autoload/filetype/markdown.kak +++ b/.config/kak/autoload/filetype/markdown.kak @@ -1,12 +1,26 @@ +declare-option str markdown_formatcmd %{ + if dprint output-resolved-config >/dev/null 2>&1; then + dprint fmt --stdin md + else + dprint fmt --stdin md --config "$HOME/.dprint.jsonc" + fi +} define-command markdown-fmt-impl %{ - evaluate-commands -save-regs "fbs/" %{ + evaluate-commands -draft -save-regs "fbs/l" %{ set-register b %reg{percent} execute-keys -draft '%"fy' edit -scratch + execute-keys '"fR' set-register s %reg{percent} set-register / '(?S)^\h*!\[.*\]\(.*\)$' - execute-keys '%sc!--FICMD#--' - # format + execute-keys '%s"lyc!--𝅙--' + set-register | %opt{markdown_formatcmd} + execute-keys '%|' + set-register / '(?S)^\h*' + execute-keys '%s"lR%"fy' + buffer %reg{b} + delete-buffer %reg{s} + execute-keys '%"fR' } } @@ -24,7 +38,8 @@ hook global WinSetOption filetype=markdown %{ dprint fmt --stdin md --config "$HOME/.dprint.jsonc" fi } - hook -group markdown-auto-format window BufWritePre .* { format } + hook -group markdown-auto-format window BufWritePre .* { markdown-fmt-impl } + map window normal = ': markdown-fmt-impl' # override formatting commands define-command -override -hidden markdown-trim-indent %{