fileTypes src name GSoft patterns match ^\s*\d+ name entity.name.function captures 0 name keyword.control 1 name entity.name.function match \b(?i:FUNCTION|SUB)\s*([A-Za-z_][A-Za-z0-9_]*)\b name meta.function.definition captures 0 name keyword.control 1 name support.function match \b(?i:CALL)\s+([A-Za-z_][A-Za-z0-9_]*) name meta.function.call captures 0 name keyword.function 1 name entity.name.function match \b(?i:DEF\s+FN)\s*([A-Za-z_][A-Za-z0-9_]*)\b name meta.def.fn begin " end " name string.quoted.double match !.*$|\b(?i:rem)\b.*$ name comment.line match (\d+\.\d*|\.\d+|\d+)([eE][+-]?\d+)? name constant.numeric match \$[A-Fa-f0-9]+ name constant.numeric.hex match \b(?i:TYPE|END\s+TYPE|BYTE|INTEGER|LONG|SINGLE|DOUBLE|STRING|CONST|POINTER)(?![~%&!#$?])\b name storage.type.basic match \b(?i:DEF|FN|FUNCTION|SUB|LOADLIBRARY|UNLOADLIBRARY|TOOL|GSOS|LIBRARY)(?![~%&!#$?])\b name keyword.function match \b(?i:DATA|READ|RESTORE)\b name storage.data match \b(?i:CALL|CASE|CONT|DO|ELSE|END|ERROR|FOR|GOSUB|GOTO|IF|LOOP|NEXT|ONERR|ON|POP|RESUME|RETURN|SELECT|STEP|THEN|TO|UNTIL|WAIT|WEND|WHILE)(?![~%&!#$?])\b name keyword.control match \b(?i:BREAK|STOP)(?![~%&!#$?])\b name keyword.control.debug match \b(?i:ERL|ERR)(?![~%&!#$?])\b name support.variables.error match \b(?i:AS|DIM|LET)(?![~%&!#$?])\b name keyword.variable match \b(?i:\?|CSRLIN|HOME|HTAB|INPUT|INVERSE|LINE|NORMAL|MOUSETEXT|PRINT|SPEED|USING|VTAB)(?![~%&!#$?])\b name keyword.io match \b(?i:SPC|TAB|POS)(?![~%&!#$?])\b name support.function.io comment negative lookahead for type indicators. match \b(?i:CLOSE|OPEN|OUTPUT|INPUT|APPEND|RANDOM|BINARY|TCP|GET|PUT|SEEK|CHDIR|MKDIR|NAME|RMDIR|KILL)(?![~%&!#$?])\b name keyword.io.disk match \b(?i:EOF|LOC|LOF)(?![~%&!#$?])\b name support.function.io.disk match \b(?i:DIR)\$ name support.function.io.disk match \b(?i:CURDIR)\$ name support.variables.io.disk match \b(?i:ABS|ATN|CDBL|CINT|CLNG|COS|CSNG|EXP|INT|LOG|RND|SGN|SIN|SQR|TAN)(?![~%&!#$?])\b name support.function.arithmetic match \b(?i:ASC|FRE|LEN|VAL)(?![~%&!#$?])\b name support.function.string match \b(?i:CHR|LEFT|MID|RIGHT|STR)\$ name support.function.string match \b(?i:AT|HCOLOR|HGR|HPLOT|TEXT)(?![~%&!#$?])\b name keyword.graphics match \b(?i:ALLOCATE|DISPOSE|SETMEM|SIZEOF|PEEK|POKE|CLEAR)(?![~%&!#$?])\b name support.function.memory match \b(?i:NIL|VERSION)(?![~%&!#$?])\b name support.variable.memory match \b(?i:TOOLERROR)(?![~%&!#$?])\b name support.variables.toolbox match \b(?i:AND|OR|NOT)(?![~%&!#$?])\b name keyword.operator.logical match \b[A-Za-z_][A-Za-z0-9_]*[~%&!#$?]? name variable scopeName source.gsoft uuid 1C23B8D7-86F9-457E-868F-A3C4563A1858