kakoune/rc/extra/latex.kak
Maxime Coste bf6e5daa08 Use stricter regex syntax
boost regex tolerates non-escaped special characters, and escaped
non-special characters. Standardize on stricter syntax, where
special characters must be escaped, and non-special characters must
not.
2017-10-25 10:27:39 +08:00

35 lines
1.1 KiB
Plaintext

# https://www.latex-project.org/
#
# Detection
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*\.tex %{
set buffer filetype latex
}
# Highlighters
# ‾‾‾‾‾‾‾‾‾‾‾‾
add-highlighter -group / regions -default content latex \
comment '(?<!\\)%' '\n' ''
add-highlighter -group /latex/comment fill comment
# Scopes, starting with a backslash
add-highlighter -group /latex/content regex '\\(?!_)\w+\b' 0:keyword
# Options passed to scopes, between brackets
add-highlighter -group /latex/content regex '\\(?!_)\w+\b\[([^\]]+)\]' 1:value
# Content between dollar signs/pairs
add-highlighter -group /latex/content regex '(\$(\\\$|[^$])+\$)|(\$\$(\\\$|[^$])+\$\$)' 0:magenta
# Emphasized text
add-highlighter -group /latex/content regex '\\(emph|textit)\{([^}]+)\}' 2:default+i
# Bold text
add-highlighter -group /latex/content regex '\\textbf\{([^}]+)\}' 1:default+b
# Initialization
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
hook -group latex-highlight global WinSetOption filetype=latex %{ add-highlighter ref latex }
hook -group latex-highlight global WinSetOption filetype=(?!latex).* %{ remove-highlighter latex }