summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKylie McClain <somasis@exherbo.org>2015-12-04 20:57:01 -0500
committerKylie McClain <somasis@exherbo.org>2015-12-04 20:58:33 -0500
commit2fb48d1d6f4edb1cbd956afaa2da296381e02482 (patch)
treeca4df32447a4a45e952a82762f2d91a3e1ba99eb
parent84fc4bd6cb8e49a26af8f64866f0236f00fdefbe (diff)
etc.kak: highlighting for common Unix system configuration files
-rw-r--r--rc/etc.kak66
1 files changed, 66 insertions, 0 deletions
diff --git a/rc/etc.kak b/rc/etc.kak
new file mode 100644
index 00000000..89212763
--- /dev/null
+++ b/rc/etc.kak
@@ -0,0 +1,66 @@
+# Highlighting for common files in /etc
+hook global BufCreate .*/etc/(hosts|networks|services) %{ set buffer filetype etc-hosts }
+hook global BufCreate .*/etc/resolv.conf %{ set buffer filetype etc-resolv-conf }
+hook global BufCreate .*/etc/shadow %{ set buffer filetype etc-shadow }
+hook global BufCreate .*/etc/passwd %{ set buffer filetype etc-passwd }
+hook global BufCreate .*/etc/gshadow %{ set buffer filetype etc-gshadow }
+hook global BufCreate .*/etc/group %{ set buffer filetype etc-group }
+hook global BufCreate .*/etc/(fs|m)tab %{ set buffer filetype etc-fstab }
+hook global BufCreate .*/etc/environment %{ set buffer filetype sh }
+hook global BufCreate .*/etc/env.d/.* %{ set buffer filetype sh }
+hook global BufCreate .*/etc/profile(\.(csh|env))? %{ set buffer filetype sh }
+hook global BufCreate .*/etc/profile\.d/.* %{ set buffer filetype sh }
+
+# Highlighters
+## /etc/resolv.conf
+addhl -group / group etc-resolv-conf
+addhl -group /etc-resolv-conf regex ^#.*?$ 0:comment
+addhl -group /etc-resolv-conf regex ^(nameserver|server|domain|sortlist|options)[\s\t]+(.*?)$ 1:type 2:attribute
+
+hook global WinSetOption filetype=etc-resolv-conf %{ addhl ref etc-resolv-conf }
+hook global WinSetOption filetype=(?!etc-resolv-conf).* %{ rmhl etc-resolv-conf }
+
+## /etc/hosts
+addhl -group / group etc-hosts
+addhl -group /etc-hosts regex ^(.+?)[\s\t]+?(.*?)$ 1:type 2:attribute
+addhl -group /etc-hosts regex \#.*?$ 0:comment
+
+hook global WinSetOption filetype=etc-hosts %{ addhl ref etc-hosts }
+hook global WinSetOption filetype=(?!etc-hosts).* %{ rmhl etc-hosts }
+
+## /etc/fstab
+addhl -group / group etc-fstab
+addhl -group /etc-fstab regex \#.*?$ 0:comment
+addhl -group /etc-fstab regex ^(\S+)\s+(\S+)\s+(\S+)\s+(?:(\S+,?)+)\s+([0-9])\s+([0-9]) 1:keyword 2:value 3:type 4:string 5:attribute 6:attribute
+
+hook global WinSetOption filetype=etc-fstab %{ addhl ref etc-fstab }
+hook global WinSetOption filetype=(?!etc-fstab).* %{ rmhl etc-fstab }
+
+## /etc/group
+addhl -group / group etc-group
+addhl -group /etc-group regex ^(\S+?):(\S+?)?:(\S+?)?:(\S+?)?$ 1:keyword 2:type 3:value 4:string
+
+hook global WinSetOption filetype=etc-group %{ addhl ref etc-group }
+hook global WinSetOption filetype=(?!etc-group).* %{ rmhl etc-group }
+
+## /etc/gshadow
+addhl -group / group etc-gshadow
+addhl -group /etc-gshadow regex ^(\S+?):(\S+?)?:(\S+?)?:(\S+?)?$ 1:keyword 2:type 3:value 4:string
+
+hook global WinSetOption filetype=etc-gshadow %{ addhl ref etc-gshadow }
+hook global WinSetOption filetype=(?!etc-gshadow).* %{ rmhl etc-gshadow }
+
+## /etc/shadow
+addhl -group / group etc-shadow
+addhl -group /etc-shadow regex ^(\S+?):(\S+?):([0-9]+?):([0-9]+?)?:([0-9]+?)?:([0-9]+?)?:([0-9]+?)?:([0-9]+?)?:(.*?)?$ 1:keyword 2:type 3:value 4:value 5:value 6:value 7:value 8:value
+
+hook global WinSetOption filetype=etc-shadow %{ addhl ref etc-shadow }
+hook global WinSetOption filetype=(?!etc-shadow).* %{ rmhl etc-shadow }
+
+## /etc/passwd
+addhl -group / group etc-passwd
+addhl -group /etc-passwd regex ^(\S+?):(\S+?):([0-9]+?):([0-9]+?):(.*?)?:(.+?):(.+?)$ 1:keyword 2:type 3:value 4:value 5:string 6:attribute 7:attribute
+
+hook global WinSetOption filetype=etc-passwd %{ addhl ref etc-passwd }
+hook global WinSetOption filetype=(?!etc-passwd).* %{ rmhl etc-passwd }
+