summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank LENORMAND <lenormf@gmail.com>2018-10-21 14:43:56 +0300
committerFrank LENORMAND <lenormf@gmail.com>2018-10-21 16:24:14 +0300
commit2999702b01f4cb43ceeb199cc2ca172ff4c5a4d3 (patch)
treec113e5ca0c55bc304a7207be022478e27596e019
parent7470c85a1ac01feccd9493b3b47b01b691cf328d (diff)
rc troff: Highlight *ROFF files
Fixes #2508
-rw-r--r--rc/extra/troff.kak29
1 files changed, 29 insertions, 0 deletions
diff --git a/rc/extra/troff.kak b/rc/extra/troff.kak
new file mode 100644
index 00000000..91755643
--- /dev/null
+++ b/rc/extra/troff.kak
@@ -0,0 +1,29 @@
+# Detection
+# ‾‾‾‾‾‾‾‾‾
+
+hook global BufCreate .*\.\d+ %{
+ set-option buffer filetype troff
+}
+
+# Highlighters
+# ‾‾‾‾‾‾‾‾‾‾‾‾
+
+add-highlighter shared/troff group
+add-highlighter shared/troff/ regex '\\f[A-Z]' 0:attribute
+add-highlighter shared/troff/ regex '\\fB(.+?)\\f[A-Z]' 1:+b
+add-highlighter shared/troff/ regex '\\fI(.+?)\\f[A-Z]' 1:+i
+
+add-highlighter shared/troff/ regex '^\.[a-zA-Z]{1,2}\b' 0:meta
+add-highlighter shared/troff/ regex '^\.TH\s+[^\n]+' 0:title
+add-highlighter shared/troff/ regex '^\.SH\s+[^\n]+' 0:header
+add-highlighter shared/troff/ regex '^\.IR\s+(\S+)' 1:+i
+add-highlighter shared/troff/ regex '^\.BR\s+(\S+)' 1:+b
+add-highlighter shared/troff/ regex '^\.I\s+([^\n]+)' 1:+i
+add-highlighter shared/troff/ regex '^\.B\s+([^\n]+)' 1:+b
+
+# Initialization
+# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+
+hook -group troff-highlight global WinSetOption filetype=troff %{ add-highlighter window/troff ref troff }
+
+hook -group troff-highlight global WinSetOption filetype=(?!troff).* %{ remove-highlighter window/troff }