UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

23 lines (21 loc) 1.08 kB
'use strict'; module.exports = ichigojam; ichigojam.displayName = 'ichigojam'; ichigojam.aliases = []; function ichigojam(Prism) { // according to the offical reference (EN) // https://ichigojam.net/IchigoJam-en.html Prism.languages.ichigojam = { comment: /(?:\B'|REM)(?:[^\n\r]*)/i, string: { pattern: /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i, greedy: true }, number: /(?:\B#[0-9A-F]+)|(?:\B`[01]+)|(?:\b|\B[.-])(?:\d+\.?\d*)(?:E[+-]?\d+)?/i, keyword: /\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i, function: /\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i, label: /(?:\B@[^\s]+)/i, operator: /<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i, punctuation: /[\[,;:()\]]/ }; }