AutoYADM commit: 2025-05-23 17:55:15
This commit is contained in:
parent
770c646cc2
commit
99bdbd9453
1 changed files with 14 additions and 46 deletions
|
@ -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 -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<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-&> =
|
||||
# |
|
||||
#
|
||||
provide-module kdl %(
|
||||
|
||||
define-command -hidden kdl-trim-indent %{
|
||||
# remove trailing white space
|
||||
# remove trailing white spaces
|
||||
try %{ execute-keys -draft -itersel x s \h+$ <ret> 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 <a-h> <a-k> ^\h+[\]}]$ <ret> m <a-S> 1<a-&> >
|
||||
>
|
||||
>
|
||||
|
||||
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 <semicolon> K <a-&> }
|
||||
# filter prev line
|
||||
# filter previous line
|
||||
try %{ execute-keys -draft k : kdl-trim-indent <ret> }
|
||||
# indent after lines ending with opener
|
||||
try %< execute-keys -draft k x <a-k> [[}]\h*$ <ret> j <a-gt> >
|
||||
# deindent closer when after cursor
|
||||
# indent after lines ending with opener token
|
||||
try %< execute-keys -draft k x <a-k> [[{]\h*$ <ret> j <a-gt> >
|
||||
# deindent closer token(s) when after cursor
|
||||
try %< execute-keys -draft x <a-k> ^\h*[}\]] <ret> gh / [}\]] <ret> m <a-S> 1<a-&> >
|
||||
>
|
||||
>
|
||||
|
||||
~
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue