diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-11-21 19:07:41 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-11-21 19:07:41 +0100 |
| commit | e981fb7957f698d547e6bbd7098ba26a3a65785a (patch) | |
| tree | 5546ebb91fccc1d6fb37d127b6ccca38bb0097e4 /src/rc/cpp.kak | |
| parent | ff4e907fa9cc29493672cbd9c16717c15bb5a91d (diff) | |
cpp.kak: use regex filter to handle indentation
Diffstat (limited to 'src/rc/cpp.kak')
| -rw-r--r-- | src/rc/cpp.kak | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/rc/cpp.kak b/src/rc/cpp.kak index d9908fc8..d318df4a 100644 --- a/src/rc/cpp.kak +++ b/src/rc/cpp.kak @@ -9,7 +9,7 @@ hook global BufOpen .* %{ %sh{ fi } } -hook global WinSetOption filetype=cpp %{ +hook global WinSetOption filetype=cpp %~ addhl group cpp-highlight addhl -group cpp-highlight regex "\<(this|true|false|NULL|nullptr|)\>|\<-?\d+[fdiu]?|'((\\.)?|[^'\\])'" 0:value addhl -group cpp-highlight regex "\<(void|int|char|unsigned|float|bool|size_t)\>" 0:type @@ -18,14 +18,15 @@ hook global WinSetOption filetype=cpp %{ addhl -group cpp-highlight regex "(?<!')\".*?(?<!\\)(\\\\)*\"" 0:string addhl -group cpp-highlight regex "(\`|(?<=\n))\h*#\h*[^\n]*" 0:macro addhl -group cpp-highlight regex "(//[^\n]*\n)|(/\*.*?(\*/|\'))" 0:comment - addfilter group cpp-filters; - addfilter -group cpp-filters preserve_indent; - addfilter -group cpp-filters cleanup_whitespaces; + addfilter group cpp-filters + addfilter -group cpp-filters regex ^(\h+)[^\n]*[^([{]\h* \n \n$1 + addfilter -group cpp-filters regex ^(\h*)[^\n]*[([{]\h* \n '\n$1 ' + addfilter -group cpp-filters cleanup_whitespaces hook window InsertEnd .* %{ exec xs\h+(?=\n)<ret>d } -} +~ hook global WinSetOption filetype=(?!cpp).* %{ - rmhl cpp-highlight; + rmhl cpp-highlight rmfilter cpp-filters } |
