diff --git a/rc/c-family.kak b/rc/c-family.kak index 58ae6815..cbaf3072 100644 --- a/rc/c-family.kak +++ b/rc/c-family.kak @@ -68,6 +68,17 @@ def -hidden _c-family-indent-on-closing-curly-brace %[ try %[ exec -draft "hm;(class|struct|union)\`(class|struct|union)[^{}\n]+(\n)?\s*\{\'ma;" ] ] +decl str c_astyle_options "" +def c-format-astyle -docstring "Format C/C++/Obj-C code using the astyle utility" %{ + %sh{ + readonly x=$((kak_cursor_column - 1)) + readonly y="${kak_cursor_line}" + + echo "exec -draft %{%|astyle${kak_opt_c_astyle_options// /}}" + echo "exec gg ${y}g ${x}l" + } +} + # Regions definition are the same between c++ and objective-c %sh{ for ft in c cpp objc; do @@ -122,13 +133,20 @@ hook global WinSetOption filetype=(c|cpp|objc) %[ alias window alt c-family-alternative-file alias window comment-selection c-family-comment-selection + alias window comment-line c-family-comment-line + + alias window format-code c-format-astyle ] hook global WinSetOption filetype=(?!(c|cpp|objc)$).* %[ - rmhooks window c-family-indent rmhooks window c-family-hooks + rmhooks window c-family-indent + unalias window alt c-family-alternative-file unalias window comment-selection c-family-comment-selection + unalias window comment-line c-family-comment-line + + unalias window format-code c-format-astyle ] hook global WinSetOption filetype=c %[ addhl ref c ] diff --git a/rc/dlang.kak b/rc/dlang.kak index dda1e6f9..fc5027c5 100644 --- a/rc/dlang.kak +++ b/rc/dlang.kak @@ -22,8 +22,8 @@ addhl -group / regions -default code dlang \ comment '//' $ '' addhl -group /dlang/string fill string -addhl -group /dlang/verbatim_string fill rgb:FF40D4 -addhl -group /dlang/verbatim_string_prefixed fill rgb:FF40D4 +addhl -group /dlang/verbatim_string fill magenta +addhl -group /dlang/verbatim_string_prefixed fill magenta addhl -group /dlang/token fill meta addhl -group /dlang/disabled fill rgb:777777 addhl -group /dlang/comment fill comment @@ -93,7 +93,7 @@ hook global WinSetOption filetype=dlang %{ hook window InsertChar \{ -group dlang-indent _dlang-indent-on-opening-curly-brace hook window InsertChar \} -group dlang-indent _dlang-indent-on-closing-curly-brace - alias buffer format-code dlang-format-dfmt + alias window format-code dlang-format-dfmt } hook global WinSetOption filetype=(?!dlang).* %{ @@ -102,5 +102,5 @@ hook global WinSetOption filetype=(?!dlang).* %{ rmhooks window dlang-hooks rmhooks window dlang-indent - unalias buffer format-code + unalias window format-code dlang-format-dfmt } diff --git a/rc/golang.kak b/rc/golang.kak index aed6d2c0..e4d45511 100644 --- a/rc/golang.kak +++ b/rc/golang.kak @@ -16,6 +16,7 @@ addhl -group / regions -default code golang \ back_string '`' '`' '' \ double_string '"' (?