home/rc/filetype/ini.kak
Frank LENORMAND c7043e06ee rc ini: More leniently highlight section names
Highlight every character between brackets, including more
brackets. This allows alternative constructs in INI files such as:

```
[section]
    [[subsection]]
```

This commit also only applies the appropriate face on the section
name itself, not the entire line (including hypothetical surrounding
whitespace characters).
2020-05-14 10:25:38 +03:00

25 lines
709 B
Plaintext

hook global BufCreate .+\.(repo|ini|cfg|properties|desktop) %{
set-option buffer filetype ini
}
hook global WinSetOption filetype=ini %{
require-module ini
}
hook -group ini-highlight global WinSetOption filetype=ini %{
add-highlighter window/ini ref ini
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/ini }
}
provide-module ini %{
add-highlighter shared/ini regions
add-highlighter shared/ini/code default-region group
add-highlighter shared/ini/comment region '(^|\h)\K[#;]' $ fill comment
add-highlighter shared/ini/code/ regex "(?S)^\h*(\[.+?\])\h*$" 1:title
add-highlighter shared/ini/code/ regex "^\h*([^\[][^=\n]*)=([^\n]*)" 1:variable 2:value
}