use-monaco
Version:
[](https://npm.im/use-monaco)
2 lines (1 loc) • 2.51 kB
JavaScript
(()=>{var f=Object.create,t=Object.defineProperty,g=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,b=Object.getOwnPropertyNames,k=Object.getOwnPropertyDescriptor,a=e=>t(e,"__esModule",{value:!0}),l=(e,o)=>()=>(o||(o={exports:{}},e(o.exports,o)),o.exports),E=(e,o)=>{a(e);for(var r in o)t(e,r,{get:o[r],enumerable:!0})},i=(e,o,r)=>{if(a(e),o&&typeof o=="object"||typeof o=="function")for(let n of b(o))!u.call(e,n)&&n!=="default"&&t(e,n,{get:()=>o[n],enumerable:!(r=k(o,n))||r.enumerable});return e},s=e=>e&&e.__esModule?e:i(t(e!=null?f(g(e)):{},"default",{value:e,enumerable:!0}),e),d=l(h=>{i(h,s(require("monaco-editor-core")))}),m=l(w=>{E(w,{conf:()=>y,language:()=>I});var y={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},I={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}),c=s(d());function p(e){c.languages.register(e)}p({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:function(){return Promise.resolve().then(()=>s(m()))}});})();