Add conf filetype, for generic Unix configuration files
We set the "ini" filetype for files ending in one of "repo", "ini", "cfg", "properties" or "desktop". Most of these actually use Unix style comments (#) instead of DOS INI comments (;). Introduce filetype "conf" which is similar to "ini" except it uses the default # as comment_line string. Both Vim and Emacs have a filetype (or Major mode) named "conf" (hence modeline-parse of "vim ft=conf" will work). Here are references that show that the new "conf" files use #-comments: *.repo -- search for # in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-configuring_yum_and_yum_repositories *.cfg: don't know much about this one, but at least the motivating file uses # https://github.com/buildout/buildout/blob/master/buildout.cfg *.properties files: https://en.wikipedia.org/wiki/.properties *.desktop: per spec https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s03.html#comments
This commit is contained in:
parent
e04a14cf73
commit
cc6fe5ae61
23
rc/filetype/conf.kak
Normal file
23
rc/filetype/conf.kak
Normal file
|
@ -0,0 +1,23 @@
|
|||
hook global BufCreate .+\.(repo|cfg|properties|desktop) %{
|
||||
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
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
hook global BufCreate .+\.(repo|ini|cfg|properties|desktop) %{
|
||||
hook global BufCreate .+\.ini %{
|
||||
set-option buffer filetype ini
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user