comment Forth Language name Forth scopeName source.Forth fileTypes f s patterns name comment.line.Forth match (?<=^|\s)(\\\s.*$) name comment.stack.Forth match (?<=^|\s)(\(\s[^)]*\))(?=\s|$) name comment.info.Forth match (?<=^|\s)(\.\(\s[^)]*\))(?=\s|$) name string.Forth match (?<=^|\s)([\S]*\"\s)([^\"]*\") name literal.Forth match (?<=^|\s)-?(\$[0-9a-fA-F]+|\%[0-1]+|\\[0-7]+|\'\S\'|[0-9]+)(?=\s|$) name keyword.control.Forth match (?<=^|\s)(\??do|\+?loop|\??leave|undo|if|else|then|begin|again|until|while|repeat|for|nxt|rep|\?\:|\??exit|case\:|\;case|opt|dflt|recurse|goto|exec\:|execute)(?=\s|$) name keyword.stack.Forth match (?<=^|\s)([\?23]?dup|2?swap|[23]?drop|over|nip|tuck|pluck|pick|-?rot|2?>r|2?r>|dup>r|r>drop|r@|sp@|rp@|sp!|rp!|depth)(?=\s|$) name keyword.memory.Forth match (?<=^|\s)(h?here|[cw]?[@!\,]{1}|count|@\+|dmove|strlen|cset|cclr|on|off|0decr|w?\+!|cmove[>]?|[wd]?fill|blank|erase|comp|skip|[wd]?scan|scan-eol|s>z|\$!|scanz|0links|chain|>tail|>head|<head|\??<tail|<list|is|\+?!>|incr[>]?|decr[>]?|on[>]?|off[>]?|allot|head,|,call|\?comp\#|compile|\[compile\]|literal|hold|#|#s|<#|sign|#>|#tib|\S+[@!]{1}|stack|cell[\+-/s]{1}|\[\]\.(sp--|sp\+\+|flush|push|pop|drop))(?=\s|$) name keyword.logic.Forth match (?<=^|\s)(and|or|xor|not|[d0<>]?=|[du0]?[<>]{1}|[d0u]?<>|within|between|either|neither)(?=\s|$) name keyword.math.Forth match (?<=^|\s)(u?min|[u0]?max|d0<|u?m\*|um/mod|sm/rem|mu/mod|[m*]?/mod|\*/|\+|-|d?abs|<<|u?>>|2?[*/\+-]{1}|u2/|4[*/\+-]{1}|1[\+-]{1}|[d\?]?egate|d[\+-]{1}|s>d)(?=\s|$) name keyword.constant.Forth match (?<=^|\s)(line#|bs|bl|rows|cols|true|false|cell|#threads|#context|ktotal|#out|#line|last|thread|\?ok|floads|black|red|green|yellow|blue|magenta|cyan|white|line#)(?=\s|$) name keyword.variable.Forth match (?<=^|\s)(dp|hp|state|fd|>in|quit|\'tib|base|\?caps|current|time\$|day\$|year|month|day|fense|context|#context|contexts|hp|dp|state|last|thread)(?=\s|$) name keyword.utility.Forth match (?<=^|\s)(hash|lexmask|>body|body>|n>link|l>name|name>|>name|find|\?missing|defined|\'|\[\'\]||\[|\]|\]\#|param|\;uses|\;code|does>|reveal|immediate|defers|interpret|noop|bye|i|j|k|bounds|upc|forget|mark|empty|<headers|headers>|behead|\+headers|-headers|>mark|>resolve|<mark|<resolve|radix|hex|decimal|binary|octal|rnd|rand|definitions|previous|forth|compiler|root|abort|pause|default|pdefault|atexit)(?=\s|$) name keyword.io.Forth match (?<=^|\s)(emit|key|expect|source|refill|key\??|cr|space|spaces|backspaces|pad|tib|query|/string|left|\?refill|parse|parse-word|word|number|words|arg\@|\?arg|fname>pad|fopen|fclose|fread|freite|fwrite1|fcreate|fsave|turnkey|[du]?\.[r]?|fload|type|<\S+>|\.[\S]+|hld)(?=\s|$) name keyword.primitive.Forth match (?<=^|\s)(do(?!es>)\S+|\?while|\?until|[0\?]?branch|\(\S+\)) name support.other.keyword.Forth match (?<=^|\s)(\:|m:|struct:|d[dwb]+)\s+([\S]+) captures 1 name keyword.creating.Forth 2 name keyword.colon.Forth name support.other.keyword.Forth match (?<=^|\s)(variable|var|defer|create)\s+([\S]+) captures 1 name keyword.creating.Forth 2 name keyword.variable.Forth name support.other.keyword.Forth match (?<=^|\s)(constant|const|alias|vocabulary)\s([\S]+\s) captures 1 name keyword.creating.Forth 2 name keyword.constant.Forth name keyword.creating.Forth match (?<=^|\s)(;|;m|;struct)(?=\s|$) uuid 00D451C9-6B1D-11D9-8DFA-000D93589AF6