diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2025-01-28 09:14:32 +0000 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2025-01-28 09:14:32 +0000 |
commit | 904cec3c4a329cf89fc3219d359239910d61f3f6 (patch) | |
tree | 8d113899921dfbaca0e77c49ab5fc827362d1091 /autoload/filetype/cmake.kak |
Diffstat (limited to 'autoload/filetype/cmake.kak')
-rw-r--r-- | autoload/filetype/cmake.kak | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/autoload/filetype/cmake.kak b/autoload/filetype/cmake.kak new file mode 100644 index 0000000..86fda25 --- /dev/null +++ b/autoload/filetype/cmake.kak @@ -0,0 +1,36 @@ +hook global BufCreate .+\.cmake|.*/CMakeLists.txt %{ + set-option buffer filetype cmake +} + +hook global BufCreate .*/CMakeCache.txt %{ + set-option buffer filetype ini +} + +hook global WinSetOption filetype=cmake %{ + require-module cmake +} + +hook -group cmake-highlight global WinSetOption filetype=cmake %{ + add-highlighter window/cmake ref cmake + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmake } +} + +provide-module cmake %{ + +add-highlighter shared/cmake regions +add-highlighter shared/cmake/code default-region group +add-highlighter shared/cmake/comment region '#' '$' fill comment +add-highlighter shared/cmake/argument region -recurse '\(' '\w+\h*\(\K' '(?=\))' regions + +add-highlighter shared/cmake/code/ regex '\w+\h*(?=\()' 0:meta + +add-highlighter shared/cmake/argument/args default-region regex '\$\{\w+\}' 0:variable +add-highlighter shared/cmake/argument/comment region '#' '$' fill comment +add-highlighter shared/cmake/argument/quoted region '"' '(?<!\\)(\\\\)*"' group +add-highlighter shared/cmake/argument/raw-quoted region -match-capture '\[(=*)\[' '\](=*)\]' ref cmake/argument/quoted + +add-highlighter shared/cmake/argument/quoted/ fill string +add-highlighter shared/cmake/argument/quoted/ regex '\$\{\w+\}' 0:variable +add-highlighter shared/cmake/argument/quoted/ regex '\w+\h*(?=\()' 0:function + +} |