UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

30 lines (28 loc) 1.11 kB
'use strict'; module.exports = monkey; monkey.displayName = 'monkey'; monkey.aliases = []; function monkey(Prism) { Prism.languages.monkey = { string: /"[^"\r\n]*"/, comment: [/^#Rem\s+[\s\S]*?^#End/im, /'.+/], preprocessor: { pattern: /(^[ \t]*)#.+/m, lookbehind: true, alias: 'comment' }, function: /\w+(?=\()/, 'type-char': { pattern: /(\w)[?%#$]/, lookbehind: true, alias: 'variable' }, number: { pattern: /((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i, lookbehind: true }, keyword: /\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\b/i, operator: /\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i, punctuation: /[.,:;()\[\]]/ }; }