Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/tcl/highlights.scm')
-rw-r--r--runtime/queries/tcl/highlights.scm153
1 files changed, 153 insertions, 0 deletions
diff --git a/runtime/queries/tcl/highlights.scm b/runtime/queries/tcl/highlights.scm
new file mode 100644
index 00000000..27b2d81e
--- /dev/null
+++ b/runtime/queries/tcl/highlights.scm
@@ -0,0 +1,153 @@
+
+(comment) @comment
+
+(command name: (simple_word) @function)
+
+"proc" @keyword.function
+
+(procedure
+ name: (_) @variable
+)
+
+(set (simple_word) @variable)
+
+(argument
+ name: (_) @variable.parameter
+)
+
+((simple_word) @variable.builtin
+ (#any-of? @variable.builtin
+ "argc"
+ "argv"
+ "argv0"
+ "auto_path"
+ "env"
+ "errorCode"
+ "errorInfo"
+ "tcl_interactive"
+ "tcl_library"
+ "tcl_nonwordchars"
+ "tcl_patchLevel"
+ "tcl_pkgPath"
+ "tcl_platform"
+ "tcl_precision"
+ "tcl_rcFileName"
+ "tcl_traceCompile"
+ "tcl_traceExec"
+ "tcl_wordchars"
+ "tcl_version"))
+
+
+"expr" @function.builtin
+
+(command
+ name: (simple_word) @function.builtin
+ (#any-of? @function.builtin
+ "cd"
+ "exec"
+ "exit"
+ "incr"
+ "info"
+ "join"
+ "puts"
+ "regexp"
+ "regsub"
+ "split"
+ "subst"
+ "trace"
+ "source"))
+
+(command name: (simple_word) @keyword
+ (#any-of? @keyword
+ "append"
+ "break"
+ "catch"
+ "continue"
+ "default"
+ "dict"
+ "error"
+ "eval"
+ "global"
+ "lappend"
+ "lassign"
+ "lindex"
+ "linsert"
+ "list"
+ "llength"
+ "lmap"
+ "lrange"
+ "lrepeat"
+ "lreplace"
+ "lreverse"
+ "lsearch"
+ "lset"
+ "lsort"
+ "package"
+ "return"
+ "switch"
+ "throw"
+ "unset"
+ "variable"))
+
+[
+ "error"
+ "namespace"
+ "on"
+ "set"
+ "try"
+ ] @keyword
+
+(unpack) @operator
+
+[
+ "while"
+ "foreach"
+ ; "for"
+ ] @keyword.control.repeat
+
+[
+ "if"
+ "else"
+ "elseif"
+ ] @keyword.control.conditional
+
+[
+ "**"
+ "/" "*" "%" "+" "-"
+ "<<" ">>"
+ ">" "<" ">=" "<="
+ "==" "!="
+ "eq" "ne"
+ "in" "ni"
+ "&"
+ "^"
+ "|"
+ "&&"
+ "||"
+ ] @operator
+
+(variable_substitution) @variable
+(quoted_word) @string
+(escaped_character) @constant.character.escape
+
+[
+ "{" "}"
+ "[" "]"
+ ";"
+ ] @punctuation.delimiter
+
+((simple_word) @constant.numeric
+ (#match? @constant.numeric "^[0-9]+$"))
+
+((simple_word) @constant.builtin.boolean
+ (#any-of? @constant.builtin.boolean "true" "false"))
+
+; after apply array auto_execok auto_import auto_load auto_mkindex auto_qualify
+; auto_reset bgerror binary chan clock close coroutine dde encoding eof fblocked
+; fconfigure fcopy file fileevent filename flush format gets glob history http
+; interp load mathfunc mathop memory msgcat my next nextto open parray pid
+; pkg::create pkg_mkIndex platform platform::shell pwd re_syntax read refchan
+; registry rename safe scan seek self socket source string tailcall tcl::prefix
+; tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord
+; tcl_wordBreakAfter tcl_wordBreakBefore tcltest tell time timerate tm
+; transchan unknown unload update uplevel upvar vwait yield yieldto zlib