summaryrefslogtreecommitdiff
path: root/autoload/filetype/ini.kak
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/filetype/ini.kak')
-rw-r--r--autoload/filetype/ini.kak24
1 files changed, 24 insertions, 0 deletions
diff --git a/autoload/filetype/ini.kak b/autoload/filetype/ini.kak
new file mode 100644
index 0000000..75762f6
--- /dev/null
+++ b/autoload/filetype/ini.kak
@@ -0,0 +1,24 @@
+hook global BufCreate .+\.ini %{
+ 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
+
+}