summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-09-30 21:39:57 +0800
committerMaxime Coste <mawww@kakoune.org>2017-10-25 10:27:39 +0800
commitbf6e5daa086d4dbde812e95b00dd951f09f7d398 (patch)
tree96c10a686a97c24840d953fc061d17ece57b3e96
parent78530b82bea5788e74d425b8d206090e8a497ef8 (diff)
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.
-rw-r--r--rc/base/etc.kak4
-rw-r--r--rc/base/haskell.kak2
-rw-r--r--rc/base/ini.kak2
-rw-r--r--rc/base/javascript.kak2
-rw-r--r--rc/base/lua.kak8
-rw-r--r--rc/base/ruby.kak2
-rw-r--r--rc/core/kakrc.kak6
-rw-r--r--rc/extra/coffee.kak2
-rw-r--r--rc/extra/kickstart.kak2
-rw-r--r--rc/extra/latex.kak2
-rw-r--r--rc/extra/pug.kak4
11 files changed, 18 insertions, 18 deletions
diff --git a/rc/base/etc.kak b/rc/base/etc.kak
index 3efe5587..33acb111 100644
--- a/rc/base/etc.kak
+++ b/rc/base/etc.kak
@@ -23,7 +23,7 @@ hook -group etc-resolv-conf-highlight global WinSetOption filetype=(?!etc-resolv
## /etc/hosts
add-highlighter -group / group etc-hosts
add-highlighter -group /etc-hosts regex ^(.+?)[\s\t]+?(.*?)$ 1:type 2:attribute
-add-highlighter -group /etc-hosts regex \#.*?$ 0:comment
+add-highlighter -group /etc-hosts regex '#.*?$' 0:comment
hook -group etc-hosts-highlight global WinSetOption filetype=etc-hosts %{ add-highlighter ref etc-hosts }
hook -group etc-hosts-highlight global WinSetOption filetype=(?!etc-hosts).* %{ remove-highlighter etc-hosts }
@@ -31,7 +31,7 @@ hook -group etc-hosts-highlight global WinSetOption filetype=(?!etc-hosts).* %{
## /etc/fstab
add-highlighter -group / group etc-fstab
add-highlighter -group /etc-fstab regex ^(\S{1,})\s+?(\S{1,})\s+?(\S{1,})\s+?(\S{1,})\s+?(\S{1,})\s+?(\S{1,})(?:\s+)?$ 1:keyword 2:value 3:type 4:string 5:attribute 6:attribute
-add-highlighter -group /etc-fstab regex \#.*?$ 0:comment
+add-highlighter -group /etc-fstab regex '#.*?$' 0:comment
hook -group etc-fstab-highlight global WinSetOption filetype=etc-fstab %{ add-highlighter ref etc-fstab }
hook -group etc-fstab-highlight global WinSetOption filetype=(?!etc-fstab).* %{ remove-highlighter etc-fstab }
diff --git a/rc/base/haskell.kak b/rc/base/haskell.kak
index f3a7abef..6fd781c8 100644
--- a/rc/base/haskell.kak
+++ b/rc/base/haskell.kak
@@ -14,7 +14,7 @@ hook global BufCreate .*[.](hs) %{
add-highlighter -group / regions -default code haskell \
string '(?<!\'\\)(?<!\')"' (?<!\\)(\\\\)*" '' \
macro ^\h*?\K# (?<!\\)\n '' \
- pragma \{-# \#-\} \{- \
+ pragma \{-# '#-\}' \{- \
comment \{- -\} \{- \
comment --(?![!#$%&*+./<>?@\\\^|~=]) $ ''
diff --git a/rc/base/ini.kak b/rc/base/ini.kak
index 470c0b9d..de28022c 100644
--- a/rc/base/ini.kak
+++ b/rc/base/ini.kak
@@ -3,7 +3,7 @@ hook global BufCreate .*\.(repo|service|target|socket|ini|cfg) %{
}
add-highlighter -group / regions -default code ini \
- comment (^|\h)\K[\#\;] $ ''
+ comment '(^|\h)\K[#;]' $ ''
add-highlighter -group /ini/code regex "^\h*\[[^\]]*\]" 0:title
add-highlighter -group /ini/code regex "^\h*([^\[][^=\n]*=)([^\n]*)" 1:variable 2:value
diff --git a/rc/base/javascript.kak b/rc/base/javascript.kak
index d14dd263..2bcffb4f 100644
--- a/rc/base/javascript.kak
+++ b/rc/base/javascript.kak
@@ -25,7 +25,7 @@ add-highlighter -group /javascript/single_string fill string
add-highlighter -group /javascript/regex fill meta
add-highlighter -group /javascript/comment fill comment
add-highlighter -group /javascript/literal fill string
-add-highlighter -group /javascript/literal regex \${.*?} 0:value
+add-highlighter -group /javascript/literal regex \$\{.*?\} 0:value
add-highlighter -group /javascript/code regex \$\w* 0:variable
add-highlighter -group /javascript/code regex \b(document|false|null|parent|self|this|true|undefined|window)\b 0:value
diff --git a/rc/base/lua.kak b/rc/base/lua.kak
index f37e7039..9b453dbf 100644
--- a/rc/base/lua.kak
+++ b/rc/base/lua.kak
@@ -12,10 +12,10 @@ hook global BufCreate .*[.](lua) %{
# ‾‾‾‾‾‾‾‾‾‾‾‾
add-highlighter -group / regions -default code lua \
- string '"' (?<!\\)(\\\\)*" '' \
- string "'" (?<!\\)(\\\\)*' '' \
- comment '--' '$' '' \
- comment '\Q--[[' ']]' '' \
+ string '"' (?<!\\)(\\\\)*" '' \
+ string "'" (?<!\\)(\\\\)*' '' \
+ comment '--' '$' '' \
+ comment '--\[\[' '\]\]' '' \
add-highlighter -group /lua/string fill string
diff --git a/rc/base/ruby.kak b/rc/base/ruby.kak
index 494385a2..0b1f9ff0 100644
--- a/rc/base/ruby.kak
+++ b/rc/base/ruby.kak
@@ -132,7 +132,7 @@ def -hidden ruby-indent-on-new-line %{
def -hidden ruby-insert-on-new-line %{
eval -no-hooks -draft -itersel %{
# copy _#_ comment prefix and following white spaces
- try %{ exec -draft k <a-x> s ^ \h * \K \# \h * <ret> y gh j P }
+ try %{ exec -draft k <a-x> s '^\h*\K#\h*' <ret> y gh j P }
# wisely add end structure
eval -save-regs x %{
try %{ exec -draft k <a-x> s ^ \h + <ret> \" x y } catch %{ reg x '' }
diff --git a/rc/core/kakrc.kak b/rc/core/kakrc.kak
index 13875bdb..1fa8852f 100644
--- a/rc/core/kakrc.kak
+++ b/rc/core/kakrc.kak
@@ -12,17 +12,17 @@ hook global BufCreate (.*/)?(kakrc|.*.kak) %{
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
add-highlighter -group / regions -default code kakrc \
- comment (^|\h)\K\# $ '' \
+ comment (^|\h)\K# $ '' \
double_string %{(^|\h)\K"} %{(?<!\\)(\\\\)*"} '' \
single_string %{(^|\h)\K'} %{(?<!\\)(\\\\)*'} '' \
shell '(^|\h)\K%sh\{' '\}' '\{' \
shell '(^|\h)\K%sh\(' '\)' '\(' \
shell '(^|\h)\K%sh\[' '\]' '\[' \
- shell '(^|\h)\K%sh\<' '\>' '\<' \
+ shell '(^|\h)\K%sh<' '>' '<' \
shell '(^|\h)\K-shell-(completion|candidates)\h+%\{' '\}' '\{' \
shell '(^|\h)\K-shell-(completion|candidates)\h+%\(' '\)' '\(' \
shell '(^|\h)\K-shell-(completion|candidates)\h+%\[' '\]' '\[' \
- shell '(^|\h)\K-shell-(completion|candidates)\h+%\<' '\>' '\<'
+ shell '(^|\h)\K-shell-(completion|candidates)\h+%<' '>' '<'
%sh{
# Grammar
diff --git a/rc/extra/coffee.kak b/rc/extra/coffee.kak
index 081a6372..69654440 100644
--- a/rc/extra/coffee.kak
+++ b/rc/extra/coffee.kak
@@ -56,7 +56,7 @@ def -hidden coffee-filter-around-selections %{
def -hidden coffee-indent-on-new-line %{
eval -draft -itersel %{
# copy '#' comment prefix and following white spaces
- try %{ exec -draft k <a-x> s ^ \h * \K \# \h * <ret> y gh j P }
+ try %{ exec -draft k <a-x> s '^\h*\K#\h*' <ret> y gh j P }
# preserve previous line indent
try %{ exec -draft \; K <a-&> }
# filter previous line
diff --git a/rc/extra/kickstart.kak b/rc/extra/kickstart.kak
index 7c47c9ca..152a0ab6 100644
--- a/rc/extra/kickstart.kak
+++ b/rc/extra/kickstart.kak
@@ -3,7 +3,7 @@ hook global BufCreate .*\.ks %{
}
add-highlighter -group / regions -default code kickstart \
- comment (^|\h)\K\# $ '' \
+ comment '(^|\h)\K#' $ '' \
double_string '"' (?<!\\)(\\\\)*" '' \
single_string "'" (?<!\\)(\\\\)*' '' \
packages '^\h*\K%packages\b' '^\h*\K%end\b' '' \
diff --git a/rc/extra/latex.kak b/rc/extra/latex.kak
index 5f498f2b..80ce4c01 100644
--- a/rc/extra/latex.kak
+++ b/rc/extra/latex.kak
@@ -18,7 +18,7 @@ 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
+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
diff --git a/rc/extra/pug.kak b/rc/extra/pug.kak
index 7a338a01..5c7d6d00 100644
--- a/rc/extra/pug.kak
+++ b/rc/extra/pug.kak
@@ -17,7 +17,7 @@ hook global BufCreate .*[.](pug|jade) %{
add-highlighter -group / regions -default code pug \
text ^\h*\|\s $ '' \
- text ^\h*([A-Za-z][A-Za-z0-9_-]*)?(\#[A-Za-z][A-Za-z0-9_-]*)?((?:\.[A-Za-z][A-Za-z0-9_-]*)*)?(?<=\S)\h+\K.* $ '' \
+ text '^\h*([A-Za-z][A-Za-z0-9_-]*)?(#[A-Za-z][A-Za-z0-9_-]*)?((?:\.[A-Za-z][A-Za-z0-9_-]*)*)?(?<=\S)\h+\K.*' $ '' \
javascript ^\h*[-=!] $ '' \
double_string '"' (?:(?<!\\)(\\\\)*"|$) '' \
single_string "'" (?:(?<!\\)(\\\\)*'|$) '' \
@@ -38,7 +38,7 @@ add-highlighter -group /pug/puglang regex \b(\block|extends|include|a
add-highlighter -group /pug/attribute regex [()=] 0:operator
add-highlighter -group /pug/text regex \h*(\|) 1:meta
add-highlighter -group /pug/code regex ^\h*([A-Za-z][A-Za-z0-9_-]*) 1:type
-add-highlighter -group /pug/code regex (\#[A-Za-z][A-Za-z0-9_-]*) 1:variable
+add-highlighter -group /pug/code regex '(#[A-Za-z][A-Za-z0-9_-]*)' 1:variable
add-highlighter -group /pug/code regex ((?:\.[A-Za-z][A-Za-z0-9_-]*)*) 1:value
# Commands