diff --git a/rc/base/clojure.kak b/rc/base/clojure.kak
index 8a3c97ac..af584516 100644
--- a/rc/base/clojure.kak
+++ b/rc/base/clojure.kak
@@ -21,7 +21,7 @@ addhl -group / group clojure
addhl -group /clojure ref lisp
-addhl -group /clojure regex \<(clojure.core/['/\w]+)\> 0:keyword
+addhl -group /clojure regex \b(clojure.core/['/\w]+)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/dlang.kak b/rc/base/dlang.kak
index 819775ab..b1e1b7be 100644
--- a/rc/base/dlang.kak
+++ b/rc/base/dlang.kak
@@ -28,10 +28,10 @@ addhl -group /dlang/token fill meta
addhl -group /dlang/disabled fill rgb:777777
addhl -group /dlang/comment fill comment
-addhl -group /dlang/string regex %{\\(x[0-9a-fA-F]{2}|[0-7]{1,3}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})\>} 0:value
+addhl -group /dlang/string regex %{\\(x[0-9a-fA-F]{2}|[0-7]{1,3}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})\b} 0:value
addhl -group /dlang/code regex %{'((\\.)?|[^'\\])'} 0:value
-addhl -group /dlang/code regex "-?([0-9_]*\.(?!0[xXbB]))?\<([0-9_]+|0[xX][0-9a-fA-F_]*\.?[0-9a-fA-F_]+|0[bb][01_]+)([ep]-?[0-9_]+)?[fFlLuUi]*\>" 0:value
-addhl -group /dlang/code regex "\<(this)\>\s*[^(]" 1:value
+addhl -group /dlang/code regex "-?([0-9_]*\.(?!0[xXbB]))?\b([0-9_]+|0[xX][0-9a-fA-F_]*\.?[0-9a-fA-F_]+|0[bb][01_]+)([ep]-?[0-9_]+)?[fFlLuUi]*\b" 0:value
+addhl -group /dlang/code regex "\b(this)\b\s*[^(]" 1:value
%sh{
# Grammar
@@ -59,11 +59,11 @@ addhl -group /dlang/code regex "\<(this)\>\s*[^(]" 1:value
# Highlight keywords
printf %s "
- addhl -group /dlang/code regex \<(${keywords})\> 0:keyword
- addhl -group /dlang/code regex \<(${attributes})\> 0:attribute
- addhl -group /dlang/code regex \<(${types})\> 0:type
- addhl -group /dlang/code regex \<(${values})\> 0:value
- addhl -group /dlang/code regex @(${decorators})\> 0:attribute
+ addhl -group /dlang/code regex \b(${keywords})\b 0:keyword
+ addhl -group /dlang/code regex \b(${attributes})\b 0:attribute
+ addhl -group /dlang/code regex \b(${types})\b 0:type
+ addhl -group /dlang/code regex \b(${values})\b 0:value
+ addhl -group /dlang/code regex @(${decorators})\b 0:attribute
"
}
diff --git a/rc/base/fish.kak b/rc/base/fish.kak
index b08e7e70..08211278 100644
--- a/rc/base/fish.kak
+++ b/rc/base/fish.kak
@@ -28,7 +28,7 @@ addhl -group /fish/comment fill comment
addhl -group /fish/code regex (\$\w+)|(\{\$\w+\}) 0:identifier
# Command names are collected using `builtin --names` and 'eval' from `functions --names`
-addhl -group /fish/code regex \<(and|begin|bg|bind|block|break|breakpoint|builtin|case|cd|command|commandline|complete|contains|continue|count|echo|else|emit|end|eval|exec|exit|fg|for|function|functions|history|if|jobs|not|or|printf|pwd|random|read|return|set|set_color|source|status|switch|test|ulimit|while)\> 0:keyword
+addhl -group /fish/code regex \b(and|begin|bg|bind|block|break|breakpoint|builtin|case|cd|command|commandline|complete|contains|continue|count|echo|else|emit|end|eval|exec|exit|fg|for|function|functions|history|if|jobs|not|or|printf|pwd|random|read|return|set|set_color|source|status|switch|test|ulimit|while)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/git.kak b/rc/base/git.kak
index f524f458..1f6ea820 100644
--- a/rc/base/git.kak
+++ b/rc/base/git.kak
@@ -7,7 +7,7 @@ hook global WinSetOption filetype=git-commit %{
addhl -group git-commit-highlight regex "\`[^\n]{1,50}" 0:yellow
addhl -group git-commit-highlight regex "\`[^\n]*\n\h*(?!#)([^\n]*)\n?" 1:default,red
addhl -group git-commit-highlight regex "^\h*#[^\n]*\n" 0:cyan,default
- addhl -group git-commit-highlight regex "\<(?:(modified)|(deleted)|(new file)|(renamed)):([^\n]*)\n" 1:yellow 2:red 3:green 4:blue 5:magenta
+ addhl -group git-commit-highlight regex "\b(?:(modified)|(deleted)|(new file)|(renamed)):([^\n]*)\n" 1:yellow 2:red 3:green 4:blue 5:magenta
}
hook global WinSetOption filetype=(?!git-commit).* %{
diff --git a/rc/base/golang.kak b/rc/base/golang.kak
index b66f0a86..7836ccc1 100644
--- a/rc/base/golang.kak
+++ b/rc/base/golang.kak
@@ -24,7 +24,7 @@ addhl -group /golang/double_string fill string
addhl -group /golang/single_string fill string
addhl -group /golang/comment fill comment
-addhl -group /golang/code regex %{-?([0-9]*\.(?!0[xX]))?\<([0-9]+|0[xX][0-9a-fA-F]+)\.?([eE][+-]?[0-9]+)?i?\>} 0:value
+addhl -group /golang/code regex %{-?([0-9]*\.(?!0[xX]))?\b([0-9]+|0[xX][0-9a-fA-F]+)\.?([eE][+-]?[0-9]+)?i?\b} 0:value
%sh{
# Grammar
@@ -42,10 +42,10 @@ addhl -group /golang/code regex %{-?([0-9]*\.(?!0[xX]))?\<([0-9]+|0[xX][0-9a-fA-
# Highlight keywords
printf %s "
- addhl -group /golang/code regex \<(${keywords})\> 0:keyword
- addhl -group /golang/code regex \<(${attributes})\> 0:attribute
- addhl -group /golang/code regex \<(${types})\> 0:type
- addhl -group /golang/code regex \<(${values})\> 0:value
+ addhl -group /golang/code regex \b(${keywords})\b 0:keyword
+ addhl -group /golang/code regex \b(${attributes})\b 0:attribute
+ addhl -group /golang/code regex \b(${types})\b 0:type
+ addhl -group /golang/code regex \b(${values})\b 0:value
"
}
diff --git a/rc/base/haskell.kak b/rc/base/haskell.kak
index f3fb6c80..90f35685 100644
--- a/rc/base/haskell.kak
+++ b/rc/base/haskell.kak
@@ -25,10 +25,10 @@ addhl -group /haskell/string fill string
addhl -group /haskell/comment fill comment
addhl -group /haskell/macro fill meta
-addhl -group /haskell/code regex \<(import)\> 0:meta
-addhl -group /haskell/code regex \<(True|False)\> 0:value
-addhl -group /haskell/code regex \<(as|case|class|data|default|deriving|do|else|hiding|if|in|infix|infixl|infixr|instance|let|module|newtype|of|qualified|then|type|where)\> 0:keyword
-addhl -group /haskell/code regex \<(Int|Integer|Char|Bool|Float|Double|IO|Void|Addr|Array|String)\> 0:type
+addhl -group /haskell/code regex \b(import)\b 0:meta
+addhl -group /haskell/code regex \b(True|False)\b 0:value
+addhl -group /haskell/code regex \b(as|case|class|data|default|deriving|do|else|hiding|if|in|infix|infixl|infixr|instance|let|module|newtype|of|qualified|then|type|where)\b 0:keyword
+addhl -group /haskell/code regex \b(Int|Integer|Char|Bool|Float|Double|IO|Void|Addr|Array|String)\b 0:type
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/html.kak b/rc/base/html.kak
index b36c9507..8a7eb9e0 100644
--- a/rc/base/html.kak
+++ b/rc/base/html.kak
@@ -18,8 +18,8 @@ hook global BufCreate .*[.](html) %{
addhl -group / regions html \
comment '' \
tag < > '' \
- style ) '' \
- script ) ''
+ style ) '' \
+ script ) ''
addhl -group /html/comment fill comment
diff --git a/rc/base/java.kak b/rc/base/java.kak
index 48bb442b..ca9d3f01 100644
--- a/rc/base/java.kak
+++ b/rc/base/java.kak
@@ -14,10 +14,10 @@ addhl -group / regions -default code java \
addhl -group /java/string fill string
addhl -group /java/comment fill comment
-addhl -group /java/code regex %{\<(this|true|false|null)\>} 0:value
-addhl -group /java/code regex "\<(void|int|char|unsigned|float|boolean|double)\>" 0:type
-addhl -group /java/code regex "\<(while|for|if|else|do|static|switch|case|default|class|interface|goto|break|continue|return|import|try|catch|throw|new|package|extends|implements)\>" 0:keyword
-addhl -group /java/code regex "\<(final|public|protected|private|abstract)\>" 0:attribute
+addhl -group /java/code regex %{\b(this|true|false|null)\b} 0:value
+addhl -group /java/code regex "\b(void|int|char|unsigned|float|boolean|double)\b" 0:type
+addhl -group /java/code regex "\b(while|for|if|else|do|static|switch|case|default|class|interface|goto|break|continue|return|import|try|catch|throw|new|package|extends|implements)\b" 0:keyword
+addhl -group /java/code regex "\b(final|public|protected|private|abstract)\b" 0:attribute
hook global WinSetOption filetype=java %{
addhl ref java
diff --git a/rc/base/javascript.kak b/rc/base/javascript.kak
index 325ce6fb..2b6053cc 100644
--- a/rc/base/javascript.kak
+++ b/rc/base/javascript.kak
@@ -26,14 +26,14 @@ addhl -group /javascript/single_string fill string
addhl -group /javascript/comment fill comment
addhl -group /javascript/code regex \$\w* 0:identifier
-addhl -group /javascript/code regex \<(document|false|null|parent|self|this|true|undefined|window)\> 0:value
+addhl -group /javascript/code regex \b(document|false|null|parent|self|this|true|undefined|window)\b 0:value
addhl -group /javascript/code regex "-?[0-9]*\.?[0-9]+" 0:value
-addhl -group /javascript/code regex \<(Array|Boolean|Date|Function|Number|Object|RegExp|String)\> 0:type
+addhl -group /javascript/code regex \b(Array|Boolean|Date|Function|Number|Object|RegExp|String)\b 0:type
addhl -group /javascript/code regex (?<=\W)/[^\n/]+/[gimy]* 0:meta
# Keywords are collected at
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords
-addhl -group /javascript/code regex \<(break|case|catch|class|const|continue|debugger|default|delete|do|else|export|extends|finally|for|function|if|import|in|instanceof|let|new|of|return|super|switch|throw|try|typeof|var|void|while|with|yield)\> 0:keyword
+addhl -group /javascript/code regex \b(break|case|catch|class|const|continue|debugger|default|delete|do|else|export|extends|finally|for|function|if|import|in|instanceof|let|new|of|return|super|switch|throw|try|typeof|var|void|while|with|yield)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/json.kak b/rc/base/json.kak
index 7655f376..edbc8dbf 100644
--- a/rc/base/json.kak
+++ b/rc/base/json.kak
@@ -20,7 +20,7 @@ addhl -group / regions -default code json \
addhl -group /json/string fill string
-addhl -group /json/code regex \<(true|false|null)\> 0:value
+addhl -group /json/code regex \b(true|false|null)\b 0:value
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/julia.kak b/rc/base/julia.kak
index 41f66bdb..db7c1d2d 100644
--- a/rc/base/julia.kak
+++ b/rc/base/julia.kak
@@ -19,9 +19,9 @@ addhl -group /julia/string fill string
addhl -group /julia/comment fill comment
# taken from https://github.com/JuliaLang/julia/blob/master/contrib/julia-mode.el
-addhl -group /julia/code regex %{\<(true|false|C_NULL|Inf|NaN|Inf32|NaN32|nothing|\<-?\d+[fdiu]?)\>} 0:value
-addhl -group /julia/code regex \<(if|else|elseif|while|for|begin|end|quote|try|catch|return|local|abstract|function|macro|ccall|finally|typealias|break|continue|type|global|module|using|import|export|const|let|bitstype|do|in|baremodule|importall|immutable)\> 0:keyword
-addhl -group /julia/code regex \<(Number|Real|BigInt|Integer|UInt|UInt8|UInt16|UInt32|UInt64|UInt128|Int|Int8|Int16|Int32|Int64|Int128|BigFloat|FloatingPoint|Float16|Float32|Float64|Complex128|Complex64|Bool|Cuchar|Cshort|Cushort|Cint|Cuint|Clonglong|Culonglong|Cintmax_t|Cuintmax_t|Cfloat|Cdouble|Cptrdiff_t|Cssize_t|Csize_t|Cchar|Clong|Culong|Cwchar_t|Char|ASCIIString|UTF8String|ByteString|SubString|Array|DArray|AbstractArray|AbstractVector|AbstractMatrix|AbstractSparseMatrix|SubArray|StridedArray|StridedVector|StridedMatrix|VecOrMat|StridedVecOrMat|DenseArray|SparseMatrixCSC|BitArray|Range|OrdinalRange|StepRange|UnitRange|FloatRange|Tuple|NTuple|Vararg|DataType|Symbol|Function|Vector|Matrix|Union|Type|Any|Complex|String|Ptr|Void|Exception|Task|Signed|Unsigned|Associative|Dict|IO|IOStream|Rational|Regex|RegexMatch|Set|IntSet|Expr|WeakRef|ObjectIdDict|AbstractRNG|MersenneTwister)\> 0:type
+addhl -group /julia/code regex %{\b(true|false|C_NULL|Inf|NaN|Inf32|NaN32|nothing|\b-?\d+[fdiu]?)\b} 0:value
+addhl -group /julia/code regex \b(if|else|elseif|while|for|begin|end|quote|try|catch|return|local|abstract|function|macro|ccall|finally|typealias|break|continue|type|global|module|using|import|export|const|let|bitstype|do|in|baremodule|importall|immutable)\b 0:keyword
+addhl -group /julia/code regex \b(Number|Real|BigInt|Integer|UInt|UInt8|UInt16|UInt32|UInt64|UInt128|Int|Int8|Int16|Int32|Int64|Int128|BigFloat|FloatingPoint|Float16|Float32|Float64|Complex128|Complex64|Bool|Cuchar|Cshort|Cushort|Cint|Cuint|Clonglong|Culonglong|Cintmax_t|Cuintmax_t|Cfloat|Cdouble|Cptrdiff_t|Cssize_t|Csize_t|Cchar|Clong|Culong|Cwchar_t|Char|ASCIIString|UTF8String|ByteString|SubString|Array|DArray|AbstractArray|AbstractVector|AbstractMatrix|AbstractSparseMatrix|SubArray|StridedArray|StridedVector|StridedMatrix|VecOrMat|StridedVecOrMat|DenseArray|SparseMatrixCSC|BitArray|Range|OrdinalRange|StepRange|UnitRange|FloatRange|Tuple|NTuple|Vararg|DataType|Symbol|Function|Vector|Matrix|Union|Type|Any|Complex|String|Ptr|Void|Exception|Task|Signed|Unsigned|Associative|Dict|IO|IOStream|Rational|Regex|RegexMatch|Set|IntSet|Expr|WeakRef|ObjectIdDict|AbstractRNG|MersenneTwister)\b 0:type
# Initialization
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
diff --git a/rc/base/lisp.kak b/rc/base/lisp.kak
index 77c31679..e2405c6d 100644
--- a/rc/base/lisp.kak
+++ b/rc/base/lisp.kak
@@ -22,10 +22,10 @@ addhl -group / regions -default code lisp \
addhl -group /lisp/string fill string
addhl -group /lisp/comment fill comment
-addhl -group /lisp/code regex \<(nil|true|false)\> 0:value
+addhl -group /lisp/code regex \b(nil|true|false)\b 0:value
addhl -group /lisp/code regex (((\Q***\E)|(///)|(\Q+++\E)){1,3})|(1[+-])|(<|>|<=|=|>=|) 0:operator
-addhl -group /lisp/code regex \<(([':]\w+)|([*]\H+[*]))\> 0:identifier
-addhl -group /lisp/code regex \<(def[a-z]+|if|do|let|lambda|catch|and|assert|while|def|do|fn|finally|let|loop|new|quote|recur|set!|throw|try|var|case|if-let|if-not|when|when-first|when-let|when-not|(cond(->|->>)?))\> 0:keyword
+addhl -group /lisp/code regex \b(([':]\w+)|([*]\H+[*]))\b 0:identifier
+addhl -group /lisp/code regex \b(def[a-z]+|if|do|let|lambda|catch|and|assert|while|def|do|fn|finally|let|loop|new|quote|recur|set!|throw|try|var|case|if-let|if-not|when|when-first|when-let|when-not|(cond(->|->>)?))\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/lua.kak b/rc/base/lua.kak
index 52ec0024..7a30c4e0 100644
--- a/rc/base/lua.kak
+++ b/rc/base/lua.kak
@@ -27,7 +27,7 @@ addhl -group /lua/string fill string
addhl -group /lua/comment fill comment
-addhl -group /lua/code regex \<(and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\> 0:keyword
+addhl -group /lua/code regex \b(and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/makefile.kak b/rc/base/makefile.kak
index 627fec6a..a4c71ddd 100644
--- a/rc/base/makefile.kak
+++ b/rc/base/makefile.kak
@@ -32,7 +32,7 @@ addhl -group /makefile/content regex [+?:]= 0:operator
}" | sed 's,|,:,g'
# Highlight keywords
- printf %s "addhl -group /makefile/content regex \<(${keywords})\> 0:keyword"
+ printf %s "addhl -group /makefile/content regex \b(${keywords})\b 0:keyword"
}
# Commands
diff --git a/rc/base/perl.kak b/rc/base/perl.kak
index 9237bcf9..02d67413 100644
--- a/rc/base/perl.kak
+++ b/rc/base/perl.kak
@@ -50,29 +50,29 @@ addhl -group /perl/comment fill comment
# Highlight keywords
printf %s "
- addhl -group /perl/code regex \<(${keywords})\> 0:keyword
- addhl -group /perl/code regex \<(${attributes})\> 0:attribute
- addhl -group /perl/code regex \<(${values})\> 0:value
+ addhl -group /perl/code regex \b(${keywords})\b 0:keyword
+ addhl -group /perl/code regex \b(${attributes})\b 0:attribute
+ addhl -group /perl/code regex \b(${values})\b 0:value
"
}
-addhl -group /perl/code regex (?!\$)-?([0-9]*\.(?!0[xXbB]))?\<([0-9]+|0[xX][0-9a-fA-F]+|0[bb][01_]+)\.?([eE][+-]?[0-9]+)?i?\> 0:value
+addhl -group /perl/code regex (?!\$)-?([0-9]*\.(?!0[xXbB]))?\b([0-9]+|0[xX][0-9a-fA-F]+|0[bb][01_]+)\.?([eE][+-]?[0-9]+)?i?\b 0:value
addhl -group /perl/code regex %{\$!|\$"|\$#|\$\$|\$%|\$&|\$'|\$\(|\$\)|\$\*|\$\+|\$,|\$_|\$-|\$`|\$\.|\$/|\$:|\$;|\$<|\$=|\$>|\$\?|\$@|\$\[|\$\\|\$\]|\$\^|\$\||\$~|%!|@\+|@-|@_} 0:value
addhl -group /perl/code regex (%ENV|%INC|%OVERLOAD|%SIG|@ARGV|@INC|@LAST_MATCH_START) 0:value
-addhl -group /perl/code regex %{%\^(H)\>} 0:value
-addhl -group /perl/code regex \$\^(S|T|V|W|X|A|C|D|E|F|H|I|L|M|N|O|P|R)\> 0:value
-addhl -group /perl/code regex \$\^(RE_TRIE_MAXBUF|TAINT|UNICODE|UTF8LOCALE|WARNING_BITS|WIDE_SYSTEM_CALLS|CHILD_ERROR_NATIVE|ENCODING|OPEN|RE_DEBUG_FLAGS)\> 0:value
+addhl -group /perl/code regex %{%\^(H)\b} 0:value
+addhl -group /perl/code regex \$\^(S|T|V|W|X|A|C|D|E|F|H|I|L|M|N|O|P|R)\b 0:value
+addhl -group /perl/code regex \$\^(RE_TRIE_MAXBUF|TAINT|UNICODE|UTF8LOCALE|WARNING_BITS|WIDE_SYSTEM_CALLS|CHILD_ERROR_NATIVE|ENCODING|OPEN|RE_DEBUG_FLAGS)\b 0:value
addhl -group /perl/code regex \$[0-9]+ 0:attribute
-addhl -group /perl/code regex \<-(B|b|C|c|d|e|f|g|k|l|M|O|o|p|r|R|S|s|T|t|u|w|W|X|x|z)\> 0:attribute
+addhl -group /perl/code regex \b-(B|b|C|c|d|e|f|g|k|l|M|O|o|p|r|R|S|s|T|t|u|w|W|X|x|z)\b 0:attribute
-addhl -group /perl/code regex %{(?:\<[stqrmwy]+)?/[^\n/]*/([msixpodualngecr]+\>)?} 0:magenta
-addhl -group /perl/code regex %{(?:\<[stqrmwy]+)?/[^\n/]+/[^\n/]*/([msixpeodualngcr]+\>)?} 0:magenta
+addhl -group /perl/code regex %{(?:\b[stqrmwy]+)?/[^\n/]*/([msixpodualngecr]+\b)?} 0:magenta
+addhl -group /perl/code regex %{(?:\b[stqrmwy]+)?/[^\n/]+/[^\n/]*/([msixpeodualngcr]+\b)?} 0:magenta
addhl -group /perl/code regex \$[a-zA-Z_][a-zA-Z0-9_]* 0:blue
-addhl -group /perl/code regex \$(a|b|LAST_REGEXP_CODE_RESULT|LIST_SEPARATOR|MATCH|MULTILINE_MATCHING|NR|OFMT|OFS|ORS|OS_ERROR|OSNAME|OUTPUT_AUTO_FLUSH|OUTPUT_FIELD_SEPARATOR|OUTPUT_RECORD_SEPARATOR)\> 0:value
-addhl -group /perl/code regex \$(LAST_REGEXP_CODE_RESULT|LIST_SEPARATOR|MATCH|MULTILINE_MATCHING|NR|OFMT|OFS|ORS|OS_ERROR|OSNAME|OUTPUT_AUTO_FLUSH|OUTPUT_FIELD_SEPARATOR|OUTPUT_RECORD_SEPARATOR|PERL_VERSION|ACCUMULATOR|PERLDB|ARG|PID|ARGV|POSTMATCH|PREMATCH|BASETIME|PROCESS_ID|CHILD_ERROR|PROGRAM_NAME|COMPILING|REAL_GROUP_ID|DEBUGGING|REAL_USER_ID|EFFECTIVE_GROUP_ID|RS|EFFECTIVE_USER_ID|SUBSCRIPT_SEPARATOR|EGID|SUBSEP|ERRNO|SYSTEM_FD_MAX|EUID|UID|EVAL_ERROR|WARNING|EXCEPTIONS_BEING_CAUGHT|EXECUTABLE_NAME|EXTENDED_OS_ERROR|FORMAT_FORMFEED|FORMAT_LINE_BREAK_CHARACTERS|FORMAT_LINES_LEFT|FORMAT_LINES_PER_PAGE|FORMAT_NAME|FORMAT_PAGE_NUMBER|FORMAT_TOP_NAME|GID|INPLACE_EDIT|INPUT_LINE_NUMBER|INPUT_RECORD_SEPARATOR|LAST_MATCH_END|LAST_PAREN_MATCH)\> 0:value
+addhl -group /perl/code regex \$(a|b|LAST_REGEXP_CODE_RESULT|LIST_SEPARATOR|MATCH|MULTILINE_MATCHING|NR|OFMT|OFS|ORS|OS_ERROR|OSNAME|OUTPUT_AUTO_FLUSH|OUTPUT_FIELD_SEPARATOR|OUTPUT_RECORD_SEPARATOR)\b 0:value
+addhl -group /perl/code regex \$(LAST_REGEXP_CODE_RESULT|LIST_SEPARATOR|MATCH|MULTILINE_MATCHING|NR|OFMT|OFS|ORS|OS_ERROR|OSNAME|OUTPUT_AUTO_FLUSH|OUTPUT_FIELD_SEPARATOR|OUTPUT_RECORD_SEPARATOR|PERL_VERSION|ACCUMULATOR|PERLDB|ARG|PID|ARGV|POSTMATCH|PREMATCH|BASETIME|PROCESS_ID|CHILD_ERROR|PROGRAM_NAME|COMPILING|REAL_GROUP_ID|DEBUGGING|REAL_USER_ID|EFFECTIVE_GROUP_ID|RS|EFFECTIVE_USER_ID|SUBSCRIPT_SEPARATOR|EGID|SUBSEP|ERRNO|SYSTEM_FD_MAX|EUID|UID|EVAL_ERROR|WARNING|EXCEPTIONS_BEING_CAUGHT|EXECUTABLE_NAME|EXTENDED_OS_ERROR|FORMAT_FORMFEED|FORMAT_LINE_BREAK_CHARACTERS|FORMAT_LINES_LEFT|FORMAT_LINES_PER_PAGE|FORMAT_NAME|FORMAT_PAGE_NUMBER|FORMAT_TOP_NAME|GID|INPLACE_EDIT|INPUT_LINE_NUMBER|INPUT_RECORD_SEPARATOR|LAST_MATCH_END|LAST_PAREN_MATCH)\b 0:value
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/ruby.kak b/rc/base/ruby.kak
index d1b025bf..ae008c02 100644
--- a/rc/base/ruby.kak
+++ b/rc/base/ruby.kak
@@ -51,7 +51,7 @@ addhl -group /ruby/comment fill comment
addhl -group /ruby/literal fill meta
-addhl -group /ruby/code regex \<([A-Za-z]\w*:)|([$@][A-Za-z]\w*)|(\W\K:[A-Za-z]\w*[=?!]?) 0:identifier
+addhl -group /ruby/code regex \b([A-Za-z]\w*:)|([$@][A-Za-z]\w*)|(\W\K:[A-Za-z]\w*[=?!]?) 0:identifier
%sh{
# Grammar
@@ -71,10 +71,10 @@ addhl -group /ruby/code regex \<([A-Za-z]\w*:)|([$@][A-Za-z]\w*)|(\W\K:[A-Za-z]\
# Highlight keywords
printf %s "
- addhl -group /ruby/code regex \<(${keywords})\> 0:keyword
- addhl -group /ruby/code regex \<(${attributes})\> 0:attribute
- addhl -group /ruby/code regex \<(${values})\> 0:value
- addhl -group /ruby/code regex \<(${meta})\> 0:meta
+ addhl -group /ruby/code regex \b(${keywords})\b 0:keyword
+ addhl -group /ruby/code regex \b(${attributes})\b 0:attribute
+ addhl -group /ruby/code regex \b(${values})\b 0:value
+ addhl -group /ruby/code regex \b(${meta})\b 0:meta
"
}
diff --git a/rc/base/rust.kak b/rc/base/rust.kak
index e4daff83..7321fbba 100644
--- a/rc/base/rust.kak
+++ b/rc/base/rust.kak
@@ -24,17 +24,17 @@ addhl -group / regions -default code rust \
addhl -group /rust/string fill string
addhl -group /rust/comment fill comment
-addhl -group /rust/code regex \<[A-z0-9_]+! 0:meta
+addhl -group /rust/code regex \b[A-z0-9_]+! 0:meta
# the number literals syntax is defined here:
# https://doc.rust-lang.org/reference.html#number-literals
-addhl -group /rust/code regex \<(?:self|true|false|[0-9][_0-9]*(?:\.[0-9][_0-9]*|(?:\.[0-9][_0-9]*)?E[\+\-][_0-9]+)(?:f(?:32|64))?|(?:0x[_0-9a-fA-F]+|0o[_0-7]+|0b[_01]+|[0-9][_0-9]*)(?:(?:i|u)(?:8|16|32|64|size))?)\> 0:value
-addhl -group /rust/code regex \<(?:&&|\|\|)\> 0:operator
+addhl -group /rust/code regex \b(?:self|true|false|[0-9][_0-9]*(?:\.[0-9][_0-9]*|(?:\.[0-9][_0-9]*)?E[\+\-][_0-9]+)(?:f(?:32|64))?|(?:0x[_0-9a-fA-F]+|0o[_0-7]+|0b[_01]+|[0-9][_0-9]*)(?:(?:i|u)(?:8|16|32|64|size))?)\b 0:value
+addhl -group /rust/code regex \b(?:&&|\|\|)\b 0:operator
# the language keywords are defined here, but many of them are reserved and unused yet:
# https://doc.rust-lang.org/grammar.html#keywords
-addhl -group /rust/code regex \<(?:crate|use|extern)\> 0:meta
-addhl -group /rust/code regex \<(?:let|as|fn|return|match|if|else|loop|for|in|while|break|continue|move|box|where|impl|pub|unsafe)\> 0:keyword
-addhl -group /rust/code regex \<(?:mod|trait|struct|enum|type|mut|ref|static|const)\> 0:attribute
-addhl -group /rust/code regex \<(?:u8|u16|u32|u64|usize|i8|i16|i32|i64|isize|f32|f64|bool|char|str|Self)\> 0:type
+addhl -group /rust/code regex \b(?:crate|use|extern)\b 0:meta
+addhl -group /rust/code regex \b(?:let|as|fn|return|match|if|else|loop|for|in|while|break|continue|move|box|where|impl|pub|unsafe)\b 0:keyword
+addhl -group /rust/code regex \b(?:mod|trait|struct|enum|type|mut|ref|static|const)\b 0:attribute
+addhl -group /rust/code regex \b(?:u8|u16|u32|u64|usize|i8|i16|i32|i64|isize|f32|f64|bool|char|str|Self)\b 0:type
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/base/scala.kak b/rc/base/scala.kak
index 565725f2..2f3a4088 100644
--- a/rc/base/scala.kak
+++ b/rc/base/scala.kak
@@ -28,11 +28,11 @@ addhl -group /scala/comment fill comment
# Keywords are collected at
# http://tutorialspoint.com/scala/scala_basic_syntax.htm
-addhl -group /scala/code regex \<(import|package)\> 0:meta
-addhl -group /scala/code regex \<(this|true|false|null)\> 0:value
-addhl -group /scala/code regex \<(become|case|catch|class|def|do|else|extends|final|finally|for|forSome|goto|if|initialize|macro|match|new|object|onTransition|return|startWith|stay|throw|trait|try|unbecome|using|val|var|when|while|with|yield)\> 0:keyword
-addhl -group /scala/code regex \<(abstract|final|implicit|implicitly|lazy|override|private|protected|require|sealed|super)\> 0:attribute
-addhl -group /scala/code regex \<(⇒|=>|<:|:>|=:=|::|&&|\|\|)\> 0:operator
+addhl -group /scala/code regex \b(import|package)\b 0:meta
+addhl -group /scala/code regex \b(this|true|false|null)\b 0:value
+addhl -group /scala/code regex \b(become|case|catch|class|def|do|else|extends|final|finally|for|forSome|goto|if|initialize|macro|match|new|object|onTransition|return|startWith|stay|throw|trait|try|unbecome|using|val|var|when|while|with|yield)\b 0:keyword
+addhl -group /scala/code regex \b(abstract|final|implicit|implicitly|lazy|override|private|protected|require|sealed|super)\b 0:attribute
+addhl -group /scala/code regex \b(⇒|=>|<:|:>|=:=|::|&&|\|\|)\b 0:operator
addhl -group /scala/code regex "'[_A-Za-z0-9$]+" 0:identifier
# Commands
diff --git a/rc/base/yaml.kak b/rc/base/yaml.kak
index 8a0ab829..bfa3b6b7 100644
--- a/rc/base/yaml.kak
+++ b/rc/base/yaml.kak
@@ -26,7 +26,7 @@ addhl -group /yaml/comment fill comment
addhl -group /yaml/code regex ^(---|\.\.\.)$ 0:meta
addhl -group /yaml/code regex ^(\h*:\w*) 0:keyword
-addhl -group /yaml/code regex \<(true|false|null)\> 0:value
+addhl -group /yaml/code regex \b(true|false|null)\b 0:value
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/core/c-family.kak b/rc/core/c-family.kak
index bce605a4..aa5e933c 100644
--- a/rc/core/c-family.kak
+++ b/rc/core/c-family.kak
@@ -93,7 +93,7 @@ def -hidden _c-family-indent-on-closing-curly-brace %[
}
# c specific
-addhl -group /c/code regex %{\|\<-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[^'\\])'} 0:value
+addhl -group /c/code regex %{\bNULL\b|\b-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[^'\\])'} 0:value
%sh{
# Grammar
keywords="while|for|if|else|do|switch|case|default|goto|asm|break|continue|return|sizeof"
@@ -109,14 +109,14 @@ addhl -group /c/code regex %{\|\<-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[
# Highlight keywords
printf %s "
- addhl -group /c/code regex \<(${keywords})\> 0:keyword
- addhl -group /c/code regex \<(${attributes})\> 0:attribute
- addhl -group /c/code regex \<(${types})\> 0:type
+ addhl -group /c/code regex \b(${keywords})\b 0:keyword
+ addhl -group /c/code regex \b(${attributes})\b 0:attribute
+ addhl -group /c/code regex \b(${types})\b 0:type
"
}
# c++ specific
-addhl -group /cpp/code regex %{\<-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[^'\\])'} 0:value
+addhl -group /cpp/code regex %{\b-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[^'\\])'} 0:value
%sh{
# Grammar
@@ -142,15 +142,15 @@ addhl -group /cpp/code regex %{\<-?(0x[0-9a-fA-F]+|\d+)[fdiu]?|'((\\.)?|[^'\\])'
# Highlight keywords
printf %s "
- addhl -group /cpp/code regex \<(${keywords})\> 0:keyword
- addhl -group /cpp/code regex \<(${attributes})\> 0:attribute
- addhl -group /cpp/code regex \<(${types})\> 0:type
- addhl -group /cpp/code regex \<(${values})\> 0:value
+ addhl -group /cpp/code regex \b(${keywords})\b 0:keyword
+ addhl -group /cpp/code regex \b(${attributes})\b 0:attribute
+ addhl -group /cpp/code regex \b(${types})\b 0:type
+ addhl -group /cpp/code regex \b(${values})\b 0:value
"
}
# objective-c specific
-addhl -group /objc/code regex %{\<-?\d+[fdiu]?|'((\\.)?|[^'\\])'} 0:value
+addhl -group /objc/code regex %{\b-?\d+[fdiu]?|'((\\.)?|[^'\\])'} 0:value
%sh{
# Grammar
@@ -171,11 +171,11 @@ addhl -group /objc/code regex %{\<-?\d+[fdiu]?|'((\\.)?|[^'\\])'} 0:value
# Highlight keywords
printf %s "
- addhl -group /objc/code regex \<(${keywords})\> 0:keyword
- addhl -group /objc/code regex \<(${attributes})\> 0:attribute
- addhl -group /objc/code regex \<(${types})\> 0:type
- addhl -group /objc/code regex \<(${values})\> 0:value
- addhl -group /objc/code regex @(${decorators})\> 0:attribute
+ addhl -group /objc/code regex \b(${keywords})\b 0:keyword
+ addhl -group /objc/code regex \b(${attributes})\b 0:attribute
+ addhl -group /objc/code regex \b(${types})\b 0:type
+ addhl -group /objc/code regex \b(${values})\b 0:value
+ addhl -group /objc/code regex @(${decorators})\b 0:attribute
"
}
diff --git a/rc/core/kakrc.kak b/rc/core/kakrc.kak
index 63195f46..81e556b9 100644
--- a/rc/core/kakrc.kak
+++ b/rc/core/kakrc.kak
@@ -22,15 +22,15 @@ addhl -group / regions -default code kakrc \
# Highlight keywords
printf %s "
- addhl -group /kakrc/code regex \<(${keywords})\> 0:keyword
- addhl -group /kakrc/code regex \<(${values})\> 0:value
+ addhl -group /kakrc/code regex \b(${keywords})\b 0:keyword
+ addhl -group /kakrc/code regex \b(${values})\b 0:value
"
}
-addhl -group /kakrc/code regex \ 0:value
-addhl -group /kakrc/code regex (?:\' 0:value
- addhl -group /python/code regex '\<(${meta})\>' 0:meta
- addhl -group /python/code regex '\<(${keywords})\>' 0:keyword
+ addhl -group /python/code regex '\b(${values})\b' 0:value
+ addhl -group /python/code regex '\b(${meta})\b' 0:meta
+ addhl -group /python/code regex '\b(${keywords})\b' 0:keyword
"
# Highlight types, when they are not used as constructors
- printf %s "addhl -group /python/code regex '\<(${types})\>[^(]' 1:type"
+ printf %s "addhl -group /python/code regex '\b(${types})\b[^(]' 1:type"
}
# Commands
diff --git a/rc/core/sh.kak b/rc/core/sh.kak
index 62206e2b..a38efeb0 100644
--- a/rc/core/sh.kak
+++ b/rc/core/sh.kak
@@ -29,7 +29,7 @@ addhl -group /sh/comment fill comment
}" | sed 's,|,:,g'
# Highlight keywords
- printf %s "addhl -group /sh/code regex \<(${keywords})\> 0:keyword"
+ printf %s "addhl -group /sh/code regex \b(${keywords})\b 0:keyword"
}
addhl -group /sh/code regex [\[\]\(\)&|]{2}|\[\s|\s\] 0:operator
diff --git a/rc/extra/cabal.kak b/rc/extra/cabal.kak
index 93abafa4..575672c5 100644
--- a/rc/extra/cabal.kak
+++ b/rc/extra/cabal.kak
@@ -21,8 +21,8 @@ addhl -group / regions -default code cabal \
addhl -group /cabal/comment fill comment
-addhl -group /cabal/code regex \<(true|false)\>|(([<>]?=?)?\d+(\.\d+)+) 0:value
-addhl -group /cabal/code regex \<(if|else)\> 0:keyword
+addhl -group /cabal/code regex \b(true|false)\b|(([<>]?=?)?\d+(\.\d+)+) 0:value
+addhl -group /cabal/code regex \b(if|else)\b 0:keyword
addhl -group /cabal/code regex ^\h*([A-Za-z][A-Za-z0-9_-]*)\h*: 1:identifier
# Commands
diff --git a/rc/extra/coffee.kak b/rc/extra/coffee.kak
index 36171ded..b69b2443 100644
--- a/rc/extra/coffee.kak
+++ b/rc/extra/coffee.kak
@@ -43,10 +43,10 @@ addhl -group /coffee/comment fill comment
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords
# http://coffeescript.org/documentation/docs/lexer.html#section-63
addhl -group /coffee/code regex [$@]\w* 0:identifier
-addhl -group /coffee/code regex \<(Array|Boolean|Date|Function|Number|Object|RegExp|String)\> 0:type
-addhl -group /coffee/code regex \<(document|false|no|null|off|on|parent|self|this|true|undefined|window|yes)\> 0:value
-addhl -group /coffee/code regex \<(and|is|isnt|not|or)\> 0:operator
-addhl -group /coffee/code regex \<(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|function|if|implements|import|in|instanceof|interface|let|native|new|package|private|protected|public|return|static|super|switch|throw|try|typeof|var|void|while|with|yield)\> 0:keyword
+addhl -group /coffee/code regex \b(Array|Boolean|Date|Function|Number|Object|RegExp|String)\b 0:type
+addhl -group /coffee/code regex \b(document|false|no|null|off|on|parent|self|this|true|undefined|window|yes)\b 0:value
+addhl -group /coffee/code regex \b(and|is|isnt|not|or)\b 0:operator
+addhl -group /coffee/code regex \b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|function|if|implements|import|in|instanceof|interface|let|native|new|package|private|protected|public|return|static|super|switch|throw|try|typeof|var|void|while|with|yield)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/extra/cucumber.kak b/rc/extra/cucumber.kak
index 2b0e51d1..85915ca5 100644
--- a/rc/extra/cucumber.kak
+++ b/rc/extra/cucumber.kak
@@ -55,7 +55,7 @@ addhl -group /cucumber/language regex \S+$ 0:value
# …
# }
-addhl -group /cucumber/code regex \<(Feature|Business\h+Need|Ability|Background|Scenario|Scenario\h+Outline|Scenario\h+Template|Examples|Scenarios|Given|When|Then|And|But)\> 0:keyword
+addhl -group /cucumber/code regex \b(Feature|Business\h+Need|Ability|Background|Scenario|Scenario\h+Outline|Scenario\h+Template|Examples|Scenarios|Given|When|Then|And|But)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/extra/kickstart.kak b/rc/extra/kickstart.kak
index 89620d76..16ecb379 100644
--- a/rc/extra/kickstart.kak
+++ b/rc/extra/kickstart.kak
@@ -6,12 +6,12 @@ addhl -group / regions -default code kickstart \
comment (^|\h)\K\# $ '' \
double_string '"' (?' '^\h*\K%end\>' '' \
- shell '^\h*\K%(pre|pre-install|post)\>' '^\h*\K%end\>' ''
+ packages '^\h*\K%packages\b' '^\h*\K%end\b' '' \
+ shell '^\h*\K%(pre|pre-install|post)\b' '^\h*\K%end\b' ''
-addhl -group /kickstart/code regex "^\h*\<(auth|authconfig|autopart|autostep|bootloader|btrfs|clearpart|cmdline|device|dmraid|driverdisk|fcoe|firewall|firstboot|group|graphical|halt|ignoredisk|install|cdrom|harddrive|liveimg|nfs|url|iscsi|iscsiname|keyboard|lang|logvol|logging|mediacheck|monitor|multipath|network|part|partition|poweroff|raid|realm|reboot|repo|rescue|rootpw|selinux|services|shutdown|sshkey|sshpw|skipx|text|timezone|updates|upgrade|user|vnc|volgroup|xconfig|zerombr|zfcp)\>" 1:keyword
+addhl -group /kickstart/code regex "^\h*\b(auth|authconfig|autopart|autostep|bootloader|btrfs|clearpart|cmdline|device|dmraid|driverdisk|fcoe|firewall|firstboot|group|graphical|halt|ignoredisk|install|cdrom|harddrive|liveimg|nfs|url|iscsi|iscsiname|keyboard|lang|logvol|logging|mediacheck|monitor|multipath|network|part|partition|poweroff|raid|realm|reboot|repo|rescue|rootpw|selinux|services|shutdown|sshkey|sshpw|skipx|text|timezone|updates|upgrade|user|vnc|volgroup|xconfig|zerombr|zfcp)\b" 1:keyword
addhl -group /kickstart/code regex '(--[\w-]+=? ?)([^-"\n][^\h\n]*)?' 1:attribute 2:string
-addhl -group /kickstart/code regex '%(include|ksappend)\>' 0:keyword
+addhl -group /kickstart/code regex '%(include|ksappend)\b' 0:keyword
addhl -group /kickstart/comment fill comment
addhl -group /kickstart/single_string fill string
@@ -19,10 +19,10 @@ addhl -group /kickstart/double_string fill string
addhl -group /kickstart/packages regex "^\h*[\w-]*" 0:value
addhl -group /kickstart/packages regex "#[^\n]*" 0:comment
addhl -group /kickstart/packages regex "^\h*@\^?[\h\w-]*" 0:attribute
-addhl -group /kickstart/packages regex '\`\h*\K%packages\>' 0:type
-addhl -group /kickstart/packages regex '^\h*%end\>' 0:type
-addhl -group /kickstart/shell regex '\`\h*\K%(pre-install|pre|post)\>' 0:type
-addhl -group /kickstart/shell regex '^\h*%end\>' 0:type
+addhl -group /kickstart/packages regex '\`\h*\K%packages\b' 0:type
+addhl -group /kickstart/packages regex '^\h*%end\b' 0:type
+addhl -group /kickstart/shell regex '\`\h*\K%(pre-install|pre|post)\b' 0:type
+addhl -group /kickstart/shell regex '^\h*%end\b' 0:type
addhl -group /kickstart/shell ref sh
diff --git a/rc/extra/latex.kak b/rc/extra/latex.kak
index bdb174cc..00cef5d2 100644
--- a/rc/extra/latex.kak
+++ b/rc/extra/latex.kak
@@ -20,9 +20,9 @@ addhl -group / regions -default content latex \
addhl -group /latex/comment fill comment
# Scopes, starting with a backslash
-addhl -group /latex/content regex '\\\w+\>' 0:keyword
+addhl -group /latex/content regex '\\\w+\b' 0:keyword
# Options passed to scopes, between brackets
-addhl -group /latex/content regex '\\\w+\>\[([^]]+)\]' 1:value
+addhl -group /latex/content regex '\\\w+\b\[([^]]+)\]' 1:value
# Content between dollar signs/pairs
addhl -group /latex/content regex '\$\$?[^$]+\$\$?' 0:magenta
# Emphasized text
diff --git a/rc/extra/moon.kak b/rc/extra/moon.kak
index 3d9b3e68..703604b5 100644
--- a/rc/extra/moon.kak
+++ b/rc/extra/moon.kak
@@ -31,7 +31,7 @@ addhl -group /moon/single_string fill string
addhl -group /moon/comment fill comment
addhl -group /moon/code regex ([.\\](?=[A-Za-z]\w*))|(\b[A-Za-z]\w*:)|(\b[A-Za-z]\w*\K!+)|(\W\K[@:][A-Za-z]\w*) 0:identifier
-addhl -group /moon/code regex \<(and|break|catch|class|continue|do|else(if)?|export|extends|false|finally|for|from|if|import|in|local|nil|not|or|return|super|switch|then|true|try|unless|using|when|while|with)\> 0:keyword
+addhl -group /moon/code regex \b(and|break|catch|class|continue|do|else(if)?|export|extends|false|finally|for|from|if|import|in|local|nil|not|or|return|super|switch|then|true|try|unless|using|when|while|with)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/extra/pug.kak b/rc/extra/pug.kak
index a82845d3..ce3bd0d2 100644
--- a/rc/extra/pug.kak
+++ b/rc/extra/pug.kak
@@ -27,7 +27,7 @@ addhl -group / regions -default code pug \
single_string "'" (?:(? $ '' \
+ puglang ^\h*\b(\block|extends|include|append|prepend|if|unless|else|case|when|default|each|while|mixin)\b $ '' \
# Filters
# ‾‾‾‾‾‾‾
@@ -38,7 +38,7 @@ addhl -group /pug/comment fill comment
addhl -group /pug/javascript ref javascript
addhl -group /pug/attribute ref javascript
addhl -group /pug/puglang ref javascript
-addhl -group /pug/puglang regex \<(\block|extends|include|append|prepend|if|unless|else|case|when|default|each|while|mixin|of|in)\> 0:keyword
+addhl -group /pug/puglang regex \b(\block|extends|include|append|prepend|if|unless|else|case|when|default|each|while|mixin|of|in)\b 0:keyword
addhl -group /pug/attribute regex [()=] 0:operator
addhl -group /pug/text regex \h*(\|) 1:meta
addhl -group /pug/code regex ^\h*([A-Za-z][A-Za-z0-9_-]*) 1:type
diff --git a/rc/extra/ragel.kak b/rc/extra/ragel.kak
index 830c9a4b..7fcf8fb7 100644
--- a/rc/extra/ragel.kak
+++ b/rc/extra/ragel.kak
@@ -25,10 +25,10 @@ addhl -group / regions -default code ragel \
addhl -group /ragel/string fill string
addhl -group /ragel/comment fill comment
-addhl -group /ragel/code regex \<(true|false)\> 0:value
+addhl -group /ragel/code regex \b(true|false)\b 0:value
addhl -group /ragel/code regex '%%\{|\}%%|<\w+>' 0:identifier
addhl -group /ragel/code regex :=|=>|->|:>|:>>|<: 0:operator
-addhl -group /ragel/code regex \<(action|alnum|alpha|any|ascii|case|cntrl|contained|context|data|digit|empty|eof|err|error|exec|export|exports|extend|fblen|fbreak|fbuf|fc|fcall|fcurs|fentry|fexec|fgoto|fhold|first_final|fnext|fpc|fret|from|fstack|ftargs|graph|import|include|init|inwhen|lerr|lower|machine|nocs|noend|noerror|nofinal|noprefix|outwhen|postpop|prepush|print|punct|range|space|start|to|upper|when|write|xdigit|zlen)\> 0:keyword
+addhl -group /ragel/code regex \b(action|alnum|alpha|any|ascii|case|cntrl|contained|context|data|digit|empty|eof|err|error|exec|export|exports|extend|fblen|fbreak|fbuf|fc|fcall|fcurs|fentry|fexec|fgoto|fhold|first_final|fnext|fpc|fret|from|fstack|ftargs|graph|import|include|init|inwhen|lerr|lower|machine|nocs|noend|noerror|nofinal|noprefix|outwhen|postpop|prepush|print|punct|range|space|start|to|upper|when|write|xdigit|zlen)\b 0:keyword
# Commands
# ‾‾‾‾‾‾‾‾
diff --git a/rc/extra/tupfile.kak b/rc/extra/tupfile.kak
index a9eafff0..a8ac0e02 100644
--- a/rc/extra/tupfile.kak
+++ b/rc/extra/tupfile.kak
@@ -19,12 +19,12 @@ addhl -group / regions -default code tupfile \
addhl -group /tupfile/string fill string
addhl -group /tupfile/comment fill comment
-addhl -group /tupfile/code regex "\%[fbBeoOdg]\>" 0:value
+addhl -group /tupfile/code regex "\%[fbBeoOdg]\b" 0:value
addhl -group /tupfile/code regex "\$\([\w_]+\)" 0:value
-addhl -group /tupfile/code regex ":\s*(foreach)\>" 1:keyword
-addhl -group /tupfile/code regex "(\.gitignore\>)" 0:keyword
-addhl -group /tupfile/code regex "\" 0:keyword
-addhl -group /tupfile/code regex "\<(\&?[\w_]+)\s*[:+]?=" 1:keyword
+addhl -group /tupfile/code regex ":\s*(foreach)\b" 1:keyword
+addhl -group /tupfile/code regex "(\.gitignore\b)" 0:keyword
+addhl -group /tupfile/code regex "\bifn?eq|ifn?def|else|endif|error|include|include_rules|run|preload|export\b" 0:keyword
+addhl -group /tupfile/code regex "\b(\&?[\w_]+)\s*[:+]?=" 1:keyword
# Initialization
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾