summaryrefslogtreecommitdiff
path: root/rc
diff options
context:
space:
mode:
authorthacuber2a03 <70547062+thacuber2a03@users.noreply.github.com>2025-04-27 17:59:29 -0400
committerthacuber2a03 <70547062+thacuber2a03@users.noreply.github.com>2025-04-27 17:59:29 -0400
commitbb0021b1583f192796e434d624edbf775d8570d4 (patch)
treef853f440c37b6b391fde669da1e60b30ffd202d1 /rc
parent922607221b8e5b2683babb9ebeba9372e97b836c (diff)
rc/filetype/moon.kak: overhaul
Diffstat (limited to 'rc')
-rw-r--r--rc/filetype/moon.kak17
1 files changed, 13 insertions, 4 deletions
diff --git a/rc/filetype/moon.kak b/rc/filetype/moon.kak
index 43d8dd4d..04ec40b4 100644
--- a/rc/filetype/moon.kak
+++ b/rc/filetype/moon.kak
@@ -47,8 +47,19 @@ add-highlighter shared/moon/comment region '--' '$' fill comme
add-highlighter shared/moon/double_string/base default-region fill string
add-highlighter shared/moon/double_string/interpolation region -recurse \{ \Q#{ \} fill meta
-add-highlighter shared/moon/code/ regex ([.\\](?=[A-Za-z]))|(\b[A-Za-z]\w*:)|(\b[A-Za-z]\w*\K!+)|(\W\K[@:][A-Za-z]\w*) 0:variable
-add-highlighter shared/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
+add-highlighter shared/moon/code/ regex (?<=\w)\\\w+ 0:function
+add-highlighter shared/moon/code/ regex (\+|-|\*|/|%|\^|==?|[~!]=|<=?|>=?|\.\.\.?|#|!) 0:operator
+add-highlighter shared/moon/code/ regex [-=]> 0:function
+add-highlighter shared/moon/code/ regex (?:\b\w+:) 0:variable
+add-highlighter shared/moon/code/ regex (?:\W\K[@:]\w+) 0:variable
+add-highlighter shared/moon/code/ regex (?:\W\K[@:]__(name|class|inherited):?) 0:meta
+add-highlighter shared/moon/code/ regex \W\K@@\w+(?!:) 0:meta
+add-highlighter shared/moon/code/ regex \w+\h*(?=\() 0:function
+add-highlighter shared/moon/code/ regex \b(and|break|class|continue|do|else(if)?|export|extends|for|from|if|import|in|local|not|or|return|switch|then|unless|using|when|while|with)\b 0:keyword
+add-highlighter shared/moon/code/ regex \b(true|false|nil|super|self)\b 0:value
+add-highlighter shared/moon/code/ regex \b([0-9]+(:?\.[0-9])?(:?[eE]-?[0-9]+)?|0x[0-9a-fA-F]+)\b 0:value
+add-highlighter shared/moon/code/ regex class(\h+\w+)?(?:\h+extends(\h+\w+))?\h*$ 1:type 2:attribute
+add-highlighter shared/moon/code/ regex \b(_G|_ENV)\b 0:module
# Commands
# ‾‾‾‾‾‾‾‾
@@ -92,8 +103,6 @@ define-command -hidden moon-indent-on-char %{
try %{ execute-keys -draft x <a-k> ^ \h * (else(if)?) $ <ret> <a-semicolon> <a-?> ^ \h * (if|unless|when) <ret> s \A | \z <ret> ) <a-&> }
# align _when_ to _switch_ then indent
try %{ execute-keys -draft x <a-k> ^ \h * (when) $ <ret> <a-semicolon> <a-?> ^ \h * (switch) <ret> s \A | \z <ret> ) <a-&> ) , <gt> }
- # align _catch_ and _finally_ to _try_
- try %{ execute-keys -draft x <a-k> ^ \h * (catch|finally) $ <ret> <a-semicolon> <a-?> ^ \h * (try) <ret> s \A | \z <ret> ) <a-&> }
}
}