{"version":3,"file":"basic.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/basic.js"],"sourcesContent":["/*\nLanguage: BASIC\nAuthor: Raphaël Assénat <raph@raphnet.net>\nDescription: Based on the BASIC reference from the Tandy 1000 guide\nWebsite: https://en.wikipedia.org/wiki/Tandy_1000\nCategory: system\n*/\n\n/** @type LanguageFn */\nfunction basic(hljs) {\n  const KEYWORDS = [\n    \"ABS\",\n    \"ASC\",\n    \"AND\",\n    \"ATN\",\n    \"AUTO|0\",\n    \"BEEP\",\n    \"BLOAD|10\",\n    \"BSAVE|10\",\n    \"CALL\",\n    \"CALLS\",\n    \"CDBL\",\n    \"CHAIN\",\n    \"CHDIR\",\n    \"CHR$|10\",\n    \"CINT\",\n    \"CIRCLE\",\n    \"CLEAR\",\n    \"CLOSE\",\n    \"CLS\",\n    \"COLOR\",\n    \"COM\",\n    \"COMMON\",\n    \"CONT\",\n    \"COS\",\n    \"CSNG\",\n    \"CSRLIN\",\n    \"CVD\",\n    \"CVI\",\n    \"CVS\",\n    \"DATA\",\n    \"DATE$\",\n    \"DEFDBL\",\n    \"DEFINT\",\n    \"DEFSNG\",\n    \"DEFSTR\",\n    \"DEF|0\",\n    \"SEG\",\n    \"USR\",\n    \"DELETE\",\n    \"DIM\",\n    \"DRAW\",\n    \"EDIT\",\n    \"END\",\n    \"ENVIRON\",\n    \"ENVIRON$\",\n    \"EOF\",\n    \"EQV\",\n    \"ERASE\",\n    \"ERDEV\",\n    \"ERDEV$\",\n    \"ERL\",\n    \"ERR\",\n    \"ERROR\",\n    \"EXP\",\n    \"FIELD\",\n    \"FILES\",\n    \"FIX\",\n    \"FOR|0\",\n    \"FRE\",\n    \"GET\",\n    \"GOSUB|10\",\n    \"GOTO\",\n    \"HEX$\",\n    \"IF\",\n    \"THEN\",\n    \"ELSE|0\",\n    \"INKEY$\",\n    \"INP\",\n    \"INPUT\",\n    \"INPUT#\",\n    \"INPUT$\",\n    \"INSTR\",\n    \"IMP\",\n    \"INT\",\n    \"IOCTL\",\n    \"IOCTL$\",\n    \"KEY\",\n    \"ON\",\n    \"OFF\",\n    \"LIST\",\n    \"KILL\",\n    \"LEFT$\",\n    \"LEN\",\n    \"LET\",\n    \"LINE\",\n    \"LLIST\",\n    \"LOAD\",\n    \"LOC\",\n    \"LOCATE\",\n    \"LOF\",\n    \"LOG\",\n    \"LPRINT\",\n    \"USING\",\n    \"LSET\",\n    \"MERGE\",\n    \"MID$\",\n    \"MKDIR\",\n    \"MKD$\",\n    \"MKI$\",\n    \"MKS$\",\n    \"MOD\",\n    \"NAME\",\n    \"NEW\",\n    \"NEXT\",\n    \"NOISE\",\n    \"NOT\",\n    \"OCT$\",\n    \"ON\",\n    \"OR\",\n    \"PEN\",\n    \"PLAY\",\n    \"STRIG\",\n    \"OPEN\",\n    \"OPTION\",\n    \"BASE\",\n    \"OUT\",\n    \"PAINT\",\n    \"PALETTE\",\n    \"PCOPY\",\n    \"PEEK\",\n    \"PMAP\",\n    \"POINT\",\n    \"POKE\",\n    \"POS\",\n    \"PRINT\",\n    \"PRINT]\",\n    \"PSET\",\n    \"PRESET\",\n    \"PUT\",\n    \"RANDOMIZE\",\n    \"READ\",\n    \"REM\",\n    \"RENUM\",\n    \"RESET|0\",\n    \"RESTORE\",\n    \"RESUME\",\n    \"RETURN|0\",\n    \"RIGHT$\",\n    \"RMDIR\",\n    \"RND\",\n    \"RSET\",\n    \"RUN\",\n    \"SAVE\",\n    \"SCREEN\",\n    \"SGN\",\n    \"SHELL\",\n    \"SIN\",\n    \"SOUND\",\n    \"SPACE$\",\n    \"SPC\",\n    \"SQR\",\n    \"STEP\",\n    \"STICK\",\n    \"STOP\",\n    \"STR$\",\n    \"STRING$\",\n    \"SWAP\",\n    \"SYSTEM\",\n    \"TAB\",\n    \"TAN\",\n    \"TIME$\",\n    \"TIMER\",\n    \"TROFF\",\n    \"TRON\",\n    \"TO\",\n    \"USR\",\n    \"VAL\",\n    \"VARPTR\",\n    \"VARPTR$\",\n    \"VIEW\",\n    \"WAIT\",\n    \"WHILE\",\n    \"WEND\",\n    \"WIDTH\",\n    \"WINDOW\",\n    \"WRITE\",\n    \"XOR\"\n  ];\n\n  return {\n    name: 'BASIC',\n    case_insensitive: true,\n    illegal: '^\\.',\n    // Support explicitly typed variables that end with $%! or #.\n    keywords: {\n      $pattern: '[a-zA-Z][a-zA-Z0-9_$%!#]*',\n      keyword: KEYWORDS\n    },\n    contains: [\n      hljs.QUOTE_STRING_MODE,\n      hljs.COMMENT('REM', '$', { relevance: 10 }),\n      hljs.COMMENT('\\'', '$', { relevance: 0 }),\n      {\n        // Match line numbers\n        className: 'symbol',\n        begin: '^[0-9]+ ',\n        relevance: 10\n      },\n      {\n        // Match typed numeric constants (1000, 12.34!, 1.2e5, 1.5#, 1.2D2)\n        className: 'number',\n        begin: '\\\\b\\\\d+(\\\\.\\\\d+)?([edED]\\\\d+)?[#\\!]?',\n        relevance: 0\n      },\n      {\n        // Match hexadecimal numbers (&Hxxxx)\n        className: 'number',\n        begin: '(&[hH][0-9a-fA-F]{1,4})'\n      },\n      {\n        // Match octal numbers (&Oxxxxxx)\n        className: 'number',\n        begin: '(&[oO][0-7]{1,6})'\n      }\n    ]\n  };\n}\n\nmodule.exports = basic;\n"],"names":["basic","hljs","basic_1"],"mappings":";;;;AASA,WAASA,EAAMC,GAAM;AAqLnB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,kBAAkB;AAAA,MAClB,SAAS;AAAA;AAAA,MAET,UAAU;AAAA,QACR,UAAU;AAAA,QACV,SA3La;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA;MAWI,UAAU;AAAA,QACRA,EAAK;AAAA,QACLA,EAAK,QAAQ,OAAO,KAAK,EAAE,WAAW,IAAI;AAAA,QAC1CA,EAAK,QAAQ,KAAM,KAAK,EAAE,WAAW,GAAG;AAAA,QACxC;AAAA;AAAA,UAEE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,WAAW;AAAA;QAEb;AAAA;AAAA,UAEE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,WAAW;AAAA;QAEb;AAAA;AAAA,UAEE,WAAW;AAAA,UACX,OAAO;AAAA;QAET;AAAA;AAAA,UAEE,WAAW;AAAA,UACX,OAAO;AAAA;;IAGf;AAAA,EACA;AAEA,SAAAC,IAAiBF;;","x_google_ignoreList":[0]}