3a856ef57b
*.ini files traditionally use ; but for example the "foot" terminal's foot.ini uses #. Add a hack to treat ini files as "conf" filetype if they contain a #-comment (very slim chance of false positives). This requires to explicitly set comment_line to the default #, because we set the "ini" filetype earlier.
31 lines
841 B
Plaintext
31 lines
841 B
Plaintext
hook global BufCreate .+\.(repo|cfg|properties|desktop) %{
|
|
set-option buffer filetype conf
|
|
}
|
|
|
|
hook global WinCreate .+\.ini %{
|
|
try %{
|
|
execute-keys /^\h*#<ret>
|
|
set-option buffer filetype conf
|
|
}
|
|
}
|
|
|
|
hook global WinSetOption filetype=conf %{
|
|
require-module conf
|
|
}
|
|
|
|
hook -group conf-highlight global WinSetOption filetype=conf %{
|
|
add-highlighter window/conf ref conf
|
|
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/conf }
|
|
}
|
|
|
|
provide-module conf %{
|
|
|
|
add-highlighter shared/conf regions
|
|
add-highlighter shared/conf/code default-region group
|
|
add-highlighter shared/conf/comment region '(^|\h)\K#' $ fill comment
|
|
|
|
add-highlighter shared/conf/code/ regex "(?S)^\h*(\[.+?\])\h*$" 1:title
|
|
add-highlighter shared/conf/code/ regex "^\h*([^\[][^=\n]*)=([^\n]*)" 1:variable 2:value
|
|
|
|
}
|