mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-10-24 08:02:27 +00:00
Deploying to gh-pages from @ sehugg/8bitworkshop@5c1ee18694 🚀
This commit is contained in:
1 parent
079116cb2f
commit
28ed945fe9
80 files changed
+3432
-2609
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import{b as S}from"./chunk-3FIVEUG2.js";import{s as E}from"./chunk-KP2LCIGE.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-LVDMCWZP.js";import"./chunk-AA227H53.js";import{B as c,J as f,S as d,T as v,a as g}from"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";function k(u){return u.value!=null}function y(u){return u.name!=null}function N(u){return u.op!=null&&u.left!=null&&u.right!=null}function O(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},I=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=I),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc<this.allstmts.length&&!this.pc2label.get(this.curpc))}skipToElse(){for(;this.curpc<this.allstmts.length;){var t=this.allstmts[this.curpc].command;if(t=="ELSE"){this.curpc++;break}else if(t=="IF")return this.skipToEOL();if(this.curpc++,this.pc2label.get(this.curpc))break}}skipToEOF(){this.curpc=this.allstmts.length}skipToAfterNext(t){for(var r=this.curpc;r<this.allstmts.length;){var e=this.allstmts[r];if(e.command=="NEXT"){var i=e.lexpr;if(i&&i.name==t){this.curpc=r+1;return}}r++}this.runtimeError(`I couldn't find a matching NEXT ${t} to skip this for loop.`)}skipToAfterWend(){for(var t=this.curpc-1,r=0;t<this.allstmts.length;){var e=this.allstmts[t];if(e.command=="WHILE")r++;else if(e.command=="WEND"&&(r--,r==0)){this.curpc=t+1;return}t++}this.runtimeError("I couldn't find a matching WEND for this WHILE.")}gotoLabel(t){var r=this.label2pc[t];r>=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFrLine truncated
|
||||
import{b as S}from"./chunk-3FIVEUG2.js";import{s as E}from"./chunk-LXSSE5FC.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-73C6ISBD.js";import"./chunk-AA227H53.js";import{B as c,J as f,S as d,T as v,a as g}from"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";function k(u){return u.value!=null}function y(u){return u.name!=null}function N(u){return u.op!=null&&u.left!=null&&u.right!=null}function O(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},I=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=I),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc<this.allstmts.length&&!this.pc2label.get(this.curpc))}skipToElse(){for(;this.curpc<this.allstmts.length;){var t=this.allstmts[this.curpc].command;if(t=="ELSE"){this.curpc++;break}else if(t=="IF")return this.skipToEOL();if(this.curpc++,this.pc2label.get(this.curpc))break}}skipToEOF(){this.curpc=this.allstmts.length}skipToAfterNext(t){for(var r=this.curpc;r<this.allstmts.length;){var e=this.allstmts[r];if(e.command=="NEXT"){var i=e.lexpr;if(i&&i.name==t){this.curpc=r+1;return}}r++}this.runtimeError(`I couldn't find a matching NEXT ${t} to skip this for loop.`)}skipToAfterWend(){for(var t=this.curpc-1,r=0;t<this.allstmts.length;){var e=this.allstmts[t];if(e.command=="WHILE")r++;else if(e.command=="WEND"&&(r--,r==0)){this.curpc=t+1;return}t++}this.runtimeError("I couldn't find a matching WEND for this WHILE.")}gotoLabel(t){var r=this.label2pc[t];r>=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFrLine truncated
|
||||
`)this.column=0,e=t;else if(t==" "){var n=this.opts.printZoneLength,s=Math.floor(this.column/n),a=(s+1)*this.opts.printZoneLength;a+n>this.margin?(this.column=0,e=`
|
||||
`):e=this.TAB(a)}else e=`${t}`;return e}float2str(t,r){var e=t.toString().toUpperCase();if(r>0){for(var i=r;e.length>r;)e=t.toPrecision(i--);e.startsWith("0.")?e=e.substr(1):e.startsWith("-0.")&&(e="-"+e.substr(2))}return e}printExpr(t){var r=this.valueToString(t,this.opts.numericPadding);this.column+=r.length,this.print(r)}print(t){console.log(t)}async input(t,r){return{line:"",vals:[]}}resume(){}expr2js(t,r){if(r||(r={}),k(t))return JSON.stringify(t.value);if(y(t)){if(!t.args&&r.locals&&r.locals.indexOf(t.name)>=0)return t.name;{r.isconst&&this.runtimeError("I expected a constant value here.");var e="",i=JSON.stringify(t.name);let h=t.args?t.args.map(o=>this.expr2js(o,r)).join(", "):[];return t.name.startsWith("FN")?e+=`this.getDef(${i})(${h})`:this.builtins[t.name]?(this.checkFuncArgs(t,this.builtins[t.name]),e+=`this.builtins.${t.name}(${h})`):t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?e+=`this.getStringSlice(this.vars.${t.name}, ${h})`:e+=`this.arrayGet(${i}, ${h})`:e+=`this.vars.${t.name}`,r.novalid?e:`this.checkValue(${e}, ${i})`}}else if(N(t)){var n=this.expr2js(t.left,r),s=this.expr2js(t.right,r);return`this.${t.op}(${n}, ${s})`}else if(O(t)){var a=this.expr2js(t.expr,r);return`this.${t.op}(${a})`}}assign2js(t,r){r||(r={});var e="";return(t.name.startsWith("FN")||this.builtins[t.name])&&this.runtimeError("I can't call a function here."),t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?this.runtimeError("I can't set array slices via this command yet."):e+=this.array2js(t,r):e=`this.globals.${t.name}`,e}array2js(t,r){var e=JSON.stringify(t.name),i=t.args||[];return this.expr2js(t,{novalid:!0})+`;this.getArray(${e}, ${i.length})`+i.map(n=>"[this.ROUND("+this.expr2js(n,r)+")]").join("")}checkFuncArgs(t,r){var e=t.args?t.args.length:0;t.name=="RND"&&e==0||t.name=="MID$"&&e==2||t.name=="INSTR"&&e==2||r.length!=e&&this.runtimeError(`I expected ${r.length} arguments for the ${t.name} function, but I got ${e}.`)}startForLoop(t,r,e,i,n){var s=this.curpc-1,a=this.pc2label.get(s);i||(i=1),this.vars[t]=r,this.trace&&console.log(`FOR ${t} = ${r} TO ${e} STEP ${i}`);var h=()=>i>=0?this.vars[t]>e:this.vars[t]<e;this.opts.testInitialFor&&h()&&(n!=null?this.curpc=n+1:this.skipToAfterNext(t)),this.forLoopStack[t]!=null&&(this.forLoopStack=this.forLoopStack.filter(o=>o==t)),this.forLoopStack.push(t),this.forLoops[t]={$next:o=>{o&&t!=o&&this.runtimeError(`I executed NEXT "${o}", but the last FOR was for "${t}".`),this.vars[t]+=i;var b=h();b?(this.forLoopStack.pop(),delete this.forLoops[t]):this.curpc=(a!=null&&this.label2pc[a]||s)+1,this.trace&&console.log(`NEXT ${t}: ${this.vars[t]} TO ${e} STEP ${i} DONE=${b}`)}}}nextForLoop(t){var r=this.forLoops[t||this.opts.optionalNextVar&&this.forLoopStack[this.forLoopStack.length-1]];r||this.runtimeError("I couldn't find a matching FOR for this NEXT."),r.$next(t)}whileLoop(t){t?this.whileLoops.push(this.curpc-1):this.skipToAfterWend()}nextWhileLoop(){var t=this.whileLoops.pop();t==null?this.runtimeError("I couldn't find a matching WHILE for this WEND."):this.curpc=t}assign(t,r,e){return e&&t.endsWith("$")?this.checkValue(this.convert(t,r),t):t.endsWith("$")?this.convertToString(r,t):this.convertToNumber(r,t)}convert(t,r){return t.endsWith("$")?r==null?"":r.toString():typeof r=="number"?r:parseFloat(r+"")}convertToString(t,r){if(typeof t!="string")this.runtimeError(`I can't convert ${t} to a string.`);else return t}convertToNumber(t,r){if(typeof t!="number")this.runtimeError(`I can't convert ${t} to a number.`);else return this.checkNum(t)}dimArray(t,...r){if(r=r.map(Math.round),this.arrays[t]!=null){if(this.opts.staticArrays)return;this.runtimeError(`I already dimensioned this array (${t}) earlier.`)}var e=this.getTotalArrayLength(r);e>this.opts.maxArrayElements&&this.runtimeError("I can't create an array with this many elements.");var i=t.endsWith("$"),n=i?Array:Float64Array;if(r.length==1)this.arrays[t]=new n(r[0]+1);else if(r.length==2){this.arrays[t]=new Array(r[0]+1);for(var s=0;s<r[0]+1;s++)this.arrays[t][s]=new n(r[1]+1)}else this.runtimeError("I only support arrays of one or two dimensions.")}getTotalArrayLength(t){for(var r=1,e=0;e<t.length;e++)t[e]<this.opts.defaultArrayBase&&this.runtimeError(`I can't create an array with a dimension less than ${this.opts.defaultArrayBase}.`),r*=t[e];return r}getArray(t,r){return this.arrays[t]||(this.opts.defaultArraySize==0&&this.dialectError("automatically declare arrays without a DIM statement (or did you mean to call a function?)"),r==1?this.dimArray(t,this.opts.defaultArraySize-1):r==2?this.dimArray(t,this.opts.defaultArraySize-1,this.opts.defaultArraySize-1):this.runtimeError("I only support arrays of one or two dimensions.")),this.arrays[t]}arrayGet(t,...r){var e=this.getArray(t,r.length);r=r.map(this.ROUND.bind(this));for(var i=e,n=0;n<r.length;n++){var s=r[n];c(i)||this.runtimeError(`I tried to lookup ${t}(${r}) but used too many dimensions.`),s<this.opts.defaultArrayBase&&this.runtimeError(`I triedLine truncated
|
||||
var value = this.convert(${JSON.stringify(n.name)}, response.vals[${s}]);
|
||||
@@ -34,4 +34,4 @@ import{b as S}from"./chunk-3FIVEUG2.js";import{s as E}from"./chunk-KP2LCIGE.js";
|
||||
|
||||
`),this.tty.addtext("*** END OF PROGRAM ***",1),this.tty.showPrintHead(!1)}loadROM(t,r){var e=this.runtime.exited;this.program=r;var i=this.runtime.load(r);this.tty.uppercaseOnly=!0,(!this.hotReload||e||!i)&&this.reset()}getROMExtension(){return".json"}reset(){this.tty.clear(),this.runtime.reset(),this.clock=0,this.transcript=[]}pause(){this.timer.stop()}resume(){this.isBlocked()||(this.animcount=0,this.timer.start())}isBlocked(){return this.tty.waitingfor!=null||this.runtime.exited}isRunning(){return this.timer.isRunning()}getDefaultExtensions(){return[".bas"]}getToolForFilename(){return"basic"}getPresets(){return L}getPC(){return this.runtime.curpc}getSP(){return 4096-this.runtime.returnStack.length}isStable(){return!0}getCPUState(){return{PC:this.getPC(),SP:this.getSP()}}saveState(){return{c:this.getCPUState(),rt:this.runtime.saveState()}}loadState(t){this.runtime.loadState(t)}getDebugTree(){return{CurrentLine:this.runtime.getCurrentLabel(),Variables:this.runtime.vars,Arrays:this.runtime.arrays,Functions:this.runtime.defs,ForLoops:this.runtime.forLoops,WhileLoops:this.runtime.whileLoops,ReturnStack:this.runtime.returnStack,NextDatum:this.runtime.datums[this.runtime.dataptr],Clock:this.clock,Options:this.runtime.opts,Internals:this.runtime}}inspect(t){let r=this.runtime.vars[t];if(r!=null)return`${t} = ${r}`}showHelp(){return"https://8bitworkshop.com/docs/platforms/basic/"}getDebugCategories(){return["Variables"]}getDebugInfo(t,r){switch(t){case"Variables":return this.varsToLongString()}}varsToLongString(){var t="",r=Object.keys(this.runtime.vars);r.sort();for(var e of r){var i=this.runtime.vars[e],n=JSON.stringify(i);n.length>24&&(n=`${n.substr(0,24)}...(${n.length})`),t+=g(e,3)+" = "+n+`
|
||||
`}return t}setupDebug(t){this.onBreakpointHit=t}clearDebug(){this.onBreakpointHit=null,this.debugTrap=null}checkDebugTrap(){return this.debugTrap&&this.debugTrap()?(this.pause(),this.break(),!0):!1}break(){this.onBreakpointHit&&this.onBreakpointHit(this.saveState())}step(){var t=this.clock;this.debugTrap=()=>this.clock>t,this.resume()}stepOver(){var t=this.runtime.getStatement();if(t&&(t.command=="GOSUB"||t.command=="ONGOSUB")){var r=this.getPC()+1;this.runEval(()=>this.getPC()==r)}else this.step()}runUntilReturn(){var t=this.getSP();this.runEval(()=>this.getSP()>t)}runEval(t){this.debugTrap=()=>t(this.getCPUState()),this.resume()}restartAtPC(t){return t=Math.round(t),t>=0&&t<this.runtime.allstmts.length?(this.runtime.curpc=t,this.tty.cancelinput(),this.clock=0,!0):!1}readFile(t){return this.internalFiles[t]}writeFile(t,r){return this.internalFiles[t]=r,!0}didExit(){this.internalFiles["stdout.txt"]=this.transcript.join(""),E()}};f.basic=p;
|
||||
//# sourceMappingURL=basic-N2UCUE33.js.map
|
||||
//# sourceMappingURL=basic-4DSOKLQV.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{L as b,M as w}from"./chunk-BNFOPPUS.js";import{d as E}from"./chunk-KT7KMEQC.js";var y=E((d,v)=>{(function(l,e){typeof define=="function"&&define.amd?define([],e):typeof d!="undefined"?e():(e(),l.FileSaver={})})(d,function(){"use strict";function l(t,r){return typeof r=="undefined"?r={autoBom:!1}:typeof r!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\uFEFF",t],{type:t.type}):t}function e(t,r,c){var a=new XMLHttpRequest;a.open("GET",t),a.responseType="blob",a.onload=function(){h(a.response,r,c)},a.onerror=function(){console.error("could not download file")},a.send()}function o(t){var r=new XMLHttpRequest;r.open("HEAD",t,!1);try{r.send()}catch(c){}return 200<=r.status&&299>=r.status}function i(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(c){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(r)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,u=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),h=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(t,r,c){var a=n.URL||n.webkitURL,s=document.createElement("a");r=r||t.name||"download",s.download=r,s.rel="noopener",typeof t=="string"?(s.href=t,s.origin===location.origin?i(s):o(s.href)?e(t,r,c):i(s,s.target="_blank")):(s.href=a.createObjectURL(t),setTimeout(function(){a.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(t,r,c){if(r=r||t.name||"download",typeof t!="string")navigator.msSaveOrOpenBlob(l(t,c),r);else if(o(t))e(t,r,c);else{var a=document.createElement("a");a.href=t,a.target="_blank",setTimeout(function(){i(a)})}}:function(t,r,c,a){if(a=a||open("","_blank"),a&&(a.document.title=a.document.body.innerText="downloading..."),typeof t=="string")return e(t,r,c);var s=t.type==="application/octet-stream",C=/constructor/i.test(n.HTMLElement)||n.safari,S=/CriOS\/[\d]+/.test(navigator.userAgent);if((S||s&&C||u)&&typeof FileReader!="undefined"){var p=new FileReader;p.onloadend=function(){var m=p.result;m=S?m:m.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=m:location=m,a=null},p.readAsDataURL(t)}else{var k=n.URL||n.webkitURL,f=k.createObjectURL(t);a?a.location=f:location.href=f,a=null,setTimeout(function(){k.revokeObjectURL(f)},4e4)}});n.saveAs=h.saveAs=h,typeof v!="undefined"&&(v.exports=h)})});var g=class{constructor(e){this.checkpointInterval=10;this.maxCheckpoints=300;this.reset(),this.platform=e}reset(){this.checkpoints=[],this.framerecs=[],this.frameCount=0,this.lastSeekFrame=0,this.lastSeekStep=0,this.lastStepCount=0,this.callbackStateChanged&&this.callbackStateChanged()}frameRequested(){var e={controls:this.platform.saveControlsState(),seed:b()},o=!1;return this.lastSeekFrame<this.frameCount?this.loadControls(this.lastSeekFrame):(this.platform.saveControlsState&&this.framerecs.push(e),o=this.frameCount++%this.checkpointInterval==0),this.lastSeekFrame++,this.lastSeekStep=0,this.callbackStateChanged&&this.callbackStateChanged(),o}numFrames(){return this.frameCount}currentFrame(){return this.lastSeekFrame}currentStep(){return this.lastSeekStep}recordFrame(e){this.checkpoints.push(e),this.callbackNewCheckpoint&&this.callbackNewCheckpoint(e),this.checkpoints.length>this.maxCheckpoints&&(this.checkpoints.shift(),this.framerecs=this.framerecs.slice(this.checkpointInterval),this.lastSeekFrame-=this.checkpointInterval,this.frameCount-=this.checkpointInterval,this.callbackStateChanged&&this.callbackStateChanged())}getStateAtOrBefore(e){if(e<=0&&this.checkpoints.length>0)return{frame:0,state:this.checkpoints[0]};var o=Math.floor(e/this.checkpointInterval),i=o<this.checkpoints.length?o:this.checkpoints.length-1,n=i*this.checkpointInterval;return{frame:n,state:this.checkpoints[i]}}loadFrame(e,o){if(e|=0,o|=0,e==this.lastSeekFrame&&o==this.lastSeekStep)return e;let{frame:i,state:n}=this.getStateAtOrBefore(e-1);if(n){var u=0;for(this.platform.pause(),this.platform.loadState(n);i<e;)i<this.framerecs.length&&this.loadControls(i),i++,u=this.platform.advance(i<e);return i==0&&(u=this.platform.advance(!0),this.platform.loadState(n)),o>0&&this.platform.advanceFrameClock&&(o=this.platform.advanceFrameClock(null,o)),this.lastSeekFrame=e,this.lastSeekStep=o,this.lastStepCount=u,e}else return-1}loadControls(e){this.platform.loadControlsState&&this.platform.loadControlsState(this.framerecs[e].controls),w(this.framerecs[e].seed)}getLastCheckpoint(){return this.checkpoints.length&&this.checkpoints[this.checkpoints.length-1]}};function R(l){switch(l){case"apple2":return import("./apple2-X6MJKSIN.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-LVDMCWZP.js.map
|
||||
import{L as b,M as w}from"./chunk-BNFOPPUS.js";import{d as E}from"./chunk-KT7KMEQC.js";var y=E((d,v)=>{(function(l,e){typeof define=="function"&&define.amd?define([],e):typeof d!="undefined"?e():(e(),l.FileSaver={})})(d,function(){"use strict";function l(t,r){return typeof r=="undefined"?r={autoBom:!1}:typeof r!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\uFEFF",t],{type:t.type}):t}function e(t,r,c){var a=new XMLHttpRequest;a.open("GET",t),a.responseType="blob",a.onload=function(){h(a.response,r,c)},a.onerror=function(){console.error("could not download file")},a.send()}function o(t){var r=new XMLHttpRequest;r.open("HEAD",t,!1);try{r.send()}catch(c){}return 200<=r.status&&299>=r.status}function i(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(c){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(r)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,u=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),h=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(t,r,c){var a=n.URL||n.webkitURL,s=document.createElement("a");r=r||t.name||"download",s.download=r,s.rel="noopener",typeof t=="string"?(s.href=t,s.origin===location.origin?i(s):o(s.href)?e(t,r,c):i(s,s.target="_blank")):(s.href=a.createObjectURL(t),setTimeout(function(){a.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(t,r,c){if(r=r||t.name||"download",typeof t!="string")navigator.msSaveOrOpenBlob(l(t,c),r);else if(o(t))e(t,r,c);else{var a=document.createElement("a");a.href=t,a.target="_blank",setTimeout(function(){i(a)})}}:function(t,r,c,a){if(a=a||open("","_blank"),a&&(a.document.title=a.document.body.innerText="downloading..."),typeof t=="string")return e(t,r,c);var s=t.type==="application/octet-stream",C=/constructor/i.test(n.HTMLElement)||n.safari,S=/CriOS\/[\d]+/.test(navigator.userAgent);if((S||s&&C||u)&&typeof FileReader!="undefined"){var p=new FileReader;p.onloadend=function(){var m=p.result;m=S?m:m.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=m:location=m,a=null},p.readAsDataURL(t)}else{var k=n.URL||n.webkitURL,f=k.createObjectURL(t);a?a.location=f:location.href=f,a=null,setTimeout(function(){k.revokeObjectURL(f)},4e4)}});n.saveAs=h.saveAs=h,typeof v!="undefined"&&(v.exports=h)})});var g=class{constructor(e){this.checkpointInterval=10;this.maxCheckpoints=300;this.reset(),this.platform=e}reset(){this.checkpoints=[],this.framerecs=[],this.frameCount=0,this.lastSeekFrame=0,this.lastSeekStep=0,this.lastStepCount=0,this.callbackStateChanged&&this.callbackStateChanged()}frameRequested(){var e={controls:this.platform.saveControlsState(),seed:b()},o=!1;return this.lastSeekFrame<this.frameCount?this.loadControls(this.lastSeekFrame):(this.platform.saveControlsState&&this.framerecs.push(e),o=this.frameCount++%this.checkpointInterval==0),this.lastSeekFrame++,this.lastSeekStep=0,this.callbackStateChanged&&this.callbackStateChanged(),o}numFrames(){return this.frameCount}currentFrame(){return this.lastSeekFrame}currentStep(){return this.lastSeekStep}recordFrame(e){this.checkpoints.push(e),this.callbackNewCheckpoint&&this.callbackNewCheckpoint(e),this.checkpoints.length>this.maxCheckpoints&&(this.checkpoints.shift(),this.framerecs=this.framerecs.slice(this.checkpointInterval),this.lastSeekFrame-=this.checkpointInterval,this.frameCount-=this.checkpointInterval,this.callbackStateChanged&&this.callbackStateChanged())}getStateAtOrBefore(e){if(e<=0&&this.checkpoints.length>0)return{frame:0,state:this.checkpoints[0]};var o=Math.floor(e/this.checkpointInterval),i=o<this.checkpoints.length?o:this.checkpoints.length-1,n=i*this.checkpointInterval;return{frame:n,state:this.checkpoints[i]}}loadFrame(e,o){if(e|=0,o|=0,e==this.lastSeekFrame&&o==this.lastSeekStep)return e;let{frame:i,state:n}=this.getStateAtOrBefore(e-1);if(n){var u=0;for(this.platform.pause(),this.platform.loadState(n);i<e;)i<this.framerecs.length&&this.loadControls(i),i++,u=this.platform.advance(i<e);return i==0&&(u=this.platform.advance(!0),this.platform.loadState(n)),o>0&&this.platform.advanceFrameClock&&(o=this.platform.advanceFrameClock(null,o)),this.lastSeekFrame=e,this.lastSeekStep=o,this.lastStepCount=u,e}else return-1}loadControls(e){this.platform.loadControlsState&&this.platform.loadControlsState(this.framerecs[e].controls),w(this.framerecs[e].seed)}getLastCheckpoint(){return this.checkpoints.length&&this.checkpoints[this.checkpoints.length-1]}};function R(l){switch(l){case"apple2":return import("./apple2-X6MJKSIN.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-73C6ISBD.js.map
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../node_modules/file-saver/src/FileSaver.js", "../src/common/recorder.ts", "../src/platform/_index.ts"],
|
||||
"sourcesContent": ["/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefiLine truncated
|
||||
"mappings": "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 truncated
|
||||
"sourcesContent": ["/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefiLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["b", "a", "c", "d", "g", "e", "f", "h", "i", "j", "k", "l", "m", "module", "StateRecorderImpl", "platform", "controls", "getNoiseSeed", "requested", "state", "frame", "bufidx", "foundidx", "foundframe", "seekframe", "seekstep", "numSteps", "setNoiseSeed", "importPlatform", "name"]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../node_modules/localforage/dist/localforage.js", "../node_modules/jquery/dist/jquery.js", "../node_modules/dompurify/src/utils.ts", "../node_modules/dompurify/src/tags.ts", "../node_modules/dompurify/src/attrs.ts", "../node_modules/dompurify/src/regexp.ts", "../node_modules/dompurify/src/purify.ts", "../src/ide/ui.ts", "../src/ide/dialogs.ts", "../node_modules/@marijn/find-cluster-break/src/index.js", "../node_modules/@codemirror/state/dist/index.js", "../node_modules/style-mod/src/style-mod.js", "../node_modules/w3c-keyname/index.js", "../node_modules/crelt/index.js", "../node_modules/@codemirror/view/dist/index.js", "../node_modules/@lezer/common/dist/index.js", "../node_modules/@lezer/highlight/dist/index.js", "../node_modules/@codemirror/language/dist/index.js", "../node_modules/@codemirror/autocomplete/dist/index.js", "../src/ide/views/debug.ts", "../node_modules/@codemirror/commands/dist/index.js", "../src/ide/views/tabs.ts", "../src/ide/settings.ts", "../src/ide/project.ts", "../src/common/workertypes.ts", "../src/ide/services.ts", "../src/common/audio/CommodoreTape.ts", "../src/ide/shareexport.ts", "../src/ide/sync.ts", "../src/ide/pixeleditor.ts", "../src/ide/views/baseviews.ts", "../src/ide/views/asseteditor.ts", "../src/common/vtextscroller.ts", "../src/ide/views/debugviews.ts", "../node_modules/@lezer/lr/dist/index.js", "../node_modules/@lezer/cpp/dist/index.js", "../node_modules/@codemirror/lang-cpp/dist/index.js", "../node_modules/@lezer/markdown/dist/index.js", "../node_modules/@lezer/html/dist/index.js", "../node_modules/@lezer/css/dist/index.js", "../node_modules/@codemirror/lang-css/dist/index.js", "../node_modules/@lezer/javascript/dist/index.js", "../node_modules/@codemirror/lang-javascript/dist/index.js", "../node_modules/@codemirror/lang-html/dist/index.js", "../node_modules/@codemirror/lang-markdown/dist/index.js", "../node_modules/@codemirror/search/dist/index.js", "../src/parser/tokens-6502.ts", "parser/lang-6502.grammar.js", "../src/parser/lang-6502.ts", "../src/parser/lang-basic.ts", "../src/parser/lang-bataribasic.ts", "../src/parser/lang-dialog.ts", "../src/parser/lang-fastbasic.ts", "../src/parser/lang-inform6.ts", "../src/parser/lang-verilog.ts", "../src/parser/lang-wiz.ts", "../src/parser/tokens-z80.ts", "parser/lang-z80.grammar.js", "../src/parser/lang-z80.ts", "../src/themes/cobalt.ts", "../src/themes/disassemblyTheme.ts", "../src/themes/editorTheme.ts", "../src/themes/mbo.ts", "../src/ide/views/assetdecorations.ts", "../src/ide/views/filters.ts", "../src/ide/views/gutter.ts", "../src/ide/views/visuals.ts", "../src/ide/views/editors.ts", "../src/ide/views/treeviews.ts", "../src/ide/windows.ts"],
|
||||
"sourcesContent": ["/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["require_localforage", "__commonJSMin", "exports", "module", "f", "g", "define", "e", "t", "n", "r", "s", "o", "u", "a", "__require", "i", "l", "_dereq_", "global", "Mutation", "scheduleDrain", "called", "observer", "nextTick", "element", "channel", "scriptEl", "draining", "queue", "oldQueue", "len", "immediate", "task", "INTERNAL", "handlers", "REJECTED", "FULFILLED", "PENDING", "Promise", "resolver", "safelyResolveThenable", "onRejected", "onFulfilled", "promise", "unwrap", "QueueItem", "value", "func", "returnValue", "self", "result", "tryCatch", "getThen", "thenable", "error", "obj", "then", "onError", "onSuccess", "tryToUnwrap", "out", "resolve", "reject", "reason", "all", "iterable", "values", "resolved", "allResolver", "resolveFromAll", "outValue", "race", "response", "_typeof", "_classCallCheck", "instance", "Constructor", "getIDB", "idb", "isIndexedDBValid", "isSafari", "hasFetch", "createBlob", "parts", "properties", "Builder", "builder", "Promise$1", "executeCallback", "callback", "executeTwoCallbacks", "errorCallback", "normalizeKey", "key", "getCallback", "DETECT_BLOB_SUPPORT_STORE", "supportsBlobs", "dbContexts", "toString", "READ_ONLY", "READ_WRITE", "_binStringToArrayBuffer", "bin", "length", "buf", "arr", "_checkBlobSupportWithoutCaching", "txn", "blob", "matchedChrome", "matchedEdge", "_checkBlobSupport", "_deferReadiness", "dbInfo", "dbContext", "deferredOperation", "_advanceReadiness", "_rejectReadiness", "err", "_getConnection", "upgradeNeeded", "createDbContext", "dbArgs", "openreq", "db", "ex", "_getOriginalConnection", "_getUpgradedConnection", "_isUpgradeNeeded", "defaultVersion", "isNewStore", "isDowngrade", "isUpgrade", "incVersion", "_encodeBlob", "reader", "base64", "_decodeBlob", "encodedBlob", "arrayBuff", "_isEncodedBlob", "_fullyReady", "_tryReconnect", "forages", "forage", "createTransaction", "mode", "retries", "tx", "_initStorage", "options", "initPromises", "ignoreErrors", "j", "k", "getItem", "transaction", "store", "req", "iterate", "iterator", "iterationNumber", "cursor", "setItem", "blobSupport", "removeItem", "clear", "advanced", "keys", "dropInstance", "currentConfig", "isCurrentDb", "dbPromise", "newVersion", "dropObjectPromise", "_forage2", "dropDBPromise", "_forage", "asyncStorage", "isWebSQLValid", "BASE_CHARS", "BLOB_TYPE_PREFIX", "BLOB_TYPE_PREFIX_REGEX", "SERIALIZED_MARKER", "SERIALIZED_MARKER_LENGTH", "TYPE_ARRAYBUFFER", "TYPE_BLOB", "TYPE_INT8ARRAY", "TYPE_UINT8ARRAY", "TYPE_UINT8CLAMPEDARRAY", "TYPE_INT16ARRAY", "TYPE_INT32ARRAY", "TYPE_UINT16ARRAY", "TYPE_UINT32ARRAY", "TYPE_FLOAT32ARRAY", "TYPE_FLOAT64ARRAY", "TYPE_SERIALIZED_MARKER_LENGTH", "toString$1", "stringToBuffer", "serializedString", "bufferLength", "p", "encoded1", "encoded2", "encoded3", "encoded4", "buffer", "bytes", "bufferToString", "base64String", "serialize", "valueType", "marker", "fileReader", "str", "deserialize", "type", "blobType", "matcher", "localforageSerializer", "createDbTable", "_initStorage$1", "dbInfoPromise", "tryExecuteSql", "sqlStatement", "args", "results", "getItem$1", "iterate$1", "rows", "item", "_setItem", "retriesLeft", "originalValue", "sqlError", "setItem$1", "removeItem$1", "clear$1", "length$1", "key$1", "keys$1", "getAllStoreNames", "storeNames", "dropInstance$1", "operationInfo", "dropTable", "storeName", "operations", "webSQLStorage", "isLocalStorageValid", "_getKeyPrefix", "defaultConfig", "keyPrefix", "checkIfLocalStorageThrows", "localStorageTestKey", "_isLocalStorageUsable", "_initStorage$2", "clear$2", "getItem$2", "iterate$2", "keyPrefixLength", "key$2", "keys$2", "itemKey", "length$2", "removeItem$2", "setItem$2", "dropInstance$2", "localStorageWrapper", "sameValue", "x", "y", "includes", "array", "searchElement", "isArray", "arg", "DefinedDrivers", "DriverSupport", "DefaultDrivers", "DefaultDriverOrder", "OptionalDriverMethods", "LibraryMethods", "DefaultConfig", "callWhenReady", "localForageInstance", "libraryMethod", "_args", "extend", "_key", "LocalForage", "driverTypeKey", "driver", "driverName", "driverObject", "complianceError", "driverMethods", "driverMethodName", "isRequired", "configureMissingMethods", "methodNotImplementedFactory", "methodName", "_i", "_len", "optionalDriverMethod", "setDriverSupport", "support", "getDriverPromise", "serializerPromise", "drivers", "supportedDrivers", "setDriverToConfig", "extendSelfWithDriver", "initDriver", "currentDriverIndex", "driverPromiseLoop", "oldDriverSetDone", "libraryMethodsAndProperties", "localforage_js", "require_jquery", "__commonJSMin", "exports", "module", "global", "factory", "w", "window", "noGlobal", "arr", "getProto", "slice", "flat", "array", "push", "indexOf", "class2type", "toString", "hasOwn", "fnToString", "ObjectFunctionString", "support", "isFunction", "obj", "isWindow", "document", "preservedScriptAttributes", "DOMEval", "code", "node", "doc", "i", "val", "script", "toType", "version", "rhtmlSuffix", "jQuery", "selector", "context", "num", "elems", "ret", "callback",Line truncated
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
import{a as yc,b as Sc,c as Lo,d as z1}from"./chunk-7GWCUXYG.js";import{a as E1}from"./chunk-LNOKARBD.js";import{a as vc}from"./chunk-A7SWO6EA.js";import{a as r0,b as n0,c as Y1}from"./chunk-LVDMCWZP.js";import{D as Yu,J as ju,t as t0,u as i0}from"./chunk-AA227H53.js";import{A as Gs,E as gr,F as Au,G as jo,I as bc,J as Eu,S as zu,U as e0,a as fn,aa as xc,b as Ua,d as xi,e as Cu,f as vi,g as pt,h as Zu,i as Fg,k as Hg,m as dc,n as pc,o as mc,p as Ns,q as Kg,t as gc,w as Jg,x as Uu,y as Aa,z as Zi}from"./chunk-BNFOPPUS.js";import{a as Vt,b as Oc,c as Za,d as _u,e as Ru}from"./chunk-KT7KMEQC.js";var Wu=_u((s0,Lu)=>{(function(i){if(typeof s0=="object"&&typeof Lu!="undefined")Lu.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=i()}})(function(){var i,e,t;return(function r(n,s,o){function a(f,O){if(!s[f]){if(!n[f]){var p=typeof Za=="function"&&Za;if(!O&&p)return p(f,!0);if(l)return l(f,!0);var b=new Error("Cannot find module '"+f+"'");throw b.code="MODULE_NOT_FOUND",b}var S=s[f]={exports:{}};n[f][0].call(S.exports,function(P){var X=n[f][1][P];return a(X||P)},S,S.exports,r,n,s,o)}return s[f].exports}for(var l=typeof Za=="function"&&Za,c=0;c<o.length;c++)a(o[c]);return a})({1:[function(r,n,s){(function(o){"use strict";var a=o.MutationObserver||o.WebKitMutationObserver,l;if(a){var c=0,f=new a(P),O=o.document.createTextNode("");f.observe(O,{characterData:!0}),l=function(){O.data=c=++c%2}}else if(!o.setImmediate&&typeof o.MessageChannel!="undefined"){var p=new o.MessageChannel;p.port1.onmessage=P,l=function(){p.port2.postMessage(0)}}else"document"in o&&"onreadystatechange"in o.document.createElement("script")?l=function(){var A=o.document.createElement("script");A.onreadystatechange=function(){P(),A.onreadystatechange=null,A.parentNode.removeChild(A),A=null},o.document.documentElement.appendChild(A)}:l=function(){setTimeout(P,0)};var b,S=[];function P(){b=!0;for(var A,H,q=S.length;q;){for(H=S,S=[],A=-1;++A<q;)H[A]();q=S.length}b=!1}n.exports=X;function X(A){S.push(A)===1&&!b&&l()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(r,n,s){"use strict";var o=r(1);function a(){}var l={},c=["REJECTED"],f=["FULFILLED"],O=["PENDING"];n.exports=p;function p(d){if(typeof d!="function")throw new TypeError("resolver must be a function");this.state=O,this.queue=[],this.outcome=void 0,d!==a&&X(this,d)}p.prototype.catch=function(d){return this.then(null,d)},p.prototype.then=function(d,M){if(typeof d!="function"&&this.state===f||typeof M!="function"&&this.state===c)return this;var F=new this.constructor(a);if(this.state!==O){var de=this.state===f?d:M;S(F,de,this.outcome)}else this.queue.push(new b(F,d,M));return F};function b(d,M,F){this.promise=d,typeof M=="function"&&(this.onFulfilled=M,this.callFulfilled=this.otherCallFulfilled),typeof F=="function"&&(this.onRejected=F,this.callRejected=this.otherCallRejected)}b.prototype.callFulfilled=function(d){l.resolve(this.promise,d)},b.prototype.otherCallFulfilled=function(d){S(this.promise,this.onFulfilled,d)},b.prototype.callRejected=function(d){l.reject(this.promise,d)},b.prototype.otherCallRejected=function(d){S(this.promise,this.onRejected,d)};function S(d,M,F){o(function(){var de;try{de=M(F)}catch(Ue){return l.reject(d,Ue)}de===d?l.reject(d,new TypeError("Cannot resolve promise with itself")):l.resolve(d,de)})}l.resolve=function(d,M){var F=A(P,M);if(F.status==="error")return l.reject(d,F.value);var de=F.value;if(de)X(d,de);else{d.state=f,d.outcome=M;for(var Ue=-1,Pe=d.queue.length;++Ue<Pe;)d.queue[Ue].callFulfilled(M)}return d},l.reject=function(d,M){d.state=c,d.outcome=M;for(var F=-1,de=d.queue.length;++F<de;)d.queue[F].callRejected(M);return d};function P(d){var M=d&&d.then;if(d&&(typeof d=="object"||typeof d=="function")&&typeof M=="function")return function(){M.apply(d,arguments)}}function X(d,M){var F=!1;function de(Xe){F||(F=!0,l.reject(d,Xe))}function Ue(Xe){F||(F=!0,l.resolve(d,Xe))}function Pe(){M(Ue,de)}var oe=A(Pe);oe.status==="error"&&de(oe.value)}function A(d,M){var F={};try{F.value=d(M),F.status="success"}catch(de){F.status="error",F.value=de}return F}p.resolve=H;function H(d){return d instanceof this?d:l.resolve(new this(a),d)}p.reject=q;function q(d){var M=new this(a);return l.reject(M,d)}p.all=B;function B(d){var M=this;if(Object.prototype.toString.call(d)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=d.length,de=!1;if(!F)return this.resolve([]);for(var Ue=new Array(F),Pe=0,oe=-1,Xe=new this(a);++oe<F;)Ve(d[oe],oe);return Xe;function Ve(He,ie){M.resolve(He).then(ve,function(ue){de||(de=!0,l.reject(Xe,ue))});function ve(ue){Ue[ie]=ue,++Pe===F&&!de&&(de=!0,l.resolve(Xe,Ue))}}}p.race=L;function L(d){var M=this;if(Object.prototype.toString.call(d)!=="[object Array]")return this.reject(new TypeError("musLine truncated
|
||||
`):h)),u};var mt=/^(?:focusinfocus|focusoutblur)$/,St=function(h){h.stopPropagation()};d.extend(d.event,{trigger:function(h,u,m,g){var x,v,Q,C,R,Y,G,te,I=[m||X],ce=f.call(h,"type")?h.type:h,Ie=f.call(h,"namespace")?h.namespace.split("."):[];if(v=te=Q=m=m||X,!(m.nodeType===3||m.nodeType===8)&&!mt.test(ce+d.event.triggered)&&(ce.indexOf(".")>-1&&(Ie=ce.split("."),ce=Ie.shift(),Ie.sort()),R=ce.indexOf(":")<0&&"on"+ce,h=h[d.expando]?h:new d.Event(ce,typeof h=="object"&&h),h.isTrigger=g?2:3,h.namespace=Ie.join("."),h.rnamespace=h.namespace?new RegExp("(^|\\.)"+Ie.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h.result=void 0,h.target||(h.target=m),u=u==null?[h]:d.makeArray(u,[h]),G=d.event.special[ce]||{},!(!g&&G.trigger&&G.trigger.apply(m,u)===!1))){if(!g&&!G.noBubble&&!P(m)){for(C=G.delegateType||ce,mt.test(C+ce)||(v=v.parentNode);v;v=v.parentNode)I.push(v),Q=v;Q===(m.ownerDocument||X)&&I.push(Q.defaultView||Q.parentWindow||i)}for(x=0;(v=I[x++])&&!h.isPropagationStopped();)te=v,h.type=x>1?C:G.bindType||ce,Y=(we.get(v,"events")||Object.create(null))[h.type]&&we.get(v,"handle"),Y&&Y.apply(v,u),Y=R&&v[R],Y&&Y.apply&&lr(v)&&(h.result=Y.apply(v,u),h.result===!1&&h.preventDefault());return h.type=ce,!g&&!h.isDefaultPrevented()&&(!G._default||G._default.apply(I.pop(),u)===!1)&&lr(m)&&R&&S(m[ce])&&!P(m)&&(Q=m[R],Q&&(m[R]=null),d.event.triggered=ce,h.isPropagationStopped()&&te.addEventListener(ce,St),m[ce](),h.isPropagationStopped()&&te.removeEventListener(ce,St),d.event.triggered=void 0,Q&&(m[R]=Q)),h.result}},simulate:function(h,u,m){var g=d.extend(new d.Event,m,{type:h,isSimulated:!0});d.event.trigger(g,null,u)}}),d.fn.extend({trigger:function(h,u){return this.each(function(){d.event.trigger(h,u,this)})},triggerHandler:function(h,u){var m=this[0];if(m)return d.event.trigger(h,u,m,!0)}});var ri=/\[\]$/,Wt=/\r?\n/g,Ta=/^(?:submit|button|image|reset|file)$/i,hi=/^(?:input|select|textarea|keygen)/i;function bu(h,u,m,g){var x;if(Array.isArray(u))d.each(u,function(v,Q){m||ri.test(h)?g(h,Q):bu(h+"["+(typeof Q=="object"&&Q!=null?v:"")+"]",Q,m,g)});else if(!m&&q(u)==="object")for(x in u)bu(h+"["+x+"]",u[x],m,g);else g(h,u)}d.param=function(h,u){var m,g=[],x=function(v,Q){var C=S(Q)?Q():Q;g[g.length]=encodeURIComponent(v)+"="+encodeURIComponent(C==null?"":C)};if(h==null)return"";if(Array.isArray(h)||h.jquery&&!d.isPlainObject(h))d.each(h,function(){x(this.name,this.value)});else for(m in h)bu(m,h[m],u,x);return g.join("&")},d.fn.extend({serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var h=d.prop(this,"elements");return h?d.makeArray(h):this}).filter(function(){var h=this.type;return this.name&&!d(this).is(":disabled")&&hi.test(this.nodeName)&&!Ta.test(h)&&(this.checked||!ii.test(h))}).map(function(h,u){var m=d(this).val();return m==null?null:Array.isArray(m)?d.map(m,function(g){return{name:u.name,value:g.replace(Wt,`\r
|
||||
`)}}):{name:u.name,value:m.replace(Wt,`\r
|
||||
`)}}).get()}});var m1=/%20/g,g1=/#.*$/,b1=/([?&])_=[^&]*/,x1=/^(.*?):[ \t]*([^\r\n]*)$/mg,v1=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,y1=/^(?:GET|HEAD)$/,S1=/^\/\//,Vg={},xu={},Mg="*/".concat("*"),vu=X.createElement("a");vu.href=Qe.href;function qg(h){return function(u,m){typeof u!="string"&&(m=u,u="*");var g,x=0,v=u.toLowerCase().match(Pi)||[];if(S(m))for(;g=v[x++];)g[0]==="+"?(g=g.slice(1)||"*",(h[g]=h[g]||[]).unshift(m)):(h[g]=h[g]||[]).push(m)}}function Dg(h,u,m,g){var x={},v=h===xu;function Q(C){var R;return x[C]=!0,d.each(h[C]||[],function(Y,G){var te=G(u,m,g);if(typeof te=="string"&&!v&&!x[te])return u.dataTypes.unshift(te),Q(te),!1;if(v)return!(R=te)}),R}return Q(u.dataTypes[0])||!x["*"]&&Q("*")}function yu(h,u){var m,g,x=d.ajaxSettings.flatOptions||{};for(m in u)u[m]!==void 0&&((x[m]?h:g||(g={}))[m]=u[m]);return g&&d.extend(!0,h,g),h}function Q1(h,u,m){for(var g,x,v,Q,C=h.contents,R=h.dataTypes;R[0]==="*";)R.shift(),g===void 0&&(g=h.mimeType||u.getResponseHeader("Content-Type"));if(g){for(x in C)if(C[x]&&C[x].test(g)){R.unshift(x);break}}if(R[0]in m)v=R[0];else{for(x in m){if(!R[0]||h.converters[x+" "+R[0]]){v=x;break}Q||(Q=x)}v=v||Q}if(v)return v!==R[0]&&R.unshift(v),m[v]}function w1(h,u,m,g){var x,v,Q,C,R,Y={},G=h.dataTypes.slice();if(G[1])for(Q in h.converters)Y[Q.toLowerCase()]=h.converters[Q];for(v=G.shift();v;)if(h.responseFields[v]&&(m[h.responseFields[v]]=u),!R&&g&&h.dataFilter&&(u=h.dataFilter(u,h.dataType)),R=v,v=G.shift(),v){if(v==="*")v=R;else if(R!=="*"&&R!==v){if(Q=Y[R+" "+v]||Y["* "+v],!Q){for(x in Y)if(C=x.split(" "),C[1]===v&&(Q=Y[R+" "+C[0]]||Y["* "+C[0]],Q)){Q===!0?Q=Y[x]:Y[x]!==!0&&(v=C[0],G.unshift(C[1]));break}}if(Q!==!0)if(Q&&h.throws)u=Q(u);else try{u=Q(u)}catch(te){return{state:"parsererror",error:Q?te:"No conversion from "+R+" to "+v}}}}return{state:"success",data:u}}d.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Qe.href,type:"GET",isLocal:v1.test(Qe.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mg,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":d.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(h,u){return u?yu(yu(h,d.ajaxSettings),u):yu(d.ajaxSettings,h)},ajaxPrefilter:qg(Vg),ajaxTransport:qg(xu),ajax:function(h,u){typeof h=="object"&&(u=h,h=void 0),u=u||{};var m,g,x,v,Q,C,R,Y,G,te,I=d.ajaxSetup({},u),ce=I.context||I,Ie=I.context&&(ce.nodeType||ce.jquery)?d(ce):d.event,ht=d.Deferred(),Be=d.Callbacks("once memory"),fi=I.statusCode||{},Ft={},on={},an="canceled",st={readyState:0,getResponseHeader:function(dt){var Et;if(R){if(!v)for(v={};Et=x1.exec(x);)v[Et[1].toLowerCase()+" "]=(v[Et[1].toLowerCase()+" "]||[]).concat(Et[2]);Et=v[dt.toLowerCase()+" "]}return Et==null?null:Et.join(", ")},getAllResponseHeaders:function(){return R?x:null},setRequestHeader:function(dt,Et){return R==null&&(dt=on[dt.toLowerCase()]=on[dt.toLowerCase()]||dt,Ft[dt]=Et),this},overrideMimeType:function(dt){return R==null&&(I.mimeType=dt),this},statusCode:function(dt){var Et;if(dt)if(R)st.always(dt[st.status]);else for(Et in dt)fi[Et]=[fi[Et],dt[Et]];return this},abort:function(dt){var Et=dt||an;return m&&m.abort(Et),Ds(0,Et),this}};if(ht.promise(st),I.url=((h||I.url||Qe.href)+"").replace(S1,Qe.protocol+"//"),I.type=u.method||u.type||I.method||I.type,I.dataTypes=(I.dataType||"*").toLowerCase().match(Pi)||[""],I.crossDomain==null){C=X.createElement("a");try{C.href=I.url,C.href=C.href,I.crossDomain=vu.protocol+"//"+vu.host!=C.protocol+"//"+C.host}catch(dt){I.crossDomain=!0}}if(I.data&&I.processData&&typeof I.data!="string"&&(I.data=d.param(I.data,I.traditional)),Dg(Vg,I,u,st),R)return st;Y=d.event&&I.global,Y&&d.active++===0&&d.event.trigger("ajaxStart"),I.type=I.type.toUpperCase(),I.hasContent=!y1.test(I.type),g=I.url.replace(g1,""),I.hasContent?I.data&&I.processData&&(I.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(I.data=I.data.replace(m1,"+")):(te=I.url.slice(g.length),I.data&&(I.processData||typeof I.data=="string")&&(g+=(Le.test(g)?"&":"?")+I.data,delete I.data),I.cache===!1&&(g=g.replace(b1,"$1"),te=(Le.test(g)?"&":"?")+"_="+Re.guid+++te),I.url=g+te),I.ifModified&&(d.lastModified[g]&&st.setRequestHeader("If-Modified-Since",d.lastModified[g]),d.etag[g]&&st.setRequestHeader("If-None-Match",d.etag[g])),(I.data&&I.hasContent&&I.contentType!==!1||u.contentType)&&st.setRequestHeader("Content-Type",I.contentType),st.setRequestHeader("Accept",I.dataTypes[0]&&I.accepts[I.dataTypes[0]]?I.accepts[I.dataTypes[0]]+(I.dataTypes[0]!=="*"?", "+Mg+"; q=0.01":""):I.accepts["*"]);for(G in I.headers)st.setRequestHeader(G,I.headers[G]);if(I.beforeSend&&(I.beforeSend.call(ce,st,I)===!1||R))return st.abort();if(an="ab
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bA(i,e){return pA(i)||mA(i,e)||xA(i,e)||gA()}function xA(i,e){if(i){if(typeof i=="string")return X$(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?X$(i,e):void 0}}var q$=Object.entries,_$=Object.setPrototypeOf,vA=Object.isFrozen,yA=Object.getPrototypeOf,SA=Object.getOwnPropertyDescriptor,pi=Object.freeze,mi=Object.seal,Qa=Object.create,D$=typeof Reflect!="undefined"&&Reflect,Pg=D$.apply,kg=D$.construct;pi||(pi=function(e){return e});mi||(mi=function(e){return e});Pg||(Pg=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),s=2;s<r;s++)n[s-2]=arguments[s];return e.apply(t,n)});kg||(kg=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return new e(...r)});var ya=Dt(Array.prototype.forEach),QA=Dt(Array.prototype.lastIndexOf),R$=Dt(Array.prototype.pop),Sa=Dt(Array.prototype.push),wA=Dt(Array.prototype.splice),_s=Array.isArray,ec=Dt(String.prototype.toLowerCase),yg=Dt(String.prototype.toString),C$=Dt(String.prototype.match),Kl=Dt(String.prototype.replace),Z$=Dt(String.prototype.indexOf),$A=Dt(String.prototype.trim),PA=Dt(Number.prototype.toString),kA=Dt(Boolean.prototype.toString),U$=typeof BigInt=="undefined"?null:Dt(BigInt.prototype.toString),A$=typeof Symbol=="undefined"?null:Dt(Symbol.prototype.toString),oi=Dt(Object.prototype.hasOwnProperty),Jl=Dt(Object.prototype.toString),si=Dt(RegExp.prototype.test),To=TA(TypeError);function Dt(i){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return Pg(i,e,r)}}function TA(i){return function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return kg(i,t)}}function Ot(i,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ec;if(_$&&_$(i,null),!_s(e))return i;let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){let s=t(n);s!==n&&(vA(e)||(e[r]=s),n=s)}i[n]=!0}return i}function XA(i){for(let e=0;e<i.length;e++)oi(i,e)||(i[e]=null);return i}function $i(i){let e=Qa(null);for(let r of q$(i)){var t=bA(r,2);let n=t[0],s=t[1];oi(i,n)&&(_s(s)?e[n]=XA(s):s&&typeof s=="object"&&s.constructor===Object?e[n]=$i(s):e[n]=s)}return e}function _A(i){switch(typeof i){case"string":return i;case"number":return PA(i);case"boolean":return kA(i);case"bigint":return U$?U$(i):"0";case"symbol":return A$?A$(i):"Symbol()";case"undefined":return Jl(i);case"function":case"object":{if(i===null)return Jl(i);let e=i,t=Kr(e,"toString");if(typeof t=="function"){let r=t(e);return typeof r=="string"?r:Jl(r)}return Jl(i)}default:return Jl(i)}}function Kr(i,e){for(;i!==null;){let r=SA(i,e);if(r){if(r.get)return Dt(r.get);if(typeof r.value=="function")return Dt(r.value)}i=yA(i)}function t(){return null}return t}function RA(i){try{return si(i,""),!0}catch(e){return!1}}var E$=pi(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Sg=pi(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Qg=pi(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),CA=pi(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+St),we&&(St=dr(St)),M&&Xi?Xe(St):St},e.setConfig=function(){let re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xn(re),Jn=!0,wn=gt,rn=yt},e.clearConfig=function(){Ri=null,Jn=!1,wn=null,rn=null,M=de,F=""},e.isValidAttribute=function(re,k,V){Ri||Xn({});let ne=$t(re),Qe=$t(k);return se(ne,Qe,V)},e.addHook=function(re,k){typeof k=="function"&&oi(je,re)&&Sa(je[re],k)},e.removeHook=function(re,k){if(oi(je,re)){if(k!==void 0){let V=QA(je[re],k);return V===-1?void 0:wA(je[re],V,1)[0]}return R$(je[re])}},e.removeHooks=function(re){oi(je,re)&&(je[re]=[])},e.removeAllHooks=function(){je=M$()},e}var NA=I$();N$.exports=NA});var Zg=Ru(Wu());function Pt(i){i?(jr(0),$("#pleaseWaitModal").modal("show")):(jr(1),$("#pleaseWaitModal").modal("hide"))}function jr(i){$("#pleaseWaitProgressBar").css("width",i*100+"%").show()}function Ke(i){Pt(!1),bootbox.alert({title:'<span class="glyphicon glyphicon-alert" aria-hidden="true"></span> Alert',message:Lo.sanitize(i)})}function qi(i){Pt(!1),bootbox.alert(Lo.sanitize(i))}function o0(i){throw Ke(i),new Error(i)}var Mu=[],h0=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<i.length;e++)(e%2?h0:Mu).push(t=t+i[e])})();function j1(i){if(i<768)return!1;for(let e=0,t=Mu.length;;){let r=e+t>>1;if(i<Mu[r])t=r;else if(i>=h0[r])e=r+1;else return!0;if(e==t)return!1}}function a0(i){return i>=127462&&i<=127487}var l0=8205;function f0(i,e,t=!0,r=!0){return(t?u0:L1)(i,e,r)}function u0(i,e,t){if(e==i.length)return e;e&&O0(i.charCodeAt(e))&&d0(i.charCodeAt(e-1))&&e--;let r=Vu(i,e);for(e+=c0(r);e<i.length;){let n=Vu(i,e);if(r==l0||n==l0||t&&j1(n))e+=c0(n),r=n;else if(a0(n)){let s=0,o=e-2;for(;o>=0&&a0(Vu(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function L1(i,e,t){for(;e>1;){let r=u0(i,e-2,t);if(r<e)return r;e--}return 0}function Vu(i,e){let t=i.charCodeAt(e);if(!d0(t)||e+1==i.length)return t;let r=i.charCodeAt(e+1);return O0(r)?(t-55296<<10)+(r-56320)+65536:t}function O0(i){return i>=56320&&i<57344}function d0(i){return i>=55296&&i<56320}function c0(i){return i<65536?1:2}var it=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=qo(this,e,t);let n=[];return this.decompose(0,e,n,2),r.length&&r.decompose(0,r.length,n,3),this.decompose(t,this.length,n,1),Wo.from(n,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=qo(this,e,t);let r=[];return this.decompose(e,t,r,0),Wo.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),n=new Ks(this),s=new Ks(e);for(let o=t,a=t;;){if(n.next(o),s.next(o),o=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(a+=n.value.length,n.done||a>=r)return!0}}iter(e=1){return new Ks(this,e)}iterRange(e,t=this.length){return new kc(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;r=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Tc(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Ki(e):Wo.from(Ki.split(e,[]))}},Ki=class i extends it{constructor(e,t=W1(e)){super(),this.text=e,this.length
Line truncated
|
||||
`){[e,t]=qo(this,e,t);let n="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(n+=r),e<l&&t>s&&(n+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let s of e)r.push(s),n+=s.length+1,r.length==32&&(t.push(new i(r,n)),r=[],n=-1);return n>-1&&t.push(new i(r,n)),t}},Wo=class i extends it{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.children[s],a=n+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,n);n=a+1,r=l+1}}decompose(e,t,r,n){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=n&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=qo(this,e,t),r.lines<this.lines)for(let n=0,s=0;n<this.children.length;n++){let o=this.children[n],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let f=this.children.slice();return f[n]=l,new i(f,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
|
||||
`){[e,t]=qo(this,e,t);let n="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(n+=r),e<l&&t>o&&(n+=a.sliceString(e-o,t-o,r)),o=l+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let r=0,[n,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,s+=t){if(n==o||s==a)return r;let l=this.children[n],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,n)=>r+n.length+1,-1)){let r=0;for(let b of e)r+=b.lines;if(r<32){let b=[];for(let S of e)S.flatten(b);return new Ki(b,t)}let n=Math.max(32,r>>5),s=n<<1,o=n>>1,a=[],l=0,c=-1,f=[];function O(b){let S;if(b.lines>s&&b instanceof i)for(let P of b.children)O(P);else b.lines>o&&(l>o||!l)?(p(),a.push(b)):b instanceof Ki&&l&&(S=f[f.length-1])instanceof Ki&&b.lines+S.lines<=32?(l+=b.lines,c+=b.length+1,f[f.length-1]=new Ki(S.text.concat(b.text),S.length+1+b.length)):(l+b.lines>n&&p(),l+=b.lines,c+=b.length+1,f.push(b))}function p(){l!=0&&(a.push(f.length==1?f[0]:i.from(f,c)),c=-1,l=f.length=0)}for(let b of e)O(b);return p(),a.length==1?a[0]:new i(a,t)}};it.empty=new Ki([""],0);function W1(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Pc(i,e,t=0,r=1e9){for(let n=0,s=0,o=!0;s<i.length&&n<=r;s++){let a=i[s],l=n+a.length;l>=t&&(l>r&&(a=a.slice(0,r-n)),n<t&&(a=a.slice(t-n)),o?(e[e.length-1]+=a,o=!1):e.push(a)),n=l+1}return e}function p0(i,e,t){return Pc(i,[""],e,t)}var Ks=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Ki?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],s=this.offsets[r],o=s>>1,a=n instanceof Ki?n.text.length:n.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(n instanceof Ki){let l=n.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=n.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ki?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},kc=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new Ks(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Tc=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(it.prototype[Symbol.iterator]=function(){return this.iter()},Ks.prototype[Symbol.iterator]=kc.prototype[Symbol.iterator]=Tc.prototype[Symbol.iterator]=function(){return this});var Du=class{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}};function qo(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function Yt(i,e,t=!0,r=!0){return f0(i,e,t,r)}function V1(i){return i>=56320&&i<57344}function M1(i){return i>=55296&&i<56320}function Wr(i,e){let t=i.charCodeAt(e);if(!M1(t)||e+1==i.length)return t;let r=i.charCodeAt(e+1);return V1(r)?(t-55296<<10)+(r-56320)+65536:t}function Zc(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function cs(i){return i<65536?1:2}var Iu=/\r\n?|\n/,Ht=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(Ht||(Ht={})),Un=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,n,s),n+=s):n+=o,r+=s}}iterChangedRanges(e,t=!1){Nu(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:v0(this,e)}mapDesc(e,t=!1){return e.empty?this:Gu(this,e,t)}mapPos(e,t=-1,r=Ht.Simple){let n=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=n+a;if(l<0){if(c>e)return s+(e-n);s+=a}else{if(r!=Ht.Simple&&c>=e&&(r==Ht.TrackDel&&n<e&&c>e||r==Ht.TrackBefore&&n<e||r==Ht.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==n||t<0?s:s+l;s+=l}n=c}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let s=this.sections[r++],o=this.sections[r++],a=n+s;if(o>=0&&n<=t&&a>=e)return n<e&&a>t?"cover":!0;n=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Ui=class i extends Un{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Nu(this,(t,r,n,s,o)=>e=e.replace(n,n+(r-t),o),!1),e}mapDesc(e,t=!1){return Gu(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,s=0;n<t.length;n+=2){let o=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=o;let l=n>>1;for(;r.length<l;)r.push(it.empty);r.push(o?e.slice(s,s+o):it.empty)}s+=o}return new i(t,r)}compose(e){return this.empty?e:e.empty?this:v0(this,e,!0)}map(e,t=!1){return e.empty?this:Gu(this,e,t,!0)}iterChanges(e,t=!1){Nu(this,e,t)}get desc
Line truncated
|
||||
`}get readOnly(){return this.facet(k0)}phrase(e,...t){for(let r of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,n)=>{if(n=="$")return"$";let s=+(n||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let n=[];for(let s of this.facet(S0))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return K1(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=Yt(t,o,!1);if(s(t.slice(l,o))!=Qt.Word)break;o=l}for(;a<n;){let l=Yt(t,a);if(s(t.slice(a,l))!=Qt.Word)break;a=l}return o==a?null:K.range(o+r,a+r)}};at.allowMultipleSelections=Fu;at.tabSize=be.define({combine:i=>i.length?i[0]:4});at.lineSeparator=Q0;at.readOnly=k0;at.phrases=be.define({compare(i,e){let t=Object.keys(i),r=Object.keys(e);return t.length==r.length&&t.every(n=>i[n]==e[n])}});at.languageData=S0;at.changeFilter=w0;at.transactionFilter=$0;at.transactionExtender=P0;Di.reconfigure=Ce.define();function Ji(i,e,t={}){let r={};for(let n of i)for(let s of Object.keys(n)){let o=n[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let n in e)r[n]===void 0&&(r[n]=e[n]);return r}var br=class{eq(e){return this==e}range(e,t=e){return ja.create(e,t,this)}};br.prototype.startSide=br.prototype.endSide=0;br.prototype.point=!1;br.prototype.mapMode=Ht.TrackDel;function oO(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var ja=class i{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new i(e,t,r)}};function tO(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var iO=class i{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let s=r?this.to:this.from;for(let o=n,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,r,n){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(n(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],n=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],f=this.from[l]+e,O=this.to[l]+e,p,b;if(f==O){let S=t.mapPos(f,c.startSide,c.mapMode);if(S==null||(p=b=S,c.startSide!=c.endSide&&(b=t.mapPos(f,c.endSide),b<p)))continue}else if(p=t.mapPos(f,c.startSide),b=t.mapPos(O,c.endSide),p>b||p==b&&c.startSide>0&&c.endSide<=0)continue;(b-p||c.endSide-c.startSide)<0||(o<0&&(o=p),c.point&&(a=Math.max(a,b-p)),r.push(c),n.push(p-o),s.push(b-o))}return{mapped:r.length?new i(n,s,r,a):null,pos:o}}},qe=class i{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new i(e,t,r,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:n=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(tO)),this.isEmpty)return t.length?i.of(t):this;let a=new Cc(this,null,-1).goto(0),l=0,c=[],f=new Lr;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let O=t[l++];f.addInner(O.from,O.to,O.value)||c.push(O)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||n>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&f.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||n>a.to||s<a.from||o(a.from,a.to,a.value))&&(f.addInner(a.from,a.to,a.value)||c.push(ja.create(a.from,a.to,a.value))),a.next());return f.finishInner(this.nextLayer.isEmpty&&!c.length?i.empty:this.nextLayer.update({add:c,filter:o,filterFrom:n,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)n=Math.max(n,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:f,pos:O}=l.map(a,e);f&&(n=Math.max(n,f.maxPoint),t.push(f),r.push(O))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(r,t,s||i.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let s=this.chunkPos[n],o=this.chunk[n];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return La.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return La.from(e).goto(t)}static compare(e,t,r,n,s=-1){let o=e.filter(O=>O.maxPoint>0||!O.is
Line truncated
|
||||
`)}static newName(){let e=R0[_0]||1;return R0[_0]=e+1,"\u037C"+e.toString(36)}static mount(e,t,r){let n=e[aO],s=r&&r.nonce;n?s&&n.setNonce(s):n=new lO(e,s),n.mount(Array.isArray(t)?t:[t],e)}},C0=new Map,lO=class{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=C0.get(r);if(s)return e[aO]=s;this.sheet=new n.CSSStyleSheet,C0.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[aO]=this}mount(e,t){let r=this.sheet,n=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],n++)}else{for(;s<l;)n+=this.modules[s++].rules.length;n+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
|
||||
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var An={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Do={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},eP=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),tP=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Mt=0;Mt<10;Mt++)An[48+Mt]=An[96+Mt]=String(Mt);var Mt;for(Mt=1;Mt<=24;Mt++)An[Mt+111]="F"+Mt;var Mt;for(Mt=65;Mt<=90;Mt++)An[Mt]=String.fromCharCode(Mt+32),Do[Mt]=String.fromCharCode(Mt);var Mt;for(Ac in An)Do.hasOwnProperty(Ac)||(Do[Ac]=An[Ac]);var Ac;function Z0(i){var e=eP&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||tP&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?Do:An)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function jt(){var i=arguments[0];typeof i=="string"&&(i=document.createElement(i));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var n=t[r];typeof n=="string"?i.setAttribute(r,n):n!=null&&(i[r]=n)}e++}for(;e<arguments.length;e++)U0(i,arguments[e]);return i}function U0(i,e){if(typeof e=="string")i.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)i.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)U0(i,e[t]);else throw new RangeError("Unsupported child node: "+e)}var Ei=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},bO=typeof document!="undefined"?document:{documentElement:{style:{}}},xO=/Edge\/(\d+)/.exec(Ei.userAgent),xb=/MSIE \d/.test(Ei.userAgent),vO=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ei.userAgent),dh=!!(xb||vO||xO),A0=!dh&&/gecko\/(\d+)/i.test(Ei.userAgent),cO=!dh&&/Chrome\/(\d+)/.exec(Ei.userAgent),E0="webkitFontSmoothing"in bO.documentElement.style,yO=!dh&&/Apple Computer/.test(Ei.vendor),z0=yO&&(/Mobile\/\w+/.test(Ei.userAgent)||Ei.maxTouchPoints>2),xe={mac:z0||/Mac/.test(Ei.platform),windows:/Win/.test(Ei.platform),linux:/Linux|X11/.test(Ei.platform),ie:dh,ie_version:xb?bO.documentMode||6:vO?+vO[1]:xO?+xO[1]:0,gecko:A0,gecko_version:A0?+(/Firefox\/(\d+)/.exec(Ei.userAgent)||[0,0])[1]:0,chrome:!!cO,chrome_version:cO?+cO[1]:0,ios:z0,android:/Android\b/.test(Ei.userAgent),webkit:E0,webkit_version:E0?+(/\bAppleWebKit\/(\d+)/.exec(Ei.userAgent)||[0,0])[1]:0,safari:yO,safari_version:yO?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ei.userAgent)||[0,0])[1]:0,tabSize:bO.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function ud(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var Fc=Object.create(null);function Od(i,e,t){if(i==e)return!0;i||(i=Fc),e||(e=Fc);let r=Object.keys(i),n=Object.keys(e);if(r.length-(t&&r.indexOf(t)>-1?1:0)!=n.length-(t&&n.indexOf(t)>-1?1:0))return!1;for(let s of r)if(s!=t&&(n.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function iP(i,e){for(let t=i.attributes.length-1;t>=0;t--){let r=i.attributes[t].name;e[r]==null&&i.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?i.style.cssText=r:i.getAttribute(t)!=r&&i.setAttribute(t,r)}}function Y0(i,e,t){let r=!1;if(e)for(let n in e)t&&n in t||(r=!0,n=="style"?i.style.cssText="":i.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(r=!0,n=="style"?i.style.cssText=t[n]:i.setAttribute(n,t[n]));return r}function rP(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let r=i.attributes[t];e[r.name]=r.value}return e}var ni=class{eq(e){return!1}updateDOM(e,t,r){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},ui=(function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i})(ui||(ui={})),pe=class extends br{constructor(e,t,r,n){super(),this.startSide=e,this.enLine truncated
|
||||
`,n=i.state.doc.line(n.number+(t?1:-1)),s=i.bidiSpans(n),c=i.visualLineSide(n,!t)}if(l){if(!l(f))return a}else{if(!r)return c;l=r(f)}a=c}}function EP(i,e,t){let r=i.state.charCategorizer(e),n=r(t);return s=>{let o=r(s);return n==Qt.Space&&(n=o),n==o}}function zP(i,e,t,r){let n=e.head,s=t?1:-1;if(n==(t?i.state.doc.length:0))return K.cursor(n,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(n,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),f=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let S=i.viewState.lineBlockAt(n);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(n-S.from))),a=(s<0?S.top:S.bottom)+f}let O=l.left+o,p=i.viewState.heightOracle.textHeight>>1,b=r!=null?r:p;for(let S=0;;S+=p){let P=a+(b+S)*s,X=zO(i,{x:O,y:P},!1,s);if(t?P>l.bottom:P<l.top)return K.cursor(X.pos,X.assoc);let A=i.coordsAtPos(X.pos,X.assoc),H=A?(A.top+A.bottom)/2:0;if(!A||(t?H>a:H<a))return K.cursor(X.pos,X.assoc,void 0,o)}}function Ba(i,e,t){for(;;){let r=0;for(let n of i)n.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function Fb(i,e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],s=null;if(n.empty){let o=Ba(i,n.from,0);o!=n.from&&(s=K.cursor(o,-1))}else{let o=Ba(i,n.from,-1),a=Ba(i,n.to,1);(o!=n.from||a!=n.to)&&(n.undirectional?s=K.undirectionalRange(n.from,n.to):s=K.range(n.from==n.anchor?o:a,n.from==n.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?K.create(t,e.mainIndex):e}function uO(i,e,t){let r=Ba(i.state.facet(sl).map(n=>n(i)),t.from,e.head>t.from?-1:1);return r==t.from?t:K.cursor(r,r<t.from?1:-1)}var Sr=class{constructor(e,t){this.pos=e,this.assoc=t}};function zO(i,e,t,r){let n=i.contentDOM.getBoundingClientRect(),s=n.top+i.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Sr(0,1);if(l>i.viewState.docHeight)return new Sr(i.state.doc.length,-1);if(c=i.elementAtHeight(l),r==null)break;if(c.type==ui.Text){if(r<0?c.to<i.viewport.from:c.from>i.viewport.to)break;let p=i.docView.coordsAt(r<0?c.from:c.to,r>0?-1:1);if(p&&(r<0?p.top<=l+s:p.bottom>=l+s))break}let O=i.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+O:c.top-O}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==ui.Text){let O=UP(i,n,c,o,a);return new Sr(O,O==c.from?1:-1)}}if(c.type!=ui.Text)return l<(c.top+c.bottom)/2?new Sr(c.from,1):new Sr(c.to,-1);let f=i.docView.lineAt(c.from,2);return(!f||f.length!=c.length)&&(f=i.docView.lineAt(c.from,-2)),new YO(i,o,a,i.textDirectionAt(c.from)).scanTile(f,c.from)}var YO=class{constructor(e,t,r,n){this.view=e,this.x=t,this.y=r,this.baseDir=n,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:r,spans:n}=this.bidiSpansAt(e);return n[Qr.find(n,e-r.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:r,spans:n}=this.bidiSpansAt(e);return n[Qr.find(n,e-r.from,-1,t)].dir}bidiIn(e,t){let{spans:r,line:n}=this.bidiSpansAt(e);return r.length>1||r.length&&(r[0].level!=this.baseDir||r[0].to+n.from<t)}scan(e,t,r=!1){let n=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,f=-1,O=1e9,p;e:for(;n<s;){let S=s-n,P=n+s>>1;t:if(o.has(P)){for(let H=1;H<S;H++){let q=P+H;if(q>=s&&(q-=S),!o.has(q)){P=q;break t}}break e}o.add(P);let X=t(P),A=0;if(X)for(let H=0;H<X.length;H++){let q=X[H];if(!(q.width==0&&X.length>1))if(q.bottom<this.y)(!l||l.bottom<q.bottom)&&(l=q),A=1;else if(q.top>this.y)(!c||c.top>q.top)&&(c=q),A=-1;else{let B=q.left>this.x?this.x-q.left:q.right<this.x?this.x-q.right:0,L=Math.abs(B);L<O&&(f=P,O=L,p=q),B&&(A=B<0==(this.baseDir==vt.LTR)?-1:1)}}A==-1&&(!a||this.baseDirAt(e[P],1))?s=P:A==1&&(!a||this.baseDirAt(e[P+1],-1))&&(n=P+1)}if(!p){if(!c&&!l)return{i:e[0],after:!1};let S=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(S.top+S.bottom)/2,this.scan(e,t,!0)}if(O&&!r){let{top:S,bottom:P}=p;if(l&&l.bottom>(S+S+P)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(S+P+P)/3)return this.y=c.top+1,this.scan(e,t,!0)}let b=(a?this.dirAt(e[f],1):this.baseDir)==vt.LTR;return{i:f,after:this.x>(p.left+p.right)/2==b}}scanText(e,t){let r=[];for(let s=0;s<e.length;s=Yt(e.text,s))r.push(t+s);r.push(t+e.length);let n=this.scan(r,s=>{let o=r[s]-t,a=r[s+1]-t;return il(e.dom,o,a).getClientRects()});return n.after?new Sr(r[n.i+1],-1):new Sr(r[n.i],1)}scanTile(e,t){if(!e.length)return new Sr(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let r=[t];for(let a=0,l=t;a<e.children.length;a++)r.push(l+=e.children[a].length);let n=this.scan(r,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:il(l.dom,0,l.length)).getClientRects()}),s=e.children[n.i],o=r[n.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):n.after?new Sr(r[n.i+1],-1):new Sr(o,1)}},Io="\uFFFF",jO=class{
Line truncated
|
||||
`&&i.lineWrapping&&(r&&(r=K.single(r.main.anchor-1,r.main.head-1)),t={from:s.from,to:s.to,insert:it.of([" "])}),t)return vd(i,t,r,o);if(r&&!nh(r,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=Fb(n.facet(sl).map(c=>c(i)),r))),i.dispatch({selection:r,scrollIntoView:a,userEvent:l}),!0}else return!1}function vd(i,e,t,r=-1){if(xe.ios&&i.inputState.flushIOSKey(e))return!0;let n=i.state.selection.main;if(xe.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&i.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Ko(i.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&Ko(i.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&Ko(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=LP(i,e,t));return i.state.facet(Yb).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function LP(i,e,t){let r,n=i.state,s=n.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,f=Ba(n.facet(sl).map(O=>O(i)),c,l);e.from==f&&(o=f)}if(o>-1)r={changes:e,selection:K.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.from<e.from?n.sliceDoc(s.from,e.from):"",c=s.to>e.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=n.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(n.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let f=i.state.sliceDoc(e.from,e.to),O,p=t&&Bb(i,t.main.head);if(p){let S=e.insert.length-(e.to-e.from);O={from:p.from,to:p.to-S}}else O=i.state.doc.lineAt(s.head);let b=s.to-e.to;r=n.changeByRange(S=>{if(S.from==s.from&&S.to==s.to)return{changes:l,range:c||S.map(l)};let P=S.to-b,X=P-f.length;if(i.state.sliceDoc(X,P)!=f||P>=O.from&&X<=O.to)return{range:S};let A=n.changes({from:X,to:P,insert:e.insert}),H=S.to-s.to;return{changes:A,range:c?K.range(Math.max(0,c.anchor+H),Math.max(0,c.head+H)):S.map(A)}})}else r={changes:l,selection:c&&n.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:a,scrollIntoView:!0})}function Jb(i,e,t,r){let n=Math.min(i.length,e.length),s=0;for(;s<n&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==n&&i.length==e.length)return null;let o=i.length,a=e.length;for(;o>0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&i.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function WP(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new rh(t,r)),(n!=t||s!=r)&&e.push(new rh(n,s))),e}function VP(i,e){if(i.length==0)return null;let t=i[0].pos,r=i.length==2?i[1].pos:t;return t>-1&&r>-1?K.single(t+e,r+e):null}function nh(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var WO=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,xe.safari&&e.contentDOM.addEventListener("input",()=>null),xe.gecko&&rk(e.contentDOM.ownerDocument)}handleEvent(e){!FP(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,t);for(let n of r.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandl
Line truncated
|
||||
`))};if((xe.mac||xe.android)&&O.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(O={from:a,to:l,insert:it.of([r.text.replace("."," ")])}),this.pendingContextChange=O,!e.state.readOnly){let p=this.to-this.from+(O.to-O.from+O.insert.length);vd(e,O,K.single(this.toEditorPos(r.selectionStart,p),this.toEditorPos(r.selectionEnd,p)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),O.from<O.to&&!O.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,n.push(s)}t.updateCharacterBounds(r.rangeStart,n)},this.handlers.textformatupdate=r=>{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let f=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;n.push(pe.mark({attributes:{style:f}}).range(l,c))}}}e.dispatch({effects:Mb.of(pe.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{let n=tl(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let f=c.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(c)){n=this.pendingContextChange=null,t+=f,this.to+=f;return}else n=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=f,this.to+=f;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=f}t+=f}),n&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},ae=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDO
Line truncated
|
||||
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,nd),_k={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},dO=null;function Rk(){var i;if(dO==null&&typeof document!="undefined"&&document.body){let e=document.body.style;dO=((i=e.tabSize)!==null&&i!==void 0?i:e.MozTabSize)!=null}return dO||!1}var Gc=be.define({combine(i){let e=Ji(i,{render:null,specialChars:Xk,addSpecialChars:null});return(e.replaceTabs=!Rk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,nd)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,nd)),e}});function xx(i={}){return[Gc.of(i),Ck()]}var fb=null;function Ck(){return fb||(fb=Ct.fromClass(class{constructor(i){this.view=i,this.decorations=pe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(i.state.facet(Gc)),this.decorations=this.decorator.createDeco(i)}makeDecorator(i){return new rl({regexp:i.specialChars,decoration:(e,t,r)=>{let{doc:n}=t.state,s=Wr(e[0],0);if(s==9){let o=n.lineAt(r),a=t.state.tabSize,l=Ai(o.text,a,r-o.from);return pe.replace({widget:new od((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=pe.replace({widget:new sd(i,s)}))},boundary:i.replaceTabs?void 0:/[^]/})}update(i){let e=i.state.facet(Gc);i.startState.facet(Gc)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(i.view)):this.decorations=this.decorator.updateDeco(i,this.decorations)}},{decorations:i=>i.decorations}))}var Zk="\u2022";function Uk(i){return i>=32?Zk:i==10?"\u2424":String.fromCharCode(9216+i)}var sd=class extends ni{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Uk(this.code),r=e.state.phrase("Control character")+" "+(_k[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}},od=class extends ni{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Sd(){return Ek}var Ak=pe.line({class:"cm-activeLine"}),Ek=Ct.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let r of i.state.selection.ranges){let n=i.lineBlockAt(r.head);n.from>e&&(t.push(Ak.range(n.from)),e=n.from)}return pe.set(t)}},{decorations:i=>i.decorations});var ad=2e3;function zk(i,e,t){let r=Math.min(e.line,t.line),n=Math.max(e.line,t.line),s=[];if(e.off>ad||t.off>ad||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=n;l++){let c=i.doc.line(l);c.length<=a&&s.push(K.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=n;l++){let c=i.doc.line(l),f=Uc(c.text,o,i.tabSize,!0);if(f<0)s.push(K.cursor(c.to));else{let O=Uc(c.text,a,i.tabSize);s.push(K.range(c.from+f,c.from+O))}}}return s}function Yk(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function ub(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),r=i.state.doc.lineAt(t),n=t-r.from,s=n>ad?-1:n==r.length?Yk(i,e.clientX):Ai(r.text,i.state.tabSize,t-r.from);return{line:r.number,col:s,off:n}}function jk(i,e){let t=ub(i,e),r=i.state.selection;return t?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(t.line).from),o=n.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(n.changes)}},get(n,s,o){let a=ub(i,n);if(!a)return r;let l=zk(i.state,t,a);return l.length?o?K.create(l.concat(r.ranges)):K.create(l):r}}:null}function Qd(i){let e=(i==null?void 0:i.eventFilter)||(t=>t.altKey&&t.button==0);return ae.mouseSelectionStyle.of((t,r)=>e(r)?jk(t,r):null)}var Lk={Alt:[18,i=>!!i.altKey],Control:[17,i=>!!i.ctrlKey],Shift:[16,i=>!!i.shiftKey],Meta:[91,i=>!!i.metaKey]},Wk={style:"cursor: crosshair"};function wd(i={}){let[e,t]=Lk[i.key||"Alt"],r=Ct.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||t(n))},keyup(n){(n.keyCode==e||!t(n))&&this.set(!1)},mousemove(n){this.set(t(n))}}}
Line truncated
|
||||
import{a as $c,b as Pc,c as Wo,d as N1}from"./chunk-7GWCUXYG.js";import{a as I1}from"./chunk-LNOKARBD.js";import{a as wc}from"./chunk-A7SWO6EA.js";import{a as c0,b as h0,c as F1}from"./chunk-73C6ISBD.js";import{D as Wu,J as Vu,t as a0,u as l0}from"./chunk-AA227H53.js";import{A as Gs,E as xr,F as ju,G as Mo,I as yc,J as Lu,S as Mu,U as o0,a as On,aa as Qc,b as za,d as Si,e as Eu,f as yi,g as pt,h as zu,i as i0,k as r0,m as bc,n as xc,o as vc,p as Bs,q as n0,t as Sc,w as s0,x as Yu,y as Ya,z as Ai}from"./chunk-BNFOPPUS.js";import{a as qt,b as gc,c as Ea,d as Uu,e as Au}from"./chunk-KT7KMEQC.js";var Du=Uu((f0,qu)=>{(function(i){if(typeof f0=="object"&&typeof qu!="undefined")qu.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=i()}})(function(){var i,e,t;return(function r(n,s,o){function a(f,O){if(!s[f]){if(!n[f]){var p=typeof Ea=="function"&&Ea;if(!O&&p)return p(f,!0);if(l)return l(f,!0);var b=new Error("Cannot find module '"+f+"'");throw b.code="MODULE_NOT_FOUND",b}var y=s[f]={exports:{}};n[f][0].call(y.exports,function(P){var X=n[f][1][P];return a(X||P)},y,y.exports,r,n,s,o)}return s[f].exports}for(var l=typeof Ea=="function"&&Ea,c=0;c<o.length;c++)a(o[c]);return a})({1:[function(r,n,s){(function(o){"use strict";var a=o.MutationObserver||o.WebKitMutationObserver,l;if(a){var c=0,f=new a(P),O=o.document.createTextNode("");f.observe(O,{characterData:!0}),l=function(){O.data=c=++c%2}}else if(!o.setImmediate&&typeof o.MessageChannel!="undefined"){var p=new o.MessageChannel;p.port1.onmessage=P,l=function(){p.port2.postMessage(0)}}else"document"in o&&"onreadystatechange"in o.document.createElement("script")?l=function(){var A=o.document.createElement("script");A.onreadystatechange=function(){P(),A.onreadystatechange=null,A.parentNode.removeChild(A),A=null},o.document.documentElement.appendChild(A)}:l=function(){setTimeout(P,0)};var b,y=[];function P(){b=!0;for(var A,H,q=y.length;q;){for(H=y,y=[],A=-1;++A<q;)H[A]();q=y.length}b=!1}n.exports=X;function X(A){y.push(A)===1&&!b&&l()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(r,n,s){"use strict";var o=r(1);function a(){}var l={},c=["REJECTED"],f=["FULFILLED"],O=["PENDING"];n.exports=p;function p(d){if(typeof d!="function")throw new TypeError("resolver must be a function");this.state=O,this.queue=[],this.outcome=void 0,d!==a&&X(this,d)}p.prototype.catch=function(d){return this.then(null,d)},p.prototype.then=function(d,V){if(typeof d!="function"&&this.state===f||typeof V!="function"&&this.state===c)return this;var G=new this.constructor(a);if(this.state!==O){var de=this.state===f?d:V;y(G,de,this.outcome)}else this.queue.push(new b(G,d,V));return G};function b(d,V,G){this.promise=d,typeof V=="function"&&(this.onFulfilled=V,this.callFulfilled=this.otherCallFulfilled),typeof G=="function"&&(this.onRejected=G,this.callRejected=this.otherCallRejected)}b.prototype.callFulfilled=function(d){l.resolve(this.promise,d)},b.prototype.otherCallFulfilled=function(d){y(this.promise,this.onFulfilled,d)},b.prototype.callRejected=function(d){l.reject(this.promise,d)},b.prototype.otherCallRejected=function(d){y(this.promise,this.onRejected,d)};function y(d,V,G){o(function(){var de;try{de=V(G)}catch(Ue){return l.reject(d,Ue)}de===d?l.reject(d,new TypeError("Cannot resolve promise with itself")):l.resolve(d,de)})}l.resolve=function(d,V){var G=A(P,V);if(G.status==="error")return l.reject(d,G.value);var de=G.value;if(de)X(d,de);else{d.state=f,d.outcome=V;for(var Ue=-1,Pe=d.queue.length;++Ue<Pe;)d.queue[Ue].callFulfilled(V)}return d},l.reject=function(d,V){d.state=c,d.outcome=V;for(var G=-1,de=d.queue.length;++G<de;)d.queue[G].callRejected(V);return d};function P(d){var V=d&&d.then;if(d&&(typeof d=="object"||typeof d=="function")&&typeof V=="function")return function(){V.apply(d,arguments)}}function X(d,V){var G=!1;function de(Xe){G||(G=!0,l.reject(d,Xe))}function Ue(Xe){G||(G=!0,l.resolve(d,Xe))}function Pe(){V(Ue,de)}var oe=A(Pe);oe.status==="error"&&de(oe.value)}function A(d,V){var G={};try{G.value=d(V),G.status="success"}catch(de){G.status="error",G.value=de}return G}p.resolve=H;function H(d){return d instanceof this?d:l.resolve(new this(a),d)}p.reject=q;function q(d){var V=new this(a);return l.reject(V,d)}p.all=B;function B(d){var V=this;if(Object.prototype.toString.call(d)!=="[object Array]")return this.reject(new TypeError("must be an array"));var G=d.length,de=!1;if(!G)return this.resolve([]);for(var Ue=new Array(G),Pe=0,oe=-1,Xe=new this(a);++oe<G;)We(d[oe],oe);return Xe;function We(He,ie){V.resolve(He).then(ve,function(ue){de||(de=!0,l.reject(Xe,ue))});function ve(ue){Ue[ie]=ue,++Pe===G&&!de&&(de=!0,l.resolve(Xe,Ue))}}}p.race=L;function L(d){var V=this;if(Object.prototype.toString.call(d)!=="[object Array]")return this.reject(new TypeError("musLine truncated
|
||||
`):h)),u};var mt=/^(?:focusinfocus|focusoutblur)$/,yt=function(h){h.stopPropagation()};d.extend(d.event,{trigger:function(h,u,m,g){var x,v,Q,C,R,Y,F,te,I=[m||X],ce=f.call(h,"type")?h.type:h,Ie=f.call(h,"namespace")?h.namespace.split("."):[];if(v=te=Q=m=m||X,!(m.nodeType===3||m.nodeType===8)&&!mt.test(ce+d.event.triggered)&&(ce.indexOf(".")>-1&&(Ie=ce.split("."),ce=Ie.shift(),Ie.sort()),R=ce.indexOf(":")<0&&"on"+ce,h=h[d.expando]?h:new d.Event(ce,typeof h=="object"&&h),h.isTrigger=g?2:3,h.namespace=Ie.join("."),h.rnamespace=h.namespace?new RegExp("(^|\\.)"+Ie.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h.result=void 0,h.target||(h.target=m),u=u==null?[h]:d.makeArray(u,[h]),F=d.event.special[ce]||{},!(!g&&F.trigger&&F.trigger.apply(m,u)===!1))){if(!g&&!F.noBubble&&!P(m)){for(C=F.delegateType||ce,mt.test(C+ce)||(v=v.parentNode);v;v=v.parentNode)I.push(v),Q=v;Q===(m.ownerDocument||X)&&I.push(Q.defaultView||Q.parentWindow||i)}for(x=0;(v=I[x++])&&!h.isPropagationStopped();)te=v,h.type=x>1?C:F.bindType||ce,Y=(we.get(v,"events")||Object.create(null))[h.type]&&we.get(v,"handle"),Y&&Y.apply(v,u),Y=R&&v[R],Y&&Y.apply&&hr(v)&&(h.result=Y.apply(v,u),h.result===!1&&h.preventDefault());return h.type=ce,!g&&!h.isDefaultPrevented()&&(!F._default||F._default.apply(I.pop(),u)===!1)&&hr(m)&&R&&y(m[ce])&&!P(m)&&(Q=m[R],Q&&(m[R]=null),d.event.triggered=ce,h.isPropagationStopped()&&te.addEventListener(ce,yt),m[ce](),h.isPropagationStopped()&&te.removeEventListener(ce,yt),d.event.triggered=void 0,Q&&(m[R]=Q)),h.result}},simulate:function(h,u,m){var g=d.extend(new d.Event,m,{type:h,isSimulated:!0});d.event.trigger(g,null,u)}}),d.fn.extend({trigger:function(h,u){return this.each(function(){d.event.trigger(h,u,this)})},triggerHandler:function(h,u){var m=this[0];if(m)return d.event.trigger(h,u,m,!0)}});var si=/\[\]$/,Vt=/\r?\n/g,Ra=/^(?:submit|button|image|reset|file)$/i,ui=/^(?:input|select|textarea|keygen)/i;function yu(h,u,m,g){var x;if(Array.isArray(u))d.each(u,function(v,Q){m||si.test(h)?g(h,Q):yu(h+"["+(typeof Q=="object"&&Q!=null?v:"")+"]",Q,m,g)});else if(!m&&q(u)==="object")for(x in u)yu(h+"["+x+"]",u[x],m,g);else g(h,u)}d.param=function(h,u){var m,g=[],x=function(v,Q){var C=y(Q)?Q():Q;g[g.length]=encodeURIComponent(v)+"="+encodeURIComponent(C==null?"":C)};if(h==null)return"";if(Array.isArray(h)||h.jquery&&!d.isPlainObject(h))d.each(h,function(){x(this.name,this.value)});else for(m in h)yu(m,h[m],u,x);return g.join("&")},d.fn.extend({serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var h=d.prop(this,"elements");return h?d.makeArray(h):this}).filter(function(){var h=this.type;return this.name&&!d(this).is(":disabled")&&ui.test(this.nodeName)&&!Ra.test(h)&&(this.checked||!ni.test(h))}).map(function(h,u){var m=d(this).val();return m==null?null:Array.isArray(m)?d.map(m,function(g){return{name:u.name,value:g.replace(Vt,`\r
|
||||
`)}}):{name:u.name,value:m.replace(Vt,`\r
|
||||
`)}}).get()}});var P1=/%20/g,k1=/#.*$/,T1=/([?&])_=[^&]*/,X1=/^(.*?):[ \t]*([^\r\n]*)$/mg,_1=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,R1=/^(?:GET|HEAD)$/,C1=/^\/\//,Fg={},Qu={},Bg="*/".concat("*"),wu=X.createElement("a");wu.href=Qe.href;function Gg(h){return function(u,m){typeof u!="string"&&(m=u,u="*");var g,x=0,v=u.toLowerCase().match(Ti)||[];if(y(m))for(;g=v[x++];)g[0]==="+"?(g=g.slice(1)||"*",(h[g]=h[g]||[]).unshift(m)):(h[g]=h[g]||[]).push(m)}}function Hg(h,u,m,g){var x={},v=h===Qu;function Q(C){var R;return x[C]=!0,d.each(h[C]||[],function(Y,F){var te=F(u,m,g);if(typeof te=="string"&&!v&&!x[te])return u.dataTypes.unshift(te),Q(te),!1;if(v)return!(R=te)}),R}return Q(u.dataTypes[0])||!x["*"]&&Q("*")}function $u(h,u){var m,g,x=d.ajaxSettings.flatOptions||{};for(m in u)u[m]!==void 0&&((x[m]?h:g||(g={}))[m]=u[m]);return g&&d.extend(!0,h,g),h}function Z1(h,u,m){for(var g,x,v,Q,C=h.contents,R=h.dataTypes;R[0]==="*";)R.shift(),g===void 0&&(g=h.mimeType||u.getResponseHeader("Content-Type"));if(g){for(x in C)if(C[x]&&C[x].test(g)){R.unshift(x);break}}if(R[0]in m)v=R[0];else{for(x in m){if(!R[0]||h.converters[x+" "+R[0]]){v=x;break}Q||(Q=x)}v=v||Q}if(v)return v!==R[0]&&R.unshift(v),m[v]}function U1(h,u,m,g){var x,v,Q,C,R,Y={},F=h.dataTypes.slice();if(F[1])for(Q in h.converters)Y[Q.toLowerCase()]=h.converters[Q];for(v=F.shift();v;)if(h.responseFields[v]&&(m[h.responseFields[v]]=u),!R&&g&&h.dataFilter&&(u=h.dataFilter(u,h.dataType)),R=v,v=F.shift(),v){if(v==="*")v=R;else if(R!=="*"&&R!==v){if(Q=Y[R+" "+v]||Y["* "+v],!Q){for(x in Y)if(C=x.split(" "),C[1]===v&&(Q=Y[R+" "+C[0]]||Y["* "+C[0]],Q)){Q===!0?Q=Y[x]:Y[x]!==!0&&(v=C[0],F.unshift(C[1]));break}}if(Q!==!0)if(Q&&h.throws)u=Q(u);else try{u=Q(u)}catch(te){return{state:"parsererror",error:Q?te:"No conversion from "+R+" to "+v}}}}return{state:"success",data:u}}d.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Qe.href,type:"GET",isLocal:_1.test(Qe.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bg,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":d.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(h,u){return u?$u($u(h,d.ajaxSettings),u):$u(d.ajaxSettings,h)},ajaxPrefilter:Gg(Fg),ajaxTransport:Gg(Qu),ajax:function(h,u){typeof h=="object"&&(u=h,h=void 0),u=u||{};var m,g,x,v,Q,C,R,Y,F,te,I=d.ajaxSetup({},u),ce=I.context||I,Ie=I.context&&(ce.nodeType||ce.jquery)?d(ce):d.event,ht=d.Deferred(),Be=d.Callbacks("once memory"),Oi=I.statusCode||{},Kt={},ln={},cn="canceled",st={readyState:0,getResponseHeader:function(dt){var Yt;if(R){if(!v)for(v={};Yt=X1.exec(x);)v[Yt[1].toLowerCase()+" "]=(v[Yt[1].toLowerCase()+" "]||[]).concat(Yt[2]);Yt=v[dt.toLowerCase()+" "]}return Yt==null?null:Yt.join(", ")},getAllResponseHeaders:function(){return R?x:null},setRequestHeader:function(dt,Yt){return R==null&&(dt=ln[dt.toLowerCase()]=ln[dt.toLowerCase()]||dt,Kt[dt]=Yt),this},overrideMimeType:function(dt){return R==null&&(I.mimeType=dt),this},statusCode:function(dt){var Yt;if(dt)if(R)st.always(dt[st.status]);else for(Yt in dt)Oi[Yt]=[Oi[Yt],dt[Yt]];return this},abort:function(dt){var Yt=dt||cn;return m&&m.abort(Yt),Ns(0,Yt),this}};if(ht.promise(st),I.url=((h||I.url||Qe.href)+"").replace(C1,Qe.protocol+"//"),I.type=u.method||u.type||I.method||I.type,I.dataTypes=(I.dataType||"*").toLowerCase().match(Ti)||[""],I.crossDomain==null){C=X.createElement("a");try{C.href=I.url,C.href=C.href,I.crossDomain=wu.protocol+"//"+wu.host!=C.protocol+"//"+C.host}catch(dt){I.crossDomain=!0}}if(I.data&&I.processData&&typeof I.data!="string"&&(I.data=d.param(I.data,I.traditional)),Hg(Fg,I,u,st),R)return st;Y=d.event&&I.global,Y&&d.active++===0&&d.event.trigger("ajaxStart"),I.type=I.type.toUpperCase(),I.hasContent=!R1.test(I.type),g=I.url.replace(k1,""),I.hasContent?I.data&&I.processData&&(I.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(I.data=I.data.replace(P1,"+")):(te=I.url.slice(g.length),I.data&&(I.processData||typeof I.data=="string")&&(g+=(Le.test(g)?"&":"?")+I.data,delete I.data),I.cache===!1&&(g=g.replace(T1,"$1"),te=(Le.test(g)?"&":"?")+"_="+Re.guid+++te),I.url=g+te),I.ifModified&&(d.lastModified[g]&&st.setRequestHeader("If-Modified-Since",d.lastModified[g]),d.etag[g]&&st.setRequestHeader("If-None-Match",d.etag[g])),(I.data&&I.hasContent&&I.contentType!==!1||u.contentType)&&st.setRequestHeader("Content-Type",I.contentType),st.setRequestHeader("Accept",I.dataTypes[0]&&I.accepts[I.dataTypes[0]]?I.accepts[I.dataTypes[0]]+(I.dataTypes[0]!=="*"?", "+Bg+"; q=0.01":""):I.accepts["*"]);for(F in I.headers)st.setRequestHeader(F,I.headers[F]);if(I.beforeSend&&(I.beforeSend.call(ce,st,I)===!1||R))return st.abort();if(cn="ab
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZA(i,e){return _A(i)||RA(i,e)||UA(i,e)||CA()}function UA(i,e){if(i){if(typeof i=="string")return j$(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?j$(i,e):void 0}}var e1=Object.entries,L$=Object.setPrototypeOf,AA=Object.isFrozen,EA=Object.getPrototypeOf,zA=Object.getOwnPropertyDescriptor,gi=Object.freeze,bi=Object.seal,Pa=Object.create,t1=typeof Reflect!="undefined"&&Reflect,Cg=t1.apply,Zg=t1.construct;gi||(gi=function(e){return e});bi||(bi=function(e){return e});Cg||(Cg=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),s=2;s<r;s++)n[s-2]=arguments[s];return e.apply(t,n)});Zg||(Zg=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return new e(...r)});var wa=Nt(Array.prototype.forEach),YA=Nt(Array.prototype.lastIndexOf),M$=Nt(Array.prototype.pop),$a=Nt(Array.prototype.push),jA=Nt(Array.prototype.splice),Cs=Array.isArray,nc=Nt(String.prototype.toLowerCase),kg=Nt(String.prototype.toString),W$=Nt(String.prototype.match),ic=Nt(String.prototype.replace),V$=Nt(String.prototype.indexOf),LA=Nt(String.prototype.trim),MA=Nt(Number.prototype.toString),WA=Nt(Boolean.prototype.toString),q$=typeof BigInt=="undefined"?null:Nt(BigInt.prototype.toString),D$=typeof Symbol=="undefined"?null:Nt(Symbol.prototype.toString),li=Nt(Object.prototype.hasOwnProperty),rc=Nt(Object.prototype.toString),ai=Nt(RegExp.prototype.test),_o=VA(TypeError);function Nt(i){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return Cg(i,e,r)}}function VA(i){return function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Zg(i,t)}}function Ot(i,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:nc;if(L$&&L$(i,null),!Cs(e))return i;let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){let s=t(n);s!==n&&(AA(e)||(e[r]=s),n=s)}i[n]=!0}return i}function qA(i){for(let e=0;e<i.length;e++)li(i,e)||(i[e]=null);return i}function ki(i){let e=Pa(null);for(let r of e1(i)){var t=ZA(r,2);let n=t[0],s=t[1];li(i,n)&&(Cs(s)?e[n]=qA(s):s&&typeof s=="object"&&s.constructor===Object?e[n]=ki(s):e[n]=s)}return e}function DA(i){switch(typeof i){case"string":return i;case"number":return MA(i);case"boolean":return WA(i);case"bigint":return q$?q$(i):"0";case"symbol":return D$?D$(i):"Symbol()";case"undefined":return rc(i);case"function":case"object":{if(i===null)return rc(i);let e=i,t=en(e,"toString");if(typeof t=="function"){let r=t(e);return typeof r=="string"?r:rc(r)}return rc(i)}default:return rc(i)}}function en(i,e){for(;i!==null;){let r=zA(i,e);if(r){if(r.get)return Nt(r.get);if(typeof r.value=="function")return Nt(r.value)}i=EA(i)}function t(){return null}return t}function IA(i){try{return ai(i,""),!0}catch(e){return!1}}var I$=gi(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Tg=gi(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Xg=gi(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),NA=gi(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+yt),we&&(yt=mr(yt)),V&&Ri?Xe(yt):yt},e.setConfig=function(){let re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Rn(re),ts=!0,Pn=gt,sn=St},e.clearConfig=function(){Zi=null,ts=!1,Pn=null,sn=null,V=de,G=""},e.isValidAttribute=function(re,k,W){Zi||Rn({});let ne=$t(re),Qe=$t(k);return se(ne,Qe,W)},e.addHook=function(re,k){typeof k=="function"&&li(je,re)&&$a(je[re],k)},e.removeHook=function(re,k){if(li(je,re)){if(k!==void 0){let W=YA(je[re],k);return W===-1?void 0:jA(je[re],W,1)[0]}return M$(je[re])}},e.removeHooks=function(re){li(je,re)&&(je[re]=[])},e.removeAllHooks=function(){je=J$()},e}var lE=i1();r1.exports=lE});var jg=Au(Du());var Pt=[/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm],Rt=[/^\s*([;]|[/][/])#link\s+"(.+?)"/gm],ja=[/^\s*(`include|[.]include)\s+"(.+?)"/gmi,/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,{re:/^\s*([.]arch)\s+(\w+)/gmi,suffix:".json"},/\$readmem[bh]\("(.+?)"/gmi],u0=[/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm],B1=[/^[!]src\s+"(.+?)"/gmi],G1=[{re:/^\s*import\s*"(.+?)";/gmi,suffix:".wiz"},/^\s*embed\s*"(.+?)";/gmi],H1=[/^\s*(import)\s*"(.+?)"/gmi],K1=[/^\s*%%\s*#include\s+"(.+?)"/gm],O0={apple2:{preloadFS:"65-apple2"},c64:{preloadFS:"65-c64"},vic20:{preloadFS:"65-vic20"},nes:{preloadFS:"65-nes"},atari8:{preloadFS:"65-atari8"},vector:{preloadFS:"65-none"},atari7800:{preloadFS:"65-none"},devel:{preloadFS:"65-none"},vcs:{preloadFS:"65-atari2600"},pce:{preloadFS:"65-pce"},exidy:{preloadFS:"65-none"}},J1={dasm:{id:"dasm",name:"DASM",kind:"assembler",arch:"6502",extensions:[".dasm"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt",wasmModule:"dasm",includePatterns:Pt,linkPatterns:Rt},acme:{id:"acme",name:"ACME",kind:"assembler",arch:"6502",extensions:[".acme"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt",wasmModule:"acme",includePatterns:[...Pt,...B1],linkPatterns:Rt},xa:{id:"xa",name:"XA",kind:"assembler",arch:"6502",extensions:[".xa"],editorStyle:"6502",helpURL:"https://www.floodgap.com/retrotech/xa/",wasmModule:"xa",includePatterns:Pt,linkPatterns:Rt},nesasm:{id:"nesasm",name:"NESASM",kind:"assembler",arch:"6502",extensions:[".nesasm"],editorStyle:"6502",wasmModule:"nesasm",includePatterns:Pt,linkPatterns:Rt},merlin32:{id:"merlin32",name:"Merlin 32",kind:"assembler",arch:"6502",extensions:[".lnk"],editorStyle:"6502",wasmModule:"merlin32",includePatterns:[...Pt,...u0],linkPatterns:Rt},cc65:{id:"cc65",name:"cc65",kind:"compiler",arch:"6502",extensions:[".c",".h"],editorStyle:"text/x-csrc",helpURL:"https://cc65.github.io/doc/cc65.html",wasmModule:"cc65",platforms:O0,includePatterns:Pt,linkPatterns:Rt},ca65:{id:"ca65",name:"ca65",kind:"assembler",arch:"6502",extensions:[".s",".ca65"],editorStyle:"6502",helpURL:"https://cc65.github.io/doc/ca65.html",wasmModule:"ca65",platforms:O0,includePatterns:Pt,linkPatterns:Rt},ld65:{id:"ld65",name:"ld65",kind:"linker",arch:"6502",extensions:[],wasmModule:"ld65"},sdcc:{id:"sdcc",name:"SDCC",kind:"compiler",arch:"z80",extensions:[".c",".h"],editorStyle:"text/x-csrc",helpURL:"http://sdcc.sourceforge.net/doc/sdccman.pdf",wasmModule:"sdcc",platforms:{default:{preloadFS:"sdcc"}},includePatterns:Pt,linkPatterns:Rt},sdasz80:{id:"sdasz80",name:"sdasz80",kind:"assembler",arch:"z80",extensions:[".s"],editorStyle:"z80",wasmModule:"sdasz80",platforms:{default:{preloadFS:"sdcc"}},includePatterns:Pt,linkPatterns:Rt},sdasgb:{id:"sdasgb",name:"sdasgb",kind:"assembler",arch:"gbz80",extensions:[".sgb"],editorStyle:"z80",wasmModule:"sdasgb",platforms:{default:{preloadFS:"sdcc"}},includePatterns:Pt,linkPatterns:Rt},sdldz80:{id:"sdldz80",name:"sdldz80",kind:"linker",arch:"z80",extensions:[],wasmModule:"sdldz80"},sccz80:{id:"sccz80",name:"sccz80",kind:"compiler",arch:"z80",extensions:[".scc"],platforms:{default:{preloadFS:"sccz80"}},noWorkerBuild:!0},naken:{id:"naken",name:"Naken",kind:"assembler",extensions:[".ns"],noWorkerBuild:!0},zmac:{id:"zmac",name:"zmac",kind:"assembler",arch:"z80",extensions:[".z"],editorStyle:"z80",helpURL:"https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",wasmModule:"zmac",includePatterns:Pt,linkPatterns:Rt},jsasm:{id:"jsasm",name:"JSASM",kind:"assembler",extensions:[".asm"],editorStyle:"z80",includePatterns:ja,linkPatterns:[]},xasm6809:{id:"xasm6809",name:"XASM6809",kind:"assembler",arch:"6809",extensions:[".xasm"],editorStyle:"6809",wasmModule:"xasm6809",includePatterns:[...Pt,...u0],linkPatterns:Rt},cmoc:{id:"cmoc",name:"CMOC",kind:"compiler",arch:"6809",extensions:[".c",".h"],editorStyle:"text/x-csrc",helpURL:"http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html",wasmModule:"cmoc",includePatterns:Pt,linkPatterns:Rt},lwasm:{id:"lwasm",name:"LWASM",kind:"assembler",arch:"6809",extensions:[".lwasm"],wasmModule:"lwasm",includePatterns:Pt,linkPatterns:Rt},lwlink:{id:"lwlink",name:"LWLINK",kind:"linker",arch:"6809",extensions:[],wasmModule:"lwlink"},vasmarm:{id:"vasmarm",name:"vasm (ARM)"Line truncated
|
||||
`){[e,t]=No(this,e,t);let n="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(n+=r),e<l&&t>s&&(n+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let s of e)r.push(s),n+=s.length+1,r.length==32&&(t.push(new i(r,n)),r=[],n=-1);return n>-1&&t.push(new i(r,n)),t}},qo=class i extends it{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.children[s],a=n+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,n);n=a+1,r=l+1}}decompose(e,t,r,n){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=n&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=No(this,e,t),r.lines<this.lines)for(let n=0,s=0;n<this.children.length;n++){let o=this.children[n],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let f=this.children.slice();return f[n]=l,new i(f,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
|
||||
`){[e,t]=No(this,e,t);let n="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(n+=r),e<l&&t>o&&(n+=a.sliceString(e-o,t-o,r)),o=l+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let r=0,[n,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,s+=t){if(n==o||s==a)return r;let l=this.children[n],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,n)=>r+n.length+1,-1)){let r=0;for(let b of e)r+=b.lines;if(r<32){let b=[];for(let y of e)y.flatten(b);return new er(b,t)}let n=Math.max(32,r>>5),s=n<<1,o=n>>1,a=[],l=0,c=-1,f=[];function O(b){let y;if(b.lines>s&&b instanceof i)for(let P of b.children)O(P);else b.lines>o&&(l>o||!l)?(p(),a.push(b)):b instanceof er&&l&&(y=f[f.length-1])instanceof er&&b.lines+y.lines<=32?(l+=b.lines,c+=b.length+1,f[f.length-1]=new er(y.text.concat(b.text),y.length+1+b.length)):(l+b.lines>n&&p(),l+=b.lines,c+=b.length+1,f.push(b))}function p(){l!=0&&(a.push(f.length==1?f[0]:i.from(f,c)),c=-1,l=f.length=0)}for(let b of e)O(b);return p(),a.length==1?a[0]:new i(a,t)}};it.empty=new er([""],0);function iP(i){let e=-1;for(let t of i)e+=t.length+1;return e}function _c(i,e,t=0,r=1e9){for(let n=0,s=0,o=!0;s<i.length&&n<=r;s++){let a=i[s],l=n+a.length;l>=t&&(l>r&&(a=a.slice(0,r-n)),n<t&&(a=a.slice(t-n)),o?(e[e.length-1]+=a,o=!1):e.push(a)),n=l+1}return e}function $0(i,e,t){return _c(i,[""],e,t)}var eo=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof er?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],s=this.offsets[r],o=s>>1,a=n instanceof er?n.text.length:n.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(n instanceof er){let l=n.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=n.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof er?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Rc=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new eo(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Cc=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(it.prototype[Symbol.iterator]=function(){return this.iter()},eo.prototype[Symbol.iterator]=Rc.prototype[Symbol.iterator]=Cc.prototype[Symbol.iterator]=function(){return this});var Hu=class{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}};function No(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function Lt(i,e,t=!0,r=!0){return S0(i,e,t,r)}function rP(i){return i>=56320&&i<57344}function nP(i){return i>=55296&&i<56320}function Vr(i,e){let t=i.charCodeAt(e);if(!nP(t)||e+1==i.length)return t;let r=i.charCodeAt(e+1);return rP(r)?(t-55296<<10)+(r-56320)+65536:t}function zc(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function fs(i){return i<65536?1:2}var Ku=/\r\n?|\n/,Jt=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(Jt||(Jt={})),En=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,n=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,n,s),n+=s):n+=o,r+=s}}iterChangedRanges(e,t=!1){Ju(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];n<0?e.push(r,n):e.push(n,r)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:_0(this,e)}mapDesc(e,t=!1){return e.empty?this:eO(this,e,t)}mapPos(e,t=-1,r=Jt.Simple){let n=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=n+a;if(l<0){if(c>e)return s+(e-n);s+=a}else{if(r!=Jt.Simple&&c>=e&&(r==Jt.TrackDel&&n<e&&c>e||r==Jt.TrackBefore&&n<e||r==Jt.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==n||t<0?s:s+l;s+=l}n=c}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let r=0,n=0;r<this.sections.length&&n<=t;){let s=this.sections[r++],o=this.sections[r++],a=n+s;if(o>=0&&n<=t&&a>=e)return n<e&&a>t?"cover":!0;n=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Ei=class i extends En{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Ju(this,(t,r,n,s,o)=>e=e.replace(n,n+(r-t),o),!1),e}mapDesc(e,t=!1){return eO(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,s=0;n<t.length;n+=2){let o=t[n],a=t[n+1];if(a>=0){t[n]=a,t[n+1]=o;let l=n>>1;for(;r.length<l;)r.push(it.empty);r.push(o?e.slice(s,s+o):it.empty)}s+=o}return new i(t,r)}compose(e){return this.empty?e:e.empty?this:_0(this,e,!0)}map(e,t=!1){return e.empty?this:eO(this,e,t,!0)}iterChanges(e,t=!1){Ju(this,e,t)}get desc
Line truncated
|
||||
`}get readOnly(){return this.facet(z0)}phrase(e,...t){for(let r of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,n)=>{if(n=="$")return"$";let s=+(n||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let n=[];for(let s of this.facet(C0))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return OP(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=Lt(t,o,!1);if(s(t.slice(l,o))!=Qt.Word)break;o=l}for(;a<n;){let l=Lt(t,a);if(s(t.slice(a,l))!=Qt.Word)break;a=l}return o==a?null:K.range(o+r,a+r)}};at.allowMultipleSelections=iO;at.tabSize=be.define({combine:i=>i.length?i[0]:4});at.lineSeparator=Z0;at.readOnly=z0;at.phrases=be.define({compare(i,e){let t=Object.keys(i),r=Object.keys(e);return t.length==r.length&&t.every(n=>i[n]==e[n])}});at.languageData=C0;at.changeFilter=U0;at.transactionFilter=A0;at.transactionExtender=E0;Ni.reconfigure=Ce.define();function tr(i,e,t={}){let r={};for(let n of i)for(let s of Object.keys(n)){let o=n[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let n in e)r[n]===void 0&&(r[n]=e[n]);return r}var vr=class{eq(e){return this==e}range(e,t=e){return Va.create(e,t,this)}};vr.prototype.startSide=vr.prototype.endSide=0;vr.prototype.point=!1;vr.prototype.mapMode=Jt.TrackDel;function uO(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Va=class i{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new i(e,t,r)}};function aO(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var lO=class i{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let s=r?this.to:this.from;for(let o=n,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,r,n){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(n(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],n=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],f=this.from[l]+e,O=this.to[l]+e,p,b;if(f==O){let y=t.mapPos(f,c.startSide,c.mapMode);if(y==null||(p=b=y,c.startSide!=c.endSide&&(b=t.mapPos(f,c.endSide),b<p)))continue}else if(p=t.mapPos(f,c.startSide),b=t.mapPos(O,c.endSide),p>b||p==b&&c.startSide>0&&c.endSide<=0)continue;(b-p||c.endSide-c.startSide)<0||(o<0&&(o=p),c.point&&(a=Math.max(a,b-p)),r.push(c),n.push(p-o),s.push(b-o))}return{mapped:r.length?new i(n,s,r,a):null,pos:o}}},qe=class i{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new i(e,t,r,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:n=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(aO)),this.isEmpty)return t.length?i.of(t):this;let a=new Ec(this,null,-1).goto(0),l=0,c=[],f=new Wr;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let O=t[l++];f.addInner(O.from,O.to,O.value)||c.push(O)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||n>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&f.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||n>a.to||s<a.from||o(a.from,a.to,a.value))&&(f.addInner(a.from,a.to,a.value)||c.push(Va.create(a.from,a.to,a.value))),a.next());return f.finishInner(this.nextLayer.isEmpty&&!c.length?i.empty:this.nextLayer.update({add:c,filter:o,filterFrom:n,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)n=Math.max(n,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:f,pos:O}=l.map(a,e);f&&(n=Math.max(n,f.maxPoint),t.push(f),r.push(O))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(r,t,s||i.empty,n)}between(e,t,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let s=this.chunkPos[n],o=this.chunk[n];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return qa.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return qa.from(e).goto(t)}static compare(e,t,r,n,s=-1){let o=e.filter(O=>O.maxPoint>0||!O.is
Line truncated
|
||||
`)}static newName(){let e=M0[L0]||1;return M0[L0]=e+1,"\u037C"+e.toString(36)}static mount(e,t,r){let n=e[OO],s=r&&r.nonce;n?s&&n.setNonce(s):n=new dO(e,s),n.mount(Array.isArray(t)?t:[t],e)}},W0=new Map,dO=class{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=W0.get(r);if(s)return e[OO]=s;this.sheet=new n.CSSStyleSheet,W0.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[OO]=this}mount(e,t){let r=this.sheet,n=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],n++)}else{for(;s<l;)n+=this.modules[s++].rules.length;n+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
|
||||
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var zn={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Fo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},pP=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),mP=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Dt=0;Dt<10;Dt++)zn[48+Dt]=zn[96+Dt]=String(Dt);var Dt;for(Dt=1;Dt<=24;Dt++)zn[Dt+111]="F"+Dt;var Dt;for(Dt=65;Dt<=90;Dt++)zn[Dt]=String.fromCharCode(Dt+32),Fo[Dt]=String.fromCharCode(Dt);var Dt;for(jc in zn)Fo.hasOwnProperty(jc)||(Fo[jc]=zn[jc]);var jc;function V0(i){var e=pP&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||mP&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?Fo:zn)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Mt(){var i=arguments[0];typeof i=="string"&&(i=document.createElement(i));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var n=t[r];typeof n=="string"?i.setAttribute(r,n):n!=null&&(i[r]=n)}e++}for(;e<arguments.length;e++)q0(i,arguments[e]);return i}function q0(i,e){if(typeof e=="string")i.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)i.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)q0(i,e[t]);else throw new RangeError("Unsupported child node: "+e)}var Yi=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},wO=typeof document!="undefined"?document:{documentElement:{style:{}}},$O=/Edge\/(\d+)/.exec(Yi.userAgent),Xb=/MSIE \d/.test(Yi.userAgent),PO=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Yi.userAgent),bh=!!(Xb||PO||$O),D0=!bh&&/gecko\/(\d+)/i.test(Yi.userAgent),pO=!bh&&/Chrome\/(\d+)/.exec(Yi.userAgent),I0="webkitFontSmoothing"in wO.documentElement.style,kO=!bh&&/Apple Computer/.test(Yi.vendor),N0=kO&&(/Mobile\/\w+/.test(Yi.userAgent)||Yi.maxTouchPoints>2),xe={mac:N0||/Mac/.test(Yi.platform),windows:/Win/.test(Yi.platform),linux:/Linux|X11/.test(Yi.platform),ie:bh,ie_version:Xb?wO.documentMode||6:PO?+PO[1]:$O?+$O[1]:0,gecko:D0,gecko_version:D0?+(/Firefox\/(\d+)/.exec(Yi.userAgent)||[0,0])[1]:0,chrome:!!pO,chrome_version:pO?+pO[1]:0,ios:N0,android:/Android\b/.test(Yi.userAgent),webkit:I0,webkit_version:I0?+(/\bAppleWebKit\/(\d+)/.exec(Yi.userAgent)||[0,0])[1]:0,safari:kO,safari_version:kO?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Yi.userAgent)||[0,0])[1]:0,tabSize:wO.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function bd(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var eh=Object.create(null);function xd(i,e,t){if(i==e)return!0;i||(i=eh),e||(e=eh);let r=Object.keys(i),n=Object.keys(e);if(r.length-(t&&r.indexOf(t)>-1?1:0)!=n.length-(t&&n.indexOf(t)>-1?1:0))return!1;for(let s of r)if(s!=t&&(n.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function gP(i,e){for(let t=i.attributes.length-1;t>=0;t--){let r=i.attributes[t].name;e[r]==null&&i.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?i.style.cssText=r:i.getAttribute(t)!=r&&i.setAttribute(t,r)}}function F0(i,e,t){let r=!1;if(e)for(let n in e)t&&n in t||(r=!0,n=="style"?i.style.cssText="":i.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(r=!0,n=="style"?i.style.cssText=t[n]:i.setAttribute(n,t[n]));return r}function bP(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let r=i.attributes[t];e[r.name]=r.value}return e}var oi=class{eq(e){return!1}updateDOM(e,t,r){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},di=(function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i})(di||(di={})),pe=class extends vr{constructor(e,t,r,n){super(),this.startSide=e,this.enLine truncated
|
||||
`,n=i.state.doc.line(n.number+(t?1:-1)),s=i.bidiSpans(n),c=i.visualLineSide(n,!t)}if(l){if(!l(f))return a}else{if(!r)return c;l=r(f)}a=c}}function HP(i,e,t){let r=i.state.charCategorizer(e),n=r(t);return s=>{let o=r(s);return n==Qt.Space&&(n=o),n==o}}function KP(i,e,t,r){let n=e.head,s=t?1:-1;if(n==(t?i.state.doc.length:0))return K.cursor(n,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(n,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),f=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let y=i.viewState.lineBlockAt(n);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(n-y.from))),a=(s<0?y.top:y.bottom)+f}let O=l.left+o,p=i.viewState.heightOracle.textHeight>>1,b=r!=null?r:p;for(let y=0;;y+=p){let P=a+(b+y)*s,X=VO(i,{x:O,y:P},!1,s);if(t?P>l.bottom:P<l.top)return K.cursor(X.pos,X.assoc);let A=i.coordsAtPos(X.pos,X.assoc),H=A?(A.top+A.bottom)/2:0;if(!A||(t?H>a:H<a))return K.cursor(X.pos,X.assoc,void 0,o)}}function Ja(i,e,t){for(;;){let r=0;for(let n of i)n.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function ox(i,e){let t=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],s=null;if(n.empty){let o=Ja(i,n.from,0);o!=n.from&&(s=K.cursor(o,-1))}else{let o=Ja(i,n.from,-1),a=Ja(i,n.to,1);(o!=n.from||a!=n.to)&&(n.undirectional?s=K.undirectionalRange(n.from,n.to):s=K.range(n.from==n.anchor?o:a,n.from==n.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?K.create(t,e.mainIndex):e}function bO(i,e,t){let r=Ja(i.state.facet(cl).map(n=>n(i)),t.from,e.head>t.from?-1:1);return r==t.from?t:K.cursor(r,r<t.from?1:-1)}var wr=class{constructor(e,t){this.pos=e,this.assoc=t}};function VO(i,e,t,r){let n=i.contentDOM.getBoundingClientRect(),s=n.top+i.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new wr(0,1);if(l>i.viewState.docHeight)return new wr(i.state.doc.length,-1);if(c=i.elementAtHeight(l),r==null)break;if(c.type==di.Text){if(r<0?c.to<i.viewport.from:c.from>i.viewport.to)break;let p=i.docView.coordsAt(r<0?c.from:c.to,r>0?-1:1);if(p&&(r<0?p.top<=l+s:p.bottom>=l+s))break}let O=i.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+O:c.top-O}if(i.viewport.from>=c.to||i.viewport.to<=c.from){if(t)return null;if(c.type==di.Text){let O=BP(i,n,c,o,a);return new wr(O,O==c.from?1:-1)}}if(c.type!=di.Text)return l<(c.top+c.bottom)/2?new wr(c.from,1):new wr(c.to,-1);let f=i.docView.lineAt(c.from,2);return(!f||f.length!=c.length)&&(f=i.docView.lineAt(c.from,-2)),new qO(i,o,a,i.textDirectionAt(c.from)).scanTile(f,c.from)}var qO=class{constructor(e,t,r,n){this.view=e,this.x=t,this.y=r,this.baseDir=n,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:r,spans:n}=this.bidiSpansAt(e);return n[$r.find(n,e-r.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:r,spans:n}=this.bidiSpansAt(e);return n[$r.find(n,e-r.from,-1,t)].dir}bidiIn(e,t){let{spans:r,line:n}=this.bidiSpansAt(e);return r.length>1||r.length&&(r[0].level!=this.baseDir||r[0].to+n.from<t)}scan(e,t,r=!1){let n=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,f=-1,O=1e9,p;e:for(;n<s;){let y=s-n,P=n+s>>1;t:if(o.has(P)){for(let H=1;H<y;H++){let q=P+H;if(q>=s&&(q-=y),!o.has(q)){P=q;break t}}break e}o.add(P);let X=t(P),A=0;if(X)for(let H=0;H<X.length;H++){let q=X[H];if(!(q.width==0&&X.length>1))if(q.bottom<this.y)(!l||l.bottom<q.bottom)&&(l=q),A=1;else if(q.top>this.y)(!c||c.top>q.top)&&(c=q),A=-1;else{let B=q.left>this.x?this.x-q.left:q.right<this.x?this.x-q.right:0,L=Math.abs(B);L<O&&(f=P,O=L,p=q),B&&(A=B<0==(this.baseDir==vt.LTR)?-1:1)}}A==-1&&(!a||this.baseDirAt(e[P],1))?s=P:A==1&&(!a||this.baseDirAt(e[P+1],-1))&&(n=P+1)}if(!p){if(!c&&!l)return{i:e[0],after:!1};let y=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(y.top+y.bottom)/2,this.scan(e,t,!0)}if(O&&!r){let{top:y,bottom:P}=p;if(l&&l.bottom>(y+y+P)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(y+P+P)/3)return this.y=c.top+1,this.scan(e,t,!0)}let b=(a?this.dirAt(e[f],1):this.baseDir)==vt.LTR;return{i:f,after:this.x>(p.left+p.right)/2==b}}scanText(e,t){let r=[];for(let s=0;s<e.length;s=Lt(e.text,s))r.push(t+s);r.push(t+e.length);let n=this.scan(r,s=>{let o=r[s]-t,a=r[s+1]-t;return ol(e.dom,o,a).getClientRects()});return n.after?new wr(r[n.i+1],-1):new wr(r[n.i],1)}scanTile(e,t){if(!e.length)return new wr(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let r=[t];for(let a=0,l=t;a<e.children.length;a++)r.push(l+=e.children[a].length);let n=this.scan(r,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:ol(l.dom,0,l.length)).getClientRects()}),s=e.children[n.i],o=r[n.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):n.after?new wr(r[n.i+1],-1):new wr(o,1)}},Bo="\uFFFF",DO=class{
Line truncated
|
||||
`&&i.lineWrapping&&(r&&(r=K.single(r.main.anchor-1,r.main.head-1)),t={from:s.from,to:s.to,insert:it.of([" "])}),t)return Pd(i,t,r,o);if(r&&!lh(r,s)){let a=!1,l="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),l=i.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=ox(n.facet(cl).map(c=>c(i)),r))),i.dispatch({selection:r,scrollIntoView:a,userEvent:l}),!0}else return!1}function Pd(i,e,t,r=-1){if(xe.ios&&i.inputState.flushIOSKey(e))return!0;let n=i.state.selection.main;if(xe.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&i.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ta(i.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&ta(i.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&ta(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=tk(i,e,t));return i.state.facet(Fb).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function tk(i,e,t){let r,n=i.state,s=n.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,f=Ja(n.facet(cl).map(O=>O(i)),c,l);e.from==f&&(o=f)}if(o>-1)r={changes:e,selection:K.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let l=s.from<e.from?n.sliceDoc(s.from,e.from):"",c=s.to>e.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(i.state.toText(l+e.insert.sliceString(0,void 0,i.state.lineBreak)+c))}else{let l=n.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(n.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let f=i.state.sliceDoc(e.from,e.to),O,p=t&&sx(i,t.main.head);if(p){let y=e.insert.length-(e.to-e.from);O={from:p.from,to:p.to-y}}else O=i.state.doc.lineAt(s.head);let b=s.to-e.to;r=n.changeByRange(y=>{if(y.from==s.from&&y.to==s.to)return{changes:l,range:c||y.map(l)};let P=y.to-b,X=P-f.length;if(i.state.sliceDoc(X,P)!=f||P>=O.from&&X<=O.to)return{range:y};let A=n.changes({from:X,to:P,insert:e.insert}),H=y.to-s.to;return{changes:A,range:c?K.range(Math.max(0,c.anchor+H),Math.max(0,c.head+H)):y.map(A)}})}else r={changes:l,selection:c&&n.selection.replaceRange(c)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:a,scrollIntoView:!0})}function cx(i,e,t,r){let n=Math.min(i.length,e.length),s=0;for(;s<n&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==n&&i.length==e.length)return null;let o=i.length,a=e.length;for(;o>0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&i.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function ik(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new ah(t,r)),(n!=t||s!=r)&&e.push(new ah(n,s))),e}function rk(i,e){if(i.length==0)return null;let t=i[0].pos,r=i.length==2?i[1].pos:t;return t>-1&&r>-1?K.single(t+e,r+e):null}function lh(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var NO=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,xe.safari&&e.contentDOM.addEventListener("input",()=>null),xe.gecko&&bk(e.contentDOM.ownerDocument)}handleEvent(e){!fk(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,t);for(let n of r.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandl
Line truncated
|
||||
`))};if((xe.mac||xe.android)&&O.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(O={from:a,to:l,insert:it.of([r.text.replace("."," ")])}),this.pendingContextChange=O,!e.state.readOnly){let p=this.to-this.from+(O.to-O.from+O.insert.length);Pd(e,O,K.single(this.toEditorPos(r.selectionStart,p),this.toEditorPos(r.selectionEnd,p)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),O.from<O.to&&!O.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,n.push(s)}t.updateCharacterBounds(r.rangeStart,n)},this.handlers.textformatupdate=r=>{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let f=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;n.push(pe.mark({attributes:{style:f}}).range(l,c))}}}e.dispatch({effects:Jb.of(pe.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{let n=sl(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let f=c.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(c)){n=this.pendingContextChange=null,t+=f,this.to+=f;return}else n=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=f,this.to+=f;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=f}t+=f}),n&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},ae=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDO
Line truncated
|
||||
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,hd),Dk={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},vO=null;function Ik(){var i;if(vO==null&&typeof document!="undefined"&&document.body){let e=document.body.style;vO=((i=e.tabSize)!==null&&i!==void 0?i:e.MozTabSize)!=null}return vO||!1}var Kc=be.define({combine(i){let e=tr(i,{render:null,specialChars:qk,addSpecialChars:null});return(e.replaceTabs=!Ik())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,hd)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,hd)),e}});function Xx(i={}){return[Kc.of(i),Nk()]}var Sb=null;function Nk(){return Sb||(Sb=Ut.fromClass(class{constructor(i){this.view=i,this.decorations=pe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(i.state.facet(Kc)),this.decorations=this.decorator.createDeco(i)}makeDecorator(i){return new al({regexp:i.specialChars,decoration:(e,t,r)=>{let{doc:n}=t.state,s=Vr(e[0],0);if(s==9){let o=n.lineAt(r),a=t.state.tabSize,l=zi(o.text,a,r-o.from);return pe.replace({widget:new ud((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=pe.replace({widget:new fd(i,s)}))},boundary:i.replaceTabs?void 0:/[^]/})}update(i){let e=i.state.facet(Kc);i.startState.facet(Kc)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(i.view)):this.decorations=this.decorator.updateDeco(i,this.decorations)}},{decorations:i=>i.decorations}))}var Fk="\u2022";function Bk(i){return i>=32?Fk:i==10?"\u2424":String.fromCharCode(9216+i)}var fd=class extends oi{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Bk(this.code),r=e.state.phrase("Control character")+" "+(Dk[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,t);if(n)return n;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}},ud=class extends oi{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Td(){return Hk}var Gk=pe.line({class:"cm-activeLine"}),Hk=Ut.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let r of i.state.selection.ranges){let n=i.lineBlockAt(r.head);n.from>e&&(t.push(Gk.range(n.from)),e=n.from)}return pe.set(t)}},{decorations:i=>i.decorations});var Od=2e3;function Kk(i,e,t){let r=Math.min(e.line,t.line),n=Math.max(e.line,t.line),s=[];if(e.off>Od||t.off>Od||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=n;l++){let c=i.doc.line(l);c.length<=a&&s.push(K.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=n;l++){let c=i.doc.line(l),f=Yc(c.text,o,i.tabSize,!0);if(f<0)s.push(K.cursor(c.to));else{let O=Yc(c.text,a,i.tabSize);s.push(K.range(c.from+f,c.from+O))}}}return s}function Jk(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function yb(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),r=i.state.doc.lineAt(t),n=t-r.from,s=n>Od?-1:n==r.length?Jk(i,e.clientX):zi(r.text,i.state.tabSize,t-r.from);return{line:r.number,col:s,off:n}}function eT(i,e){let t=yb(i,e),r=i.state.selection;return t?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(t.line).from),o=n.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(n.changes)}},get(n,s,o){let a=yb(i,n);if(!a)return r;let l=Kk(i.state,t,a);return l.length?o?K.create(l.concat(r.ranges)):K.create(l):r}}:null}function Xd(i){let e=(i==null?void 0:i.eventFilter)||(t=>t.altKey&&t.button==0);return ae.mouseSelectionStyle.of((t,r)=>e(r)?eT(t,r):null)}var tT={Alt:[18,i=>!!i.altKey],Control:[17,i=>!!i.ctrlKey],Shift:[16,i=>!!i.shiftKey],Meta:[91,i=>!!i.metaKey]},iT={style:"cursor: crosshair"};function _d(i={}){let[e,t]=tT[i.key||"Alt"],r=Ut.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||t(n))},keyup(n){(n.keyCode==e||!t(n))&&this.set(!1)},mousemove(n){this.set(t(n))}}}
Line truncated
|
||||
`&&(t="");else{let r=t.indexOf(`
|
||||
`);r>-1&&(t=t.slice(0,r))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),r=e+t.length;for(let n=this.rangeIndex;;){let s=this.ranges[n].to;if(s>=r||(t=t.slice(0,s-(r-t.length)),n++,n==this.ranges.length))break;let o=this.ranges[n].from,a=this.lineAfter(o);t+=a,r=o+a.length}return{line:t,end:r}}skipGapsTo(e,t,r){for(;;){let n=this.ranges[this.rangeIndex].to,s=e+t;if(r>0?n>s:n>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-n}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,r,n){let s=4;if(this.ranges.length>1){n=this.skipGapsTo(t,n,1),t+=n;let a=this.chunk.length;n=this.skipGapsTo(r,n,-1),r+=n,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=r:this.chunk.push(e,t,r,s),n}parseLine(e){let{line:t,end:r}=this.nextLine(),n=0,{streamParser:s}=this.lang,o=new Th(t,e?e.state.tabSize:4,e?xs(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=pv(s.token,o,this.state);if(a&&(n=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,n)),o.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Fe.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:BT,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Fe(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Fe(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function pv(i,e,t){e.start=e.pos;for(let r=0;r<10;r++){let n=i(e,t);if(e.pos>e.start)return n}throw new Error("Stream parser failed to advance stream.")}var lp=Object.create(null),ul=[Ut.none],BT=new jn(ul),Jx=[],ev=Object.create(null),mv=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])mv[i]=gv(lp,e);var Xh=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),mv)}resolve(e){return e?this.table[e]||(this.table[e]=gv(this.extra,e)):0}},FT=new Xh(lp);function Id(i,e){Jx.indexOf(i)>-1||(Jx.push(i),console.warn(e))}function gv(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let f=i[c]||y[c];f?typeof f=="function"?l.length?l=l.map(f):Id(c,`Modifier ${c} used at start of tag`):l.length?Id(c,`Tag ${c} used as modifier`):l=Array.isArray(f)?f:[f]:Id(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+t.map(a=>a.id),s=ev[n];if(s)return s.id;let o=ev[n]=Ut.define({id:ul.length,name:r,props:[Oi({[r]:t})]});return ul.push(o),o.id}function HT(i,e){let t=Ut.define({id:ul.length,name:"Document",props:[Vn.add(()=>i),Pr.add(()=>r=>e.getIndent(r))],top:!0});return ul.push(t),t}var F5={rtl:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:vt.RTL}),ltr:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:vt.LTR}),auto:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Ah=class{constructor(e,t,r,n){this.state=e,this.pos=t,this.explicit=r,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ct(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),s=n.search(JT(e,!1));return s<0?null:{from:r+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}};function bv(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function KT(i){let e=Object.create(null),t=Object.create(null);for(let{label:n}of i){e[n[0]]=!0;for(let s=1;s<n.length;s++)t[n[s]]=!0}let r=bv(e)+bv(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Sv(i){let e=i.map(n=>typeof n=="string"?{label:n}:n),[t,r]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:KT(e);return n=>{let s=n.matchBefore(r);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:t}:null}}function Qv(i,e){return t=>{for(let r=ct(t.state).reso
Line truncated
|
||||
`;let o=i.state.facet(gn),a=o instanceof di?"Lezer LRLanguage":o instanceof Kt?"StreamLanguage":"Unknown",l=o instanceof di?"AST ":o instanceof Kt?"Token ":"Name ";return{pos:e,above:!0,arrow:!0,create(c){let f=document.createElement("div");f.style.overflow="visible",f.style.height="0",f.style.width="0";let O=document.createElement("div");return O.className="cm-debug-tooltip",O.textContent=`Parser: ${a}
|
||||
`);r>-1&&(t=t.slice(0,r))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),r=e+t.length;for(let n=this.rangeIndex;;){let s=this.ranges[n].to;if(s>=r||(t=t.slice(0,s-(r-t.length)),n++,n==this.ranges.length))break;let o=this.ranges[n].from,a=this.lineAfter(o);t+=a,r=o+a.length}return{line:t,end:r}}skipGapsTo(e,t,r){for(;;){let n=this.ranges[this.rangeIndex].to,s=e+t;if(r>0?n>s:n>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-n}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,r,n){let s=4;if(this.ranges.length>1){n=this.skipGapsTo(t,n,1),t+=n;let a=this.chunk.length;n=this.skipGapsTo(r,n,-1),r+=n,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=r:this.chunk.push(e,t,r,s),n}parseLine(e){let{line:t,end:r}=this.nextLine(),n=0,{streamParser:s}=this.lang,o=new Ch(t,e?e.state.tabSize:4,e?Ss(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=$v(s.token,o,this.state);if(a&&(n=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,n)),o.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ge.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:hX,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Ge(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Ge(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function $v(i,e,t){e.start=e.pos;for(let r=0;r<10;r++){let n=i(e,t);if(e.pos>e.start)return n}throw new Error("Stream parser failed to advance stream.")}var dp=Object.create(null),ml=[Et.none],hX=new Mn(ml),cv=[],hv=Object.create(null),Pv=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Pv[i]=kv(dp,e);var Zh=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Pv)}resolve(e){return e?this.table[e]||(this.table[e]=kv(this.extra,e)):0}},fX=new Zh(dp);function Kd(i,e){cv.indexOf(i)>-1||(cv.push(i),console.warn(e))}function kv(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let f=i[c]||S[c];f?typeof f=="function"?l.length?l=l.map(f):Kd(c,`Modifier ${c} used at start of tag`):l.length?Kd(c,`Tag ${c} used as modifier`):l=Array.isArray(f)?f:[f]:Kd(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+t.map(a=>a.id),s=hv[n];if(s)return s.id;let o=hv[n]=Et.define({id:ml.length,name:r,props:[pi({[r]:t})]});return ml.push(o),o.id}function uX(i,e){let t=Et.define({id:ml.length,name:"Document",props:[qn.add(()=>i),Tr.add(()=>r=>e.getIndent(r))],top:!0});return ml.push(t),t}var hz={rtl:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:vt.RTL}),ltr:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:vt.LTR}),auto:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var jh=class{constructor(e,t,r,n){this.state=e,this.pos=t,this.explicit=r,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ct(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),s=n.search(dX(e,!1));return s<0?null:{from:r+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}};function Tv(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function OX(i){let e=Object.create(null),t=Object.create(null);for(let{label:n}of i){e[n[0]]=!0;for(let s=1;s<n.length;s++)t[n[s]]=!0}let r=Tv(e)+Tv(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Cv(i){let e=i.map(n=>typeof n=="string"?{label:n}:n),[t,r]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:OX(e);return n=>{let s=n.matchBefore(r);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:t}:null}}function Zv(i,e){return t=>{for(let r=ct(t.state).reso
Line truncated
|
||||
`;let o=i.state.facet(xn),a=o instanceof mi?"Lezer LRLanguage":o instanceof ei?"StreamLanguage":"Unknown",l=o instanceof mi?"AST ":o instanceof ei?"Token ":"Name ";return{pos:e,above:!0,arrow:!0,create(c){let f=document.createElement("div");f.style.overflow="visible",f.style.height="0",f.style.width="0";let O=document.createElement("div");return O.className="cm-debug-tooltip",O.textContent=`Parser: ${a}
|
||||
${l}: ${r.name}
|
||||
Tags : ${s}`,O.style.whiteSpace="pre-wrap",O.style.fontFamily="monospace",O.style.background="#333",O.style.color="white",O.style.padding="2px 8px",O.style.borderRadius="4px",O.style.fontSize="12px",O.style.border="1px solid #555",O.style.pointerEvents="none",O.style.position="absolute",O.style.bottom="0",O.style.width="max-content",f.appendChild(O),{dom:f}}}},{hoverTime:10,hideOnChange:!0});var vX=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),r=vp(i.state,t.from);return r.line?yX(i):r.block?QX(i):!1};function xp(i,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=i(e,t);return n?(r(t.update(n)),!0):!1}}var yX=xp(PX,0);var SX=xp(Lv,0);var QX=xp((i,e)=>Lv(i,e,$X(e)),0);function vp(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ml=50;function wX(i,{open:e,close:t},r,n){let s=i.sliceDoc(r-ml,r),o=i.sliceDoc(n,n+ml),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let f,O;n-r<=2*ml?f=O=i.sliceDoc(r,n):(f=i.sliceDoc(r,r+ml),O=i.sliceDoc(n-ml,n));let p=/^\s*/.exec(f)[0].length,b=/\s*$/.exec(O)[0].length,S=O.length-b-t.length;return f.slice(p,p+e.length)==e&&O.slice(S,S+t.length)==t?{open:{pos:r+p+e.length,margin:/\s/.test(f.charAt(p+e.length))?1:0},close:{pos:n-b-t.length,margin:/\s/.test(O.charAt(S-1))?1:0}}:null}function $X(i){let e=[];for(let t of i.selection.ranges){let r=i.doc.lineAt(t.from),n=t.to<=r.to?r:i.doc.lineAt(t.to);n.from>r.from&&n.from==t.to&&(n=t.to==r.to+1?r:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=n.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return e}function Lv(i,e,t=e.selection.ranges){let r=t.map(s=>vp(e,s.from).block);if(!r.every(s=>s))return null;let n=t.map((s,o)=>wX(e,r[o],s.from,s.to));if(i!=2&&!n.every(s=>s))return{changes:e.changes(t.map((s,o)=>n[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(i!=1&&n.some(s=>s)){let s=[];for(let o=0,a;o<n.length;o++)if(a=n[o]){let l=r[o],{open:c,close:f}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:f.pos-f.margin,to:f.pos+l.close.length})}return{changes:s}}return null}function PX(i,e,t=e.selection.ranges){let r=[],n=-1;e:for(let{from:s,to:o}of t){let a=r.length,l=1e9,c;for(let f=s;f<=o;){let O=e.doc.lineAt(f);if(c==null&&(c=vp(e,O.from).line,!c))continue e;if(O.from>n&&(s==o||o>O.from)){n=O.from;let p=/^\s*/.exec(O.text)[0].length,b=p==O.length,S=O.text.slice(p,p+c.length)==c?p:-1;p<O.text.length&&p<l&&(l=p),r.push({line:O,comment:S,token:c,indent:p,empty:b,single:!1})}f=O.to+1}if(l<1e9)for(let f=a;f<r.length;f++)r[f].indent<r[f].line.text.length&&(r[f].indent=l);r.length==a+1&&(r[a].single=!0)}if(i!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:f,single:O}of r)(O||!f)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,f=c+l.length;o.text[f-o.from]==" "&&f++,s.push({from:c,to:f})}return{changes:s}}return null}var mp=Ii.define(),jh=Ii.define(),kX=be.define(),Wv=be.define({combine(i){return Ji(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}}),Vv=ot.define({create(){return uo.empty},update(i,e){let t=e.state.facet(Wv),r=e.annotation(mp);if(r){let l=Ir.fromTransaction(e,r.selection),c=r.side,f=c==0?i.undone:i.done;return l?f=Yh(f,f.length,t.minDepth,l):f=Dv(f,e.startState.selection),new uo(c==0?r.rest:f,c==0?f:r.rest)}let n=e.annotation(jh);if((n=="full"||n=="before")&&(i=i.isolate()),e.annotation(Rt.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Ir.fromTransaction(e),o=e.annotation(Rt.time),a=e.annotation(Rt.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(n=="full"||n=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new uo(i.done.map(Ir.fromJSON),i.undone.map(Ir.fromJSON))}});function Mv(i={}){return[Vv,Wv.of(i),ae.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Wh:e.inputType=="historyRedo"?gl:null;return r?(e.preventDefault(),r(t)):!1}})]}function Lh(i,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let n=t.field(Vv,!1);if(!n)return!1;let s=n.pop(i,t,e);return s?(r(s),!0):!1}}var Wh=Lh(0,!1),gl=Lh(1,!1),TX=Lh(0,!0),XX=Lh(1,!0);var Ir=class i{constructor(e,t,r,n,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=thi
Line truncated
|
||||
Tags : ${s}`,O.style.whiteSpace="pre-wrap",O.style.fontFamily="monospace",O.style.background="#333",O.style.color="white",O.style.padding="2px 8px",O.style.borderRadius="4px",O.style.fontSize="12px",O.style.border="1px solid #555",O.style.pointerEvents="none",O.style.position="absolute",O.style.bottom="0",O.style.width="max-content",f.appendChild(O),{dom:f}}}},{hoverTime:10,hideOnChange:!0});var AX=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),r=Pp(i.state,t.from);return r.line?EX(i):r.block?YX(i):!1};function $p(i,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=i(e,t);return n?(r(t.update(n)),!0):!1}}var EX=$p(MX,0);var zX=$p(Gv,0);var YX=$p((i,e)=>Gv(i,e,LX(e)),0);function Pp(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var vl=50;function jX(i,{open:e,close:t},r,n){let s=i.sliceDoc(r-vl,r),o=i.sliceDoc(n,n+vl),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let f,O;n-r<=2*vl?f=O=i.sliceDoc(r,n):(f=i.sliceDoc(r,r+vl),O=i.sliceDoc(n-vl,n));let p=/^\s*/.exec(f)[0].length,b=/\s*$/.exec(O)[0].length,y=O.length-b-t.length;return f.slice(p,p+e.length)==e&&O.slice(y,y+t.length)==t?{open:{pos:r+p+e.length,margin:/\s/.test(f.charAt(p+e.length))?1:0},close:{pos:n-b-t.length,margin:/\s/.test(O.charAt(y-1))?1:0}}:null}function LX(i){let e=[];for(let t of i.selection.ranges){let r=i.doc.lineAt(t.from),n=t.to<=r.to?r:i.doc.lineAt(t.to);n.from>r.from&&n.from==t.to&&(n=t.to==r.to+1?r:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=n.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return e}function Gv(i,e,t=e.selection.ranges){let r=t.map(s=>Pp(e,s.from).block);if(!r.every(s=>s))return null;let n=t.map((s,o)=>jX(e,r[o],s.from,s.to));if(i!=2&&!n.every(s=>s))return{changes:e.changes(t.map((s,o)=>n[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(i!=1&&n.some(s=>s)){let s=[];for(let o=0,a;o<n.length;o++)if(a=n[o]){let l=r[o],{open:c,close:f}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:f.pos-f.margin,to:f.pos+l.close.length})}return{changes:s}}return null}function MX(i,e,t=e.selection.ranges){let r=[],n=-1;e:for(let{from:s,to:o}of t){let a=r.length,l=1e9,c;for(let f=s;f<=o;){let O=e.doc.lineAt(f);if(c==null&&(c=Pp(e,O.from).line,!c))continue e;if(O.from>n&&(s==o||o>O.from)){n=O.from;let p=/^\s*/.exec(O.text)[0].length,b=p==O.length,y=O.text.slice(p,p+c.length)==c?p:-1;p<O.text.length&&p<l&&(l=p),r.push({line:O,comment:y,token:c,indent:p,empty:b,single:!1})}f=O.to+1}if(l<1e9)for(let f=a;f<r.length;f++)r[f].indent<r[f].line.text.length&&(r[f].indent=l);r.length==a+1&&(r[a].single=!0)}if(i!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:f,single:O}of r)(O||!f)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,f=c+l.length;o.text[f-o.from]==" "&&f++,s.push({from:c,to:f})}return{changes:s}}return null}var yp=Fi.define(),Vh=Fi.define(),WX=be.define(),Hv=be.define({combine(i){return tr(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}}),Kv=ot.define({create(){return po.empty},update(i,e){let t=e.state.facet(Hv),r=e.annotation(yp);if(r){let l=Fr.fromTransaction(e,r.selection),c=r.side,f=c==0?i.undone:i.done;return l?f=Wh(f,f.length,t.minDepth,l):f=tS(f,e.startState.selection),new po(c==0?r.rest:f,c==0?f:r.rest)}let n=e.annotation(Vh);if((n=="full"||n=="before")&&(i=i.isolate()),e.annotation(Zt.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=Fr.fromTransaction(e),o=e.annotation(Zt.time),a=e.annotation(Zt.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(n=="full"||n=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new po(i.done.map(Fr.fromJSON),i.undone.map(Fr.fromJSON))}});function Jv(i={}){return[Kv,Hv.of(i),ae.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Dh:e.inputType=="historyRedo"?Sl:null;return r?(e.preventDefault(),r(t)):!1}})]}function qh(i,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let n=t.field(Kv,!1);if(!n)return!1;let s=n.pop(i,t,e);return s?(r(s),!0):!1}}var Dh=qh(0,!1),Sl=qh(1,!1),VX=qh(0,!0),qX=qh(1,!0);var Fr=class i{constructor(e,t,r,n,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=thi
Line truncated
|
||||
<h5>Editor preferences</h5>
|
||||
<div class="form-group"><label>Tab size: <input type="number" id="setting_tabSize" min="1" max="40" value="${i.tabSize}" style="width:4em"></label></div>
|
||||
<div class="checkbox"><label><input type="checkbox" id="setting_tabsToSpaces" ${i.tabsToSpaces?"checked":""}> Insert spaces when pressing TAB</label></div>
|
||||
@@ -29,63 +29,63 @@ Tags : ${s}`,O.style.whiteSpace="pre-wrap",O.style.fontFamily="monospace",O.sty
|
||||
<hr>
|
||||
<h5>8bitworkshop IDE internal settings</h5>
|
||||
<div class="checkbox"><label><input type="checkbox" id="setting_debugHighlightTags" ${i.debugHighlightTags?"checked":""}> Debug editor syntax highlighting tags</label></div>
|
||||
</form>`,buttons:{cancel:{label:"Cancel",className:"btn-default"},ok:{label:"Save",className:"btn-primary",callback:()=>{i.tabSize=parseInt($("#setting_tabSize").val())||8,i.tabsToSpaces=$("#setting_tabsToSpaces").is(":checked"),i.highlightSpecialChars=$("#setting_highlightSpecialChars").is(":checked"),i.highlightWhitespace=$("#setting_highlightWhitespace").is(":checked"),i.highlightTrailingWhitespace=$("#setting_highlightTrailingWhitespace").is(":checked"),i.closeBrackets=$("#setting_closeBrackets").is(":checked"),i.debugHighlightTags=$("#setting_debugHighlightTags").is(":checked"),A_(i),E_(i)}}}})}var Ry=Ru(Wu());var xl=class{constructor(e,t){e=e||[],this.lines=e,this.text=t,this.offset2loc=new Map,this.line2offset=new Map;for(var r of e)r.offset>=0&&(this.offset2loc[r.offset]||(this.offset2loc[r.offset]=r),this.line2offset[r.line]||(this.line2offset[r.line]=r.offset))}findLineForOffset(e,t){if(this.offset2loc)for(var r=0;r<=t;r++){var n=this.offset2loc[e];if(n)return n;e--}return null}lineCount(){return this.lines.length}};function Xy(i){return"errors"in i}function _y(i){return"output"in i}var Nh=class{constructor(e){this.preset_id=Zi(e)}async getRemoteFile(e){return new Promise((t,r)=>Aa(e,t,Ns(e)?"arraybuffer":"text"))}async getFileData(e){var t="presets/"+this.preset_id+"/"+e,r=await this.getRemoteFile(t);return r&&console.log("read",t,r.length,"bytes"),r}async setFileData(e,t){}onFileSystemUpdate(e){}};var fa=class{constructor(e,t){this.basefs=e,this.overlayfs=t}async getFileData(e){var t=await this.overlayfs.getFileData(e);return t==null?this.basefs.getFileData(e):t}async setFileData(e,t){return await this.overlayfs.setFileData(e,t),this.basefs.setFileData(e,t)}onFileSystemUpdate(e){this.overlayfs.onFileSystemUpdate(e),this.basefs.onFileSystemUpdate(e)}},Gh=class{constructor(e){this.store=e}async getFileData(e){return this.store.getItem(e)}async setFileData(e,t){return this.store.setItem(e,t)}onFileSystemUpdate(e){}};var Bh=class{constructor(e,t,r,n){this.filedata={};this.pendingWorkerMessages=0;this.tools_preloaded={};this.isCompiling=!1;this.filename2path={};this.worker=e,this.platform_id=t,this.platform=r,this.filesystem=n,e.onmessage=s=>{this.receiveWorkerMessage(s.data)},n.onFileSystemUpdate(async s=>{if(s in this.filedata){var o=await this.filesystem.getFileData(s);o&&(this.updateFile(s,o),this.onFileChanged&&this.onFileChanged(s,o))}})}receiveWorkerMessage(e){var t=this.pendingWorkerMessages>1;t?(this.sendBuild(),this.pendingWorkerMessages=1):(this.callbackBuildStatus&&this.callbackBuildStatus(!1),this.isCompiling||(console.log(this.pendingWorkerMessages),console.trace()),this.isCompiling=!1,this.pendingWorkerMessages=0),e&&_y(e)?this.processBuildResult(e):Xy(e)&&this.processBuildListings(e),this.callbackBuildResult(e)}getToolForFilename(e){return this.remoteTool?"remote:"+this.remoteTool:this.platform.getToolForFilename(e)}preloadWorker(e){var t=this.getToolForFilename(e);t&&!this.tools_preloaded[t]&&(this.worker.postMessage({preload:t,platform:this.platform_id}),this.tools_preloaded[t]=!0)}pushAllFiles(e,t){e.push(t);var r=Cu(this.mainPath);r.length>0&&r!="local"&&e.push(r+"/"+t)}parseIncludeDependencies(e){let t=[],r;if(this.platform_id.startsWith("verilog")){let n=/^\s*(`include|[.]include)\s+"(.+?)"/gmi;for(;r=n.exec(e);)this.pushAllFiles(t,r[2]);let s=/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;for(;r=s.exec(e);)this.pushAllFiles(t,r[2]);let o=/^\s*([.]arch)\s+(\w+)/gmi;for(;r=o.exec(e);)this.pushAllFiles(t,r[2]+".json");let a=/\$readmem[bh]\("(.+?)"/gmi;for(;r=a.exec(e);)this.pushAllFiles(t,r[1])}else{let n=/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;for(;r=n.exec(e);)this.pushAllFiles(t,r[2]);let s=/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;for(;r=s.exec(e);)this.pushAllFiles(t,r[3]);let o=/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;for(;r=o.exec(e);)this.pushAllFiles(t,r[2]);let a=/^\s*(import|embed)\s*"(.+?)";/gmi;for(;r=a.exec(e);)r[1]=="import"?this.pushAllFiles(t,r[2]+".wiz"):this.pushAllFiles(t,r[2]);let l=/^\s*(import)\s*"(.+?)"/gmi;for(;r=l.exec(e);)this.pushAllFiles(t,r[2]);let c=/^[!]src\s+"(.+?)"/gmi;for(;r=c.exec(e);)this.pushAllFiles(t,r[1]);let f=/^\s*%%\s*#include\s+"(.+?)"/gm;for(;r=f.exec(e);)this.pushAllFiles(t,r[1])}return t}parseLinkDependencies(e){let t=[],r;if(!this.platform_id.startsWith("verilog")){let n=/^\s*([;]|[/][/])#link\s+"(.+?)"/gm;for(;r=n.exec(e);)this.pushAllFiles(t,r[2])}return t}loadFileDependencies(e){let t=this.parseIncludeDependencies(e),r=this.parseLinkDependencies(e),n=t.concat(r);return this.loadFiles(n).then(s=>{if(s)for(let o of s)o.link=r.indexOf(o.path)>=0;return s})}okToSend(){return this.pendingWorkerMessages++==0&&this.mainPath!=null}updateFileInStore(e,t){this.filesystem.setFileData(e,t)}buildWorkerMessage(e){this.preloadWorker(this.mainPath);var t={updates:[],buildsteps:[]},r=this.stripLocalPath(this.mainPath),n=this.getFile(this.mainPath),s=[];t.updates.push({path:r,data:n}),this.filename2path[r]=this.mainPath;let aLine truncated
|
||||
</form>`,buttons:{cancel:{label:"Cancel",className:"btn-default"},ok:{label:"Save",className:"btn-primary",callback:()=>{i.tabSize=parseInt($("#setting_tabSize").val())||8,i.tabsToSpaces=$("#setting_tabsToSpaces").is(":checked"),i.highlightSpecialChars=$("#setting_highlightSpecialChars").is(":checked"),i.highlightWhitespace=$("#setting_highlightWhitespace").is(":checked"),i.highlightTrailingWhitespace=$("#setting_highlightTrailingWhitespace").is(":checked"),i.closeBrackets=$("#setting_closeBrackets").is(":checked"),i.debugHighlightTags=$("#setting_debugHighlightTags").is(":checked"),G_(i),H_(i)}}}})}var MS=Au(Du());var Ql=class{constructor(e,t){e=e||[],this.lines=e,this.text=t,this.offset2loc=new Map,this.line2offset=new Map;for(var r of e)r.offset>=0&&(this.offset2loc[r.offset]||(this.offset2loc[r.offset]=r),this.line2offset[r.line]||(this.line2offset[r.line]=r.offset))}findLineForOffset(e,t){if(this.offset2loc)for(var r=0;r<=t;r++){var n=this.offset2loc[e];if(n)return n;e--}return null}lineCount(){return this.lines.length}};function jS(i){return"errors"in i}function LS(i){return"output"in i}var Hh=class{constructor(e){this.preset_id=Ai(e)}async getRemoteFile(e){return new Promise((t,r)=>Ya(e,t,Bs(e)?"arraybuffer":"text"))}async getFileData(e){var t="presets/"+this.preset_id+"/"+e,r=await this.getRemoteFile(t);return r&&console.log("read",t,r.length,"bytes"),r}async setFileData(e,t){}onFileSystemUpdate(e){}};var da=class{constructor(e,t){this.basefs=e,this.overlayfs=t}async getFileData(e){var t=await this.overlayfs.getFileData(e);return t==null?this.basefs.getFileData(e):t}async setFileData(e,t){return await this.overlayfs.setFileData(e,t),this.basefs.setFileData(e,t)}onFileSystemUpdate(e){this.overlayfs.onFileSystemUpdate(e),this.basefs.onFileSystemUpdate(e)}},Kh=class{constructor(e){this.store=e}async getFileData(e){return this.store.getItem(e)}async setFileData(e,t){return this.store.setItem(e,t)}onFileSystemUpdate(e){}};var Jh=class{constructor(e,t,r,n){this.filedata={};this.pendingWorkerMessages=0;this.tools_preloaded={};this.isCompiling=!1;this.filename2path={};this.worker=e,this.platform_id=t,this.platform=r,this.filesystem=n,e.onmessage=s=>{this.receiveWorkerMessage(s.data)},n.onFileSystemUpdate(async s=>{if(s in this.filedata){var o=await this.filesystem.getFileData(s);o&&(this.updateFile(s,o),this.onFileChanged&&this.onFileChanged(s,o))}})}receiveWorkerMessage(e){var t=this.pendingWorkerMessages>1;t?(this.sendBuild(),this.pendingWorkerMessages=1):(this.callbackBuildStatus&&this.callbackBuildStatus(!1),this.isCompiling||(console.log(this.pendingWorkerMessages),console.trace()),this.isCompiling=!1,this.pendingWorkerMessages=0),e&&LS(e)?this.processBuildResult(e):jS(e)&&this.processBuildListings(e),this.callbackBuildResult(e)}getToolForFilename(e){return this.remoteTool?"remote:"+this.remoteTool:this.platform.getToolForFilename(e)}preloadWorker(e){var t=this.getToolForFilename(e);t&&!this.tools_preloaded[t]&&(this.worker.postMessage({preload:t,platform:this.platform_id}),this.tools_preloaded[t]=!0)}pushAllFiles(e,t){e.push(t);var r=Eu(this.mainPath);r.length>0&&r!="local"&&e.push(r+"/"+t)}parseIncludeDependencies(e){let t=this.mainPath&&this.getToolForFilename(this.mainPath),r=[];for(let n of Nu(e,d0(t,this.platform_id)))this.pushAllFiles(r,n);return r}parseLinkDependencies(e){let t=this.mainPath&&this.getToolForFilename(this.mainPath),r=[];for(let n of Nu(e,p0(t,this.platform_id)))this.pushAllFiles(r,n);return r}loadFileDependencies(e){let t=this.parseIncludeDependencies(e),r=this.parseLinkDependencies(e),n=t.concat(r);return this.loadFiles(n).then(s=>{if(s)for(let o of s)o.link=r.indexOf(o.path)>=0;return s})}okToSend(){return this.pendingWorkerMessages++==0&&this.mainPath!=null}updateFileInStore(e,t){this.filesystem.setFileData(e,t)}buildWorkerMessage(e){this.preloadWorker(this.mainPath);var t={updates:[],buildsteps:[]},r=this.stripLocalPath(this.mainPath),n=this.getFile(this.mainPath),s=[];t.updates.push({path:r,data:n}),this.filename2path[r]=this.mainPath;let a=this.getToolForFilename(this.mainPath).startsWith("remote:");for(var l of e)(!l.link||a)&&(t.updates.push({path:l.filename,data:l.data}),s.push(l.filename)),this.filename2path[l.filename]=l.path;t.buildsteps.push({path:r,files:[r].concat(s),platform:this.platform_id,tool:this.getToolForFilename(this.mainPath),mainfile:!0});for(var l of e)l.data&&l.link&&(this.preloadWorker(l.filename),t.updates.push({path:l.filename,data:l.data}),t.buildsteps.push({path:l.filename,files:[l.filename].concat(s),platform:this.platform_id,tool:this.getToolForFilename(l.path)}));return this.dataItems&&(t.setitems=this.dataItems),t}async loadFiles(e){var t=[],r=(o,a)=>{t.push({path:o,filename:this.stripLocalPath(o),link:!0,data:a})};for(var n of e)if(n in this.filedata){var s=this.filedata[n];s&&r(n,s)}else{var s=await this.filesystem.getFileData(n);s?(this.filedata[n]=s,r(n,s)):this.filedata[n]=null}return t}getFile(e){return this.filedata[e]}iterateFiLine truncated
|
||||
=====
|
||||
|
||||
[Open this project in 8bitworkshop](http://8bitworkshop.com/redir.html?platform=$PLATFORM&githubURL=$GITHUBURL&file=$MAINFILE).
|
||||
`;function ua(){for(var i={},e=0;e<localStorage.length;e++){var t=localStorage.key(e);if(t.startsWith("__repo__")){var r=JSON.parse(localStorage.getItem(t)),n=t.substring(8);i[n]=r}}return i}function vl(i){var e=i.split("/",8);return e.length<5||e[0]!="https:"||e[2]!="github.com"||e[5]&&e[5]!="tree"?null:{user:e[3],repo:e[4],repopath:e[3]+"/"+e[4],branch:e[6],subtreepath:e[7]}}var Hh=class{constructor(e,t,r,n){this.githubCons=e,this.githubToken=t,this.store=r,this.project=n,this.recreateGithub()}recreateGithub(){this.github=new this.githubCons({token:this.githubToken})}login(){if(this.githubToken&&this.githubToken.length)return new Promise((t,r)=>{t()});var e=new firebase.auth.GithubAuthProvider;return e.addScope("repo"),firebase.auth().signInWithPopup(e).then(t=>{this.githubToken=t.credential.accessToken;var r=t.user;this.recreateGithub(),document.cookie="__github_key="+this.githubToken+";path=/;max-age=31536000",console.log("Stored GitHub OAUTH key")})}logout(){return this.githubToken&&this.githubToken.length?firebase.auth().signOut().then(()=>{document.cookie="__github_key=;path=/;max-age=0",this.githubToken=null,this.recreateGithub()}):new Promise((e,t)=>{e()})}isFileIgnored(e){return e=e.toUpperCase(),!!(e.startsWith("LICENSE")||e.startsWith("README")||e.startsWith("."))}async getGithubSession(e){var t=vl(e);if(!t)throw new Error("Please enter a valid GitHub URL.");var r=ua()[t.repopath],n=t.branch||r&&r.branch,s=this.github.repos(t.user,t.repo);try{n=(await s.fetch()).defaultBranch||"master"}catch(a){console.log("could not fetch default branch: "+a),n="main"}console.log("branch =",n);var o={url:e,user:t.user,reponame:t.repo,repopath:t.repopath,branch:n,subtreepath:t.subtreepath,prefix:"",repo:s,platform_id:this.project?this.project.platform_id:r?r.platform_id:null};return o}getGithubHEADTree(e){var t;return this.getGithubSession(e).then(r=>(t=r,t.repo.git.refs.heads(t.branch).fetch())).then(r=>(t.head=r,t.sha=r.object.sha,t.repo.git.trees(t.sha).fetch())).then(r=>{if(t.subtreepath){for(let n of r.tree)if(n.type=="tree"&&n.path==t.subtreepath&&n.sha)return t.repo.git.trees(n.sha).fetch();throw Error("Cannot find subtree '"+t.subtreepath+"' in tree "+r.sha)}return r}).then(r=>(t.tree=r,t))}bind(e,t){var r="__repo__"+e.repopath;if(t){var n={url:e.url,branch:e.branch,platform_id:e.platform_id,mainPath:e.mainPath,sha:e.sha};console.log("storing",n),localStorage.setItem(r,JSON.stringify(n))}else localStorage.removeItem(r)}import(e){var t;return this.getGithubSession(e).then(r=>(t=r,t.repo.contents("README.md").read())).catch(r=>(console.log(r),console.log("no README.md found"),t.repo.fetch().then(n=>""))).then(r=>{var n;if(n=/8bitworkshop.com[^)]+file=([^)&]+)/.exec(r),n&&n[1]&&(console.log("main path: '"+n[1]+"'"),t.mainPath=n[1]),n=/8bitworkshop.com[^)]+platform=([A-Za-z0-9._\-]+)/.exec(r),n){if(console.log("platform id: '"+n[1]+"'"),t.platform_id&&!t.platform_id.startsWith(n[1]))throw Error("Platform mismatch: Repository is '"+n[1]+"', you have '"+t.platform_id+"' selected.");t.platform_id=n[1]}return this.bind(t,!0),t})}pull(e,t){var r;return this.getGithubHEADTree(e).then(n=>{r=n;let s=[];return r.paths=[],r.tree.tree.forEach(o=>{if(console.log(o.path,o.type,o.size),r.paths.push(o.path),o.type=="blob"&&!this.isFileIgnored(o.path)){var a=r.repo.git.blobs(o.sha).fetch().then(l=>{var c=r.prefix+o.path,f=o.size,O=l.encoding,p=l.content;if(l.encoding=="base64"){var b=dc(atob(p)),S=Ns(o.path,b);p=S?b:mc(b)}return l.size!=p.length&&(p=p.slice(0,l.size)),(t||this.store).setItem(c,p)});s.push(a)}else console.log("ignoring "+o.path)}),Promise.all(s)}).then(n=>r)}importAndPull(e){return this.import(e).then(t=>this.pull(e))}publish(e,t,r,n){var s,o=this.project.platform_id,a=this.project.stripLocalPath(this.project.mainPath);return this.github.user.repos.create({name:e,description:t,private:n,auto_init:!1,license_template:r}).then(l=>{s=l;var c=z_;c=c.replace(/\$NAME/g,encodeURIComponent(e)),c=c.replace(/\$PLATFORM/g,encodeURIComponent(o)),c=c.replace(/\$GITHUBURL/g,encodeURIComponent(s.htmlUrl)),c=c.replace(/\$MAINFILE/g,encodeURIComponent(a));var f={message:"8bitworkshop: updated metadata in README.md",content:btoa(c)};return s.contents("README.md").add(f)}).then(()=>this.getGithubSession(s.htmlUrl))}commit(e,t,r){var n;return t||(t="updated from 8bitworkshop.com"),this.getGithubHEADTree(e).then(s=>{if(n=s,n.subtreepath)throw Error("Sorry, right now you can only commit files to the root directory of a repository.");return Promise.all(r.map(o=>typeof o.data=="string"?n.repo.git.blobs.create({content:o.data,encoding:"utf-8"}):n.repo.git.blobs.create({content:btoa(pc(o.data)),encoding:"base64"})))}).then(s=>n.repo.git.trees.create({tree:r.map((o,a)=>({path:o.path,mode:"100644",type:"blob",sha:s[a].sha})),base_tree:n.tree.sha})).then(s=>n.repo.git.commits.create({message:t,tree:s.sha,parents:[n.head.object.sha]})).then(s=>n.repo.commits(s.sha).fetch()).then(s=>(n.commit=s,n))}push(e){return e.head.update({sha:e.com
Line truncated
|
||||
`},s=window.c2t({noInitialRun:!0,print:n,printErr:n}),o=s.FS,a=Jt()+".bin",l=Jt()+".wav";o.writeFile(a,ji(),{encoding:"binary"});var c=["-2bc",a+","+e.toString(16),l];s.callMain(c);var f=o.readFile(l,{encoding:"binary"});if(f){var O=new Blob([f],{type:"audio/wav"});(0,xn.saveAs)(O,l),r+="Then connect your audio output to the cassette input, turn up the volume, and play the audio file.",qi(r)}})}function W_(i){gr("lib/makewav.js").then(()=>{let e="",t=function(a){e+=a+`
|
||||
`};var r=vi(Jt());let n=r+".bin",s=r+".wav";window.makewav({noInitialRun:!1,print:t,printErr:t,arguments:["-ts","-f0","-v10",n],preRun:a=>{a.FS.writeFile(n,ji(),{encoding:"binary"})}}).ready.then(a=>{let l=[n];a.run(l),console.log(e);let f=a.FS.readFile(s,{encoding:"binary"});if(f){let O=new Blob([f],{type:"audio/wav"});(0,xn.saveAs)(O,s),e+=`
|
||||
Connect your audio output to the SuperCharger input, turn up the volume, and play the audio file.`,qi(e)}})})}function V_(i){var e=vi(Jt());let t=e+".tap",r=new Oo(e),n=new Kh({sine_wave:!0}),s=ji(),o=s[0]+s[1]*256;s=s.slice(2),r.setContent({data:s,startAddress:o,type:Oo.FILE_TYPE_NON_RELOCATABLE}),r.generateSound(n);let a=n.getTAPData();if(a){let l=new Blob([a],{type:"application/octet-stream"});(0,xn.saveAs)(l,t)}}function wp(){switch(Zi(Ae)){case"vcs":return W_;case"apple2":return L_;case"c64":return V_}}function Zy(i){if(ji()==null)return Ke("Please fix errors before exporting."),!0;var e=wp();if(e===void 0)return Ke("Cassette export is not supported on this platform."),!0;e(i)}function Uy(i){if(ji()==null)return Ke("Please finish compiling with no errors before downloading ROM."),!0;var e=vi(Jt());if(j.getDownloadFile){var t=j.getDownloadFile(),e=vi(Jt());(0,xn.saveAs)(t.blob,e+t.extension)}else if(ji()instanceof Uint8Array){var r=new Blob([ji()],{type:"application/octet-stream"}),n=j.getROMExtension&&j.getROMExtension(ji())||"-"+Zi(Ae)+".bin";(0,xn.saveAs)(r,e+n)}else Ke(`The "${Ae}" platform doesn't have downloadable ROMs.`)}function Ay(i){var e=$e.getCurrentText();if(!e)return!1;var t=new Blob([e],{type:"text/plain;charset=utf-8"});(0,xn.saveAs)(t,Wy(),{autoBom:!1})}async function Ey(){let i=(await import("./jszip.min-HOLYP7RC.js")).default;return new i}async function zy(i){var e=await Ey();Mn().iterateFiles((t,r)=>{r&&e.file(xi(t),r)}),e.generateAsync({type:"blob"}).then(t=>{(0,xn.saveAs)(t,Jt()+"-"+Zi(Ae)+".zip")})}function Yy(i){let e=j.getDebugSymbolFile&&j.getDebugSymbolFile();if(!e){Ke("This project does not have debug information.");return}var t=vi(Jt());(0,xn.saveAs)(e.blob,t+e.extension,{autoBom:!1})}async function jy(i){var e=await Ey(),t=await Ss().keys();Pt(!0);try{var r=0;await Promise.all(t.map(s=>Ss().getItem(s).then(o=>{jr(r++/(t.length+1)),o&&e.file(s,o)})));var n=await e.generateAsync({type:"blob"});(0,xn.saveAs)(n,Zi(Ae)+"-all.zip")}finally{Pt(!1)}}var Qp=!1;function Ly(){Qp||gr("lib/gif.js").then(()=>{var i=$("#emulator").find("canvas")[0];if(!i){Ke("Could not find canvas element to record video!");return}var e=0;i.style&&i.style.transform&&(i.style.transform.indexOf("rotate(-90deg)")>=0?e=-1:i.style.transform.indexOf("rotate(90deg)")>=0&&(e=1));var t=new GIF({workerScript:"lib/gif.worker.js",workers:4,quality:10,rotate:e}),r=$("#videoPreviewImage");t.on("progress",l=>{jr(l)}),t.on("finished",l=>{r.attr("src",URL.createObjectURL(l)),Pt(!1),j.resume(),$("#videoPreviewModal").modal("show")});var n=20,s=300,o=0;console.log("Recording video",i),$("#emulator").css("backgroundColor","#cc3333");var a=()=>{o++>s?(console.log("Rendering video"),$("#emulator").css("backgroundColor","inherit"),Pt(!0),j.pause(),t.render(),Qp=!1):(t.addFrame(i,{delay:n,copy:!0}),setTimeout(a,n),Qp=!0)};a()})}var $p;async function po(){if(!$p){await gr("lib/octokat.js"),await gr("https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"),await gr("https://www.gstatic.com/firebasejs/8.8.1/firebase-auth.js"),await gr("https://8bitworkshop.com/config.js");var i=bc("__github_key");$p=new Hh(Octokat,i,Ss(),Mn()),console.log("loaded github service")}return $p}function Sl(){var i=(qt||"").split("/");return i.length!=2?(Ke("You are not in a GitHub repository. Choose one from the pulldown, or Import or Publish one."),null):"https://github.com/"+i[0]+"/"+i[1]}async function Jh(i,e){var t,r=vl(i);if(!r){Ke("Could not parse GitHub URL.");return}var n=ua()[r.repopath];if(!(n&&!confirm("You've already imported "+r.repopath+" -- do you want to replace all local files?"))){Pt(!0);var s=Fh(r.repopath);jr(.25);var o=await po();return o.import(i).then(a=>(t=a,jr(.75),o.pull(i,s))).then(a=>{Pt(!1),mo(e,{repo:r.repopath})}).catch(a=>{Pt(!1),console.log(a),Ke("Could not import "+i+". "+a)})}}async function Vy(i){var e=await po();e.login().then(()=>{qi("You are signed in to GitHub.")}).catch(t=>{Ke("Could not sign in."+t)})}async function My(i){var e=await po();e.logout().then(()=>{qi("You are logged out of GitHub.")})}function qy(i){var e=$("#importGithubModal"),t=$("#importGithubButton");e.modal("show"),e.off("shown.bs.modal").on("shown.bs.modal",()=>$("#importGithubURL").trigger("focus")),$("#importGithubURL").off("keydown").on("keydown",r=>{r.key==="Enter"&&(r.preventDefault(),t.trigger("click"))}),t.off("click").on("click",()=>{var r=$("#importGithubURL").val()+"";e.modal("hide"),Jh(r,!1)})}function Dy(i){if(!(qt&&!confirm("This project ("+Mn().mainPath+") is already bound to a GitHub repository. Do you want to re-publish to a new repository? (You can instead choose 'Push Changes' to update files in the existing repository.)"))){var e=$("#publishGithubModal"),t=$("#publishGithubButton");$("#githubRepoName").val(vi(xi(Mn().mainPath))),e.modal("show"),t.off("click").on("click",async()=>{var r=$("#githubRepoName").val()+"",n=$("#githubRepoDesc").val()+"",s=$("#githubRepoPrivate").val()=="private",o=$("#githubRepoLicense").val()+"Line truncated
|
||||
`&&t++;return t}function sS(i,e){for(var t=/[/;][*;]([{].+[}])[*;][/;]/g,r=[],n;n=t.exec(i);){var s=n.index+n[0].length,o;e?o=i.indexOf("end",s):n[0].startsWith(";;")?(o=i.indexOf(";;",s),o==i.indexOf(";;{",s)&&(o=-1)):o=i.indexOf(";",s);var a=Hy(i,n.index),l=n[0],c=o>=0?Hy(i,o):"???";if(o<0){var f=e?'"end"':n[0].startsWith(";;")?'";;"':'";"';r.push({header:l,startline:a,endline:c,error:`No closing ${f} found after asset header`})}else if(o<=s)r.push({header:l,startline:a,endline:c,error:"Empty data block after asset header"});else try{var O=n[1].replace(/([A-Za-z]+):/g,'"$1":'),p=JSON.parse(O),b=/#embed\s+"(.+?)"/.exec(i.substring(s,o)),S=b?b[1]:void 0;r.push({header:l,startline:a,endline:c,fmt:p,start:s,end:o,embedFile:S})}catch(P){r.push({header:l,startline:a,endline:c,error:`Invalid asset format: ${P.message}`})}}return r}function oS(i,e,t){if(t(e))return e;var r=i.lastIndexOf("/");if(r>=0){var n=i.substring(0,r+1)+e;if(t(n))return n}return null}function iR(i,e){if(e.destfmt&&(e=e.destfmt),e.pacstrip)return eR(i,e);var t=e.w,r=e.h,n=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(e.w*s/a),c=(1<<s)-1,f=e.pofs||l*r*n,O=e.skip||0,p=e.wpimg||l*r,b=l;e.il&&(p=l,b=l*n);var S=e.il?b*r:p*n,P;o>0&&e.sl?P=new Uint8Array(S):a<=8?P=new Uint8Array(S*o):P=new Uint32Array(S*o);for(var X=0;X<n;X++)for(var A=i[X],H=0,q=0;q<r;q++)for(var B=e.flip?r-1-q:q,L=X*p+B*b,d=0,M=0;M<t;M++){var F=A[H++],de=_p(L,e.remap);e.reindex&&([de,d]=Rp(M,e.reindex),de+=L);for(var Ue=0;Ue<o;Ue++){var Pe=F>>Ue*s&c;P[de+Ue*f+O]|=e.brev?Pe<<a-d-s:Pe<<d}d+=s,d>=a&&!e.reindex&&(L+=1,d=0)}return P}function Ky(i,e,t,r,n,s,o){for(var a=[],l=0;l<i.length;l++){var c=i[l],f=4278190080;f|=(c>>e&(1<<t)-1)<<8-t,f|=(c>>r&(1<<n)-1)<<16-n,f|=(c>>s&(1<<o)-1)<<24-o,a.push(f)}return a}function rR(i){var e=(i>>0&1)*33+(i>>1&1)*71+(i>>2&1)*151,t=(i>>3&1)*33+(i>>4&1)*71+(i>>5&1)*151,r=(i>>6&1)*81+(i>>7&1)*174;return 4278190080|r<<16|t<<8|e}function nR(i){var e=i.pal;if(typeof e=="number"){var t=Math.floor(Math.abs(e/100)%10),r=Math.floor(Math.abs(e/10)%10),n=Math.floor(Math.abs(e)%10);return 1<<t+r+n}else{if(e==="pacman")return 256;var s=aS[e];if(s)return s.length;throw new Error("No palette named "+e)}}function Jy(i,e){var t=e.pal,r;if(typeof t=="number"){var n=Math.floor(Math.abs(t/100)%10),s=Math.floor(Math.abs(t/10)%10),o=Math.floor(Math.abs(t)%10);t>=0?r=Ky(i,0,n,n,s,n+s,o):r=Ky(i,n+s,o,n,s,0,n)}else if(t==="pacman"){r=[];for(var a=0;a<i.length;a++)r.push(rR(i[a]))}else{var l=aS[t];if(l)r=new Uint32Array(i).map(c=>l[c&l.length-1]|4278190080);else throw new Error("No palette named "+t)}return r}var aS={gb:[13686916,8890444,5401396,2961698],nes:[5395026,11796480,10485760,11599933,7602281,91,95,6208,12048,543240,26368,1196544,7153664,0,0,0,12899815,16728064,14421538,16729963,14090399,6818519,6588,21681,27227,35843,43776,2918400,10777088,0,0,0,16316664,16755516,16742785,16735173,16730354,14633471,4681215,46327,57599,58229,259115,7911470,15065624,7895160,0,0,16777215,16773822,16300216,16300248,16758527,16761855,13095423,10148607,8973816,8650717,12122296,16119980,16777136,16308472,0,0],ap2lores:[0,16711935,127,8323199,32512,8355711,191,255,12549888,16760576,12566463,16744319,65280,16776960,49023,16777215],vcs:[0,0,4210752,4210752,7105644,7105644,9474192,9474192,11579568,11579568,13158600,13158600,14474460,14474460,16053492,16053492,17476,17476,1074276,1074276,2393220,2393220,3448992,3448992,4241592,4241592,5296336,5296336,6088936,6088936,6880508,6880508,10352,10352,1328260,1328260,2645144,2645144,3963052,3963052,5016764,5016764,6070476,6070476,6862044,6862044,7915756,7915756,6276,6276,1586328,1586328,3166380,3166380,4745408,4745408,6062288,6062288,7378144,7378144,8431852,8431852,9747708,9747708,136,136,2105500,2105500,3947696,3947696,5789888,5789888,7368912,7368912,8947936,8947936,10526956,10526956,11842812,11842812,6029432,6029432,7610508,7610508,8928416,8928416,10246320,10246320,11563200,11563200,12616912,12616912,13671644,13671644,14725356,14725356,7864392,7864392,9445472,9445472,10763384,10763384,12081292,12081292,13398176,13398176,14451892,14451892,15506628,15506628,16560340,16560340,8650772,8650772,9969712,9969712,11287628,11287628,12605544,12605544,13660284,13660284,14715028,14715028,15507624,15507624,16561340,16561340,8912896,8912896,10231836,10231836,11550776,11550776,12606544,12606544,13661288,13661288,14716028,14716028,15508624,15508624,16562340,16562340,8132608,8132608,9451548,9451548,11031608,11031608,12349520,12349520,13404264,13404264,14457980,14457980,15512720,15512720,16566436,16566436,6040576,6040576,7883804,7883804,9463864,9463864,11306064,11306064,12622952,12622952,13939836,13939836,15256720,15256720,16572580,16572580,2898944,2898944,4742172,4742172,6585400,6585400,8428624,8428624,9745512,9745512,11325564,11325564,12641424,12641424,13958308,13958308,15360,15360,2120736,2120736,4226112,4226112,6069340,6069340,7648372,7648372,9228428,9228428,10806436,10806436,12123320,12123320,14356,14356,1858612,1858612,3701840,3701840,5281900,528190
Line truncated
|
||||
`;function pa(){for(var i={},e=0;e<localStorage.length;e++){var t=localStorage.key(e);if(t.startsWith("__repo__")){var r=JSON.parse(localStorage.getItem(t)),n=t.substring(8);i[n]=r}}return i}function wl(i){var e=i.split("/",8);return e.length<5||e[0]!="https:"||e[2]!="github.com"||e[5]&&e[5]!="tree"?null:{user:e[3],repo:e[4],repopath:e[3]+"/"+e[4],branch:e[6],subtreepath:e[7]}}var tf=class{constructor(e,t,r,n){this.githubCons=e,this.githubToken=t,this.store=r,this.project=n,this.recreateGithub()}recreateGithub(){this.github=new this.githubCons({token:this.githubToken})}login(){if(this.githubToken&&this.githubToken.length)return new Promise((t,r)=>{t()});var e=new firebase.auth.GithubAuthProvider;return e.addScope("repo"),firebase.auth().signInWithPopup(e).then(t=>{this.githubToken=t.credential.accessToken;var r=t.user;this.recreateGithub(),document.cookie="__github_key="+this.githubToken+";path=/;max-age=31536000",console.log("Stored GitHub OAUTH key")})}logout(){return this.githubToken&&this.githubToken.length?firebase.auth().signOut().then(()=>{document.cookie="__github_key=;path=/;max-age=0",this.githubToken=null,this.recreateGithub()}):new Promise((e,t)=>{e()})}isFileIgnored(e){return e=e.toUpperCase(),!!(e.startsWith("LICENSE")||e.startsWith("README")||e.startsWith("."))}async getGithubSession(e){var t=wl(e);if(!t)throw new Error("Please enter a valid GitHub URL.");var r=pa()[t.repopath],n=t.branch||r&&r.branch,s=this.github.repos(t.user,t.repo);try{n=(await s.fetch()).defaultBranch||"master"}catch(a){console.log("could not fetch default branch: "+a),n="main"}console.log("branch =",n);var o={url:e,user:t.user,reponame:t.repo,repopath:t.repopath,branch:n,subtreepath:t.subtreepath,prefix:"",repo:s,platform_id:this.project?this.project.platform_id:r?r.platform_id:null};return o}getGithubHEADTree(e){var t;return this.getGithubSession(e).then(r=>(t=r,t.repo.git.refs.heads(t.branch).fetch())).then(r=>(t.head=r,t.sha=r.object.sha,t.repo.git.trees(t.sha).fetch())).then(r=>{if(t.subtreepath){for(let n of r.tree)if(n.type=="tree"&&n.path==t.subtreepath&&n.sha)return t.repo.git.trees(n.sha).fetch();throw Error("Cannot find subtree '"+t.subtreepath+"' in tree "+r.sha)}return r}).then(r=>(t.tree=r,t))}bind(e,t){var r="__repo__"+e.repopath;if(t){var n={url:e.url,branch:e.branch,platform_id:e.platform_id,mainPath:e.mainPath,sha:e.sha};console.log("storing",n),localStorage.setItem(r,JSON.stringify(n))}else localStorage.removeItem(r)}import(e){var t;return this.getGithubSession(e).then(r=>(t=r,t.repo.contents("README.md").read())).catch(r=>(console.log(r),console.log("no README.md found"),t.repo.fetch().then(n=>""))).then(r=>{var n;if(n=/8bitworkshop.com[^)]+file=([^)&]+)/.exec(r),n&&n[1]&&(console.log("main path: '"+n[1]+"'"),t.mainPath=n[1]),n=/8bitworkshop.com[^)]+platform=([A-Za-z0-9._\-]+)/.exec(r),n){if(console.log("platform id: '"+n[1]+"'"),t.platform_id&&!t.platform_id.startsWith(n[1]))throw Error("Platform mismatch: Repository is '"+n[1]+"', you have '"+t.platform_id+"' selected.");t.platform_id=n[1]}return this.bind(t,!0),t})}pull(e,t){var r;return this.getGithubHEADTree(e).then(n=>{r=n;let s=[];return r.paths=[],r.tree.tree.forEach(o=>{if(console.log(o.path,o.type,o.size),r.paths.push(o.path),o.type=="blob"&&!this.isFileIgnored(o.path)){var a=r.repo.git.blobs(o.sha).fetch().then(l=>{var c=r.prefix+o.path,f=o.size,O=l.encoding,p=l.content;if(l.encoding=="base64"){var b=bc(atob(p)),y=Bs(o.path,b);p=y?b:vc(b)}return l.size!=p.length&&(p=p.slice(0,l.size)),(t||this.store).setItem(c,p)});s.push(a)}else console.log("ignoring "+o.path)}),Promise.all(s)}).then(n=>r)}importAndPull(e){return this.import(e).then(t=>this.pull(e))}publish(e,t,r,n){var s,o=this.project.platform_id,a=this.project.stripLocalPath(this.project.mainPath);return this.github.user.repos.create({name:e,description:t,private:n,auto_init:!1,license_template:r}).then(l=>{s=l;var c=K_;c=c.replace(/\$NAME/g,encodeURIComponent(e)),c=c.replace(/\$PLATFORM/g,encodeURIComponent(o)),c=c.replace(/\$GITHUBURL/g,encodeURIComponent(s.htmlUrl)),c=c.replace(/\$MAINFILE/g,encodeURIComponent(a));var f={message:"8bitworkshop: updated metadata in README.md",content:btoa(c)};return s.contents("README.md").add(f)}).then(()=>this.getGithubSession(s.htmlUrl))}commit(e,t,r){var n;return t||(t="updated from 8bitworkshop.com"),this.getGithubHEADTree(e).then(s=>{if(n=s,n.subtreepath)throw Error("Sorry, right now you can only commit files to the root directory of a repository.");return Promise.all(r.map(o=>typeof o.data=="string"?n.repo.git.blobs.create({content:o.data,encoding:"utf-8"}):n.repo.git.blobs.create({content:btoa(xc(o.data)),encoding:"base64"})))}).then(s=>n.repo.git.trees.create({tree:r.map((o,a)=>({path:o.path,mode:"100644",type:"blob",sha:s[a].sha})),base_tree:n.tree.sha})).then(s=>n.repo.git.commits.create({message:t,tree:s.sha,parents:[n.head.object.sha]})).then(s=>n.repo.commits(s.sha).fetch()).then(s=>(n.commit=s,n))}push(e){return e.head.update({sha:e.com
Line truncated
|
||||
`},s=window.c2t({noInitialRun:!0,print:n,printErr:n}),o=s.FS,a=ti()+".bin",l=ti()+".wav";o.writeFile(a,Mi(),{encoding:"binary"});var c=["-2bc",a+","+e.toString(16),l];s.callMain(c);var f=o.readFile(l,{encoding:"binary"});if(f){var O=new Blob([f],{type:"audio/wav"});(0,Sn.saveAs)(O,l),r+="Then connect your audio output to the cassette input, turn up the volume, and play the audio file.",Ii(r)}})}function iR(i){xr("lib/makewav.js").then(()=>{let e="",t=function(a){e+=a+`
|
||||
`};var r=yi(ti());let n=r+".bin",s=r+".wav";window.makewav({noInitialRun:!1,print:t,printErr:t,arguments:["-ts","-f0","-v10",n],preRun:a=>{a.FS.writeFile(n,Mi(),{encoding:"binary"})}}).ready.then(a=>{let l=[n];a.run(l),console.log(e);let f=a.FS.readFile(s,{encoding:"binary"});if(f){let O=new Blob([f],{type:"audio/wav"});(0,Sn.saveAs)(O,s),e+=`
|
||||
Connect your audio output to the SuperCharger input, turn up the volume, and play the audio file.`,Ii(e)}})})}function rR(i){var e=yi(ti());let t=e+".tap",r=new mo(e),n=new rf({sine_wave:!0}),s=Mi(),o=s[0]+s[1]*256;s=s.slice(2),r.setContent({data:s,startAddress:o,type:mo.FILE_TYPE_NON_RELOCATABLE}),r.generateSound(n);let a=n.getTAPData();if(a){let l=new Blob([a],{type:"application/octet-stream"});(0,Sn.saveAs)(l,t)}}function _p(){switch(Ai(Ae)){case"vcs":return iR;case"apple2":return tR;case"c64":return rR}}function VS(i){if(Mi()==null)return Ke("Please fix errors before exporting."),!0;var e=_p();if(e===void 0)return Ke("Cassette export is not supported on this platform."),!0;e(i)}function qS(i){if(Mi()==null)return Ke("Please finish compiling with no errors before downloading ROM."),!0;var e=yi(ti());if(j.getDownloadFile){var t=j.getDownloadFile(),e=yi(ti());(0,Sn.saveAs)(t.blob,e+t.extension)}else if(Mi()instanceof Uint8Array){var r=new Blob([Mi()],{type:"application/octet-stream"}),n=j.getROMExtension&&j.getROMExtension(Mi())||"-"+Ai(Ae)+".bin";(0,Sn.saveAs)(r,e+n)}else Ke(`The "${Ae}" platform doesn't have downloadable ROMs.`)}function DS(i){var e=$e.getCurrentText();if(!e)return!1;var t=new Blob([e],{type:"text/plain;charset=utf-8"});(0,Sn.saveAs)(t,HS(),{autoBom:!1})}async function IS(){let i=(await import("./jszip.min-HOLYP7RC.js")).default;return new i}async function NS(i){var e=await IS();Dn().iterateFiles((t,r)=>{r&&e.file(Si(t),r)}),e.generateAsync({type:"blob"}).then(t=>{(0,Sn.saveAs)(t,ti()+"-"+Ai(Ae)+".zip")})}function FS(i){let e=j.getDebugSymbolFile&&j.getDebugSymbolFile();if(!e){Ke("This project does not have debug information.");return}var t=yi(ti());(0,Sn.saveAs)(e.blob,t+e.extension,{autoBom:!1})}async function BS(i){var e=await IS(),t=await ws().keys();kt(!0);try{var r=0;await Promise.all(t.map(s=>ws().getItem(s).then(o=>{Mr(r++/(t.length+1)),o&&e.file(s,o)})));var n=await e.generateAsync({type:"blob"});(0,Sn.saveAs)(n,Ai(Ae)+"-all.zip")}finally{kt(!1)}}var Xp=!1;function GS(){Xp||xr("lib/gif.js").then(()=>{var i=$("#emulator").find("canvas")[0];if(!i){Ke("Could not find canvas element to record video!");return}var e=0;i.style&&i.style.transform&&(i.style.transform.indexOf("rotate(-90deg)")>=0?e=-1:i.style.transform.indexOf("rotate(90deg)")>=0&&(e=1));var t=new GIF({workerScript:"lib/gif.worker.js",workers:4,quality:10,rotate:e}),r=$("#videoPreviewImage");t.on("progress",l=>{Mr(l)}),t.on("finished",l=>{r.attr("src",URL.createObjectURL(l)),kt(!1),j.resume(),$("#videoPreviewModal").modal("show")});var n=20,s=300,o=0;console.log("Recording video",i),$("#emulator").css("backgroundColor","#cc3333");var a=()=>{o++>s?(console.log("Rendering video"),$("#emulator").css("backgroundColor","inherit"),kt(!0),j.pause(),t.render(),Xp=!1):(t.addFrame(i,{delay:n,copy:!0}),setTimeout(a,n),Xp=!0)};a()})}var Rp;async function go(){if(!Rp){await xr("lib/octokat.js"),await xr("https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"),await xr("https://www.gstatic.com/firebasejs/8.8.1/firebase-auth.js"),await xr("https://8bitworkshop.com/config.js");var i=yc("__github_key");Rp=new tf(Octokat,i,ws(),Dn()),console.log("loaded github service")}return Rp}function Pl(){var i=(It||"").split("/");return i.length!=2?(Ke("You are not in a GitHub repository. Choose one from the pulldown, or Import or Publish one."),null):"https://github.com/"+i[0]+"/"+i[1]}async function nf(i,e){var t,r=wl(i);if(!r){Ke("Could not parse GitHub URL.");return}var n=pa()[r.repopath];if(!(n&&!confirm("You've already imported "+r.repopath+" -- do you want to replace all local files?"))){kt(!0);var s=ef(r.repopath);Mr(.25);var o=await go();return o.import(i).then(a=>(t=a,Mr(.75),o.pull(i,s))).then(a=>{kt(!1),bo(e,{repo:r.repopath})}).catch(a=>{kt(!1),console.log(a),Ke("Could not import "+i+". "+a)})}}async function KS(i){var e=await go();e.login().then(()=>{Ii("You are signed in to GitHub.")}).catch(t=>{Ke("Could not sign in."+t)})}async function JS(i){var e=await go();e.logout().then(()=>{Ii("You are logged out of GitHub.")})}function ey(i){var e=$("#importGithubModal"),t=$("#importGithubButton");e.modal("show"),e.off("shown.bs.modal").on("shown.bs.modal",()=>$("#importGithubURL").trigger("focus")),$("#importGithubURL").off("keydown").on("keydown",r=>{r.key==="Enter"&&(r.preventDefault(),t.trigger("click"))}),t.off("click").on("click",()=>{var r=$("#importGithubURL").val()+"";e.modal("hide"),nf(r,!1)})}function ty(i){if(!(It&&!confirm("This project ("+Dn().mainPath+") is already bound to a GitHub repository. Do you want to re-publish to a new repository? (You can instead choose 'Push Changes' to update files in the existing repository.)"))){var e=$("#publishGithubModal"),t=$("#publishGithubButton");$("#githubRepoName").val(yi(Si(Dn().mainPath))),e.modal("show"),t.off("click").on("click",async()=>{var r=$("#githubRepoName").val()+"",n=$("#githubRepoDesc").val()+"",s=$("#githubRepoPrivate").val()=="private",o=$("#githubRepoLicense").val()+"Line truncated
|
||||
`&&t++;return t}function py(i,e){for(var t=/[/;][*;]([{].+[}])[*;][/;]/g,r=[],n;n=t.exec(i);){var s=n.index+n[0].length,o;e?o=i.indexOf("end",s):n[0].startsWith(";;")?(o=i.indexOf(";;",s),o==i.indexOf(";;{",s)&&(o=-1)):o=i.indexOf(";",s);var a=ay(i,n.index),l=n[0],c=o>=0?ay(i,o):"???";if(o<0){var f=e?'"end"':n[0].startsWith(";;")?'";;"':'";"';r.push({header:l,startline:a,endline:c,error:`No closing ${f} found after asset header`})}else if(o<=s)r.push({header:l,startline:a,endline:c,error:"Empty data block after asset header"});else try{var O=n[1].replace(/([A-Za-z]+):/g,'"$1":'),p=JSON.parse(O),b=/#embed\s+"(.+?)"/.exec(i.substring(s,o)),y=b?b[1]:void 0;r.push({header:l,startline:a,endline:c,fmt:p,start:s,end:o,embedFile:y})}catch(P){r.push({header:l,startline:a,endline:c,error:`Invalid asset format: ${P.message}`})}}return r}function my(i,e,t){if(t(e))return e;var r=i.lastIndexOf("/");if(r>=0){var n=i.substring(0,r+1)+e;if(t(n))return n}return null}function gR(i,e){if(e.destfmt&&(e=e.destfmt),e.pacstrip)return pR(i,e);var t=e.w,r=e.h,n=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(e.w*s/a),c=(1<<s)-1,f=e.pofs||l*r*n,O=e.skip||0,p=e.wpimg||l*r,b=l;e.il&&(p=l,b=l*n);var y=e.il?b*r:p*n,P;o>0&&e.sl?P=new Uint8Array(y):a<=8?P=new Uint8Array(y*o):P=new Uint32Array(y*o);for(var X=0;X<n;X++)for(var A=i[X],H=0,q=0;q<r;q++)for(var B=e.flip?r-1-q:q,L=X*p+B*b,d=0,V=0;V<t;V++){var G=A[H++],de=Ep(L,e.remap);e.reindex&&([de,d]=zp(V,e.reindex),de+=L);for(var Ue=0;Ue<o;Ue++){var Pe=G>>Ue*s&c;P[de+Ue*f+O]|=e.brev?Pe<<a-d-s:Pe<<d}d+=s,d>=a&&!e.reindex&&(L+=1,d=0)}return P}function ly(i,e,t,r,n,s,o){for(var a=[],l=0;l<i.length;l++){var c=i[l],f=4278190080;f|=(c>>e&(1<<t)-1)<<8-t,f|=(c>>r&(1<<n)-1)<<16-n,f|=(c>>s&(1<<o)-1)<<24-o,a.push(f)}return a}function bR(i){var e=(i>>0&1)*33+(i>>1&1)*71+(i>>2&1)*151,t=(i>>3&1)*33+(i>>4&1)*71+(i>>5&1)*151,r=(i>>6&1)*81+(i>>7&1)*174;return 4278190080|r<<16|t<<8|e}function xR(i){var e=i.pal;if(typeof e=="number"){var t=Math.floor(Math.abs(e/100)%10),r=Math.floor(Math.abs(e/10)%10),n=Math.floor(Math.abs(e)%10);return 1<<t+r+n}else{if(e==="pacman")return 256;var s=gy[e];if(s)return s.length;throw new Error("No palette named "+e)}}function cy(i,e){var t=e.pal,r;if(typeof t=="number"){var n=Math.floor(Math.abs(t/100)%10),s=Math.floor(Math.abs(t/10)%10),o=Math.floor(Math.abs(t)%10);t>=0?r=ly(i,0,n,n,s,n+s,o):r=ly(i,n+s,o,n,s,0,n)}else if(t==="pacman"){r=[];for(var a=0;a<i.length;a++)r.push(bR(i[a]))}else{var l=gy[t];if(l)r=new Uint32Array(i).map(c=>l[c&l.length-1]|4278190080);else throw new Error("No palette named "+t)}return r}var gy={gb:[13686916,8890444,5401396,2961698],nes:[5395026,11796480,10485760,11599933,7602281,91,95,6208,12048,543240,26368,1196544,7153664,0,0,0,12899815,16728064,14421538,16729963,14090399,6818519,6588,21681,27227,35843,43776,2918400,10777088,0,0,0,16316664,16755516,16742785,16735173,16730354,14633471,4681215,46327,57599,58229,259115,7911470,15065624,7895160,0,0,16777215,16773822,16300216,16300248,16758527,16761855,13095423,10148607,8973816,8650717,12122296,16119980,16777136,16308472,0,0],ap2lores:[0,16711935,127,8323199,32512,8355711,191,255,12549888,16760576,12566463,16744319,65280,16776960,49023,16777215],vcs:[0,0,4210752,4210752,7105644,7105644,9474192,9474192,11579568,11579568,13158600,13158600,14474460,14474460,16053492,16053492,17476,17476,1074276,1074276,2393220,2393220,3448992,3448992,4241592,4241592,5296336,5296336,6088936,6088936,6880508,6880508,10352,10352,1328260,1328260,2645144,2645144,3963052,3963052,5016764,5016764,6070476,6070476,6862044,6862044,7915756,7915756,6276,6276,1586328,1586328,3166380,3166380,4745408,4745408,6062288,6062288,7378144,7378144,8431852,8431852,9747708,9747708,136,136,2105500,2105500,3947696,3947696,5789888,5789888,7368912,7368912,8947936,8947936,10526956,10526956,11842812,11842812,6029432,6029432,7610508,7610508,8928416,8928416,10246320,10246320,11563200,11563200,12616912,12616912,13671644,13671644,14725356,14725356,7864392,7864392,9445472,9445472,10763384,10763384,12081292,12081292,13398176,13398176,14451892,14451892,15506628,15506628,16560340,16560340,8650772,8650772,9969712,9969712,11287628,11287628,12605544,12605544,13660284,13660284,14715028,14715028,15507624,15507624,16561340,16561340,8912896,8912896,10231836,10231836,11550776,11550776,12606544,12606544,13661288,13661288,14716028,14716028,15508624,15508624,16562340,16562340,8132608,8132608,9451548,9451548,11031608,11031608,12349520,12349520,13404264,13404264,14457980,14457980,15512720,15512720,16566436,16566436,6040576,6040576,7883804,7883804,9463864,9463864,11306064,11306064,12622952,12622952,13939836,13939836,15256720,15256720,16572580,16572580,2898944,2898944,4742172,4742172,6585400,6585400,8428624,8428624,9745512,9745512,11325564,11325564,12641424,12641424,13958308,13958308,15360,15360,2120736,2120736,4226112,4226112,6069340,6069340,7648372,7648372,9228428,9228428,10806436,10806436,12123320,12123320,14356,14356,1858612,1858612,3701840,3701840,5281900,528190
Line truncated
|
||||
`+s),n+=`
|
||||
`+this.opToString(l,c,b))}),"X: "+t+" Y: "+r+" "+n}refresh(){this.tick(),this.datau32.fill(Fr)}tick(){super.tick(),this.drawImage()}drawImage(){this.ctx.putImageData(this.imageData,0,0)}clear(){this.datau32.fill(Fr)}},mf=class extends pf{createDiv(e){return this.createCanvas(e,256,256)}initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=xc(this.canvas,e),r=Math.floor(t.x)+Math.floor(t.y)*256,n=-1,s=-1;this.redraw((o,a)=>{s<0&&n>=0&&a==r&&(s=n),o==16777216&&(n=a)}),s>=0&&vo([s])}}clear(){for(var e=0;e<=65535;e++){var t=j.readAddress(e),r=t>>2|t&31;r|=r<<8|r<<16,this.datau32[e]=r|Fr}}drawEvent(e,t,r,n){var s=this.getOpRGB(e,t);if(s){var o=t&255,a=t>>8&255,l=this.datau32[t&65535];l=l|s|Fr,this.datau32[t&65535]=l}}getTooltipText(e,t){var r=(e&255)+(t<<8),n="",s=-1,o={},a=null,l=[];return this.redraw((c,f,O,p,b,S)=>{switch(c){case 16777216:s=f,a=this.addr2symbol(f)||a;break;case 167772160:l.push(a);break;case 184549376:a=l.pop();break}var P=c|s;f==r&&!o[P]&&(n==""&&a&&(n+=`
|
||||
`+this.opToString(l,c,b))}),"X: "+t+" Y: "+r+" "+n}refresh(){this.tick(),this.datau32.fill(Kr)}tick(){super.tick(),this.drawImage()}drawImage(){this.ctx.putImageData(this.imageData,0,0)}clear(){this.datau32.fill(Kr)}},vf=class extends xf{createDiv(e){return this.createCanvas(e,256,256)}initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=Qc(this.canvas,e),r=Math.floor(t.x)+Math.floor(t.y)*256,n=-1,s=-1;this.redraw((o,a)=>{s<0&&n>=0&&a==r&&(s=n),o==16777216&&(n=a)}),s>=0&&yo([s])}}clear(){for(var e=0;e<=65535;e++){var t=j.readAddress(e),r=t>>2|t&31;r|=r<<8|r<<16,this.datau32[e]=r|Kr}}drawEvent(e,t,r,n){var s=this.getOpRGB(e,t);if(s){var o=t&255,a=t>>8&255,l=this.datau32[t&65535];l=l|s|Kr,this.datau32[t&65535]=l}}getTooltipText(e,t){var r=(e&255)+(t<<8),n="",s=-1,o={},a=null,l=[];return this.redraw((c,f,O,p,b,y)=>{switch(c){case 16777216:s=f,a=this.addr2symbol(f)||a;break;case 167772160:l.push(a);break;case 184549376:a=l.pop();break}var P=c|s;f==r&&!o[P]&&(n==""&&a&&(n+=`
|
||||
`+a),n+=`
|
||||
PC `+this.addr2str(s)+" "+this.opToString(c,null,S),o[P]=1)}),this.addr2str(r)+n}},Ap=class extends pf{initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=xc(this.canvas,e),r=Math.floor(t.x),n=Math.floor(t.y),s=this.getOpAtPos(t.x,t.y,16777216);s&&(vn("toline"),j.runEval(()=>{let o=j.getRasterScanline&&j.getRasterScanline()>=n;return o&&j.getRasterLineClock?o&&j.getRasterLineClock()>r:o}))}}drawEvent(e,t,r,n){var s=this.getOpRGB(e,t);if(s){var o=r+n*this.canvas.width,a=s|Fr;this.datau32[o]|=a}}drawImage(){let e=Fr;for(let t=0;t<this.datau32.length;t++)this.datau32[t]==Fr?this.datau32[t]=e:e=this.datau32[t];super.drawImage()}},gf=class extends Ap{constructor(){super(...arguments);this.interrupt=0;this.rgb=0;this.lastpc=0}drawEvent(t,r,n,s){var o=n+s*this.canvas.width;if(t==134217728&&(this.interrupt=1),this.interrupt==1&&t==167772160&&(this.interrupt=r),this.interrupt>1&&this.sp>this.interrupt&&(this.interrupt=0),t==318767104&&(this.rgb|=47),t==385875968&&(this.rgb|=16256),t==352321536&&(this.rgb|=2047872),t==335544320&&(this.rgb|=7936),t==520093696&&(this.rgb=32768),t==150994944||t==402653184)this.datau32[o]=4279176975;else{let a=this.rgb;if(t==16777216){let l=this.sp&15;l>=8&&(l=16-l),Math.abs(this.lastpc)-r>16&&(l+=1),Math.abs(this.lastpc)-r>256&&(l+=1),a=this.rgb=526344*l+2105376,this.lastpc=r}this.interrupt&&(a|=8388672),this.datau32[o]==Fr&&(this.datau32[o]=a|Fr)}}},bf=class extends Qs{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new xo(t),this.vlist.create(t,this.cyclesPerLine*this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){var r="",n="seg_data",s=this.dumplines&&this.dumplines[t];if(s!=null){var o=s.info.join(", ");r="("+fn(s.row,4)+", "+fn(s.col,4)+") "+Ua(s.asm||"",20)+o,o.indexOf("Write ")>=0&&(n="seg_io")}return{text:r,clas:n}}refresh(){this.tick()}tick(){let t=j instanceof ju||j instanceof Yu;this.dumplines={},this.redraw((r,n,s,o,a,l)=>{t&&(a>>=2);var c=this.dumplines[a];switch(c==null&&(c={op:r,addr:n,row:o,col:s,asm:null,info:[]},this.dumplines[a]=c),r){case 16777216:if(j.disassemble){var f=j.disassemble(n,j.readAddress.bind(j));c.asm=f&&f.line}break;default:var O=this.opToString(r,n,l);O!=""&&c.info.push(O);break}}),this.vlist.refresh()}},xf=class extends Qs{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new xo(t),this.vlist.create(t,this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var r=fn(t+"",3)+" ",n="seg_code",s=this.dumplines&&this.dumplines[t]||[],o=Math.round(this.cyclesPerLine/3.3),a=0;a<this.cyclesPerLine;a++){var l=s[a];if(l!==void 0){var c=l&65535,f=f&Fr;if(f==16777216)r+=",";else{var O=pt(c);r+=O,a+=O.length-1}}else r+=a==o?"|":"."}return s[-1]&&(r+=" "+s[-1]),{text:r,clas:n}}refresh(){this.tick()}tick(){let t=j instanceof ju||j instanceof Yu;this.dumplines={},this.redraw((r,n,s,o,a,l)=>{var c=this.dumplines[o];switch(c==null&&(this.dumplines[o]=c=[]),r){case 16777216:var f=j.debugSymbols.addr2symbol[n];f&&(c[-1]=f);break;case 335544320:case 352321536:case 369098752:case 385875968:c[s]=r|n;break}}),this.vlist.refresh()}},vf=class extends Qs{constructor(){super(...arguments);this.recreateOnResize=!0;this.cumulativeData=!0}createDiv(t){return j.debugSymbols&&j.debugSymbols.symbolmap?this.keys=Array.from(Object.keys(j.debugSymbols.symbolmap).filter(r=>!fS(r))):this.keys=["no symbols defined"],this.vlist=new xo(t),this.vlist.create(t,this.keys.length+1,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){if(t==0)return{text:fn("Symbol",35)+fn("Reads",8)+fn("Writes",8)};var r=this.keys[t-1],n=this.dumplines&&this.dumplines[r];function s(l){var c=n[l]|0;return fn(c?c.toString():"",8)}var o,a;return n!=null?(o=fn(r,35)+s(301989888)+s(318767104),n[16777216]?a="seg_code":n[335544320]||n[352321536]?a="seg_io":a="seg_data"):(o=fn(r,35),a="seg_unknown"),{text:o,clas:a}}refresh(){this.tick()}tick(){this.dumplines={},this.redraw((t,r,n,s,o,a)=>{var l=j.debugSymbols.addr2symbol[r];if(l!=null){var c=this.dumplines[l];c==null&&(c={},this.dumplines[l]=c),c[t]=(c[t]|0)+1}}),this.vlist.refresh(),this.probe&&this.probe.clear()}};var Yp=class i{constructor(e,t,r,n,s,o,a,l,c,f=0,O){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=f,this.parent=O}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new i(e,[],t,r,r,0,[],0,n?new yf(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,n=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(n);if(a&&(this.score+=a),r==0){n<s.minRepeatTerm&&
Line truncated
|
||||
`+t.scrub(),s=this.advance(n);return s>-1&&s<n.length?this.complete(e,r,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&Cl(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,r){return e.addLeafElement(t,ut(Oe.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(HS(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(ut(Oe.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(BS(e,Cl(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=Cl(e,this.pos),r=0;if(t>this.pos){let n=FS(e,t,this.start);if(n){let s=Np(e,n.to-this.start);s>0&&(this.nextStage(n),r=s)}}return r||(r=Np(e,this.pos)),r>0&&r<e.length?r:-1}else return Np(e,this.pos)}}};function Np(i,e){for(;e<i.length;e++){let t=i.charCodeAt(e);if(t==10)break;if(!_r(t))return-1}return e}var em=class{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:LS(t),s=t.next;if(n<0)return!1;let o=ut(Oe.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,ut(s==61?Oe.SetextHeading1:Oe.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),o])),!0}finish(){return!1}},qS={LinkReference(i,e){return e.content.charCodeAt(0)==91?new Jp(e):null},SetextHeading(){return new em}},AR=[(i,e)=>jS(e)>=0,(i,e)=>ES(e)>=0,(i,e)=>zS(e)>=0,(i,e)=>am(e,i,!0)>=0,(i,e)=>lm(e,i,!0)>=0,(i,e)=>om(e,i,!0)>=0,(i,e)=>MS(e,i,!0)>=0],ER={text:"",end:0},tm=class{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new Fp,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=wf.create(Oe.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new nm(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let r=0;;){let n=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;r<e.markers.length&&(!n||e.markers[r].from<n.end);){let s=e.markers[r++];this.addNode(s.type,s.from,s.to)}if(!n)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let r of this.parser.blockParsers)if(r){let n=r(this,e);if(n!=!1){if(n==!0)return null;e.forward();continue e}}break}if(e.pos==e.text.length)return this.nextLine()?null:this.finish();let t=new Bp(this.lineStart+e.pos,e.text.slice(e.pos));for(let r of this.parser.leafBlockParsers)if(r){let n=r(this,t);n&&t.parsers.push(n)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e}for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+=`
|
||||
`+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=KS(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=ER;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let r=this.absoluteLineStart,n=this.rangeI;for(;this.ranges[n].to<t.end;){n++;let s=this.ranges[n].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[n-1].to-r)+o,r=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let n=this.stack[e.depth],s=this.parser.skipContextMarkup[n.type];if(!s)throw new Error("Unhandled block context "+Oe[n.type]);let o=this.line.markers.length;if(!s(n,this,e)){this.line.markers.length>o&&(n.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),r;if(this.input.lineChunks)r=t==`
|
||||
PC `+this.addr2str(s)+" "+this.opToString(c,null,y),o[P]=1)}),this.addr2str(r)+n}},Mp=class extends xf{initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=Qc(this.canvas,e),r=Math.floor(t.x),n=Math.floor(t.y),s=this.getOpAtPos(t.x,t.y,16777216);s&&(yn("toline"),j.runEval(()=>{let o=j.getRasterScanline&&j.getRasterScanline()>=n;return o&&j.getRasterLineClock?o&&j.getRasterLineClock()>r:o}))}}drawEvent(e,t,r,n){var s=this.getOpRGB(e,t);if(s){var o=r+n*this.canvas.width,a=s|Kr;this.datau32[o]|=a}}drawImage(){let e=Kr;for(let t=0;t<this.datau32.length;t++)this.datau32[t]==Kr?this.datau32[t]=e:e=this.datau32[t];super.drawImage()}},Sf=class extends Mp{constructor(){super(...arguments);this.interrupt=0;this.rgb=0;this.lastpc=0}drawEvent(t,r,n,s){var o=n+s*this.canvas.width;if(t==134217728&&(this.interrupt=1),this.interrupt==1&&t==167772160&&(this.interrupt=r),this.interrupt>1&&this.sp>this.interrupt&&(this.interrupt=0),t==318767104&&(this.rgb|=47),t==385875968&&(this.rgb|=16256),t==352321536&&(this.rgb|=2047872),t==335544320&&(this.rgb|=7936),t==520093696&&(this.rgb=32768),t==150994944||t==402653184)this.datau32[o]=4279176975;else{let a=this.rgb;if(t==16777216){let l=this.sp&15;l>=8&&(l=16-l),Math.abs(this.lastpc)-r>16&&(l+=1),Math.abs(this.lastpc)-r>256&&(l+=1),a=this.rgb=526344*l+2105376,this.lastpc=r}this.interrupt&&(a|=8388672),this.datau32[o]==Kr&&(this.datau32[o]=a|Kr)}}},yf=class extends $s{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new So(t),this.vlist.create(t,this.cyclesPerLine*this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){var r="",n="seg_data",s=this.dumplines&&this.dumplines[t];if(s!=null){var o=s.info.join(", ");r="("+On(s.row,4)+", "+On(s.col,4)+") "+za(s.asm||"",20)+o,o.indexOf("Write ")>=0&&(n="seg_io")}return{text:r,clas:n}}refresh(){this.tick()}tick(){let t=j instanceof Vu||j instanceof Wu;this.dumplines={},this.redraw((r,n,s,o,a,l)=>{t&&(a>>=2);var c=this.dumplines[a];switch(c==null&&(c={op:r,addr:n,row:o,col:s,asm:null,info:[]},this.dumplines[a]=c),r){case 16777216:if(j.disassemble){var f=j.disassemble(n,j.readAddress.bind(j));c.asm=f&&f.line}break;default:var O=this.opToString(r,n,l);O!=""&&c.info.push(O);break}}),this.vlist.refresh()}},Qf=class extends $s{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new So(t),this.vlist.create(t,this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var r=On(t+"",3)+" ",n="seg_code",s=this.dumplines&&this.dumplines[t]||[],o=Math.round(this.cyclesPerLine/3.3),a=0;a<this.cyclesPerLine;a++){var l=s[a];if(l!==void 0){var c=l&65535,f=f&Kr;if(f==16777216)r+=",";else{var O=pt(c);r+=O,a+=O.length-1}}else r+=a==o?"|":"."}return s[-1]&&(r+=" "+s[-1]),{text:r,clas:n}}refresh(){this.tick()}tick(){let t=j instanceof Vu||j instanceof Wu;this.dumplines={},this.redraw((r,n,s,o,a,l)=>{var c=this.dumplines[o];switch(c==null&&(this.dumplines[o]=c=[]),r){case 16777216:var f=j.debugSymbols.addr2symbol[n];f&&(c[-1]=f);break;case 335544320:case 352321536:case 369098752:case 385875968:c[s]=r|n;break}}),this.vlist.refresh()}},wf=class extends $s{constructor(){super(...arguments);this.recreateOnResize=!0;this.cumulativeData=!0}createDiv(t){return j.debugSymbols&&j.debugSymbols.symbolmap?this.keys=Array.from(Object.keys(j.debugSymbols.symbolmap).filter(r=>!Sy(r))):this.keys=["no symbols defined"],this.vlist=new So(t),this.vlist.create(t,this.keys.length+1,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){if(t==0)return{text:On("Symbol",35)+On("Reads",8)+On("Writes",8)};var r=this.keys[t-1],n=this.dumplines&&this.dumplines[r];function s(l){var c=n[l]|0;return On(c?c.toString():"",8)}var o,a;return n!=null?(o=On(r,35)+s(301989888)+s(318767104),n[16777216]?a="seg_code":n[335544320]||n[352321536]?a="seg_io":a="seg_data"):(o=On(r,35),a="seg_unknown"),{text:o,clas:a}}refresh(){this.tick()}tick(){this.dumplines={},this.redraw((t,r,n,s,o,a)=>{var l=j.debugSymbols.addr2symbol[r];if(l!=null){var c=this.dumplines[l];c==null&&(c={},this.dumplines[l]=c),c[t]=(c[t]|0)+1}}),this.vlist.refresh(),this.probe&&this.probe.clear()}};var qp=class i{constructor(e,t,r,n,s,o,a,l,c,f=0,O){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=f,this.parent=O}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let n=e.parser.context;return new i(e,[],t,r,r,0,[],0,n?new $f(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,n=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(n);if(a&&(this.score+=a),r==0){n<s.minRepeatTerm&&
Line truncated
|
||||
`+t.scrub(),s=this.advance(n);return s>-1&&s<n.length?this.complete(e,r,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&El(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,r){return e.addLeafElement(t,ut(Oe.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(aQ(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(ut(Oe.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(sQ(e,El(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=El(e,this.pos),r=0;if(t>this.pos){let n=oQ(e,t,this.start);if(n){let s=Jp(e,n.to-this.start);s>0&&(this.nextStage(n),r=s)}}return r||(r=Jp(e,this.pos)),r>0&&r<e.length?r:-1}else return Jp(e,this.pos)}}};function Jp(i,e){for(;e<i.length;e++){let t=i.charCodeAt(e);if(t==10)break;if(!Cr(t))return-1}return e}var om=class{nextLine(e,t,r){let n=t.depth<e.stack.length?-1:Gy(t),s=t.next;if(n<0)return!1;let o=ut(Oe.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(r,ut(s==61?Oe.SetextHeading1:Oe.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),o])),!0}finish(){return!1}},eQ={LinkReference(i,e){return e.content.charCodeAt(0)==91?new sm(e):null},SetextHeading(){return new om}},GR=[(i,e)=>By(e)>=0,(i,e)=>Iy(e)>=0,(i,e)=>Ny(e)>=0,(i,e)=>Om(e,i,!0)>=0,(i,e)=>dm(e,i,!0)>=0,(i,e)=>um(e,i,!0)>=0,(i,e)=>Jy(e,i,!0)>=0],HR={text:"",end:0},am=class{constructor(e,t,r,n){this.parser=e,this.input=t,this.ranges=n,this.line=new im,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=Tf.create(Oe.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new hm(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let r=0;;){let n=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;r<e.markers.length&&(!n||e.markers[r].from<n.end);){let s=e.markers[r++];this.addNode(s.type,s.from,s.to)}if(!n)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let r of this.parser.blockParsers)if(r){let n=r(this,e);if(n!=!1){if(n==!0)return null;e.forward();continue e}}break}if(e.pos==e.text.length)return this.nextLine()?null:this.finish();let t=new tm(this.lineStart+e.pos,e.text.slice(e.pos));for(let r of this.parser.leafBlockParsers)if(r){let n=r(this,t);n&&t.parsers.push(n)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e}for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+=`
|
||||
`+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=lQ(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=HR;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let r=this.absoluteLineStart,n=this.rangeI;for(;this.ranges[n].to<t.end;){n++;let s=this.ranges[n].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[n-1].to-r)+o,r=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let n=this.stack[e.depth],s=this.parser.skipContextMarkup[n.type];if(!s)throw new Error("Unhandled block context "+Oe[n.type]);let o=this.line.markers.length;if(!s(n,this,e)){this.line.markers.length>o&&(n.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),r;if(this.input.lineChunks)r=t==`
|
||||
`?"":t;else{let n=t.indexOf(`
|
||||
`);r=n<0?t:t.slice(0,n)}return e+r.length>this.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=wf.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){typeof e=="number"&&(e=new Fe(this.parser.nodeSet.types[e],ma,ma,(r!=null?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(rm(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?DS(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let r of e.parsers)if(r.finish(this,e))return;let t=rm(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Oe.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return typeof e=="string"?ut(this.parser.getNodeType(e),t,r,n):new Pf(e,t)}get buffer(){return new $f(this.parser.nodeSet)}};function DS(i,e,t,r,n){let s=i[e].to,o=[],a=[],l=t.from+r;function c(f,O){for(;O?f>=s:f>s;){let p=i[e+1].from-s;r+=p,f+=p,e++,s=i[e].to}}for(let f=t.firstChild;f;f=f.nextSibling){c(f.from+r,!0);let O=f.from+r,p,b=n.get(f.tree);b?p=b:f.to+r>s?(p=DS(i,e,f,r,n),c(f.to+r,!1)):p=f.toTree(),o.push(p),a.push(O-l)}return c(t.to+r,!1),new Fe(t.type,o,a,t.to+r-l,t.tree?t.tree.propValues:void 0)}var Ul=class i extends Wn{constructor(e,t,r,n,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let f of e.types)this.nodeTypes[f.name]=f.id}createParse(e,t,r){let n=new tm(this,e,t,r);for(let s of this.wrappers)n=s(n,e,t,r);return n}configure(e){let t=im(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),f=this.endLeafBlock.slice(),O=this.wrappers;if(Rl(t.defineNodes)){n=Object.assign({},n);let p=r.types.slice(),b;for(let S of t.defineNodes){let{name:P,block:X,composite:A,style:H}=typeof S=="string"?{name:S}:S;if(p.some(L=>L.name==P))continue;A&&(n[p.length]=(L,d,M)=>A(d,M,L.value));let q=p.length,B=A?["Block","BlockContext"]:X?q>=Oe.ATXHeading1&&q<=Oe.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;p.push(Ut.define({id:q,name:P,props:B&&[[Ee.group,B]]})),H&&(b||(b={}),Array.isArray(H)||H instanceof ir?b[P]=H:Object.assign(b,H))}r=new jn(p),b&&(r=r.extend(Oi(b)))}if(Rl(t.props)&&(r=r.extend(...t.props)),Rl(t.remove))for(let p of t.remove){let b=this.blockNames.indexOf(p),S=this.inlineNames.indexOf(p);b>-1&&(s[b]=o[b]=void 0),S>-1&&(l[S]=void 0)}if(Rl(t.parseBlock))for(let p of t.parseBlock){let b=a.indexOf(p.name);if(b>-1)s[b]=p.parse,o[b]=p.leaf;else{let S=p.before?Qf(a,p.before):p.after?Qf(a,p.after)+1:a.length-1;s.splice(S,0,p.parse),o.splice(S,0,p.leaf),a.splice(S,0,p.name)}p.endLeaf&&f.push(p.endLeaf)}if(Rl(t.parseInline))for(let p of t.parseInline){let b=c.indexOf(p.name);if(b>-1)l[b]=p.parse;else{let S=p.before?Qf(c,p.before):p.after?Qf(c,p.after)+1:c.length-1;l.splice(S,0,p.parse),c.splice(S,0,p.name)}}return t.wrap&&(O=O.concat(t.wrap)),new i(r,s,o,a,f,n,l,c,O)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new El(this,e,t);e:for(let n=t;n<r.end;){let s=r.char(n);for(let o of this.inlineParsers)if(o){let a=o(r,s,n);if(a>=0){n=a;continue e}}n++}return r.resolveMarkers(0)}};function Rl(i){return i!=null&&i.length>0}function im(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=im(i[0]);if(i.length==1)return e;let t=im(i.slice(1));if(!t||!e)return e||t;let r=(o,a)=>(o||ma).concat(a||ma),n=e.wrap,s=t.wrap;return{props:r(e.props,t.props),defineNodes:r(e.defineNodes,t.defineNodes),parseBlock:r(e.parseBlock,t.parseBlock),parseInline:r(e.parseInline,t.parseInline),remove:r(e.remove,t.remove),wrap:n?s?(o,a,l,c)=>n(s(o,a,l,c),a,l,c):n:s}}function Qf(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var IS=[Ut.none];for(let i=1,e;e=Oe[i];i++)IS[i]=Ut.define({id:i,name:e,props:i>=Oe.Escape?[]:[[Ee.group,i in AS?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var ma=[],$f=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e
Line truncated
|
||||
`;)s--;this.fragmentEnd=s?s-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ee.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let f=KS(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,f);else{let O=new Fe(e.parser.nodeSet.types[Oe.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(O,t.tree),e.addNode(O,f)}if(t.type.is("Block")&&(YR.indexOf(t.type.id)<0?(o=t.to-r,a=e.block.children.length):(o=l,a=c),l=t.to-r,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function KS(i,e){let t=i;for(let r=1;r<e.length;r++){let n=e[r-1].to,s=e[r].from;n<i&&(t-=s-n)}return t}var jR=Oi({"Blockquote/...":y.quote,HorizontalRule:y.contentSeparator,"ATXHeading1/... SetextHeading1/...":y.heading1,"ATXHeading2/... SetextHeading2/...":y.heading2,"ATXHeading3/...":y.heading3,"ATXHeading4/...":y.heading4,"ATXHeading5/...":y.heading5,"ATXHeading6/...":y.heading6,"Comment CommentBlock":y.comment,Escape:y.escape,Entity:y.character,"Emphasis/...":y.emphasis,"StrongEmphasis/...":y.strong,"Link/... Image/...":y.link,"OrderedList/... BulletList/...":y.list,"BlockQuote/...":y.quote,"InlineCode CodeText":y.monospace,"URL Autolink":y.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":y.processingInstruction,"CodeInfo LinkLabel":y.labelName,LinkTitle:y.string,Paragraph:y.content}),JS=new Ul(new jn(IS).extend(jR),Object.keys(Sf).map(i=>Sf[i]),Object.keys(Sf).map(i=>qS[i]),Object.keys(Sf),AR,AS,Object.keys(Gp).map(i=>Gp[i]),Object.keys(Gp),[]);function LR(i,e,t){let r=[];for(let n=i.firstChild,s=e;;n=n.nextSibling){let o=n?n.from:t;if(o>s&&r.push({from:s,to:o}),!n)break;s=n.to}return r}function eQ(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Sh((n,s)=>{let o=n.type.id;if(e&&(o==Oe.CodeBlock||o==Oe.FencedCode)){let a="";if(o==Oe.FencedCode){let c=n.node.getChild(Oe.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Oe.CodeText,bracketed:o==Oe.FencedCode}}else if(t&&(o==Oe.HTMLBlock||o==Oe.HTMLTag||o==Oe.CommentBlock))return{parser:t,overlay:LR(n.node,n.from,n.to)};return null})}}var WR={resolve:"Strikethrough",mark:"StrikethroughMark"},VR={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":y.strikethrough}},{name:"StrikethroughMark",style:y.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let r=i.slice(t-1,t),n=i.slice(t+2,t+3),s=/\s|^$/.test(r),o=/\s|^$/.test(n),a=Al.test(r),l=Al.test(n);return i.addDelimiter(WR,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Zl(i,e,t=0,r,n=0){let s=0,o=!0,a=-1,l=-1,c=!1,f=()=>{r.push(i.elt("TableCell",n+a,n+l,i.parser.parseInline(e.slice(a,l),n+a)))};for(let O=t;O<e.length;O++){let p=e.charCodeAt(O);p==124&&!c?((!o||a>-1)&&s++,o=!1,r&&(a>-1&&f(),r.push(i.elt("TableDelimiter",O+n,O+n+1))),a=l=-1):(c||p!=32&&p!=9)&&(a<0&&(a=O),l=O+1),c=!c&&p==92}return a>-1&&(s++,r&&f()),s}function TS(i,e){for(let t=e;t<i.length;t++){let r=i.charCodeAt(t);if(r==124)return!0;r==92&&t++}return!1}var tQ=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Tf=class{constructor(){this.rows=null}nextLine(e,t,r){if(this.rows==null){this.rows=!1;let n;if((t.next==45||t.next==58||t.next==124)&&tQ.test(n=t.text.slice(t.pos))){let s=[];Zl(e,r.content,0,s,r.start)==Zl(e,n,0)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];Zl(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},MR={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":y.heading}},"TableRow",{name:"TableCell",style:y.content},{name:"TableDelimiter",style:y.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return TS(e.content,0)?new Tf:null},endLeaf(i,e,t){if(t.parsers.some(n=>n instanceof Tf)||!TS(e.text,e.basePos))return!1;let r=i.peekLine();return tQ.test(r)&&Zl(i,e.text,e.basePos)==Zl(i,r,e.basePos)},before:"SetextHeading"}]},sm=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},qR={defineNodes:[{name:"Task",block:!0,style:y.list},{name:"TaskMarker",style:y.atom}],pa
Line truncated
|
||||
`);r=n<0?t:t.slice(0,n)}return e+r.length>this.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=Tf.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){typeof e=="number"&&(e=new Ge(this.parser.nodeSet.types[e],xa,xa,(r!=null?r:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(cm(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?tQ(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let r of e.parsers)if(r.finish(this,e))return;let t=cm(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Oe.Paragraph,e.content.length),e.start)}elt(e,t,r,n){return typeof e=="string"?ut(this.parser.getNodeType(e),t,r,n):new _f(e,t)}get buffer(){return new Xf(this.parser.nodeSet)}};function tQ(i,e,t,r,n){let s=i[e].to,o=[],a=[],l=t.from+r;function c(f,O){for(;O?f>=s:f>s;){let p=i[e+1].from-s;r+=p,f+=p,e++,s=i[e].to}}for(let f=t.firstChild;f;f=f.nextSibling){c(f.from+r,!0);let O=f.from+r,p,b=n.get(f.tree);b?p=b:f.to+r>s?(p=tQ(i,e,f,r,n),c(f.to+r,!1)):p=f.toTree(),o.push(p),a.push(O-l)}return c(t.to+r,!1),new Ge(t.type,o,a,t.to+r-l,t.tree?t.tree.propValues:void 0)}var Yl=class i extends Vn{constructor(e,t,r,n,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let f of e.types)this.nodeTypes[f.name]=f.id}createParse(e,t,r){let n=new am(this,e,t,r);for(let s of this.wrappers)n=s(n,e,t,r);return n}configure(e){let t=lm(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:n}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),f=this.endLeafBlock.slice(),O=this.wrappers;if(Al(t.defineNodes)){n=Object.assign({},n);let p=r.types.slice(),b;for(let y of t.defineNodes){let{name:P,block:X,composite:A,style:H}=typeof y=="string"?{name:y}:y;if(p.some(L=>L.name==P))continue;A&&(n[p.length]=(L,d,V)=>A(d,V,L.value));let q=p.length,B=A?["Block","BlockContext"]:X?q>=Oe.ATXHeading1&&q<=Oe.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;p.push(Et.define({id:q,name:P,props:B&&[[Ee.group,B]]})),H&&(b||(b={}),Array.isArray(H)||H instanceof nr?b[P]=H:Object.assign(b,H))}r=new Mn(p),b&&(r=r.extend(pi(b)))}if(Al(t.props)&&(r=r.extend(...t.props)),Al(t.remove))for(let p of t.remove){let b=this.blockNames.indexOf(p),y=this.inlineNames.indexOf(p);b>-1&&(s[b]=o[b]=void 0),y>-1&&(l[y]=void 0)}if(Al(t.parseBlock))for(let p of t.parseBlock){let b=a.indexOf(p.name);if(b>-1)s[b]=p.parse,o[b]=p.leaf;else{let y=p.before?kf(a,p.before):p.after?kf(a,p.after)+1:a.length-1;s.splice(y,0,p.parse),o.splice(y,0,p.leaf),a.splice(y,0,p.name)}p.endLeaf&&f.push(p.endLeaf)}if(Al(t.parseInline))for(let p of t.parseInline){let b=c.indexOf(p.name);if(b>-1)l[b]=p.parse;else{let y=p.before?kf(c,p.before):p.after?kf(c,p.after)+1:c.length-1;l.splice(y,0,p.parse),c.splice(y,0,p.name)}}return t.wrap&&(O=O.concat(t.wrap)),new i(r,s,o,a,f,n,l,c,O)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new Ll(this,e,t);e:for(let n=t;n<r.end;){let s=r.char(n);for(let o of this.inlineParsers)if(o){let a=o(r,s,n);if(a>=0){n=a;continue e}}n++}return r.resolveMarkers(0)}};function Al(i){return i!=null&&i.length>0}function lm(i){if(!Array.isArray(i))return i;if(i.length==0)return null;let e=lm(i[0]);if(i.length==1)return e;let t=lm(i.slice(1));if(!t||!e)return e||t;let r=(o,a)=>(o||xa).concat(a||xa),n=e.wrap,s=t.wrap;return{props:r(e.props,t.props),defineNodes:r(e.defineNodes,t.defineNodes),parseBlock:r(e.parseBlock,t.parseBlock),parseInline:r(e.parseInline,t.parseInline),remove:r(e.remove,t.remove),wrap:n?s?(o,a,l,c)=>n(s(o,a,l,c),a,l,c):n:s}}function kf(i,e){let t=i.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var iQ=[Et.none];for(let i=1,e;e=Oe[i];i++)iQ[i]=Et.define({id:i,name:e,props:i>=Oe.Escape?[]:[[Ee.group,i in Dy?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var xa=[],Xf=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e
Line truncated
|
||||
`;)s--;this.fragmentEnd=s?s-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ee.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let f=lQ(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,f);else{let O=new Ge(e.parser.nodeSet.types[Oe.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(O,t.tree),e.addNode(O,f)}if(t.type.is("Block")&&(JR.indexOf(t.type.id)<0?(o=t.to-r,a=e.block.children.length):(o=l,a=c),l=t.to-r,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function lQ(i,e){let t=i;for(let r=1;r<e.length;r++){let n=e[r-1].to,s=e[r].from;n<i&&(t-=s-n)}return t}var eC=pi({"Blockquote/...":S.quote,HorizontalRule:S.contentSeparator,"ATXHeading1/... SetextHeading1/...":S.heading1,"ATXHeading2/... SetextHeading2/...":S.heading2,"ATXHeading3/...":S.heading3,"ATXHeading4/...":S.heading4,"ATXHeading5/...":S.heading5,"ATXHeading6/...":S.heading6,"Comment CommentBlock":S.comment,Escape:S.escape,Entity:S.character,"Emphasis/...":S.emphasis,"StrongEmphasis/...":S.strong,"Link/... Image/...":S.link,"OrderedList/... BulletList/...":S.list,"BlockQuote/...":S.quote,"InlineCode CodeText":S.monospace,"URL Autolink":S.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":S.processingInstruction,"CodeInfo LinkLabel":S.labelName,LinkTitle:S.string,Paragraph:S.content}),cQ=new Yl(new Mn(iQ).extend(eC),Object.keys(Pf).map(i=>Pf[i]),Object.keys(Pf).map(i=>eQ[i]),Object.keys(Pf),GR,Dy,Object.keys(em).map(i=>em[i]),Object.keys(em),[]);function tC(i,e,t){let r=[];for(let n=i.firstChild,s=e;;n=n.nextSibling){let o=n?n.from:t;if(o>s&&r.push({from:s,to:o}),!n)break;s=n.to}return r}function hQ(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Ph((n,s)=>{let o=n.type.id;if(e&&(o==Oe.CodeBlock||o==Oe.FencedCode)){let a="";if(o==Oe.FencedCode){let c=n.node.getChild(Oe.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==Oe.CodeText,bracketed:o==Oe.FencedCode}}else if(t&&(o==Oe.HTMLBlock||o==Oe.HTMLTag||o==Oe.CommentBlock))return{parser:t,overlay:tC(n.node,n.from,n.to)};return null})}}var iC={resolve:"Strikethrough",mark:"StrikethroughMark"},rC={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":S.strikethrough}},{name:"StrikethroughMark",style:S.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let r=i.slice(t-1,t),n=i.slice(t+2,t+3),s=/\s|^$/.test(r),o=/\s|^$/.test(n),a=jl.test(r),l=jl.test(n);return i.addDelimiter(iC,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function zl(i,e,t=0,r,n=0){let s=0,o=!0,a=-1,l=-1,c=!1,f=()=>{r.push(i.elt("TableCell",n+a,n+l,i.parser.parseInline(e.slice(a,l),n+a)))};for(let O=t;O<e.length;O++){let p=e.charCodeAt(O);p==124&&!c?((!o||a>-1)&&s++,o=!1,r&&(a>-1&&f(),r.push(i.elt("TableDelimiter",O+n,O+n+1))),a=l=-1):(c||p!=32&&p!=9)&&(a<0&&(a=O),l=O+1),c=!c&&p==92}return a>-1&&(s++,r&&f()),s}function Yy(i,e){for(let t=e;t<i.length;t++){let r=i.charCodeAt(t);if(r==124)return!0;r==92&&t++}return!1}var fQ=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Cf=class{constructor(){this.rows=null}nextLine(e,t,r){if(this.rows==null){this.rows=!1;let n;if((t.next==45||t.next==58||t.next==124)&&fQ.test(n=t.text.slice(t.pos))){let s=[];zl(e,r.content,0,s,r.start)==zl(e,n,0)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];zl(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},nC={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":S.heading}},"TableRow",{name:"TableCell",style:S.content},{name:"TableDelimiter",style:S.processingInstruction}],parseBlock:[{name:"Table",leaf(i,e){return Yy(e.content,0)?new Cf:null},endLeaf(i,e,t){if(t.parsers.some(n=>n instanceof Cf)||!Yy(e.text,e.basePos))return!1;let r=i.peekLine();return fQ.test(r)&&zl(i,e.text,e.basePos)==zl(i,r,e.basePos)},before:"SetextHeading"}]},fm=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},sC={defineNodes:[{name:"Task",block:!0,style:S.list},{name:"TaskMarker",style:S.atom}],pa
Line truncated
|
||||
\${}
|
||||
} catch (\${error}) {
|
||||
\${}
|
||||
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Yi("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Yi(`if (\${}) {
|
||||
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Li("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Li(`if (\${}) {
|
||||
\${}
|
||||
} else {
|
||||
\${}
|
||||
}`,{label:"if",detail:"/ else block",type:"keyword"}),Yi(`class \${name} {
|
||||
}`,{label:"if",detail:"/ else block",type:"keyword"}),Li(`class \${name} {
|
||||
constructor(\${params}) {
|
||||
\${}
|
||||
}
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),Yi('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Yi('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],WZ=MQ.concat([Yi("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Yi("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Yi("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),LQ=new oa,qQ=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function jl(i){return(e,t)=>{let r=e.node.getChild("VariableDefinition");return r&&t(r,i),!0}}var VZ=["FunctionDeclaration"],MZ={FunctionDeclaration:jl("function"),ClassDeclaration:jl("class"),ClassExpression:()=>!0,EnumDeclaration:jl("constant"),TypeAliasDeclaration:jl("type"),NamespaceDeclaration:jl("namespace"),VariableDefinition(i,e){i.matchContext(VZ)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function DQ(i,e){let t=LQ.get(e);if(t)return t;let r=[],n=!0;function s(o,a){let l=i.sliceString(o.from,o.to);r.push({label:l,type:a})}return e.cursor(ft.IncludeAnonymous).iterate(o=>{if(n)n=!1;else if(o.name){let a=MZ[o.name];if(a&&a(o,s)||qQ.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of DQ(i,o.node))r.push(a);return!1}}),LQ.set(e,r),r}var WQ=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,IQ=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function qZ(i){let e=ct(i.state).resolveInner(i.pos,-1);if(IQ.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&WQ.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let r=[];for(let n=e;n;n=n.parent)qQ.has(n.name)&&(r=r.concat(DQ(i.state.doc,n)));return{options:r,from:t?e.from:i.pos,validFor:WQ}}var Hr=di.define({name:"javascript",parser:jQ.configure({props:[Pr.add({IfStatement:bn({except:/^\s*({|else\b)/}),TryStatement:bn({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Zh,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:r?1:2)*i.unit},Block:Ch({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":bn({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Qi.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":kr,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,r=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:r.type.isError?i.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),NQ={test:i=>/^JSX/.test(i.name),facet:aa({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Qm=Hr.configure({dialect:"ts"},"typescript"),wm=Hr.configure({dialect:"jsx",props:[_h.add(i=>i.isTop?[NQ]:void 0)]}),$m=Hr.configure({dialect:"jsx ts",props:[_h.add(i=>i.isTop?[NQ]:void 0)]},"typescript"),GQ=i=>({label:i,type:"keyword"}),BQ="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(GQ),DZ=BQ.concat(["declare","implements","private","protected","public"].map(GQ));function FQ(i={}){let e=i.jsx?i.typescript?$m:wm:i.typescript?Qm:Hr,t=i.typescript?WZ.concat(DZ):MQ.concat(BQ);return new bt(e,[Hr.data.of({autocomplete:Qv(IQ,Sv(t))}),Hr.data.of({autocomplete:qZ}),i.jsx?GZ:[]])}function IZ(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function VQ(i,e,t=i.length){for(let r=e==null?void 0:e.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return i.sliceString(r.from,Math.min(r.to,t));return""}var NZ=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),GZ=ae.inputHandler.of((i,e,t,r,n)=>{if((NZ?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||r!=">"&&r!="/"||!Hr.isActiveAt(i.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:f}=l,O=ct(o).reso
Line truncated
|
||||
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new zm(this):new Em(this)}getCursor(e,t=0,r){let n=e.doc?e:at.create({doc:e});return r==null&&(r=n.doc.length),this.regexp?xa(this,n,t,r):ba(this,n,t,r)}},Lf=class{constructor(e){this.spec=e}};function _2(i,e,t){return(r,n,s,o)=>{if(t&&!t(r,n,s,o))return!1;let a=r>=o&&n<=o+s.length?s.slice(r-o,n-o):e.doc.sliceString(r,n);return i(a,e,r,n)}}function ba(i,e,t,r){let n;return i.wholeWord&&(n=R2(e.doc,e.charCategorizer(e.selection.main.head))),i.test&&(n=_2(i.test,e,n)),new ks(e.doc,i.unquoted,t,r,i.caseSensitive?void 0:s=>s.toLowerCase(),n)}function R2(i,e){return(t,r,n,s)=>((s>t||s+n.length<r)&&(s=Math.max(0,t-2),n=i.sliceString(s,Math.min(i.length,r+2))),(e(Wf(n,t-s))!=Qt.Word||e(Vf(n,t-s))!=Qt.Word)&&(e(Vf(n,r-s))!=Qt.Word||e(Wf(n,r-s))!=Qt.Word))}var Em=class extends Lf{constructor(e){super(e)}nextMatch(e,t,r){let n=ba(this.spec,e,r,e.doc.length).nextOverlapping();if(n.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);n=ba(this.spec,e,0,s).nextOverlapping()}return n.done||n.value.from==t&&n.value.to==r?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let s=Math.max(t,n-1e4-this.spec.unquoted.length),o=ba(this.spec,e,s,n),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;n-=1e4}}prevMatch(e,t,r){let n=this.prevMatchInRange(e,0,t);return n||(n=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=t||n.to!=r)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=ba(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let s=ba(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}};function C2(i,e,t){return(r,n,s)=>(!t||t(r,n,s))&&i(s[0],e,r,n)}function xa(i,e,t,r){let n;return i.wholeWord&&(n=Z2(e.charCategorizer(e.selection.main.head))),i.test&&(n=C2(i.test,e,n)),new Af(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:n},t,r)}function Wf(i,e){return i.slice(Yt(i,e,!1),e)}function Vf(i,e){return i.slice(e,Yt(i,e))}function Z2(i){return(e,t,r)=>!r[0].length||(i(Wf(r.input,r.index))!=Qt.Word||i(Vf(r.input,r.index))!=Qt.Word)&&(i(Vf(r.input,r.index+r[0].length))!=Qt.Word||i(Wf(r.input,r.index+r[0].length))!=Qt.Word)}var zm=class extends Lf{nextMatch(e,t,r){let n=xa(this.spec,e,r,e.doc.length).next();return n.done&&(n=xa(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let s=Math.max(t,r-n*1e4),o=xa(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let n=r.length;n>0;n--){let s=+r.slice(0,n);if(s>0&&s<e.match.length)return e.match[s]+r.slice(n)}return t})}matchAll(e,t){let r=xa(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let s=xa(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}},Ml=Ce.define(),Mm=Ce.define(),Ps=ot.define({create(i){return new Vl(Ym(i).create(),null)},update(i,e){for(let t of e.effects)t.is(Ml)?i=new Vl(t.value.create(),i.panel):t.is(Mm)&&(i=new Vl(i.query,t.value?qm:null));return i},provide:i=>nl.from(i,e=>e.panel)});var Vl=class{constructor(e,t){this.query=e,this.panel=t}},U2=pe.mark({class:"cm-searchMatch"}),A2=pe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E2=Ct.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(Ps))}update(i){let e=i.state.field(Ps);(e!=i.startState.field(Ps)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return pe.none;let{view:t}=this,r=new Lr;for(let n=0,s=t.visibleRanges,o=s.length;n<o;n++){let{from:a,to:l}=s[n];for(;n<o-1&&l>s[n+1].from-500;)l=s[++n].to;i.highlight(t.state,a,l,(c,f)=>{let O=t.state.selection.ranges.some(p=>p.from==c&&p.to==f);r.add(c,f,O?A2:U2)})}return r.finish()}},{decorations:i=>i.decorations});function ql(i){return e=>{let t=e.state.field(Ps,!1);return t&&t.query.spec.valid?i(e,t):kw(e)}}var Mf=ql((i,{query:e})=>{let{to:t}=i.state.selection.main,r=e.nextMatch(i.state,t,t);if(!r)return!1;let n=K.single(r.from,r.to),s=i.state.facet($o);return i.dispatch({selection:n,effects:[Dm(i,r),s.scrollToMatch(n.main,i)],userEvent:"select.search"}),Pw(i),!0}),qf=ql((i,{query:e})=>{let{state:t}=i,{from:r}=t.selection.main,n=e.prevMatch(t,r,r);if(
Line truncated
|
||||
`);for(let l of a){Fw.lastIndex=0;let c=Fw.exec(l);if(c){let f=o+c.index+c[0].length;t.push(pe.widget({widget:new hg(c[0],e),side:-1}).range(f))}o+=l.length+1}}return pe.set(t,!0)}function Kw(i){let e;function t(r){let n=e.posAtDOM(r);i(e.state.doc.lineAt(n).number)}return Ct.fromClass(class{constructor(r){e=r,this.decorations=Hw(r,t)}update(r){e=r.view,(r.docChanged||r.viewportChanged)&&(this.decorations=Hw(r.view,t))}},{decorations:r=>r.decorations})}function FU(i){return at.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input")||!i.input)return e;let t=[],r=!1;if(e.changes.iterChanges((o,a,l,c,f)=>{let O=f.toString(),p=i.input(O);t.push({from:o,to:a,insert:p}),p!==O&&(r=!0)}),!r)return e;let n=e.annotation(Rt.userEvent),s=e.annotation(Rt.addToHistory);return{changes:t,selection:e.selection,effects:e.effects,scrollIntoView:e.scrollIntoView,annotations:[...n!=null?[Rt.userEvent.of(n)]:[],...s!=null?[Rt.addToHistory.of(s)]:[]]}})}var fg=new Di;function Jw(i){return fg.reconfigure(FU(i))}var e$=Ce.define(),t$=Ce.define(),i$=Ce.define(),Og=Ce.define(),r$=Ce.define(),n$=Ce.define(),dg=Ce.define(),s$=Ce.define(),o$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(e$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new If(pt(o,4)).range(a))}i=qe.of(n,!0)}return i}}),a$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(t$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Nf(o).range(a))}i=qe.of(n,!0)}return i}}),l$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(i$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Gf(o).range(a))}i=qe.of(n,!0)}return i}}),c$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(Og))if(t.value===null)i=qe.empty;else{let r=t.value;if(r>=1&&r<=e.state.doc.lines){let n=e.state.doc.line(r).from,s=!1;i.between(n,n,()=>(s=!0,!1)),s?i=i.update({filter:o=>o!==n}):i=i.update({add:[KU.range(n)]})}}return i}}),ug=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(r$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Bf(s,o).range(a))}i=qe.of(n,!0)}return i}}),h$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(n$))if(t.value===null)i=qe.empty;else{let r=t.value;if(r>=1&&r<=e.state.doc.lines){let n=e.state.doc.line(r).from;i=qe.of(f$.range(n))}}return i}}),If=class extends Lt{constructor(t){super();this.hex=t}toDOM(){let t=document.createElement("span");return t.textContent=this.hex,t.style.cursor="pointer",t.title="Click to run to here",t.addEventListener("mouseenter",()=>{t.style.textDecoration="underline"}),t.addEventListener("mouseleave",()=>{t.style.textDecoration="none"}),t}eq(t){return this.hex==t.hex}},Nf=class extends Lt{constructor(t){super();this.bytes=t}toDOM(){return document.createTextNode(this.bytes)}eq(t){return this.bytes==t.bytes}},Gf=class extends Lt{constructor(t){super();this.clock=t}toDOM(){return document.createTextNode(this.clock)}eq(t){return this.clock==t.clock}},HU=new class extends Lt{toDOM(){let i=document.createElement("span");return i.textContent="\u25CF",i.style.color="transparent",i.style.cursor="pointer",i.addEventListener("mouseenter",()=>{i.style.color="rgba(255, 0, 0, 0.5)"}),i.addEventListener("mouseleave",()=>{i.style.color="transparent"}),i}},KU=new class extends Lt{toDOM(){let i=document.createElement("span");return i.innerHTML="\u25CF",i.style.color="rgba(255, 0, 0, 1.0)",i.style.cursor="pointer",i.title="Click to run to here",i}},Bf=class extends Lt{constructor(t,r){super();this.line=t;this.msg=r}toDOM(){let t=document.createElement("span");return t.innerHTML="\u24E7",t.style.color="red",t.style.cursor="pointer",t.title=this.msg,t}eq(t){return this.line==t.line&&this.msg==t.msg}},JU=new class extends Lt{toDOM(){let i=document.createElement("span");return i.textContent="\u25B6",i.style.color="transparent",i.style.cursor="pointer",i.title="Click to run to here",i.addEventListener("mouseenter",()=>{i.style.color="#ffee66"}),i.addEventListener("mouseleave",()=>{i.style.color="transparent"}),i}},f$=new class extends Lt{toDOM(){let i=document.createElement("span");return i.innerHTML="\u25B6",i.style.color="#ff66ee",i.style.cursor="pointer",i.title="Current PC",i}},eA=ds({class:"gutter-offset",markers:i=>i.state.field(o$),initialSpacer:()=>new If("0000"),domEventHandlers:{click(i,e){let t=i.state.doc.lineAt(e.from).number;return i.dispatch({effects:dg.of(t)}),!0}}}),tA=ds({class:"gutter-bytes",markers:i=>i.state.field(a$),initialSpacer:()=>new Nf("00 00 00")}),iA=ds({class:"gutter-c
Line truncated
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),Li('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Li('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],i2=JQ.concat([Li("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Li("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Li("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),GQ=new ca,ew=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Vl(i){return(e,t)=>{let r=e.node.getChild("VariableDefinition");return r&&t(r,i),!0}}var r2=["FunctionDeclaration"],n2={FunctionDeclaration:Vl("function"),ClassDeclaration:Vl("class"),ClassExpression:()=>!0,EnumDeclaration:Vl("constant"),TypeAliasDeclaration:Vl("type"),NamespaceDeclaration:Vl("namespace"),VariableDefinition(i,e){i.matchContext(r2)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function tw(i,e){let t=GQ.get(e);if(t)return t;let r=[],n=!0;function s(o,a){let l=i.sliceString(o.from,o.to);r.push({label:l,type:a})}return e.cursor(ft.IncludeAnonymous).iterate(o=>{if(n)n=!1;else if(o.name){let a=n2[o.name];if(a&&a(o,s)||ew.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of tw(i,o.node))r.push(a);return!1}}),GQ.set(e,r),r}var HQ=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,iw=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function s2(i){let e=ct(i.state).resolveInner(i.pos,-1);if(iw.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&HQ.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let r=[];for(let n=e;n;n=n.parent)ew.has(n.name)&&(r=r.concat(tw(i.state.doc,n)));return{options:r,from:t?e.from:i.pos,validFor:HQ}}var Jr=mi.define({name:"javascript",parser:BQ.configure({props:[Tr.add({IfStatement:vn({except:/^\s*({|else\b)/}),TryStatement:vn({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:zh,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:r?1:2)*i.unit},Block:Eh({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":vn({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),$i.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Xr,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,r=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:r.type.isError?i.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),rw={test:i=>/^JSX/.test(i.name),facet:ha({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xm=Jr.configure({dialect:"ts"},"typescript"),_m=Jr.configure({dialect:"jsx",props:[Uh.add(i=>i.isTop?[rw]:void 0)]}),Rm=Jr.configure({dialect:"jsx ts",props:[Uh.add(i=>i.isTop?[rw]:void 0)]},"typescript"),nw=i=>({label:i,type:"keyword"}),sw="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(nw),o2=sw.concat(["declare","implements","private","protected","public"].map(nw));function ow(i={}){let e=i.jsx?i.typescript?Rm:_m:i.typescript?Xm:Jr,t=i.typescript?i2.concat(o2):JQ.concat(sw);return new bt(e,[Jr.data.of({autocomplete:Zv(iw,Cv(t))}),Jr.data.of({autocomplete:s2}),i.jsx?c2:[]])}function a2(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function KQ(i,e,t=i.length){for(let r=e==null?void 0:e.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return i.sliceString(r.from,Math.min(r.to,t));return""}var l2=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),c2=ae.inputHandler.of((i,e,t,r,n)=>{if((l2?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||r!=">"&&r!="/"||!Jr.isActiveAt(i.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:f}=l,O=ct(o).reso
Line truncated
|
||||
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Vm(this):new Wm(this)}getCursor(e,t=0,r){let n=e.doc?e:at.create({doc:e});return r==null&&(r=n.doc.length),this.regexp?ya(this,n,t,r):Sa(this,n,t,r)}},qf=class{constructor(e){this.spec=e}};function D2(i,e,t){return(r,n,s,o)=>{if(t&&!t(r,n,s,o))return!1;let a=r>=o&&n<=o+s.length?s.slice(r-o,n-o):e.doc.sliceString(r,n);return i(a,e,r,n)}}function Sa(i,e,t,r){let n;return i.wholeWord&&(n=I2(e.doc,e.charCategorizer(e.selection.main.head))),i.test&&(n=D2(i.test,e,n)),new Xs(e.doc,i.unquoted,t,r,i.caseSensitive?void 0:s=>s.toLowerCase(),n)}function I2(i,e){return(t,r,n,s)=>((s>t||s+n.length<r)&&(s=Math.max(0,t-2),n=i.sliceString(s,Math.min(i.length,r+2))),(e(Df(n,t-s))!=Qt.Word||e(If(n,t-s))!=Qt.Word)&&(e(If(n,r-s))!=Qt.Word||e(Df(n,r-s))!=Qt.Word))}var Wm=class extends qf{constructor(e){super(e)}nextMatch(e,t,r){let n=Sa(this.spec,e,r,e.doc.length).nextOverlapping();if(n.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);n=Sa(this.spec,e,0,s).nextOverlapping()}return n.done||n.value.from==t&&n.value.to==r?null:n.value}prevMatchInRange(e,t,r){for(let n=r;;){let s=Math.max(t,n-1e4-this.spec.unquoted.length),o=Sa(this.spec,e,s,n),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;n-=1e4}}prevMatch(e,t,r){let n=this.prevMatchInRange(e,0,t);return n||(n=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=t||n.to!=r)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=Sa(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let s=Sa(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}};function N2(i,e,t){return(r,n,s)=>(!t||t(r,n,s))&&i(s[0],e,r,n)}function ya(i,e,t,r){let n;return i.wholeWord&&(n=F2(e.charCategorizer(e.selection.main.head))),i.test&&(n=N2(i.test,e,n)),new jf(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:n},t,r)}function Df(i,e){return i.slice(Lt(i,e,!1),e)}function If(i,e){return i.slice(e,Lt(i,e))}function F2(i){return(e,t,r)=>!r[0].length||(i(Df(r.input,r.index))!=Qt.Word||i(If(r.input,r.index))!=Qt.Word)&&(i(If(r.input,r.index+r[0].length))!=Qt.Word||i(Df(r.input,r.index+r[0].length))!=Qt.Word)}var Vm=class extends qf{nextMatch(e,t,r){let n=ya(this.spec,e,r,e.doc.length).next();return n.done&&(n=ya(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,r){for(let n=1;;n++){let s=Math.max(t,r-n*1e4),o=ya(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let n=r.length;n>0;n--){let s=+r.slice(0,n);if(s>0&&s<e.match.length)return e.match[s]+r.slice(n)}return t})}matchAll(e,t){let r=ya(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=t)return null;n.push(r.value)}return n}highlight(e,t,r,n){let s=ya(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}},Nl=Ce.define(),Bm=Ce.define(),Ts=ot.define({create(i){return new Il(qm(i).create(),null)},update(i,e){for(let t of e.effects)t.is(Nl)?i=new Il(t.value.create(),i.panel):t.is(Bm)&&(i=new Il(i.query,t.value?Gm:null));return i},provide:i=>ll.from(i,e=>e.panel)});var Il=class{constructor(e,t){this.query=e,this.panel=t}},B2=pe.mark({class:"cm-searchMatch"}),G2=pe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),H2=Ut.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(Ts))}update(i){let e=i.state.field(Ts);(e!=i.startState.field(Ts)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return pe.none;let{view:t}=this,r=new Wr;for(let n=0,s=t.visibleRanges,o=s.length;n<o;n++){let{from:a,to:l}=s[n];for(;n<o-1&&l>s[n+1].from-500;)l=s[++n].to;i.highlight(t.state,a,l,(c,f)=>{let O=t.state.selection.ranges.some(p=>p.from==c&&p.to==f);r.add(c,f,O?G2:B2)})}return r.finish()}},{decorations:i=>i.decorations});function Fl(i){return e=>{let t=e.state.field(Ts,!1);return t&&t.query.spec.valid?i(e,t):zw(e)}}var Nf=Fl((i,{query:e})=>{let{to:t}=i.state.selection.main,r=e.nextMatch(i.state,t,t);if(!r)return!1;let n=K.single(r.from,r.to),s=i.state.facet(ko);return i.dispatch({selection:n,effects:[Hm(i,r),s.scrollToMatch(n.main,i)],userEvent:"select.search"}),Ew(i),!0}),Ff=Fl((i,{query:e})=>{let{state:t}=i,{from:r}=t.selection.main,n=e.prevMatch(t,r,r);if(
Line truncated
|
||||
`);for(let l of a){o$.lastIndex=0;let c=o$.exec(l);if(c){let f=o+c.index+c[0].length;t.push(pe.widget({widget:new mg(c[0],e),side:-1}).range(f))}o+=l.length+1}}return pe.set(t,!0)}function l$(i){let e;function t(r){let n=e.posAtDOM(r);i(e.state.doc.lineAt(n).number)}return Ut.fromClass(class{constructor(r){e=r,this.decorations=a$(r,t)}update(r){e=r.view,(r.docChanged||r.viewportChanged)&&(this.decorations=a$(r.view,t))}},{decorations:r=>r.decorations})}function fA(i){return at.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input")||!i.input)return e;let t=[],r=!1;if(e.changes.iterChanges((o,a,l,c,f)=>{let O=f.toString(),p=i.input(O);t.push({from:o,to:a,insert:p}),p!==O&&(r=!0)}),!r)return e;let n=e.annotation(Zt.userEvent),s=e.annotation(Zt.addToHistory);return{changes:t,selection:e.selection,effects:e.effects,scrollIntoView:e.scrollIntoView,annotations:[...n!=null?[Zt.userEvent.of(n)]:[],...s!=null?[Zt.addToHistory.of(s)]:[]]}})}var gg=new Ni;function c$(i){return gg.reconfigure(fA(i))}var h$=Ce.define(),f$=Ce.define(),u$=Ce.define(),xg=Ce.define(),O$=Ce.define(),d$=Ce.define(),vg=Ce.define(),p$=Ce.define(),m$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(h$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Gf(pt(o,4)).range(a))}i=qe.of(n,!0)}return i}}),g$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(f$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Hf(o).range(a))}i=qe.of(n,!0)}return i}}),b$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(u$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Kf(o).range(a))}i=qe.of(n,!0)}return i}}),x$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(xg))if(t.value===null)i=qe.empty;else{let r=t.value;if(r>=1&&r<=e.state.doc.lines){let n=e.state.doc.line(r).from,s=!1;i.between(n,n,()=>(s=!0,!1)),s?i=i.update({filter:o=>o!==n}):i=i.update({add:[OA.range(n)]})}}return i}}),bg=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(O$)){let r=t.value,n=[];for(let[s,o]of r.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;n.push(new Jf(s,o).range(a))}i=qe.of(n,!0)}return i}}),v$=ot.define({create(){return qe.empty},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(d$))if(t.value===null)i=qe.empty;else{let r=t.value;if(r>=1&&r<=e.state.doc.lines){let n=e.state.doc.line(r).from;i=qe.of(S$.range(n))}}return i}}),Gf=class extends Wt{constructor(t){super();this.hex=t}toDOM(){let t=document.createElement("span");return t.textContent=this.hex,t.style.cursor="pointer",t.title="Click to run to here",t.addEventListener("mouseenter",()=>{t.style.textDecoration="underline"}),t.addEventListener("mouseleave",()=>{t.style.textDecoration="none"}),t}eq(t){return this.hex==t.hex}},Hf=class extends Wt{constructor(t){super();this.bytes=t}toDOM(){return document.createTextNode(this.bytes)}eq(t){return this.bytes==t.bytes}},Kf=class extends Wt{constructor(t){super();this.clock=t}toDOM(){return document.createTextNode(this.clock)}eq(t){return this.clock==t.clock}},uA=new class extends Wt{toDOM(){let i=document.createElement("span");return i.textContent="\u25CF",i.style.color="transparent",i.style.cursor="pointer",i.addEventListener("mouseenter",()=>{i.style.color="rgba(255, 0, 0, 0.5)"}),i.addEventListener("mouseleave",()=>{i.style.color="transparent"}),i}},OA=new class extends Wt{toDOM(){let i=document.createElement("span");return i.innerHTML="\u25CF",i.style.color="rgba(255, 0, 0, 1.0)",i.style.cursor="pointer",i.title="Click to run to here",i}},Jf=class extends Wt{constructor(t,r){super();this.line=t;this.msg=r}toDOM(){let t=document.createElement("span");return t.innerHTML="\u24E7",t.style.color="red",t.style.cursor="pointer",t.title=this.msg,t}eq(t){return this.line==t.line&&this.msg==t.msg}},dA=new class extends Wt{toDOM(){let i=document.createElement("span");return i.textContent="\u25B6",i.style.color="transparent",i.style.cursor="pointer",i.title="Click to run to here",i.addEventListener("mouseenter",()=>{i.style.color="#ffee66"}),i.addEventListener("mouseleave",()=>{i.style.color="transparent"}),i}},S$=new class extends Wt{toDOM(){let i=document.createElement("span");return i.innerHTML="\u25B6",i.style.color="#ff66ee",i.style.cursor="pointer",i.title="Current PC",i}},pA=ms({class:"gutter-offset",markers:i=>i.state.field(m$),initialSpacer:()=>new Gf("0000"),domEventHandlers:{click(i,e){let t=i.state.doc.lineAt(e.from).number;return i.dispatch({effects:vg.of(t)}),!0}}}),mA=ms({class:"gutter-bytes",markers:i=>i.state.field(g$),initialSpacer:()=>new Hf("00 00 00")}),gA=ms({class:"gutter-c
Line truncated
|
||||
color: #ff6666;
|
||||
background-color: #330000;
|
||||
padding: 4px 8px;
|
||||
margin: 2px 0;
|
||||
border-left: 3px solid #ff0000;
|
||||
font-family: monospace;
|
||||
`,t}},oA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(Po.showMessage)){if(t.value===null||!t.value)return pe.none;if(t.value.toggle){let r=[],n=new Map;return i.between(0,e.state.doc.length,(a,l,c)=>{try{let f=e.state.doc.lineAt(l).number;c.spec.widget instanceof Il&&n.set(f,c.spec.widget.message)}catch(f){}}),n.has(t.value.line)?n.delete(t.value.line):n.set(t.value.line,t.value.msg),Array.from(n.keys()).sort((a,l)=>a-l).forEach(a=>{try{let l=e.state.doc.line(a);r.push(pe.widget({widget:new Il(n.get(a)),block:!0,side:1}).range(l.to))}catch(l){}}),pe.set(r,!0)}}return i},provide:i=>ae.decorations.from(i)}),pg=class extends ni{constructor(t){super();this.value=t}toDOM(){let t=document.createElement("div");return t.textContent=`${this.value}`,t.style.cssText=`
|
||||
`,t}},SA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(To.showMessage)){if(t.value===null||!t.value)return pe.none;if(t.value.toggle){let r=[],n=new Map;return i.between(0,e.state.doc.length,(a,l,c)=>{try{let f=e.state.doc.lineAt(l).number;c.spec.widget instanceof Gl&&n.set(f,c.spec.widget.message)}catch(f){}}),n.has(t.value.line)?n.delete(t.value.line):n.set(t.value.line,t.value.msg),Array.from(n.keys()).sort((a,l)=>a-l).forEach(a=>{try{let l=e.state.doc.line(a);r.push(pe.widget({widget:new Gl(n.get(a)),block:!0,side:1}).range(l.to))}catch(l){}}),pe.set(r,!0)}}return i},provide:i=>ae.decorations.from(i)}),Sg=class extends oi{constructor(t){super();this.value=t}toDOM(){let t=document.createElement("div");return t.textContent=`${this.value}`,t.style.cssText=`
|
||||
color: #ccccff;
|
||||
background-color: #000066;
|
||||
display: inline-block;
|
||||
`,t.className="cm-line",t}},p$=Ce.define(),aA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(p$)){if(t.value===null||!t.value)return pe.none;let r=e.state.doc.lineAt(t.value.range.to);return pe.set([pe.widget({widget:new pg(t.value.val),block:!0,side:1}).range(r.to)])}return i},provide:i=>ae.decorations.from(i)}),m$=Ce.define(),lA=pe.mark({attributes:{class:"cm-error-span"}}),cA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(m$)){if(t.value===null)return pe.none;let r=[];for(let n of t.value)try{let s=e.state.doc.line(n.line),o=s.from+n.start,a=s.from+n.end;o>=s.from&&a<=s.to&&o<a&&r.push(lA.range(o,a))}catch(s){}return pe.set(r,!0)}return i},provide:i=>ae.decorations.from(i)}),g$=Ce.define(),hA=pe.line({attributes:{class:"highlight-lines"}}),fA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(g$)){if(t.value===null)return pe.none;let{start:r,end:n}=t.value,s=[];for(let o=r;o<=n;o++)try{let a=e.state.doc.line(o);s.push(hA.range(a.from))}catch(a){}return pe.set(s)}return i!==pe.none&&(e.docChanged||e.selection)?pe.none:i},provide:i=>ae.decorations.from(i)}),b$={field:oA,widget:Il},Nl={effect:O$,decoration:d$,field:sA},Jf={effect:p$,field:aA},eu={effect:m$,field:cA},tu={effect:g$,field:fA},x$=Ce.define(),uA=pe.line({attributes:{class:"cm-traced-line"}}),OA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(x$)){let r=[];for(let n of t.value)try{let s=e.state.doc.line(n);r.push(uA.range(s.from))}catch(s){}return pe.set(r,!0)}return i},provide:i=>ae.decorations.from(i)}),iu={effect:x$,field:OA};var Bl=64,v$=Ce.define(),y$=Ce.define(),mg=ot.define({create(){return new Map},update(i,e){let t=i;for(let r of e.effects)if(r.is(y$))t=new Map;else if(r.is(v$)){t===i&&(t=new Map(i));for(let n of r.value)t.set(n.id,{from:n.from,to:n.to})}if(!e.changes.empty){let r=new Map;for(let[n,s]of t)r.set(n,{from:e.changes.mapPos(s.from,-1),to:e.changes.mapPos(s.to,1)});return r}return t}}),dA=200,gg={default:{theme:cg},6502:{isAsm:!0},z80:{isAsm:!0},jsasm:{isAsm:!0},gas:{isAsm:!0},vasm:{isAsm:!0},inform6:{theme:Df},dialog:{theme:Df,lineWrap:!0},markdown:{lineWrap:!0},fastbasic:{noGutters:!0},basic:{noGutters:!0},ecs:{theme:cg}},S$={input:null};function Q$(i){S$.input=i?e=>e.toUpperCase():null}var Gl=class Gl{constructor(e,t){this.updateTimer=null;this.dirtylisting=!0;this.refreshDelayMsec=300;this.probe=null;this.path=e,this.mode=t}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var r=Ye.getFile(this.path),n=r&&this.mode=="verilog"&&/__asm\b([\s\S]+?)\b__endasm\b/.test(r);return this.newEditor(t,r,n),this.editor.dispatch({effects:Jw(S$)}),Ye.getToolForFilename(this.path).startsWith("remote:")&&(this.refreshDelayMsec=1e3),t}setVisible(e){e?(this.editor.focus(),Gl.tracingEnabled&&this.startTracing()):this.stopTracing()}startTracing(){!this.probe&&j.startProbing&&(this.probe=j.startProbing(),this.probe.singleFrame=!1,this.probe.clear())}stopTracing(){this.probe&&(j.stopProbing(),this.probe=null),this.editor.dispatch({effects:iu.effect.of([])})}setTracingEnabled(e){Gl.tracingEnabled=e,e?this.startTracing():this.stopTracing()}newEditor(e,t,r){var n=gg[this.mode]||gg.default,s=r||n.isAsm,o=!!n.lineWrap,a=n.theme||gg.default.theme,l=n.useLineNumbers&&!kl;Te.embed&&(l=!1,s=!1);let c=n.noGutters||kl;var f;switch(this.mode){case"6502":f=zw();break;case"basic":f=Yw();break;case"bataribasic":f=jw();break;case"fastbasic":f=Ww();break;case"dialog":f=Lw();break;case"inform6":f=Vw();break;case"markdown":f=bw();break;case"text/x-csrc":f=QS();break;case"text/x-wiz":f=qw();break;case"verilog":f=Mw();break;case"z80":f=Nw();break;default:console.warn("Unknown mode: "+this.mode);break}this.editor=new ae({parent:e,doc:t,extensions:[s?[]:$r.of(" "),s?ip.of((O,p)=>{let b=O.state.doc.lineAt(p).number;if(b>=0){let S=O.state.doc.line(b);if(S.text.trim())return O.lineIndent(S.from)}return 0}):[],...$y(Sp()),wr.of(xy),l?kx():[],Mv(),wr.of(Iv),lv(),bx(),at.allowMultipleSelections.of(!0),yd(),nv(),Ov(),Qd(),wd(),Sd(),Tx(),Vm(),ww({top:!0}),wr.of(Xw),f||[],a,Bw,o?ae.lineWrapping:[],Nl.field,c?[]:[Ff.field,Ff.gutter],s&&!c?[Dl.field,Dl.gutter,Hf.field,Hf.gutter]:[],Kf.field,u$.gutter,ae.updateListener.of(O=>{for(let p of O.transactions.flatMap(b=>b.effects))if(p.is(Kf.set)&&j.isRunning()&&this.runToBreakpoints(O.state),p.is(va.runToLine)){let b=p.value;if(this.sourcefile&&this.sourcefile.line2offset){let S=this.sourcefile.line2offset[b];S>=0&&vo([S])}}}),Po.field,b$.field,eu.field,va.field,va.gutter,tu.field,iu.field,mg,Kw(O=>{window.location.hash="asseteditor/"+encodeURIComponent(this.path)+"/"+O}),fg.of([]),ae.updateListener.of(O=>{O.docChanged&&this.editorChanged()}),Jf.field,ae.updateListener.of(O=>{O.selectionSet&&this.inspectUnderCursor(O)})]}),ky(this.editor)}editorChanged(){clearTimeout(this.updateTimer),
Line truncated
|
||||
`).length-1;this.editor.dispatch({changes:{from:n,insert:e}}),this.highlightLines(r-1,r+s-2)}highlightLines(e,t){let r=this.editor.state.doc.line(e+1);this.editor.dispatch({effects:[tu.effect.of({start:e+1,end:t+1}),ae.scrollIntoView(r.from,{y:"start",yMargin:100})]})}navigateToLine(e){if(e<1||e>this.editor.state.doc.lines)return;let t=this.editor.state.doc.line(e);this.editor.dispatch({selection:{anchor:t.from},effects:[tu.effect.of({start:e,end:e}),ae.scrollIntoView(t.from,{y:"center"})]}),this.editor.focus()}getValue(){return this.editor.state.doc.toString()}getPath(){return this.path}markErrors(e){this.clearErrors(),e=e.slice(0,dA);let t=new Map,r=[];for(var n of e)if(!n.path||this.path.endsWith(n.path)){var s=this.editor.state.doc.lines,o=n.line;(isNaN(o)||o<1||o>s)&&(o=1),t.set(o,n.msg),n.start!=null&&n.end!=null&&n.end>n.start&&r.push({line:o,start:n.start,end:n.end})}this.editor.dispatch({effects:[Po.set.of(t),eu.effect.of(r.length>0?r:null)]})}clearErrors(){this.dirtylisting=!0,this.editor.dispatch({effects:[Po.set.of(new Map),Po.showMessage.of(null),eu.effect.of(null)]})}getSourceFile(){return this.sourcefile}updateListing(){this.clearErrors();var e=this.sourcefile.lines||[];let t=new Map,r=new Map,n=new Map;for(var s of e)if(s.offset>=0&&t.set(s.line,pt(s.offset&65535,4)),s.insns){var o=s.insns.length>9?"...":s.insns;if(r.set(s.line,o),s.iscode){if(s.cycles)n.set(s.line,s.cycles+"");else if(j.getOpcodeMetadata){var a=parseInt(s.insns.split(" ")[0],16),l=j.getOpcodeMetadata(a,s.offset);if(l&&l.minCycles){var c=l.minCycles+"";n.set(s.line,c)}}}}this.editor.dispatch({effects:[Ff.set.of(t),Dl.set.of(r),Hf.set.of(n)]})}setTimingResult(e){if(this.sourcefile!=null){var t=new Map;for(let o of Object.keys(this.sourcefile.line2offset)){let a=this.sourcefile.line2offset[o],l=e.pc2clockrange[a];var r=l&&l.minclocks,n=l&&l.maxclocks;if(r>=0&&n>=0){var s;n==r?s=r+"":s=r+"-"+n,n==e.MAX_CLOCKS&&(s+="+"),t.set(parseInt(o),s)}}this.editor.dispatch({effects:[Dl.set.of(t)]})}}setCurrentLine(e,t){var r=n=>{this.editor.dispatch({effects:[va.set.of(n.line),Nl.effect.of(n.line),...t?[ae.scrollIntoView(this.editor.state.doc.line(n.line).from,{y:"center"})]:[]]})};if(this.clearCurrentLine(t),e){if(e.line<1||e.line>this.editor.state.doc.lines)return;if(r(e),t){let s=this.editor.state.doc.line(e.line).from+(e.start||0);this.editor.dispatch({selection:{anchor:s,head:s},effects:ae.scrollIntoView(s,{y:"center"})})}this.currentDebugLine=e}}clearCurrentLine(e){if(this.currentDebugLine){if(e){let t=this.editor.state.selection.main.head;this.editor.dispatch({selection:{anchor:t,head:t}})}this.currentDebugLine=null}this.editor.dispatch({effects:[va.set.of(null),Nl.effect.of(null)]})}getActiveLine(){if(this.sourcefile){var e=Nn&&Nn.c;if(!e&&j.getCPUState&&!j.isRunning()&&(e=j.getCPUState()),e){var t=e&&(e.EPC||e.PC),r=this.sourcefile.findLineForOffset(t,Bl);return r}}}refreshDebugState(e){var t=this.getActiveLine();!e&&(t===this.currentDebugLine||!t&&!this.currentDebugLine)||this.setCurrentLine(t,e)}refreshListing(){var e=Ye.getListingForFile(this.path);e&&e.sourcefile&&e.sourcefile!==this.sourcefile&&(this.sourcefile=e.sourcefile,this.dirtylisting=!0),!(!this.sourcefile||!this.dirtylisting)&&(this.updateListing(),this.dirtylisting=!1)}refresh(e){this.refreshListing(),this.refreshDebugState(e)}tick(){this.refreshDebugState(!1),this.updateTracedLines()}updateTracedLines(){let e=this.probe;if(!e||!e.idx||!this.sourcefile)return;let t=new Set;for(let r=0;r<e.idx;r++){let n=e.buf[r];if((n&4278190080)===16777216){let s=this.sourcefile.findLineForOffset(n&65535,Bl);s&&t.add(s.line)}}e.clear(),this.editor.dispatch({effects:iu.effect.of(Array.from(t))})}getLine(e){return this.editor.state.doc.line(e).text}getCurrentLine(){let e=this.editor.state.selection.main.head;return this.editor.state.doc.lineAt(e).number}getCursorPC(){for(var e=this.getCurrentLine();this.sourcefile&&e>=0;){var t=this.sourcefile.line2offset[e];if(t>=0)return t;e--}return-1}undoStep(){Wh(this.editor)}redoStep(){gl(this.editor)}getBreakpointPCs(){if(this.sourcefile==null)return[];let e=[],r=this.editor.state.field(Kf.field).iter();for(;r.value;){let n=this.editor.state.doc.lineAt(r.from).number,s=this.sourcefile.line2offset[n];s>=0&&e.push(s),r.next()}return e}runToBreakpoints(e){let t=this.getBreakpointPCs();t.length>0?vo(t):ko()}};Gl.tracingEnabled=!1;var Sn=Gl,bg=1024,Fl=class{createDiv(e){var t=document.createElement("div");return t.setAttribute("class","editor"),e.appendChild(t),this.newEditor(t),t}newEditor(e){this.disasmview=new ae({parent:e,extensions:[Qd(),wd(),at.allowMultipleSelections.of(!0),yd(),Sd(),Vm(),Gw,Df,Nl.field,at.tabSize.of(8),at.readOnly.of(!0)]})}refresh(e){let t=Nn||j.saveState(),r=t.c?t.c.PC:0,n=0,s=0,o=j.debugSymbols&&j.debugSymbols.addr2symbol||{},a=(f,O)=>{let p="",b=0;for(;b<O;){let S=f+b|0,P=j.disassemble(S,j.readAddress.bind(j)),X="",A="";for(let B=0;B<P.nbytes;B++)X+=pt(j.readAddress(S+B));for(;X.length<14;)X+=" ";let H=P.line;if(o&&P.i
Line truncated
|
||||
`;p+=q,S==r&&(s=n),n++,b+=P.nbytes||1}return p};var l=r<0?r-bg:Math.max(0,r-bg);let c=a(l,r-l)+a(r,bg);if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:c}}),e){let f=this.disasmview.state.doc.line(s+1);this.disasmview.dispatch({selection:{anchor:f.from,head:f.from},effects:ae.scrollIntoView(f.from,{y:"center"})})}}getCursorPC(){let e=this.disasmview.state.selection.main.head,t=this.disasmview.state.doc.lineAt(e).number;if(t>=0){let n=this.disasmview.state.doc.line(t).text.trim().split(/\s+/);if(n&&n.length>=1){let s=parseInt(n[0],16);if(console.log("getCursorPC",s),s>=0)return s}}return-1}},ru=class extends Fl{constructor(e){super(),this.path=e}refreshListing(){var e=Ye.getListingForFile(this.path);this.assemblyfile=e&&(e.assemblyfile||e.sourcefile)}refresh(e){if(this.refreshListing(),!!this.assemblyfile){var t=this.assemblyfile.text;if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:t}}),!!j.saveState){var r=Nn||j.saveState(),n=r.c?r.c.EPC||r.c.PC:0;if(n>=0&&this.assemblyfile){var s=this.assemblyfile.findLineForOffset(n,Bl);if(s&&e){let o=this.disasmview.state.doc.line(s.line);this.disasmview.dispatch({selection:{anchor:o.from,head:o.from},effects:ae.scrollIntoView(o.from,{y:"center"})})}}}}}};var Hl=256,w$=100,$$=!1,nu=class i{constructor(e,t){this.expanded=!1;this.parent=e,this.name=t,this.children=new Map,this.level=e?e.level+1:-1,this.view=e?e.view:null}getDiv(){return this._div==null&&(this._div=document.createElement("div"),this._div.classList.add("vertical-scroll"),this._div.classList.add("tree-content"),this._header=document.createElement("div"),this._header.classList.add("tree-header"),this._header.classList.add("tree-level-"+this.level),this._header.append(this.name),this._inline=document.createElement("span"),this._inline.classList.add("tree-value"),this._header.append(this._inline),this._div.append(this._header),this.parent._content.append(this._div),this._header.onclick=e=>{this.toggleExpanded()}),this.expanded&&this._content==null?(this._content=document.createElement("div"),this._div.append(this._content)):!this.expanded&&this._content!=null&&(this._content.remove(),this._content=null,this.children.clear()),this._div}toggleExpanded(){this.expanded=!this.expanded,this.view.tick()}remove(){this._div.remove(),this._div=null}update(e){this.getDiv();var t="";if(e&&e.$$&&typeof e.$$=="function"&&this._content!=null&&(e=e.$$()),e==null)t=e+"";else if(typeof e=="number")e!=(e|0)?t=e.toString():t=e+" ($"+pt(e)+")";else if(typeof e=="boolean")t=e.toString();else if(typeof e=="string")e.length<w$?t=e:t=e.substring(0,w$)+"...";else if(e.buffer&&e.length<=Hl)t=e0(e,0,e.length);else if(typeof e=="object"||typeof e=="function")if(this._content!=null){if(e.slice&&e.length>Hl){let l={},c=e;for(var r=Hl;e.length/r>Hl;)r*=2;for(let f=0;f<c.length;f+=r)l["$"+pt(f)]={$$:()=>c.slice(f,f+r)};e=l}if(e instanceof Map){let l={};for(let[c,f]of e.entries())l[c]=f;e=l}let o=e instanceof Array?Array.from(e.keys()):Object.getOwnPropertyNames(e);if(o.length>Hl){let l={},c=e;for(var r=100;o.length/r>100;)r*=2;for(let O=0;O<o.length;O+=r){for(var n={},s=O;s<O+r;s++)n[o[s]]=c[o[s]];l["["+O+"...]"]=n}e=l,o=Object.getOwnPropertyNames(e)}let a=new Set(this.children.keys());o.forEach(l=>{var c=!$$&&typeof l=="string"&&l.startsWith("$$");if(!c){let f=this.children.get(l);f==null&&(f=new i(this,l),this.children.set(l,f)),f.update(e[l])}a.delete(l)}),a.forEach(l=>{this.children.get(l).remove(),this.children.delete(l)}),this._header.classList.add("tree-expanded"),this._header.classList.remove("tree-collapsed")}else this._header.classList.add("tree-collapsed"),this._header.classList.remove("tree-expanded");else t=typeof e;this._inline.innerText!=t&&(this._inline.innerText=t)}};function P$(i,e){var t=new nu(null,null);t.view=e,t._content=i;var r=new nu(t,"/");return r.expanded=!0,r.getDiv(),r._div.style.padding="0px",r}var xg=class{createDiv(e){return this.root=P$(e,this),this.root.getDiv()}refresh(){this.tick()}tick(){this.root.update(this.getRootObject())}};var su=class extends xg{getRootObject(){return j.getDebugTree()}},ou=class extends Qs{constructor(){super(...arguments);this.cumulativeData=!0}createDiv(t){return this.clear(),this.treeroot=P$(t,this),this.treeroot.getDiv()}refresh(){this.tick()}tick(){this.treeroot.update(this.getRootObject()),this.probe&&this.probe.clear()}clear(){this.graph=null,this.reset()}reset(){this.stack=[],this.lastsp=-1,this.lastpc=0,this.jsr=!1,this.rts=!1}newNode(t,r){return{$$SP:r,$$PC:t,count:0,startLine:null,endLine:null,calls:{}}}newRoot(t,r){this.stack.length==0?(this.graph=this.newNode(null,r),this.stack.unshift(this.graph)):r>this.stack[0].$$SP&&(this.graph=this.newNode(null,r),this.graph.calls[this.addr2str(t)]=this.stack[0],this.stack.unshift(this.graph))}getRootObject(){return this.redraw((t,r,n,s,o,a)=>{switch(t){case 184549376:this.newRoot(this.lastpc,this.lastsp);case 167772160:if(this.stack.length){let c=this.st
Line truncated
|
||||
`,await B$(i),Te.newfile?!r&&!t?Ke('No build tool for "'+i+'" on this platform; project will not build.'):r?Ag(!0,!0):qi("No skeleton file for "+t+" on this platform; using blank file."):qi('Could not find file "'+i+'"<br><br>Creating new '+(r?t:"blank")+" file."),delete Te.newfile,gu()}}function Eg(i){if(i=="/")Te={repo:"/"};else if(i.indexOf("://")>=0){var e=vl(i);e&&(Te={repo:e.repopath})}else Te.platform=Ae,Te.file=i;mo()}async function nE(i){var e=j.getToolForFilename(i).replace(/^remote:/,"");try{return await $.get("presets/"+Zi(Ae)+"/skeleton."+e,"text")}catch(t){return console.log(t+""),null}}function zg(i){return i.indexOf(" ")>=0?(Ke("No spaces in filenames, please."),!1):!0}async function sE(i){var e=Zi(Ae),t={},r=[];for(var n of i){var s=j.getToolForFilename("test"+n);t[s]||(t[s]=[],r.push(s)),t[s].push(n)}var o=r.map(f=>$.ajax({url:"presets/"+e+"/skeleton."+f,type:"HEAD"}).then(()=>f,()=>null)),a=await Promise.all(o),l=[];for(var c of a)c!=null&&l.push({tool:c,extensions:t[c]});return l}async function oE(i){var e=await sE(j.getDefaultExtensions()),t,r;return e.length===0?(t=j.getDefaultExtensions(),r=t.join(" ")):(t=e.reduce((n,s)=>n.concat(s.extensions),[]),r=e.map(n=>n.extensions.join(" ")).join("<br>")),bootbox.prompt({title:"Enter the name of your new main source file.<br><br><span class='dialog-help'>"+r+"</span>",placeholder:"newfile"+t[0],callback:n=>{if(n&&n.trim().length>0){if(!zg(n))return;n.indexOf(".")<0&&(n+=t[0]);var s=n;Te.newfile="1",Eg(s)}}}),!0}function aE(i){let e=$('<input type="file" multiple accept="*" style="display:none">'),t=e[0];e.change(r=>{lE(t.files)}),e.click()}function lE(i){console.log(i);var e=0;function t(){var r=i[e++];if(!r)console.log("Done uploading",e),e>2?(qi("Files uploaded."),setTimeout(oc,1e3)):(Te.file=i[0].name,bootbox.confirm({message:"Open '"+_o.sanitize(Te.file)+"' as main project file?",buttons:{confirm:{label:"Open As New Project"},cancel:{label:"Include/Link With Project Later"}},callback:o=>{o?mo():setTimeout(oc,1e3)}}));else{var n=r.name,s=new FileReader;s.onload=function(o){var a=o.target.result,l=new Uint8Array(a);Ns(n,l)||(l=mc(l).replace(`\r
|
||||
`,t.className="cm-line",t}},$$=Ce.define(),yA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is($$)){if(t.value===null||!t.value)return pe.none;let r=e.state.doc.lineAt(t.value.range.to);return pe.set([pe.widget({widget:new Sg(t.value.val),block:!0,side:1}).range(r.to)])}return i},provide:i=>ae.decorations.from(i)}),P$=Ce.define(),QA=pe.mark({attributes:{class:"cm-error-span"}}),wA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(P$)){if(t.value===null)return pe.none;let r=[];for(let n of t.value)try{let s=e.state.doc.line(n.line),o=s.from+n.start,a=s.from+n.end;o>=s.from&&a<=s.to&&o<a&&r.push(QA.range(o,a))}catch(s){}return pe.set(r,!0)}return i},provide:i=>ae.decorations.from(i)}),k$=Ce.define(),$A=pe.line({attributes:{class:"highlight-lines"}}),PA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(k$)){if(t.value===null)return pe.none;let{start:r,end:n}=t.value,s=[];for(let o=r;o<=n;o++)try{let a=e.state.doc.line(o);s.push($A.range(a.from))}catch(a){}return pe.set(s)}return i!==pe.none&&(e.docChanged||e.selection)?pe.none:i},provide:i=>ae.decorations.from(i)}),T$={field:SA,widget:Gl},Hl={effect:Q$,decoration:w$,field:vA},ru={effect:$$,field:yA},nu={effect:P$,field:wA},su={effect:k$,field:PA},X$=Ce.define(),kA=pe.line({attributes:{class:"cm-traced-line"}}),TA=ot.define({create(){return pe.none},update(i,e){i=i.map(e.changes);for(let t of e.effects)if(t.is(X$)){let r=[];for(let n of t.value)try{let s=e.state.doc.line(n);r.push(kA.range(s.from))}catch(s){}return pe.set(r,!0)}return i},provide:i=>ae.decorations.from(i)}),ou={effect:X$,field:TA};var Jl=64,_$=Ce.define(),R$=Ce.define(),yg=ot.define({create(){return new Map},update(i,e){let t=i;for(let r of e.effects)if(r.is(R$))t=new Map;else if(r.is(_$)){t===i&&(t=new Map(i));for(let n of r.value)t.set(n.id,{from:n.from,to:n.to})}if(!e.changes.empty){let r=new Map;for(let[n,s]of t)r.set(n,{from:e.changes.mapPos(s.from,-1),to:e.changes.mapPos(s.to,1)});return r}return t}}),XA=200,Qg={default:{theme:pg},6502:{isAsm:!0},z80:{isAsm:!0},jsasm:{isAsm:!0},gas:{isAsm:!0},vasm:{isAsm:!0},inform6:{theme:Bf},dialog:{theme:Bf,lineWrap:!0},markdown:{lineWrap:!0},fastbasic:{noGutters:!0},basic:{noGutters:!0},ecs:{theme:pg}},C$={input:null};function Z$(i){C$.input=i?e=>e.toUpperCase():null}var Kl=class Kl{constructor(e,t){this.updateTimer=null;this.dirtylisting=!0;this.refreshDelayMsec=300;this.probe=null;this.path=e,this.mode=t}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var r=Ye.getFile(this.path),n=r&&this.mode=="verilog"&&/__asm\b([\s\S]+?)\b__endasm\b/.test(r);return this.newEditor(t,r,n),this.editor.dispatch({effects:c$(C$)}),Ye.getToolForFilename(this.path).startsWith("remote:")&&(this.refreshDelayMsec=1e3),t}setVisible(e){e?(this.editor.focus(),Kl.tracingEnabled&&this.startTracing()):this.stopTracing()}startTracing(){!this.probe&&j.startProbing&&(this.probe=j.startProbing(),this.probe.singleFrame=!1,this.probe.clear())}stopTracing(){this.probe&&(j.stopProbing(),this.probe=null),this.editor.dispatch({effects:ou.effect.of([])})}setTracingEnabled(e){Kl.tracingEnabled=e,e?this.startTracing():this.stopTracing()}newEditor(e,t,r){var n=Qg[this.mode]||Qg.default,s=r||n.isAsm,o=!!n.lineWrap,a=n.theme||Qg.default.theme,l=n.useLineNumbers&&!Rl;Te.embed&&(l=!1,s=!1);let c=n.noGutters||Rl;var f;switch(this.mode){case"6502":f=Nw();break;case"basic":f=Fw();break;case"bataribasic":f=Bw();break;case"fastbasic":f=Hw();break;case"dialog":f=Gw();break;case"inform6":f=Kw();break;case"markdown":f=Tw();break;case"text/x-csrc":f=Zy();break;case"text/x-wiz":f=e$();break;case"verilog":f=Jw();break;case"z80":f=r$();break;default:console.warn("Unknown mode: "+this.mode);break}this.editor=new ae({parent:e,doc:t,extensions:[s?[]:kr.of(" "),s?lp.of((O,p)=>{let b=O.state.doc.lineAt(p).number;if(b>=0){let y=O.state.doc.line(b);if(y.text.trim())return O.lineIndent(y.from)}return 0}):[],...AS(Tp()),Pr.of(XS),l?zx():[],Jv(),Pr.of(iS),bv(),Tx(),at.allowMultipleSelections.of(!0),kd(),dv(),Qv(),Xd(),_d(),Td(),Yx(),Fm(),Uw({top:!0}),Pr.of(jw),f||[],a,s$,o?ae.lineWrapping:[],Hl.field,c?[]:[eu.field,eu.gutter],s&&!c?[Bl.field,Bl.gutter,tu.field,tu.gutter]:[],iu.field,y$.gutter,ae.updateListener.of(O=>{for(let p of O.transactions.flatMap(b=>b.effects))if(p.is(iu.set)&&j.isRunning()&&this.runToBreakpoints(O.state),p.is(Qa.runToLine)){let b=p.value;if(this.sourcefile&&this.sourcefile.line2offset){let y=this.sourcefile.line2offset[b];y>=0&&yo([y])}}}),To.field,T$.field,nu.field,Qa.field,Qa.gutter,su.field,ou.field,yg,l$(O=>{window.location.hash="asseteditor/"+encodeURIComponent(this.path)+"/"+O}),gg.of([]),ae.updateListener.of(O=>{O.docChanged&&this.editorChanged()}),ru.field,ae.updateListener.of(O=>{O.selectionSet&&this.inspectUnderCursor(O)})]}),zS(this.editor)}editorChanged(){clearTimeout(this.updateTimer),
Line truncated
|
||||
`).length-1;this.editor.dispatch({changes:{from:n,insert:e}}),this.highlightLines(r-1,r+s-2)}highlightLines(e,t){let r=this.editor.state.doc.line(e+1);this.editor.dispatch({effects:[su.effect.of({start:e+1,end:t+1}),ae.scrollIntoView(r.from,{y:"start",yMargin:100})]})}navigateToLine(e){if(e<1||e>this.editor.state.doc.lines)return;let t=this.editor.state.doc.line(e);this.editor.dispatch({selection:{anchor:t.from},effects:[su.effect.of({start:e,end:e}),ae.scrollIntoView(t.from,{y:"center"})]}),this.editor.focus()}getValue(){return this.editor.state.doc.toString()}getPath(){return this.path}markErrors(e){this.clearErrors(),e=e.slice(0,XA);let t=new Map,r=[];for(var n of e)if(!n.path||this.path.endsWith(n.path)){var s=this.editor.state.doc.lines,o=n.line;(isNaN(o)||o<1||o>s)&&(o=1),t.set(o,n.msg),n.start!=null&&n.end!=null&&n.end>n.start&&r.push({line:o,start:n.start,end:n.end})}this.editor.dispatch({effects:[To.set.of(t),nu.effect.of(r.length>0?r:null)]})}clearErrors(){this.dirtylisting=!0,this.editor.dispatch({effects:[To.set.of(new Map),To.showMessage.of(null),nu.effect.of(null)]})}getSourceFile(){return this.sourcefile}updateListing(){this.clearErrors();var e=this.sourcefile.lines||[];let t=new Map,r=new Map,n=new Map;for(var s of e)if(s.offset>=0&&t.set(s.line,pt(s.offset&65535,4)),s.insns){var o=s.insns.length>9?"...":s.insns;if(r.set(s.line,o),s.iscode){if(s.cycles)n.set(s.line,s.cycles+"");else if(j.getOpcodeMetadata){var a=parseInt(s.insns.split(" ")[0],16),l=j.getOpcodeMetadata(a,s.offset);if(l&&l.minCycles){var c=l.minCycles+"";n.set(s.line,c)}}}}this.editor.dispatch({effects:[eu.set.of(t),Bl.set.of(r),tu.set.of(n)]})}setTimingResult(e){if(this.sourcefile!=null){var t=new Map;for(let o of Object.keys(this.sourcefile.line2offset)){let a=this.sourcefile.line2offset[o],l=e.pc2clockrange[a];var r=l&&l.minclocks,n=l&&l.maxclocks;if(r>=0&&n>=0){var s;n==r?s=r+"":s=r+"-"+n,n==e.MAX_CLOCKS&&(s+="+"),t.set(parseInt(o),s)}}this.editor.dispatch({effects:[Bl.set.of(t)]})}}setCurrentLine(e,t){var r=n=>{this.editor.dispatch({effects:[Qa.set.of(n.line),Hl.effect.of(n.line),...t?[ae.scrollIntoView(this.editor.state.doc.line(n.line).from,{y:"center"})]:[]]})};if(this.clearCurrentLine(t),e){if(e.line<1||e.line>this.editor.state.doc.lines)return;if(r(e),t){let s=this.editor.state.doc.line(e.line).from+(e.start||0);this.editor.dispatch({selection:{anchor:s,head:s},effects:ae.scrollIntoView(s,{y:"center"})})}this.currentDebugLine=e}}clearCurrentLine(e){if(this.currentDebugLine){if(e){let t=this.editor.state.selection.main.head;this.editor.dispatch({selection:{anchor:t,head:t}})}this.currentDebugLine=null}this.editor.dispatch({effects:[Qa.set.of(null),Hl.effect.of(null)]})}getActiveLine(){if(this.sourcefile){var e=Bn&&Bn.c;if(!e&&j.getCPUState&&!j.isRunning()&&(e=j.getCPUState()),e){var t=e&&(e.EPC||e.PC),r=this.sourcefile.findLineForOffset(t,Jl);return r}}}refreshDebugState(e){var t=this.getActiveLine();!e&&(t===this.currentDebugLine||!t&&!this.currentDebugLine)||this.setCurrentLine(t,e)}refreshListing(){var e=Ye.getListingForFile(this.path);e&&e.sourcefile&&e.sourcefile!==this.sourcefile&&(this.sourcefile=e.sourcefile,this.dirtylisting=!0),!(!this.sourcefile||!this.dirtylisting)&&(this.updateListing(),this.dirtylisting=!1)}refresh(e){this.refreshListing(),this.refreshDebugState(e)}tick(){this.refreshDebugState(!1),this.updateTracedLines()}updateTracedLines(){let e=this.probe;if(!e||!e.idx||!this.sourcefile)return;let t=new Set;for(let r=0;r<e.idx;r++){let n=e.buf[r];if((n&4278190080)===16777216){let s=this.sourcefile.findLineForOffset(n&65535,Jl);s&&t.add(s.line)}}e.clear(),this.editor.dispatch({effects:ou.effect.of(Array.from(t))})}getLine(e){return this.editor.state.doc.line(e).text}getCurrentLine(){let e=this.editor.state.selection.main.head;return this.editor.state.doc.lineAt(e).number}getCursorPC(){for(var e=this.getCurrentLine();this.sourcefile&&e>=0;){var t=this.sourcefile.line2offset[e];if(t>=0)return t;e--}return-1}undoStep(){Dh(this.editor)}redoStep(){Sl(this.editor)}getBreakpointPCs(){if(this.sourcefile==null)return[];let e=[],r=this.editor.state.field(iu.field).iter();for(;r.value;){let n=this.editor.state.doc.lineAt(r.from).number,s=this.sourcefile.line2offset[n];s>=0&&e.push(s),r.next()}return e}runToBreakpoints(e){let t=this.getBreakpointPCs();t.length>0?yo(t):Xo()}};Kl.tracingEnabled=!1;var wn=Kl,wg=1024,ec=class{createDiv(e){var t=document.createElement("div");return t.setAttribute("class","editor"),e.appendChild(t),this.newEditor(t),t}newEditor(e){this.disasmview=new ae({parent:e,extensions:[Xd(),_d(),at.allowMultipleSelections.of(!0),kd(),Td(),Fm(),n$,Bf,Hl.field,at.tabSize.of(8),at.readOnly.of(!0)]})}refresh(e){let t=Bn||j.saveState(),r=t.c?t.c.PC:0,n=0,s=0,o=j.debugSymbols&&j.debugSymbols.addr2symbol||{},a=(f,O)=>{let p="",b=0;for(;b<O;){let y=f+b|0,P=j.disassemble(y,j.readAddress.bind(j)),X="",A="";for(let B=0;B<P.nbytes;B++)X+=pt(j.readAddress(y+B));for(;X.length<14;)X+=" ";let H=P.line;if(o&&P.i
Line truncated
|
||||
`;p+=q,y==r&&(s=n),n++,b+=P.nbytes||1}return p};var l=r<0?r-wg:Math.max(0,r-wg);let c=a(l,r-l)+a(r,wg);if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:c}}),e){let f=this.disasmview.state.doc.line(s+1);this.disasmview.dispatch({selection:{anchor:f.from,head:f.from},effects:ae.scrollIntoView(f.from,{y:"center"})})}}getCursorPC(){let e=this.disasmview.state.selection.main.head,t=this.disasmview.state.doc.lineAt(e).number;if(t>=0){let n=this.disasmview.state.doc.line(t).text.trim().split(/\s+/);if(n&&n.length>=1){let s=parseInt(n[0],16);if(console.log("getCursorPC",s),s>=0)return s}}return-1}},au=class extends ec{constructor(e){super(),this.path=e}refreshListing(){var e=Ye.getListingForFile(this.path);this.assemblyfile=e&&(e.assemblyfile||e.sourcefile)}refresh(e){if(this.refreshListing(),!!this.assemblyfile){var t=this.assemblyfile.text;if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:t}}),!!j.saveState){var r=Bn||j.saveState(),n=r.c?r.c.EPC||r.c.PC:0;if(n>=0&&this.assemblyfile){var s=this.assemblyfile.findLineForOffset(n,Jl);if(s&&e){let o=this.disasmview.state.doc.line(s.line);this.disasmview.dispatch({selection:{anchor:o.from,head:o.from},effects:ae.scrollIntoView(o.from,{y:"center"})})}}}}}};var tc=256,U$=100,A$=!1,lu=class i{constructor(e,t){this.expanded=!1;this.parent=e,this.name=t,this.children=new Map,this.level=e?e.level+1:-1,this.view=e?e.view:null}getDiv(){return this._div==null&&(this._div=document.createElement("div"),this._div.classList.add("vertical-scroll"),this._div.classList.add("tree-content"),this._header=document.createElement("div"),this._header.classList.add("tree-header"),this._header.classList.add("tree-level-"+this.level),this._header.append(this.name),this._inline=document.createElement("span"),this._inline.classList.add("tree-value"),this._header.append(this._inline),this._div.append(this._header),this.parent._content.append(this._div),this._header.onclick=e=>{this.toggleExpanded()}),this.expanded&&this._content==null?(this._content=document.createElement("div"),this._div.append(this._content)):!this.expanded&&this._content!=null&&(this._content.remove(),this._content=null,this.children.clear()),this._div}toggleExpanded(){this.expanded=!this.expanded,this.view.tick()}remove(){this._div.remove(),this._div=null}update(e){this.getDiv();var t="";if(e&&e.$$&&typeof e.$$=="function"&&this._content!=null&&(e=e.$$()),e==null)t=e+"";else if(typeof e=="number")e!=(e|0)?t=e.toString():t=e+" ($"+pt(e)+")";else if(typeof e=="boolean")t=e.toString();else if(typeof e=="string")e.length<U$?t=e:t=e.substring(0,U$)+"...";else if(e.buffer&&e.length<=tc)t=o0(e,0,e.length);else if(typeof e=="object"||typeof e=="function")if(this._content!=null){if(e.slice&&e.length>tc){let l={},c=e;for(var r=tc;e.length/r>tc;)r*=2;for(let f=0;f<c.length;f+=r)l["$"+pt(f)]={$$:()=>c.slice(f,f+r)};e=l}if(e instanceof Map){let l={};for(let[c,f]of e.entries())l[c]=f;e=l}let o=e instanceof Array?Array.from(e.keys()):Object.getOwnPropertyNames(e);if(o.length>tc){let l={},c=e;for(var r=100;o.length/r>100;)r*=2;for(let O=0;O<o.length;O+=r){for(var n={},s=O;s<O+r;s++)n[o[s]]=c[o[s]];l["["+O+"...]"]=n}e=l,o=Object.getOwnPropertyNames(e)}let a=new Set(this.children.keys());o.forEach(l=>{var c=!A$&&typeof l=="string"&&l.startsWith("$$");if(!c){let f=this.children.get(l);f==null&&(f=new i(this,l),this.children.set(l,f)),f.update(e[l])}a.delete(l)}),a.forEach(l=>{this.children.get(l).remove(),this.children.delete(l)}),this._header.classList.add("tree-expanded"),this._header.classList.remove("tree-collapsed")}else this._header.classList.add("tree-collapsed"),this._header.classList.remove("tree-expanded");else t=typeof e;this._inline.innerText!=t&&(this._inline.innerText=t)}};function E$(i,e){var t=new lu(null,null);t.view=e,t._content=i;var r=new lu(t,"/");return r.expanded=!0,r.getDiv(),r._div.style.padding="0px",r}var $g=class{createDiv(e){return this.root=E$(e,this),this.root.getDiv()}refresh(){this.tick()}tick(){this.root.update(this.getRootObject())}};var cu=class extends $g{getRootObject(){return j.getDebugTree()}},hu=class extends $s{constructor(){super(...arguments);this.cumulativeData=!0}createDiv(t){return this.clear(),this.treeroot=E$(t,this),this.treeroot.getDiv()}refresh(){this.tick()}tick(){this.treeroot.update(this.getRootObject()),this.probe&&this.probe.clear()}clear(){this.graph=null,this.reset()}reset(){this.stack=[],this.lastsp=-1,this.lastpc=0,this.jsr=!1,this.rts=!1}newNode(t,r){return{$$SP:r,$$PC:t,count:0,startLine:null,endLine:null,calls:{}}}newRoot(t,r){this.stack.length==0?(this.graph=this.newNode(null,r),this.stack.unshift(this.graph)):r>this.stack[0].$$SP&&(this.graph=this.newNode(null,r),this.graph.calls[this.addr2str(t)]=this.stack[0],this.stack.unshift(this.graph))}getRootObject(){return this.redraw((t,r,n,s,o,a)=>{switch(t){case 184549376:this.newRoot(this.lastpc,this.lastsp);case 167772160:if(this.stack.length){let c=this.st
Line truncated
|
||||
`,await s1(i),Te.newfile?!r&&!t?Ke('No build tool for "'+i+'" on this platform; project will not build.'):r?Mg(!0,!0):Ii("No skeleton file for "+t+" on this platform; using blank file."):Ii('Could not find file "'+i+'"<br><br>Creating new '+(r?t:"blank")+" file."),delete Te.newfile,Su()}}function Wg(i){if(i=="/")Te={repo:"/"};else if(i.indexOf("://")>=0){var e=wl(i);e&&(Te={repo:e.repopath})}else Te.platform=Ae,Te.file=i;bo()}async function gE(i){var e=Iu(j.getToolForFilename(i));try{return await $.get("presets/"+Ai(Ae)+"/skeleton."+e,"text")}catch(t){return console.log(t+""),null}}function Vg(i){return i.indexOf(" ")>=0?(Ke("No spaces in filenames, please."),!1):!0}async function bE(i){var e=Ai(Ae),t={},r=[];for(var n of i){var s=j.getToolForFilename("test"+n);t[s]||(t[s]=[],r.push(s)),t[s].push(n)}var o=r.map(f=>$.ajax({url:"presets/"+e+"/skeleton."+Iu(f),type:"HEAD"}).then(()=>f,()=>null)),a=await Promise.all(o),l=[];for(var c of a)c!=null&&l.push({tool:c,extensions:t[c]});return l}async function xE(i){var e=await bE(j.getDefaultExtensions()),t,r;return e.length===0?(t=j.getDefaultExtensions(),r=t.join(" ")):(t=e.reduce((n,s)=>n.concat(s.extensions),[]),r=e.map(n=>n.extensions.join(" ")).join("<br>")),bootbox.prompt({title:"Enter the name of your new main source file.<br><br><span class='dialog-help'>"+r+"</span>",placeholder:"newfile"+t[0],callback:n=>{if(n&&n.trim().length>0){if(!Vg(n))return;n.indexOf(".")<0&&(n+=t[0]);var s=n;Te.newfile="1",Wg(s)}}}),!0}function vE(i){let e=$('<input type="file" multiple accept="*" style="display:none">'),t=e[0];e.change(r=>{SE(t.files)}),e.click()}function SE(i){console.log(i);var e=0;function t(){var r=i[e++];if(!r)console.log("Done uploading",e),e>2?(Ii("Files uploaded."),setTimeout(hc,1e3)):(Te.file=i[0].name,bootbox.confirm({message:"Open '"+Co.sanitize(Te.file)+"' as main project file?",buttons:{confirm:{label:"Open As New Project"},cancel:{label:"Include/Link With Project Later"}},callback:o=>{o?bo():setTimeout(hc,1e3)}}));else{var n=r.name,s=new FileReader;s.onload=function(o){var a=o.target.result,l=new Uint8Array(a);Bs(n,l)||(l=vc(l).replace(`\r
|
||||
`,`
|
||||
`)),$e.updateFile(n,l),console.log("Uploaded "+n+" "+l.length+" bytes"),t()},s.readAsArrayBuffer(r)}}i&&t()}async function cE(i){var e=window.showDirectoryPicker;e||Ke("This browser can't open local files on your computer, yet. Try Chrome.");var t=await e(),r=t.name,n="__localfs__"+r,s={handle:t},o=Zg.createInstance({name:n,version:2});await o.setItem(n,s),Te={localfs:r},mo(!0)}async function hE(i){return new Promise((e,t)=>{bootbox.prompt(_o.sanitize(i),r=>{e(r)})})}async function fE(i){let e={mode:"readwrite"};var t="__localfs__"+i,r=Zg.createInstance({name:t,version:2}),n=await r.getItem(t),s=n.handle;console.log(n,s);var o=await s.queryPermission(e);if(console.log(o),o!=="granted"&&(await hE("Request permissions to access filesystem?"),o=await s.requestPermission(e)),o!=="granted"){Ke("Could not get permission to access filesystem.");return}let a={};return{getFileData:async l=>{console.log("getFileData",l);let f=await(await s.getFileHandle(l,{create:!1})).getFile(),O=await(Ns(l)?f.arrayBuffer():f.text());return O instanceof ArrayBuffer?new Uint8Array(O):O},setFileData:async(l,c)=>{a[l]=Date.now();let O=await(await s.getFileHandle(l,{create:!0})).createWritable();await O.write(c),await O.close()},onFileSystemUpdate:l=>{if(typeof window.FileSystemObserver=="undefined")return;new window.FileSystemObserver((f,O)=>{for(let p of f)if(p.changedHandle){let b=p.changedHandle.name;if(Date.now()-(a[b]||0)<2e3)continue;l(b)}}).observe(s,{recursive:!0})}}}function Jt(){return xi(Ye.mainPath)}function Wy(){return xi($e.getActiveID())}function uE(i){var e=$e.getActive(),t=$e.getActiveID(),r=e&&e.setData&&!e.setText;if(e&&(e.setText||e.setData)){var n="presets/"+Zi(Ae)+"/"+t;Aa(n,s=>{if(s==null){qt?Ke("Can only revert built-in examples. If you want to revert all files, You can pull from the repository."):Ke("Can only revert built-in examples.");return}bootbox.confirm("Reset '"+_o.sanitize(t)+"' to default?",o=>{o&&(r?(e.setData(s),Ye.updateFile(t,s)):e.setText(s))})},r?"arraybuffer":"text")}else Ke("Cannot revert the active window. Please choose a text file.")}function OE(i){var e=$e.getActive();if(e&&e.getPath){var t=$e.getActiveID();bootbox.confirm("Delete '"+_o.sanitize(t)+"'?",r=>{r&&Cr.removeItem(t).then(()=>{Te.file==t?(Ro.unsetLastPreset(),mo()):(oc(),qi("Deleted "+t))})})}else Ke("Cannot delete the active window.")}function dE(i){var e=$e.getActive();if(e&&e.getPath&&Ye.getFile(e.getPath())){var t=$e.getActiveID();bootbox.prompt({title:"Rename '"+_o.sanitize(t)+"' to?",value:t,callback:r=>{var n=Ye.getFile(e.getPath());if(r&&r!=t&&n){if(!zg(r))return;Cr.removeItem(t).then(()=>Cr.setItem(r,n)).then(()=>{oc(),alert("Renamed "+t+" to "+r),t==Ye.mainPath&&Eg(r)})}}})}else Ke("Cannot rename the active window.")}function pE(i){let e={},t,r=j.getPresets?j.getPresets():[];for(var n=0;n<r.length;n++){var s=r[n],o=s.chapter?s.chapter+". "+s.name:s.name,a=s.id==Ye.mainPath;s.category?t=$("<optgroup />").attr("label","Examples: "+s.category).appendTo(i):t||(t=$("<optgroup />").attr("label","Examples").appendTo(i)),t.append($("<option />").val(s.id).text(o).attr("selected",a?"selected":null)),a&&(hu=s),e[s.id]=o}return e}function mE(i){if(Rr&&!ac){var e=0,t=ua();if(t){let n=$("<optgroup />").attr("label","Repositories").appendTo(i);for(let s in t){var r=t[s];r.platform_id&&Zi(r.platform_id)==Zi(Ae)&&n.append($("<option />").val(r.url).text(r.url.substring(r.url.indexOf("/"))))}}}}async function F$(i,e,t,r){let n=await Cr.keys();n||(n=[]);let s;for(var o=0;o<n.length;o++){let a=n[o];if(a.startsWith(t)&&!r[a]){s||(s=$("<optgroup />").attr("label",e).appendTo(i));let l=a.substring(t.length);s.append($("<option />").val(a).text(l).attr("selected",a==Ye.mainPath?"selected":null))}}}function H$(i){i.css("visibility","visible");var e=Ye.mainPath;i.val()!=e&&i.append($("<option />").val(e).text(e).attr("selected","selected"))}async function oc(){var i=$("#preset_select").empty();if(qt)i.append($("<option />").val("/").text("Leave Repository")),$("#repo_name").text(xi(qt)+"/").show(),await F$(i,qt,"",{}),H$(i);else{mE(i);var e=pE(i);await F$(i,"Local Files","",e),H$(i)}i.off("change").change(function(t){Eg($(this).val().toString())})}function gE(i){var e=$("<p/>");if(i.path!=null){var t=i.line?i.label?`(${i.path} @ ${i.label})`:`(${i.path}:${i.line})`:`(${i.path})`,r=$("<a/>").text(t),n=i.path;n==Jt()&&(n=Ye.mainPath),$e.isWindow(n)&&r.click(s=>{var o=$e.createOrShow(n);o instanceof Sn&&o.navigateToLine(i.line)}),e.append(r),e.append(" ")}return e.append($("<span/>").text(i.msg)),e}function t1(){$("#error_alert").hide(),Ug=!1}function Yg(i,e){var t=$("#error_alert_msg").empty();for(var r of i.slice(0,10))t.append(gE(r));$("#error_alert").show(),Ug=e}function i1(i,e){if(e!=null){var t={msg:e,line:0};i instanceof zu&&i.$loc&&(t=Object.create(i.$loc),t.msg=e,console.log(t)),Yg([t],!0)}}async function bE(i){if("uppercaseOnly"in i&&Q$(i.uppercaseOnly),"errors"in i&&i.errors.length>0)rc.addClass("has-errors"),$e.setErrors(i.errors),
Line truncated
|
||||
`)),$e.updateFile(n,l),console.log("Uploaded "+n+" "+l.length+" bytes"),t()},s.readAsArrayBuffer(r)}}i&&t()}async function yE(i){var e=window.showDirectoryPicker;e||Ke("This browser can't open local files on your computer, yet. Try Chrome.");var t=await e(),r=t.name,n="__localfs__"+r,s={handle:t},o=jg.createInstance({name:n,version:2});await o.setItem(n,s),Te={localfs:r},bo(!0)}async function QE(i){return new Promise((e,t)=>{bootbox.prompt(Co.sanitize(i),r=>{e(r)})})}async function wE(i){let e={mode:"readwrite"};var t="__localfs__"+i,r=jg.createInstance({name:t,version:2}),n=await r.getItem(t),s=n.handle;console.log(n,s);var o=await s.queryPermission(e);if(console.log(o),o!=="granted"&&(await QE("Request permissions to access filesystem?"),o=await s.requestPermission(e)),o!=="granted"){Ke("Could not get permission to access filesystem.");return}let a={};return{getFileData:async l=>{console.log("getFileData",l);let f=await(await s.getFileHandle(l,{create:!1})).getFile(),O=await(Bs(l)?f.arrayBuffer():f.text());return O instanceof ArrayBuffer?new Uint8Array(O):O},setFileData:async(l,c)=>{a[l]=Date.now();let O=await(await s.getFileHandle(l,{create:!0})).createWritable();await O.write(c),await O.close()},onFileSystemUpdate:l=>{if(typeof window.FileSystemObserver=="undefined")return;new window.FileSystemObserver((f,O)=>{for(let p of f)if(p.changedHandle){let b=p.changedHandle.name;if(Date.now()-(a[b]||0)<2e3)continue;l(b)}}).observe(s,{recursive:!0})}}}function ti(){return Si(Ye.mainPath)}function HS(){return Si($e.getActiveID())}function $E(i){var e=$e.getActive(),t=$e.getActiveID(),r=e&&e.setData&&!e.setText;if(e&&(e.setText||e.setData)){var n="presets/"+Ai(Ae)+"/"+t;Ya(n,s=>{if(s==null){It?Ke("Can only revert built-in examples. If you want to revert all files, You can pull from the repository."):Ke("Can only revert built-in examples.");return}bootbox.confirm("Reset '"+Co.sanitize(t)+"' to default?",o=>{o&&(r?(e.setData(s),Ye.updateFile(t,s)):e.setText(s))})},r?"arraybuffer":"text")}else Ke("Cannot revert the active window. Please choose a text file.")}function PE(i){var e=$e.getActive();if(e&&e.getPath){var t=$e.getActiveID();bootbox.confirm("Delete '"+Co.sanitize(t)+"'?",r=>{r&&Ur.removeItem(t).then(()=>{Te.file==t?(Zo.unsetLastPreset(),bo()):(hc(),Ii("Deleted "+t))})})}else Ke("Cannot delete the active window.")}function kE(i){var e=$e.getActive();if(e&&e.getPath&&Ye.getFile(e.getPath())){var t=$e.getActiveID();bootbox.prompt({title:"Rename '"+Co.sanitize(t)+"' to?",value:t,callback:r=>{var n=Ye.getFile(e.getPath());if(r&&r!=t&&n){if(!Vg(r))return;Ur.removeItem(t).then(()=>Ur.setItem(r,n)).then(()=>{hc(),alert("Renamed "+t+" to "+r),t==Ye.mainPath&&Wg(r)})}}})}else Ke("Cannot rename the active window.")}function TE(i){let e={},t,r=j.getPresets?j.getPresets():[];for(var n=0;n<r.length;n++){var s=r[n],o=s.chapter?s.chapter+". "+s.name:s.name,a=s.id==Ye.mainPath;s.category?t=$("<optgroup />").attr("label","Examples: "+s.category).appendTo(i):t||(t=$("<optgroup />").attr("label","Examples").appendTo(i)),t.append($("<option />").val(s.id).text(o).attr("selected",a?"selected":null)),a&&(du=s),e[s.id]=o}return e}function XE(i){if(Zr&&!fc){var e=0,t=pa();if(t){let n=$("<optgroup />").attr("label","Repositories").appendTo(i);for(let s in t){var r=t[s];r.platform_id&&Ai(r.platform_id)==Ai(Ae)&&n.append($("<option />").val(r.url).text(r.url.substring(r.url.indexOf("/"))))}}}}async function o1(i,e,t,r){let n=await Ur.keys();n||(n=[]);let s;for(var o=0;o<n.length;o++){let a=n[o];if(a.startsWith(t)&&!r[a]){s||(s=$("<optgroup />").attr("label",e).appendTo(i));let l=a.substring(t.length);s.append($("<option />").val(a).text(l).attr("selected",a==Ye.mainPath?"selected":null))}}}function a1(i){i.css("visibility","visible");var e=Ye.mainPath;i.val()!=e&&i.append($("<option />").val(e).text(e).attr("selected","selected"))}async function hc(){var i=$("#preset_select").empty();if(It)i.append($("<option />").val("/").text("Leave Repository")),$("#repo_name").text(Si(It)+"/").show(),await o1(i,It,"",{}),a1(i);else{XE(i);var e=TE(i);await o1(i,"Local Files","",e),a1(i)}i.off("change").change(function(t){Wg($(this).val().toString())})}function _E(i){var e=$("<p/>");if(i.path!=null){var t=i.line?i.label?`(${i.path} @ ${i.label})`:`(${i.path}:${i.line})`:`(${i.path})`,r=$("<a/>").text(t),n=i.path;n==ti()&&(n=Ye.mainPath),$e.isWindow(n)&&r.click(s=>{var o=$e.createOrShow(n);o instanceof wn&&o.navigateToLine(i.line)}),e.append(r),e.append(" ")}return e.append($("<span/>").text(i.msg)),e}function f1(){$("#error_alert").hide(),Lg=!1}function qg(i,e){var t=$("#error_alert_msg").empty();for(var r of i.slice(0,10))t.append(_E(r));$("#error_alert").show(),Lg=e}function u1(i,e){if(e!=null){var t={msg:e,line:0};i instanceof Mu&&i.$loc&&(t=Object.create(i.$loc),t.msg=e,console.log(t)),qg([t],!0)}}async function RE(i){if("uppercaseOnly"in i&&Z$(i.uppercaseOnly),"errors"in i&&i.errors.length>0)ac.addClass("has-errors"),$e.setErrors(i.errors),
Line truncated
|
||||
`),e.SP&&(t+="c.SP < 0x"+pt(e.SP)+`
|
||||
`),e.HL&&(t+=`c.HL == 0x4000
|
||||
`),j.readAddress&&(t+=`this.readAddress(0x1234) == 0x0
|
||||
`),j.readVRAMAddress&&(t+=`this.readVRAMAddress(0x1234) != 0x80
|
||||
`),j.getRasterScanline&&(t+=`this.getRasterScanline() > 222
|
||||
`),t}function ZE(i){var e=new Function("c","return ("+i+");").bind(j);vn(),j.runEval(e),e1=i}function o1(){j.isRunning()?($e.tick(),fu=!1):fu||($e.tick(),fu=!0),setTimeout(o1,100)}function mu(i){j.setFrameRate(i),i>.01?$("#fps_label").text(i.toFixed(2)):$("#fps_label").text("1/"+Math.round(1/i))}function UE(){var i=j.getFrameRate();i=i/2,i>1e-5&&mu(i)}function AE(){var i=j.getFrameRate();i=Math.min(60,i*2),mu(i)}function EE(){mu(60/65536)}function zE(){Bn(),mu(60)}function YE(){$e.refresh(!1);var i=$e.getActive();if(i.getSourceFile&&i.setTimingResult){var e=j.newCodeAnalyzer();e.showLoopTimingForPC(0),i.setTimingResult(e)}}function Lg(){wa&&(j.setRecorder(null),$("#dbg_record").removeClass("btn_recording"),$("#replaydiv").hide(),jg(),wa=!1)}function a1(){wa&&Wi.reset()}function l1(){Wi.reset(),j.setRecorder(Wi),$("#dbg_record").addClass("btn_recording"),$("#replaydiv").show(),wa=!0}function jE(){wa?Lg():l1()}function LE(){var i=!Sn.tracingEnabled;$("#dbg_tracelines").toggleClass("btn_active",i);var e=$e.getActive();e instanceof Sn?e.setTracingEnabled(i):Sn.tracingEnabled=i}function Jr(i,e,t){var r=$e.getActive();r&&r.insertLinesBefore?bootbox.prompt({title:"Add "+_o.sanitize(i)+" File to Project",value:"filename"+_o.sanitize(e),callback:n=>{if(n&&n.trim().length>0){if(!zg(n))return;var s=n,o=`
|
||||
`),t}function IE(i){var e=new Function("c","return ("+i+");").bind(j);yn(),j.runEval(e),h1=i}function m1(){j.isRunning()?($e.tick(),pu=!1):pu||($e.tick(),pu=!0),setTimeout(m1,100)}function vu(i){j.setFrameRate(i),i>.01?$("#fps_label").text(i.toFixed(2)):$("#fps_label").text("1/"+Math.round(1/i))}function NE(){var i=j.getFrameRate();i=i/2,i>1e-5&&vu(i)}function FE(){var i=j.getFrameRate();i=Math.min(60,i*2),vu(i)}function BE(){vu(60/65536)}function GE(){Hn(),vu(60)}function HE(){$e.refresh(!1);var i=$e.getActive();if(i.getSourceFile&&i.setTimingResult){var e=j.newCodeAnalyzer();e.showLoopTimingForPC(0),i.setTimingResult(e)}}function Ig(){ka&&(j.setRecorder(null),$("#dbg_record").removeClass("btn_recording"),$("#replaydiv").hide(),Dg(),ka=!1)}function g1(){ka&&Vi.reset()}function b1(){Vi.reset(),j.setRecorder(Vi),$("#dbg_record").addClass("btn_recording"),$("#replaydiv").show(),ka=!0}function KE(){ka?Ig():b1()}function JE(){var i=!wn.tracingEnabled;$("#dbg_tracelines").toggleClass("btn_active",i);var e=$e.getActive();e instanceof wn?e.setTracingEnabled(i):wn.tracingEnabled=i}function tn(i,e,t){var r=$e.getActive();r&&r.insertLinesBefore?bootbox.prompt({title:"Add "+Co.sanitize(i)+" File to Project",value:"filename"+Co.sanitize(e),callback:n=>{if(n&&n.trim().length>0){if(!Vg(n))return;var s=n,o=`
|
||||
`+t(n)+`
|
||||
`;Ye.loadFiles([s]).then(a=>{a&&a.length?Ke(n+" already exists; including anyway"):Ye.updateFile(s,`
|
||||
`),r.insertLinesBefore(o),nc()})}}}):Ke("Can't insert text in this window -- switch back to main file")}function WE(){var i=Jt(),e=j.getToolForFilename(i);i.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?Jr("Header",".h",t=>'#include "'+t+'"'):e=="dasm"||e=="zmac"?Jr("Include",".inc",t=>' include "'+t+'"'):e=="ca65"||e=="sdasz80"||e=="vasm"||e=="armips"?Jr("Include",".inc",t=>' .include "'+t+'"'):e=="verilator"?Jr("Verilog",".v",t=>'`include "'+t+'"'):e=="wiz"?Jr("Include",".wiz",t=>'import "'+t+'";'):e=="ecs"?Jr("Include",".ecs",t=>'import "'+t+'"'):e=="acme"?Jr("Include",".acme",t=>'!src "'+t+'"'):e=="xa"?Jr("Include",".xa",t=>'#include "'+t+'"'):e=="dialog"?Jr("Include",".dg",t=>'%% #include "'+t+'"'):Ke("Can't add include file to this project type ("+e+")")}function VE(){var i=Jt(),e=j.getToolForFilename(i);i.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?Jr("Linked C (or .s)",".c",t=>'//#link "'+t+'"'):i.endsWith("asm")||i.endsWith(".s")||e=="ca65"||e=="lwasm"?Jr("Linked ASM",".inc",t=>';#link "'+t+'"'):Ke("Can't add linked file to this project type ("+e+")")}function ME(){if(It=new yc($("#toolbar")[0],null),It.grp.prop("id","run_bar"),It.add("ctrl+alt+r","Reset","glyphicon-refresh",XE).prop("id","dbg_reset"),It.add("ctrl+alt+,","Pause","glyphicon-pause",yE).prop("id","dbg_pause"),It.add("ctrl+alt+.","Resume","glyphicon-play",n1).prop("id","dbg_go"),j.restartAtPC&&It.add("ctrl+alt+/","Restart at Cursor","glyphicon-play-circle",$E).prop("id","dbg_restartatline"),It.newGroup(),It.grp.prop("id","debug_bar"),j.runEval&&It.add("ctrl+alt+e","Reset and Debug","glyphicon-fast-backward",_E).prop("id","dbg_restart"),j.stepBack&&It.add("ctrl+alt+b","Step Backwards","glyphicon-step-backward",TE).prop("id","dbg_stepback"),j.step&&It.add("ctrl+alt+s","Single Step","glyphicon-step-forward",SE).prop("id","dbg_step"),j.stepOver&&It.add("ctrl+alt+t","Step Over","glyphicon-hand-right",QE).prop("id","dbg_stepover"),j.runUntilReturn&&It.add("ctrl+alt+o","Step Out of Subroutine","glyphicon-hand-up",kE).prop("id","dbg_stepout"),j.runToVsync&&It.add("ctrl+alt+n","Next Frame/Interrupt","glyphicon-forward",wE).prop("id","dbg_tovsync"),(j.runEval||j.runToPC)&&!Ae.startsWith("verilog")&&It.add("ctrl+alt+l","Run To Line","glyphicon-save",PE).prop("id","dbg_toline"),It.newGroup(),It.grp.prop("id","xtra_bar"),$(".dropdown-menu").collapse({toggle:!1}),$("#item_new_file").click(oE),$("#item_upload_file").click(aE),$("#item_open_directory").click(cE),$("#item_github_login").click(Vy),$("#item_github_logout").click(My),$("#item_github_import").click(qy),$("#item_github_publish").click(Dy),$("#item_github_push").click(Iy),$("#item_github_pull").click(Ny),$("#item_repo_delete").click(By),$("#item_share_file").click(Cy),$("#item_reset_file").click(uE),$("#item_rename_file").click(dE),$("#item_delete_file").click(OE),j.runEval?$("#item_debug_expr").click(RE).show():$("#item_debug_expr").hide(),$("#item_download_rom").click(Uy),$("#item_download_file").click(Ay),$("#item_download_zip").click(zy),j.getDebugSymbolFile?$("#item_download_sym").click(Yy):$("#item_download_sym").hide(),$("#item_download_allzip").click(jy),$("#item_record_video").click(Ly),wp()?$("#item_export_cassette").click(Zy):$("#item_export_cassette").hide(),j.setFrameRate&&j.getFrameRate&&($("#dbg_slower").click(UE),$("#dbg_faster").click(AE),$("#dbg_slowest").click(EE),$("#dbg_fastest").click(zE)),$("#item_addfile_include").click(WE),$("#item_addfile_link").click(VE),$("#item_request_persist").click(()=>Ag(!0,!1)),$("#item_settings").click(Ty),$("#item_keyboard_shortcuts").click(qE),$("#item_asset_editor_help").click(DE),o1(),j.newCodeAnalyzer&&It.add(null,"Analyze CPU Timing","glyphicon-time",YE),j.startProbing&&It.add(null,"Highlight Executed Lines","glyphicon-fire",LE).prop("id","dbg_tracelines"),j.setRecorder&&j.advance&&IE(),j.showHelp){let{li:t,a:r}=_g("help__"+Ae,Tg+" Help");$("#help_menu").append(t),$(r).click(()=>window.open(j.showHelp(),"_8bws_help"))}let i=j.getToolForFilename(Jt()),e=FA[i];if(e){let{li:t,a:r}=_g("help__"+i,i+" Help");$("#help_menu").append(t),$(r).click(()=>window.open(e,"_8bws_help"))}}function qE(){let i=/Mac|iPhone|iPad/.test(navigator.platform),e=i?"⌘":"Ctrl",t=i?"⌥":"Alt",r=i?"⇧":"Shift",n=(s,o)=>`<tr><td><kbd>${s}</kbd></td><td>${o}</td></tr>`;bootbox.dialog({title:"Keyboard shortcuts",onEscape:!0,message:`
|
||||
`),r.insertLinesBefore(o),lc()})}}}):Ke("Can't insert text in this window -- switch back to main file")}function e5(){var i=ti(),e=j.getToolForFilename(i);i.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?tn("Header",".h",t=>'#include "'+t+'"'):e=="dasm"||e=="zmac"?tn("Include",".inc",t=>' include "'+t+'"'):e=="ca65"||e=="sdasz80"||e=="vasm"||e=="armips"?tn("Include",".inc",t=>' .include "'+t+'"'):e=="verilator"?tn("Verilog",".v",t=>'`include "'+t+'"'):e=="wiz"?tn("Include",".wiz",t=>'import "'+t+'";'):e=="ecs"?tn("Include",".ecs",t=>'import "'+t+'"'):e=="acme"?tn("Include",".acme",t=>'!src "'+t+'"'):e=="xa"?tn("Include",".xa",t=>'#include "'+t+'"'):e=="dialog"?tn("Include",".dg",t=>'%% #include "'+t+'"'):Ke("Can't add include file to this project type ("+e+")")}function t5(){var i=ti(),e=j.getToolForFilename(i);i.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?tn("Linked C (or .s)",".c",t=>'//#link "'+t+'"'):i.endsWith("asm")||i.endsWith(".s")||e=="ca65"||e=="lwasm"?tn("Linked ASM",".inc",t=>';#link "'+t+'"'):Ke("Can't add linked file to this project type ("+e+")")}function i5(){var t;if(Ft=new $c($("#toolbar")[0],null),Ft.grp.prop("id","run_bar"),Ft.add("ctrl+alt+r","Reset","glyphicon-refresh",WE).prop("id","dbg_reset"),Ft.add("ctrl+alt+,","Pause","glyphicon-pause",UE).prop("id","dbg_pause"),Ft.add("ctrl+alt+.","Resume","glyphicon-play",d1).prop("id","dbg_go"),j.restartAtPC&&Ft.add("ctrl+alt+/","Restart at Cursor","glyphicon-play-circle",YE).prop("id","dbg_restartatline"),Ft.newGroup(),Ft.grp.prop("id","debug_bar"),j.runEval&&Ft.add("ctrl+alt+e","Reset and Debug","glyphicon-fast-backward",VE).prop("id","dbg_restart"),j.stepBack&&Ft.add("ctrl+alt+b","Step Backwards","glyphicon-step-backward",ME).prop("id","dbg_stepback"),j.step&&Ft.add("ctrl+alt+s","Single Step","glyphicon-step-forward",AE).prop("id","dbg_step"),j.stepOver&&Ft.add("ctrl+alt+t","Step Over","glyphicon-hand-right",EE).prop("id","dbg_stepover"),j.runUntilReturn&&Ft.add("ctrl+alt+o","Step Out of Subroutine","glyphicon-hand-up",LE).prop("id","dbg_stepout"),j.runToVsync&&Ft.add("ctrl+alt+n","Next Frame/Interrupt","glyphicon-forward",zE).prop("id","dbg_tovsync"),(j.runEval||j.runToPC)&&!Ae.startsWith("verilog")&&Ft.add("ctrl+alt+l","Run To Line","glyphicon-save",jE).prop("id","dbg_toline"),Ft.newGroup(),Ft.grp.prop("id","xtra_bar"),$(".dropdown-menu").collapse({toggle:!1}),$("#item_new_file").click(xE),$("#item_upload_file").click(vE),$("#item_open_directory").click(yE),$("#item_github_login").click(KS),$("#item_github_logout").click(JS),$("#item_github_import").click(ey),$("#item_github_publish").click(ty),$("#item_github_push").click(iy),$("#item_github_pull").click(ry),$("#item_repo_delete").click(sy),$("#item_share_file").click(WS),$("#item_reset_file").click($E),$("#item_rename_file").click(kE),$("#item_delete_file").click(PE),j.runEval?$("#item_debug_expr").click(qE).show():$("#item_debug_expr").hide(),$("#item_download_rom").click(qS),$("#item_download_file").click(DS),$("#item_download_zip").click(NS),j.getDebugSymbolFile?$("#item_download_sym").click(FS):$("#item_download_sym").hide(),$("#item_download_allzip").click(BS),$("#item_record_video").click(GS),_p()?$("#item_export_cassette").click(VS):$("#item_export_cassette").hide(),j.setFrameRate&&j.getFrameRate&&($("#dbg_slower").click(NE),$("#dbg_faster").click(FE),$("#dbg_slowest").click(BE),$("#dbg_fastest").click(GE)),$("#item_addfile_include").click(e5),$("#item_addfile_link").click(t5),$("#item_request_persist").click(()=>Mg(!0,!1)),$("#item_settings").click(YS),$("#item_keyboard_shortcuts").click(r5),$("#item_asset_editor_help").click(n5),m1(),j.newCodeAnalyzer&&Ft.add(null,"Analyze CPU Timing","glyphicon-time",HE),j.startProbing&&Ft.add(null,"Highlight Executed Lines","glyphicon-fire",JE).prop("id","dbg_tracelines"),j.setRecorder&&j.advance&&s5(),j.showHelp){let{li:r,a:n}=Eg("help__"+Ae,Ug+" Help");$("#help_menu").append(r),$(n).click(()=>window.open(j.showHelp(),"_8bws_help"))}let i=j.getToolForFilename(ti()),e=i&&((t=Vo(i))==null?void 0:t.helpURL);if(e){let{li:r,a:n}=Eg("help__"+i,i+" Help");$("#help_menu").append(r),$(n).click(()=>window.open(e,"_8bws_help"))}}function r5(){let i=/Mac|iPhone|iPad/.test(navigator.platform),e=i?"⌘":"Ctrl",t=i?"⌥":"Alt",r=i?"⇧":"Shift",n=(s,o)=>`<tr><td><kbd>${s}</kbd></td><td>${o}</td></tr>`;bootbox.dialog({title:"Keyboard shortcuts",onEscape:!0,message:`
|
||||
<table class="help">
|
||||
<tr><th colspan="2">Custom</th></tr>
|
||||
${n(`${r}+${t}+F`,"Format document, or selected range(s)")}
|
||||
@@ -103,7 +103,7 @@ PC `+this.addr2str(s)+" "+this.opToString(c,null,S),o[P]=1)}),this.addr2str(r)+n
|
||||
<a target="_blank" href="https://codemirror.net/docs/ref/#search.searchKeymap">searchKeymap</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>`,buttons:{ok:{label:"OK",className:"btn-primary"}}})}function DE(){let i=(e,t,r)=>`<tr><td><code>${e}</code></td><td>${t}</td><td>${r}</td></tr>`;bootbox.dialog({title:"Asset Editor Reference",onEscape:!0,message:`
|
||||
</table>`,buttons:{ok:{label:"OK",className:"btn-primary"}}})}function n5(){let i=(e,t,r)=>`<tr><td><code>${e}</code></td><td>${t}</td><td>${r}</td></tr>`;bootbox.dialog({title:"Asset Editor Reference",onEscape:!0,message:`
|
||||
<p>Add asset headers in source code as comments containing JSON format descriptors:</p>
|
||||
<p>
|
||||
C: <code>/*{w:8,h:8}*/</code> followed by data, terminated by <code>;</code><br>
|
||||
@@ -142,7 +142,7 @@ PC `+this.addr2str(s)+" "+this.opToString(c,null,S),o[P]=1)}),this.addr2str(r)+n
|
||||
<tr><td colspan="2"><code>;;{w:8,h:8,art:true};;</code></td><td>8x8 with artifact color (Apple II HGR, bit 7 toggle)</td></tr>
|
||||
<tr><td colspan="2"><code>/*{w:16,h:16,bpp:4,np:1}*/</code></td><td>16x16 4bpp</td></tr>
|
||||
<tr><td colspan="2"><code>/*{pal:332,n:16}*/</code></td><td>16-entry RGB332 palette</pre></td></tr>
|
||||
</table>`,buttons:{ok:{label:"OK",className:"btn-primary"}},size:"large"})}function IE(){var i=$("#replayslider"),e=$("#clockslider"),t=$("#replay_frame"),r=$("#replay_clock");j.advanceFrameClock||$("#clockdiv").hide();var n=()=>{t.text(Wi.lastSeekFrame+""),r.text(Wi.lastSeekStep+"")},s=l=>{Rs();var c=parseInt(i.val().toString()),f=parseInt(e.val().toString());Wi.loadFrame(c,f)>=0&&(e.attr("min",0),e.attr("max",Wi.lastStepCount),n(),uu(j.saveState()))},o=l=>{Rs(),Wi.loadFrame(l)>=0&&(i.val(l),n(),uu(j.saveState()))},a=l=>{Rs();var c=parseInt(i.val().toString());Wi.loadFrame(c,l)>=0&&(e.val(l),n(),uu(j.saveState()))};Wi.callbackStateChanged=()=>{i.attr("min",0),i.attr("max",Wi.numFrames()),i.val(Wi.currentFrame()),e.val(Wi.currentStep()),n(),lc(j.saveState())},i.on("input",s),e.on("input",s),$("#replay_min").click(()=>{o(1)}),$("#replay_max").click(()=>{o(Wi.numFrames())}),$("#replay_back").click(()=>{o(parseInt(i.val().toString())-1)}),$("#replay_fwd").click(()=>{o(parseInt(i.val().toString())+1)}),$("#clock_back").click(()=>{a(parseInt(e.val().toString())-1)}),$("#clock_fwd").click(()=>{a(parseInt(e.val().toString())+1)}),$("#replay_bar").show(),It.add("ctrl+alt+0","Start/Stop Replay Recording","glyphicon-record",jE).prop("id","dbg_record")}function NE(){try{var i=window.screen.orientation||window.screen.msOrientation||window.screen.mozOrientation||null;if(i){if(i.type.indexOf("landscape")!==-1)return!0;if(i.type.indexOf("portrait")!==-1)return!1}if("orientation"in window){var e=window.orientation;if(e===0||e===180)return!1;if(e===90||e===270)return!0}}catch(t){}return window.innerWidth>window.innerHeight}async function GE(){if(Ro.shouldCompleteTour()){await gr("lib/bootstrap-tourist.js");var i=Ae.startsWith("vcs"),e=[{element:"#platformsMenuButton",placement:"right",title:"Platform Selector",content:`You're currently on the "<b>`+Ae+'</b>" platform. You can choose a different one from the menu.'},{element:"#preset_select",title:"Project Selector",content:"You can choose different code examples, create your own files, or import projects from GitHub."},{element:"#workspace",title:"Code Editor",content:i?"Type your 6502 assembly code into the editor, and it'll be assembled in real-time.":"Type your source code into the editor, and it'll be compiled in real-time."},{element:"#emulator",placement:"left",title:"Emulator",content:"We'll load your compiled code into the emulator whenever you make changes."},{element:"#debug_bar",placement:"bottom",title:"Debug Tools",content:"Use these buttons to set breakpoints, single step through code, pause/resume, and use debugging tools."},{element:"#dropdownMenuButton",title:"Main Menu",content:"Click the menu to create new files, download your code, or share your work with others."},{element:"#sidebar",title:"Sidebar",content:"Pull right to expose the sidebar. It lets you switch between source files, view assembly listings, and use other tools like Disassembler, Memory Browser, and Asset Editor."}];NE()||e.unshift({element:"#controls_top",placement:"bottom",title:"Portrait mode detected",content:"This site works best on desktop browsers. For best results, rotate your device to landscape orientation."}),window.location.host.endsWith("8bitworkshop.com")&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Cookie Consent",content:'Before we start, we should tell you that this website stores cookies and other data in your browser. You can review our <a href="/privacy.html" target="_new">privacy policy</a>.'}),e.push({element:"#booksMenuButton",placement:"left",title:"Books",content:"Get some books that explain how to program all of this stuff, and write some games!"})),ac&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Developer Analytics",content:"BTW, we send stack traces to sentry.io when exceptions are thrown. Hope that's ok."}),e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Welcome to 8bitworkshop Desktop!",content:'The directory "~/8bitworkshop" contains all of your file edits and built ROM images. You can create new projects under the platform directories (e.g. "c64/myproject")'}));var t=new Tour({autoscroll:!1,steps:e,onEnd:()=>{Ro.completedTour()}});setTimeout(()=>{t.start()},2500)}}function du(i){var e=(i.message||i.error||i)+"";if(e.indexOf("QuotaExceededError")>=0)Ag(!1,!1);else{var t=i.error||i.reason;t!=null&&t instanceof zu&&BE(t)}}function BE(i){console.log("haltEmulation"),Rs(),f5(i)}function FE(){window.addEventListener("error",du),window.addEventListener("unhandledrejection",du)}function c1(){window.removeEventListener("error",du),window.removeEventListener("unhandledrejection",du)}function mo(i,e){e&&(Te=e),c1(),i?window.location.replace("?"+$.param(Te)):window.location.href="?"+$.param(Te)}function gu(){Ae&&(Te.platform=Ae),delete Te[""],history.replaceState({},"","?"+$.param(Te)+window.location.hash)}function h1(i){if(!i||i==="#")return null;var e=decodeURIComponent(i.substring(1));return e.startLine truncated
|
||||
</table>`,buttons:{ok:{label:"OK",className:"btn-primary"}},size:"large"})}function s5(){var i=$("#replayslider"),e=$("#clockslider"),t=$("#replay_frame"),r=$("#replay_clock");j.advanceFrameClock||$("#clockdiv").hide();var n=()=>{t.text(Vi.lastSeekFrame+""),r.text(Vi.lastSeekStep+"")},s=l=>{Zs();var c=parseInt(i.val().toString()),f=parseInt(e.val().toString());Vi.loadFrame(c,f)>=0&&(e.attr("min",0),e.attr("max",Vi.lastStepCount),n(),mu(j.saveState()))},o=l=>{Zs(),Vi.loadFrame(l)>=0&&(i.val(l),n(),mu(j.saveState()))},a=l=>{Zs();var c=parseInt(i.val().toString());Vi.loadFrame(c,l)>=0&&(e.val(l),n(),mu(j.saveState()))};Vi.callbackStateChanged=()=>{i.attr("min",0),i.attr("max",Vi.numFrames()),i.val(Vi.currentFrame()),e.val(Vi.currentStep()),n(),uc(j.saveState())},i.on("input",s),e.on("input",s),$("#replay_min").click(()=>{o(1)}),$("#replay_max").click(()=>{o(Vi.numFrames())}),$("#replay_back").click(()=>{o(parseInt(i.val().toString())-1)}),$("#replay_fwd").click(()=>{o(parseInt(i.val().toString())+1)}),$("#clock_back").click(()=>{a(parseInt(e.val().toString())-1)}),$("#clock_fwd").click(()=>{a(parseInt(e.val().toString())+1)}),$("#replay_bar").show(),Ft.add("ctrl+alt+0","Start/Stop Replay Recording","glyphicon-record",KE).prop("id","dbg_record")}function o5(){try{var i=window.screen.orientation||window.screen.msOrientation||window.screen.mozOrientation||null;if(i){if(i.type.indexOf("landscape")!==-1)return!0;if(i.type.indexOf("portrait")!==-1)return!1}if("orientation"in window){var e=window.orientation;if(e===0||e===180)return!1;if(e===90||e===270)return!0}}catch(t){}return window.innerWidth>window.innerHeight}async function a5(){if(Zo.shouldCompleteTour()){await xr("lib/bootstrap-tourist.js");var i=Ae.startsWith("vcs"),e=[{element:"#platformsMenuButton",placement:"right",title:"Platform Selector",content:`You're currently on the "<b>`+Ae+'</b>" platform. You can choose a different one from the menu.'},{element:"#preset_select",title:"Project Selector",content:"You can choose different code examples, create your own files, or import projects from GitHub."},{element:"#workspace",title:"Code Editor",content:i?"Type your 6502 assembly code into the editor, and it'll be assembled in real-time.":"Type your source code into the editor, and it'll be compiled in real-time."},{element:"#emulator",placement:"left",title:"Emulator",content:"We'll load your compiled code into the emulator whenever you make changes."},{element:"#debug_bar",placement:"bottom",title:"Debug Tools",content:"Use these buttons to set breakpoints, single step through code, pause/resume, and use debugging tools."},{element:"#dropdownMenuButton",title:"Main Menu",content:"Click the menu to create new files, download your code, or share your work with others."},{element:"#sidebar",title:"Sidebar",content:"Pull right to expose the sidebar. It lets you switch between source files, view assembly listings, and use other tools like Disassembler, Memory Browser, and Asset Editor."}];o5()||e.unshift({element:"#controls_top",placement:"bottom",title:"Portrait mode detected",content:"This site works best on desktop browsers. For best results, rotate your device to landscape orientation."}),window.location.host.endsWith("8bitworkshop.com")&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Cookie Consent",content:'Before we start, we should tell you that this website stores cookies and other data in your browser. You can review our <a href="/privacy.html" target="_new">privacy policy</a>.'}),e.push({element:"#booksMenuButton",placement:"left",title:"Books",content:"Get some books that explain how to program all of this stuff, and write some games!"})),fc&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Developer Analytics",content:"BTW, we send stack traces to sentry.io when exceptions are thrown. Hope that's ok."}),e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Welcome to 8bitworkshop Desktop!",content:'The directory "~/8bitworkshop" contains all of your file edits and built ROM images. You can create new projects under the platform directories (e.g. "c64/myproject")'}));var t=new Tour({autoscroll:!1,steps:e,onEnd:()=>{Zo.completedTour()}});setTimeout(()=>{t.start()},2500)}}function bu(i){var e=(i.message||i.error||i)+"";if(e.indexOf("QuotaExceededError")>=0)Mg(!1,!1);else{var t=i.error||i.reason;t!=null&&t instanceof Mu&&l5(t)}}function l5(i){console.log("haltEmulation"),Zs(),w5(i)}function c5(){window.addEventListener("error",bu),window.addEventListener("unhandledrejection",bu)}function x1(){window.removeEventListener("error",bu),window.removeEventListener("unhandledrejection",bu)}function bo(i,e){e&&(Te=e),x1(),i?window.location.replace("?"+$.param(Te)):window.location.href="?"+$.param(Te)}function Su(){Ae&&(Te.platform=Ae),delete Te[""],history.replaceState({},"","?"+$.param(Te)+window.location.hash)}function v1(i){if(!i||i==="#")return null;var e=decodeURIComponent(i.substring(1));return e.startLine truncated
|
||||
/*! Bundled license information:
|
||||
|
||||
localforage/dist/localforage.js:
|
||||
@@ -168,4 +168,4 @@ jquery/dist/jquery.js:
|
||||
dompurify/dist/purify.cjs.js:
|
||||
(*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE *)
|
||||
*/
|
||||
//# sourceMappingURL=chunk-KP2LCIGE.js.map
|
||||
//# sourceMappingURL=chunk-LXSSE5FC.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../node_modules/localforage/dist/localforage.js", "../node_modules/jquery/dist/jquery.js", "../node_modules/dompurify/src/utils.ts", "../node_modules/dompurify/src/tags.ts", "../node_modules/dompurify/src/attrs.ts", "../node_modules/dompurify/src/regexp.ts", "../node_modules/dompurify/src/purify.ts", "../src/ide/ui.ts", "../src/common/toolmeta.ts", "../src/ide/dialogs.ts", "../node_modules/@marijn/find-cluster-break/src/index.js", "../node_modules/@codemirror/state/dist/index.js", "../node_modules/style-mod/src/style-mod.js", "../node_modules/w3c-keyname/index.js", "../node_modules/crelt/index.js", "../node_modules/@codemirror/view/dist/index.js", "../node_modules/@lezer/common/dist/index.js", "../node_modules/@lezer/highlight/dist/index.js", "../node_modules/@codemirror/language/dist/index.js", "../node_modules/@codemirror/autocomplete/dist/index.js", "../src/ide/views/debug.ts", "../node_modules/@codemirror/commands/dist/index.js", "../src/ide/views/tabs.ts", "../src/ide/settings.ts", "../src/ide/project.ts", "../src/common/workertypes.ts", "../src/ide/services.ts", "../src/common/audio/CommodoreTape.ts", "../src/ide/shareexport.ts", "../src/ide/sync.ts", "../src/ide/pixeleditor.ts", "../src/ide/views/baseviews.ts", "../src/ide/views/asseteditor.ts", "../src/common/vtextscroller.ts", "../src/ide/views/debugviews.ts", "../node_modules/@lezer/lr/dist/index.js", "../node_modules/@lezer/cpp/dist/index.js", "../node_modules/@codemirror/lang-cpp/dist/index.js", "../node_modules/@lezer/markdown/dist/index.js", "../node_modules/@lezer/html/dist/index.js", "../node_modules/@lezer/css/dist/index.js", "../node_modules/@codemirror/lang-css/dist/index.js", "../node_modules/@lezer/javascript/dist/index.js", "../node_modules/@codemirror/lang-javascript/dist/index.js", "../node_modules/@codemirror/lang-html/dist/index.js", "../node_modules/@codemirror/lang-markdown/dist/index.js", "../node_modules/@codemirror/search/dist/index.js", "../src/parser/tokens-6502.ts", "parser/lang-6502.grammar.js", "../src/parser/lang-6502.ts", "../src/parser/lang-basic.ts", "../src/parser/lang-bataribasic.ts", "../src/parser/lang-dialog.ts", "../src/parser/lang-fastbasic.ts", "../src/parser/lang-inform6.ts", "../src/parser/lang-verilog.ts", "../src/parser/lang-wiz.ts", "../src/parser/tokens-z80.ts", "parser/lang-z80.grammar.js", "../src/parser/lang-z80.ts", "../src/themes/cobalt.ts", "../src/themes/disassemblyTheme.ts", "../src/themes/editorTheme.ts", "../src/themes/mbo.ts", "../src/ide/views/assetdecorations.ts", "../src/ide/views/filters.ts", "../src/ide/views/gutter.ts", "../src/ide/views/visuals.ts", "../src/ide/views/editors.ts", "../src/ide/views/treeviews.ts", "../src/ide/windows.ts"],
|
||||
"sourcesContent": ["/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["require_localforage", "__commonJSMin", "exports", "module", "f", "g", "define", "e", "t", "n", "r", "s", "o", "u", "a", "__require", "i", "l", "_dereq_", "global", "Mutation", "scheduleDrain", "called", "observer", "nextTick", "element", "channel", "scriptEl", "draining", "queue", "oldQueue", "len", "immediate", "task", "INTERNAL", "handlers", "REJECTED", "FULFILLED", "PENDING", "Promise", "resolver", "safelyResolveThenable", "onRejected", "onFulfilled", "promise", "unwrap", "QueueItem", "value", "func", "returnValue", "self", "result", "tryCatch", "getThen", "thenable", "error", "obj", "then", "onError", "onSuccess", "tryToUnwrap", "out", "resolve", "reject", "reason", "all", "iterable", "values", "resolved", "allResolver", "resolveFromAll", "outValue", "race", "response", "_typeof", "_classCallCheck", "instance", "Constructor", "getIDB", "idb", "isIndexedDBValid", "isSafari", "hasFetch", "createBlob", "parts", "properties", "Builder", "builder", "Promise$1", "executeCallback", "callback", "executeTwoCallbacks", "errorCallback", "normalizeKey", "key", "getCallback", "DETECT_BLOB_SUPPORT_STORE", "supportsBlobs", "dbContexts", "toString", "READ_ONLY", "READ_WRITE", "_binStringToArrayBuffer", "bin", "length", "buf", "arr", "_checkBlobSupportWithoutCaching", "txn", "blob", "matchedChrome", "matchedEdge", "_checkBlobSupport", "_deferReadiness", "dbInfo", "dbContext", "deferredOperation", "_advanceReadiness", "_rejectReadiness", "err", "_getConnection", "upgradeNeeded", "createDbContext", "dbArgs", "openreq", "db", "ex", "_getOriginalConnection", "_getUpgradedConnection", "_isUpgradeNeeded", "defaultVersion", "isNewStore", "isDowngrade", "isUpgrade", "incVersion", "_encodeBlob", "reader", "base64", "_decodeBlob", "encodedBlob", "arrayBuff", "_isEncodedBlob", "_fullyReady", "_tryReconnect", "forages", "forage", "createTransaction", "mode", "retries", "tx", "_initStorage", "options", "initPromises", "ignoreErrors", "j", "k", "getItem", "transaction", "store", "req", "iterate", "iterator", "iterationNumber", "cursor", "setItem", "blobSupport", "removeItem", "clear", "advanced", "keys", "dropInstance", "currentConfig", "isCurrentDb", "dbPromise", "newVersion", "dropObjectPromise", "_forage2", "dropDBPromise", "_forage", "asyncStorage", "isWebSQLValid", "BASE_CHARS", "BLOB_TYPE_PREFIX", "BLOB_TYPE_PREFIX_REGEX", "SERIALIZED_MARKER", "SERIALIZED_MARKER_LENGTH", "TYPE_ARRAYBUFFER", "TYPE_BLOB", "TYPE_INT8ARRAY", "TYPE_UINT8ARRAY", "TYPE_UINT8CLAMPEDARRAY", "TYPE_INT16ARRAY", "TYPE_INT32ARRAY", "TYPE_UINT16ARRAY", "TYPE_UINT32ARRAY", "TYPE_FLOAT32ARRAY", "TYPE_FLOAT64ARRAY", "TYPE_SERIALIZED_MARKER_LENGTH", "toString$1", "stringToBuffer", "serializedString", "bufferLength", "p", "encoded1", "encoded2", "encoded3", "encoded4", "buffer", "bytes", "bufferToString", "base64String", "serialize", "valueType", "marker", "fileReader", "str", "deserialize", "type", "blobType", "matcher", "localforageSerializer", "createDbTable", "_initStorage$1", "dbInfoPromise", "tryExecuteSql", "sqlStatement", "args", "results", "getItem$1", "iterate$1", "rows", "item", "_setItem", "retriesLeft", "originalValue", "sqlError", "setItem$1", "removeItem$1", "clear$1", "length$1", "key$1", "keys$1", "getAllStoreNames", "storeNames", "dropInstance$1", "operationInfo", "dropTable", "storeName", "operations", "webSQLStorage", "isLocalStorageValid", "_getKeyPrefix", "defaultConfig", "keyPrefix", "checkIfLocalStorageThrows", "localStorageTestKey", "_isLocalStorageUsable", "_initStorage$2", "clear$2", "getItem$2", "iterate$2", "keyPrefixLength", "key$2", "keys$2", "itemKey", "length$2", "removeItem$2", "setItem$2", "dropInstance$2", "localStorageWrapper", "sameValue", "x", "y", "includes", "array", "searchElement", "isArray", "arg", "DefinedDrivers", "DriverSupport", "DefaultDrivers", "DefaultDriverOrder", "OptionalDriverMethods", "LibraryMethods", "DefaultConfig", "callWhenReady", "localForageInstance", "libraryMethod", "_args", "extend", "_key", "LocalForage", "driverTypeKey", "driver", "driverName", "driverObject", "complianceError", "driverMethods", "driverMethodName", "isRequired", "configureMissingMethods", "methodNotImplementedFactory", "methodName", "_i", "_len", "optionalDriverMethod", "setDriverSupport", "support", "getDriverPromise", "serializerPromise", "drivers", "supportedDrivers", "setDriverToConfig", "extendSelfWithDriver", "initDriver", "currentDriverIndex", "driverPromiseLoop", "oldDriverSetDone", "libraryMethodsAndProperties", "localforage_js", "require_jquery", "__commonJSMin", "exports", "module", "global", "factory", "w", "window", "noGlobal", "arr", "getProto", "slice", "flat", "array", "push", "indexOf", "class2type", "toString", "hasOwn", "fnToString", "ObjectFunctionString", "support", "isFunction", "obj", "isWindow", "document", "preservedScriptAttributes", "DOMEval", "code", "node", "doc", "i", "val", "script", "toType", "version", "rhtmlSuffix", "jQuery", "selector", "context", "num", "elems", "ret", "callback",Line truncated
|
||||
}
|
||||
@@ -0,0 +1,531 @@
|
||||
"use strict";
|
||||
/*
|
||||
* Tool metadata registry.
|
||||
*
|
||||
* Single source of truth for declarative (data-only) metadata about every
|
||||
* build tool, keyed by tool id. Both the IDE (src/ide) and the worker
|
||||
* (src/worker) import this module.
|
||||
*
|
||||
* What lives here:
|
||||
* - extension -> tool selection hints
|
||||
* - editor (CodeMirror) styles and help URLs (was TOOL_TO_SOURCE_STYLE/HELPURL in src/ide/ui.ts)
|
||||
* - preload filesystem names per platform (was TOOL_PRELOADFS in src/worker/workertools.ts)
|
||||
* - wasm module names (was loadNative() args in src/worker/tools/*.ts)
|
||||
* - include/link dependency patterns (was parseIncludeDependencies in src/ide/project.ts)
|
||||
* - remote/server tool config (was ServerBuildTool in src/worker/server/buildenv.ts)
|
||||
*
|
||||
* What stays OUT of this module (behavior cannot cross the worker boundary):
|
||||
* - build functions (src/worker/workertools.ts `TOOLS` map)
|
||||
* - error matchers, listing parsers (src/worker/tools/*.ts)
|
||||
* - machine layout params (code_start, rom_size, ... -> src/worker/platforms.ts PLATFORM_PARAMS)
|
||||
*
|
||||
* A unit test cross-checks that every id in TOOL_META has a worker build fn
|
||||
* (unless noWorkerBuild) and vice versa.
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_META = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.getToolMeta = getToolMeta;
|
||||
exports.getToolMetaForFilename = getToolMetaForFilename;
|
||||
exports.getPreloadFSName = getPreloadFSName;
|
||||
exports.getSkeletonName = getSkeletonName;
|
||||
exports.getIncludePatterns = getIncludePatterns;
|
||||
exports.getLinkPatterns = getLinkPatterns;
|
||||
exports.matchDependencyPatterns = matchDependencyPatterns;
|
||||
//// shared dependency-parsing patterns (from src/ide/project.ts)
|
||||
// C / most assemblers: [.#%]?include|incbin|embed "file", //#resource "file"
|
||||
exports.SHARED_INCLUDE_PATTERNS = [
|
||||
/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,
|
||||
/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm,
|
||||
];
|
||||
// C / most assemblers: //#link "file" (or ;link)
|
||||
exports.SHARED_LINK_PATTERNS = [
|
||||
/^\s*([;]|[/][/])#link\s+"(.+?)"/gm,
|
||||
];
|
||||
// Verilog family: `include/.include, $include/$dofile/$write_image_in_table,
|
||||
// .arch json, $readmem[bh]
|
||||
exports.VERILOG_INCLUDE_PATTERNS = [
|
||||
/^\s*(`include|[.]include)\s+"(.+?)"/gmi,
|
||||
/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,
|
||||
{ re: /^\s*([.]arch)\s+(\w+)/gmi, suffix: '.json' },
|
||||
/\$readmem[bh]\("(.+?)"/gmi,
|
||||
];
|
||||
// xasm6809 (USE) and merlin32 (ASM): " USE file.ext"
|
||||
exports.USE_ASM_INCLUDE_PATTERNS = [
|
||||
/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm,
|
||||
];
|
||||
// acme: !src "file"
|
||||
exports.ACME_INCLUDE_PATTERNS = [
|
||||
/^[!]src\s+"(.+?)"/gmi,
|
||||
];
|
||||
// wiz: import "file"; (implicit .wiz extension) / embed "file";
|
||||
exports.WIZ_INCLUDE_PATTERNS = [
|
||||
{ re: /^\s*import\s*"(.+?)";/gmi, suffix: '.wiz' },
|
||||
/^\s*embed\s*"(.+?)";/gmi,
|
||||
];
|
||||
// ecs: import "file"
|
||||
exports.ECS_INCLUDE_PATTERNS = [
|
||||
/^\s*(import)\s*"(.+?)"/gmi,
|
||||
];
|
||||
// dialog: %% #include "file" (comment directive)
|
||||
exports.DIALOG_INCLUDE_PATTERNS = [
|
||||
/^\s*%%\s*#include\s+"(.+?)"/gm,
|
||||
];
|
||||
//// preload filesystem names per tool/platform (was TOOL_PRELOADFS)
|
||||
const CC65_PRELOADFS = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
};
|
||||
//// tool registry
|
||||
exports.TOOL_META = {
|
||||
// ---- 6502 assemblers ----
|
||||
dasm: {
|
||||
id: 'dasm', name: 'DASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.dasm'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
wasmModule: 'dasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
acme: {
|
||||
id: 'acme', name: 'ACME', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.acme'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
wasmModule: 'acme',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ACME_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
xa: {
|
||||
id: 'xa', name: 'XA', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.xa'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://www.floodgap.com/retrotech/xa/',
|
||||
wasmModule: 'xa',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
nesasm: {
|
||||
id: 'nesasm', name: 'NESASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.nesasm'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'nesasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
merlin32: {
|
||||
id: 'merlin32', name: 'Merlin 32', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.lnk'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'merlin32',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- cc65 toolchain ----
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ld65: {
|
||||
id: 'ld65', name: 'ld65', kind: 'linker', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'ld65',
|
||||
},
|
||||
// ---- SDCC toolchain (z80) ----
|
||||
sdcc: {
|
||||
id: 'sdcc', name: 'SDCC', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
wasmModule: 'sdcc',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasz80: {
|
||||
id: 'sdasz80', name: 'sdasz80', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.s'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasz80',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasgb: {
|
||||
id: 'sdasgb', name: 'sdasgb', kind: 'assembler', arch: 'gbz80',
|
||||
extensions: ['.sgb'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasgb',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdldz80: {
|
||||
id: 'sdldz80', name: 'sdldz80', kind: 'linker', arch: 'z80',
|
||||
extensions: [],
|
||||
wasmModule: 'sdldz80',
|
||||
},
|
||||
sccz80: {
|
||||
id: 'sccz80', name: 'sccz80', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.scc'],
|
||||
platforms: { default: { preloadFS: 'sccz80' } },
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
naken: {
|
||||
id: 'naken', name: 'Naken', kind: 'assembler',
|
||||
extensions: ['.ns'],
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
// ---- z80 assemblers ----
|
||||
zmac: {
|
||||
id: 'zmac', name: 'zmac', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.z'],
|
||||
editorStyle: 'z80',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt',
|
||||
wasmModule: 'zmac',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
jsasm: {
|
||||
id: 'jsasm', name: 'JSASM', kind: 'assembler',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'z80',
|
||||
// pure JS assembler, no wasm module. Only used on the verilog platform,
|
||||
// where .asm files pull in .v modules and name a CPU with '.arch'.
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
// ---- 6809 toolchain ----
|
||||
xasm6809: {
|
||||
id: 'xasm6809', name: 'XASM6809', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.xasm'],
|
||||
editorStyle: '6809',
|
||||
wasmModule: 'xasm6809',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cmoc: {
|
||||
id: 'cmoc', name: 'CMOC', kind: 'compiler', arch: '6809',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html',
|
||||
wasmModule: 'cmoc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
lwasm: {
|
||||
id: 'lwasm', name: 'LWASM', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.lwasm'],
|
||||
wasmModule: 'lwasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
lwlink: {
|
||||
id: 'lwlink', name: 'LWLINK', kind: 'linker', arch: '6809',
|
||||
extensions: [],
|
||||
wasmModule: 'lwlink',
|
||||
},
|
||||
// ---- ARM ----
|
||||
vasmarm: {
|
||||
id: 'vasmarm', name: 'vasm (ARM)', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.vasm'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'vasmarm_std',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armips: {
|
||||
id: 'armips', name: 'armips', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.armips'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'armips',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armtcc: {
|
||||
id: 'armtcc', name: 'TCC (ARM)', kind: 'compiler', arch: 'arm32',
|
||||
extensions: ['.c', '.s'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'arm-tcc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armtcclink: {
|
||||
id: 'armtcclink', name: 'TCC (ARM) link', kind: 'linker', arch: 'arm32',
|
||||
extensions: [],
|
||||
wasmModule: 'arm-tcc',
|
||||
},
|
||||
// ---- x86 ----
|
||||
smlrc: {
|
||||
id: 'smlrc', name: 'SmallerC', kind: 'compiler', arch: 'x86',
|
||||
extensions: ['.c'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'smlrc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
yasm: {
|
||||
id: 'yasm', name: 'YASM', kind: 'assembler', arch: 'x86',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'gas',
|
||||
wasmModule: 'yasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- 6502 C compilers / BASIC dialects ----
|
||||
oscar64: {
|
||||
id: 'oscar64', name: 'Oscar64', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.cc', '.o64'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
wasmModule: 'oscar64',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
bataribasic: {
|
||||
id: 'bataribasic', name: 'batari Basic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bb', '.bas'],
|
||||
editorStyle: 'bataribasic',
|
||||
helpURL: 'help/bataribasic/manual.html',
|
||||
wasmModule: 'bb2600basic',
|
||||
platforms: { default: { preloadFS: '2600basic' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
fastbasic: {
|
||||
id: 'fastbasic', name: 'FastBasic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bas', '.fb', '.fbi'],
|
||||
editorStyle: 'fastbasic',
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cc2600: {
|
||||
id: 'cc2600', name: 'CC2600', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc2600'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc2600',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cc7800: {
|
||||
id: 'cc7800', name: 'CC7800', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc7800', '.c78'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc7800',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- other languages ----
|
||||
basic: {
|
||||
id: 'basic', name: 'BASIC', kind: 'interpreter',
|
||||
extensions: ['.bas'],
|
||||
editorStyle: 'basic',
|
||||
},
|
||||
wiz: {
|
||||
id: 'wiz', name: 'wiz', kind: 'compiler',
|
||||
extensions: ['.wiz'],
|
||||
editorStyle: 'text/x-wiz',
|
||||
helpURL: 'https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz',
|
||||
wasmModule: 'wiz',
|
||||
platforms: { default: { preloadFS: 'wiz' } },
|
||||
includePatterns: exports.WIZ_INCLUDE_PATTERNS,
|
||||
},
|
||||
ecs: {
|
||||
id: 'ecs', name: 'ECS', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
},
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
inform6: {
|
||||
id: 'inform6', name: 'Inform 6', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.inf'],
|
||||
editorStyle: 'inform6',
|
||||
wasmModule: 'inform',
|
||||
platforms: { default: { preloadFS: 'inform' } },
|
||||
},
|
||||
dialog: {
|
||||
id: 'dialog', name: 'Dialog', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.dg'],
|
||||
editorStyle: 'dialog',
|
||||
helpURL: 'https://linusakesson.net/dialog/docs/',
|
||||
wasmModule: 'dialogc',
|
||||
includePatterns: exports.DIALOG_INCLUDE_PATTERNS,
|
||||
},
|
||||
// ---- verilog / HDL ----
|
||||
verilator: {
|
||||
id: 'verilator', name: 'Verilator', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.v'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
wasmModule: 'verilator_bin',
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
yosys: {
|
||||
id: 'yosys', name: 'Yosys', kind: 'hdl', arch: 'verilog',
|
||||
extensions: [],
|
||||
wasmModule: 'yosys',
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
silice: {
|
||||
id: 'silice', name: 'Silice', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.ice'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://github.com/sylefeb/Silice',
|
||||
wasmModule: 'silice',
|
||||
platforms: { default: { preloadFS: 'Silice' } },
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
// ---- remote / server ----
|
||||
'llvm-mos': {
|
||||
id: 'llvm-mos', name: 'LLVM-MOS', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.s', '.S', '.C'],
|
||||
editorStyle: 'text/x-csrc', // used as 'remote:llvm-mos' in the IDE
|
||||
helpURL: 'https://llvm-mos.org/wiki/Welcome',
|
||||
remote: true,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
server: {
|
||||
version: 'latest',
|
||||
platforms: ['atari8', 'c64', 'nes', 'pce', 'vcs'],
|
||||
binpath: 'llvm-mos/bin',
|
||||
command: 'mos-clang',
|
||||
args: ['-Os', '-g', '-D', '__8BITWORKSHOP__', '-o', '$OUTFILE', '$INFILES'],
|
||||
},
|
||||
},
|
||||
// TODO: do we need this too?
|
||||
remote: {
|
||||
id: 'remote', name: 'Remote build', kind: 'remote',
|
||||
extensions: [],
|
||||
remote: true,
|
||||
},
|
||||
};
|
||||
//// helpers
|
||||
/**
|
||||
* Look up tool metadata by tool id. Tolerates the 'remote:' transport prefix
|
||||
* used in build steps (e.g. 'remote:llvm-mos' -> 'llvm-mos').
|
||||
*/
|
||||
function getToolMeta(id) {
|
||||
return exports.TOOL_META[id.replace(/^remote:/, '')];
|
||||
}
|
||||
/**
|
||||
* Return all tools that consume the given filename (longest extension match
|
||||
* first). Ambiguity is resolved by the platform, which picks from these.
|
||||
*/
|
||||
function getToolMetaForFilename(fn) {
|
||||
let matches = [];
|
||||
for (let id in exports.TOOL_META) {
|
||||
let meta = exports.TOOL_META[id];
|
||||
for (let ext of meta.extensions) {
|
||||
if (ext && fn.endsWith(ext)) {
|
||||
matches.push({ meta, len: ext.length });
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return matches.sort((a, b) => b.len - a.len).map(m => m.meta);
|
||||
}
|
||||
/**
|
||||
* Resolve the preload filesystem name for a tool on a platform
|
||||
* (was TOOL_PRELOADFS, including compound 'tool-platform' keys).
|
||||
*/
|
||||
function getPreloadFSName(tool, platform) {
|
||||
let meta = getToolMeta(tool);
|
||||
if (!meta)
|
||||
return undefined;
|
||||
if (meta.platforms) {
|
||||
if (platform) {
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS)
|
||||
return p.preloadFS;
|
||||
}
|
||||
let d = meta.platforms['default'];
|
||||
if (d && d.preloadFS)
|
||||
return d.preloadFS;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
/** Skeleton filename in presets/<platform>/, defaults to tool id. */
|
||||
function getSkeletonName(tool) {
|
||||
let meta = getToolMeta(tool);
|
||||
return (meta && meta.skeleton) ? meta.skeleton : tool.replace(/^remote:/, '');
|
||||
}
|
||||
/**
|
||||
* Include patterns to use when scanning a source file for dependencies.
|
||||
* Falls back to the platform (verilog vs. everything else) when the tool is
|
||||
* unknown or declares no patterns of its own, which is how dependency parsing
|
||||
* worked before this registry. A tool that really has no include directives
|
||||
* says so with an explicit empty list.
|
||||
*/
|
||||
function getIncludePatterns(tool, platform) {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.includePatterns)
|
||||
return meta.includePatterns;
|
||||
if (platform && platform.startsWith('verilog'))
|
||||
return exports.VERILOG_INCLUDE_PATTERNS;
|
||||
return exports.SHARED_INCLUDE_PATTERNS;
|
||||
}
|
||||
/** Link patterns ("//#link") to use when scanning a source file. */
|
||||
function getLinkPatterns(tool, platform) {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.linkPatterns)
|
||||
return meta.linkPatterns;
|
||||
if (platform && platform.startsWith('verilog'))
|
||||
return [];
|
||||
return exports.SHARED_LINK_PATTERNS;
|
||||
}
|
||||
/**
|
||||
* Run a set of include/link patterns over source text, returning the
|
||||
* referenced filenames. The filename comes from the pattern's `group`, or
|
||||
* from the last capture group if unspecified, plus any implicit `suffix`.
|
||||
*/
|
||||
function matchDependencyPatterns(text, patterns) {
|
||||
let files = [];
|
||||
for (let pat of patterns || []) {
|
||||
let p = pat instanceof RegExp ? { re: pat } : pat;
|
||||
let m;
|
||||
p.re.lastIndex = 0; // patterns are shared and global, so rewind first
|
||||
while (m = p.re.exec(text)) {
|
||||
let fn = m[p.group != null ? p.group : m.length - 1];
|
||||
if (fn)
|
||||
files.push(p.suffix ? fn + p.suffix : fn);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
//# sourceMappingURL=toolmeta.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1,2 +1,2 @@
|
||||
import{a as x}from"./chunk-3FIVEUG2.js";import{s as y}from"./chunk-KP2LCIGE.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-LVDMCWZP.js";import{I as m,m as c,p}from"./chunk-AA227H53.js";import{$ as a,C as d,J as f,n as h}from"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";var n=31,s=class extends p{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=32768;this.cpu=new c;this.ram=new Uint8Array(16384);this.read=a([[0,16383,16383,e=>this.ram[e]],[16384,16384,65535,e=>this.serial.byteAvailable()?128:0],[16385,16385,65535,e=>this.serial.recvByte()],[16386,16386,65535,e=>this.serial.clearToSend()?128:0],[32768,65535,32767,e=>this.rom&&this.rom[e]]]);this.write=a([[0,16383,16383,(e,r)=>{this.ram[e]=r}],[16387,16387,65535,(e,r)=>this.serial.sendByte(r)],[16399,16399,65535,(e,r)=>{this.inputs[n]=1}]]);this.connectCPUMemoryBus(this)}connectSerialIO(e){this.serial=e}readConst(e){return this.read(e)}advanceFrame(e){for(var r=0;r<this.cpuFrequency/60&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){if(this.isHalted())return 1;var e=super.advanceCPU();return this.serial&&this.serial.advance(e),e}reset(){this.inputs[n]=0,super.reset(),this.serial&&this.serial.reset()}isHalted(){return this.inputs[n]!=0}};var S=[{id:"hello.dasm",name:"Hello World (ASM)"}],l=class{constructor(t){t.style.overflowY="auto";var e=$('<div id="gameport"/>').appendTo(t);$('<p class="transcript-header">Serial Output</p>').appendTo(e);var r=$('<div id="windowport" class="transcript"/>').appendTo(e);this.div=r[0]}start(){this.tty=new x(this.div,!1)}reset(){this.tty.clear()}saveState(){return this.tty.saveState()}loadState(t){this.tty.loadState(t)}};function v(i){return i==10?"":i<32?String.fromCharCode(i+9216):String.fromCharCode(i)}var u=class{constructor(){this.bufferedRead=!0;this.cyclesPerByte=1e6/(57600/8);this.maxOutputBytes=4096}clearToSend(){return this.outputBytes.length<this.maxOutputBytes}sendByte(t){this.clearToSend()&&(this.outputBytes.push(t),this.viewer.tty.addtext(v(t),34),t==10&&this.viewer.tty.newline(),this.clearToSend()||(this.viewer.tty.newline(),this.viewer.tty.addtext("\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F",4)))}byteAvailable(){return this.readIndex()>this.inputIndex}recvByte(){var t=this.readIndex();this.inputIndex=t;var e=(this.inputBytes&&this.inputBytes[t])|0;return this.viewer.tty.addtext(v(e),18),e==10&&this.viewer.tty.newline(),e}readIndex(){return this.bufferedRead?this.inputIndex+1:Math.floor(this.clk/this.cyclesPerByte)}reset(){this.inputIndex=-1,this.clk=0,this.outputBytes=[],this.bufin=""}advance(t){this.clk+=t}saveState(){return{clk:this.clk,idx:this.inputIndex,out:this.outputBytes.slice()}}loadState(t){this.clk=t.clk,this.inputIndex=t.idx,this.outputBytes=t.out.slice()}},o=class extends m{constructor(e){super(e);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:16384,type:"ram"},{name:"ROM",start:32768,size:32768,type:"rom"}]}};this.serview=new l(e)}async start(){super.start(),this.serial=new u,this.serial.viewer=this.serview,this.serview.start(),this.machine.connectSerialIO(this.serial)}reset(){this.serial.inputBytes=d(this.internalFiles["serialin.dat"]),super.reset(),this.serview.reset()}isBlocked(){return this.machine.isHalted()}advance(e){return this.isBlocked()?(this.internalFiles["serialout.dat"]=h(this.serial.outputBytes),y(),0):super.advance(e)}saveState(){var e=super.saveState();return e.serial=this.serial.saveState(),e.serview=this.serview.saveState(),e}loadState(e){super.loadState(e),this.serial.loadState(e.serial),this.serview.loadState(e.serview)}newMachine(){return new s}getPresets(){return S}readAddress(e){return this.machine.readConst(e)}};f["devel-6502"]=o;export{u as SerialTestHarness};
|
||||
//# sourceMappingURL=devel-OVXJLQ7D.js.map
|
||||
import{a as x}from"./chunk-3FIVEUG2.js";import{s as y}from"./chunk-LXSSE5FC.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-73C6ISBD.js";import{I as m,m as c,p}from"./chunk-AA227H53.js";import{$ as a,C as d,J as f,n as h}from"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";var n=31,s=class extends p{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=32768;this.cpu=new c;this.ram=new Uint8Array(16384);this.read=a([[0,16383,16383,e=>this.ram[e]],[16384,16384,65535,e=>this.serial.byteAvailable()?128:0],[16385,16385,65535,e=>this.serial.recvByte()],[16386,16386,65535,e=>this.serial.clearToSend()?128:0],[32768,65535,32767,e=>this.rom&&this.rom[e]]]);this.write=a([[0,16383,16383,(e,r)=>{this.ram[e]=r}],[16387,16387,65535,(e,r)=>this.serial.sendByte(r)],[16399,16399,65535,(e,r)=>{this.inputs[n]=1}]]);this.connectCPUMemoryBus(this)}connectSerialIO(e){this.serial=e}readConst(e){return this.read(e)}advanceFrame(e){for(var r=0;r<this.cpuFrequency/60&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){if(this.isHalted())return 1;var e=super.advanceCPU();return this.serial&&this.serial.advance(e),e}reset(){this.inputs[n]=0,super.reset(),this.serial&&this.serial.reset()}isHalted(){return this.inputs[n]!=0}};var S=[{id:"hello.dasm",name:"Hello World (ASM)"}],l=class{constructor(t){t.style.overflowY="auto";var e=$('<div id="gameport"/>').appendTo(t);$('<p class="transcript-header">Serial Output</p>').appendTo(e);var r=$('<div id="windowport" class="transcript"/>').appendTo(e);this.div=r[0]}start(){this.tty=new x(this.div,!1)}reset(){this.tty.clear()}saveState(){return this.tty.saveState()}loadState(t){this.tty.loadState(t)}};function v(i){return i==10?"":i<32?String.fromCharCode(i+9216):String.fromCharCode(i)}var u=class{constructor(){this.bufferedRead=!0;this.cyclesPerByte=1e6/(57600/8);this.maxOutputBytes=4096}clearToSend(){return this.outputBytes.length<this.maxOutputBytes}sendByte(t){this.clearToSend()&&(this.outputBytes.push(t),this.viewer.tty.addtext(v(t),34),t==10&&this.viewer.tty.newline(),this.clearToSend()||(this.viewer.tty.newline(),this.viewer.tty.addtext("\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F",4)))}byteAvailable(){return this.readIndex()>this.inputIndex}recvByte(){var t=this.readIndex();this.inputIndex=t;var e=(this.inputBytes&&this.inputBytes[t])|0;return this.viewer.tty.addtext(v(e),18),e==10&&this.viewer.tty.newline(),e}readIndex(){return this.bufferedRead?this.inputIndex+1:Math.floor(this.clk/this.cyclesPerByte)}reset(){this.inputIndex=-1,this.clk=0,this.outputBytes=[],this.bufin=""}advance(t){this.clk+=t}saveState(){return{clk:this.clk,idx:this.inputIndex,out:this.outputBytes.slice()}}loadState(t){this.clk=t.clk,this.inputIndex=t.idx,this.outputBytes=t.out.slice()}},o=class extends m{constructor(e){super(e);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:16384,type:"ram"},{name:"ROM",start:32768,size:32768,type:"rom"}]}};this.serview=new l(e)}async start(){super.start(),this.serial=new u,this.serial.viewer=this.serview,this.serview.start(),this.machine.connectSerialIO(this.serial)}reset(){this.serial.inputBytes=d(this.internalFiles["serialin.dat"]),super.reset(),this.serview.reset()}isBlocked(){return this.machine.isHalted()}advance(e){return this.isBlocked()?(this.internalFiles["serialout.dat"]=h(this.serial.outputBytes),y(),0):super.advance(e)}saveState(){var e=super.saveState();return e.serial=this.serial.saveState(),e.serview=this.serview.saveState(),e}loadState(e){super.loadState(e),this.serial.loadState(e.serial),this.serview.loadState(e.serview)}newMachine(){return new s}getPresets(){return S}readAddress(e){return this.machine.readConst(e)}};f["devel-6502"]=o;export{u as SerialTestHarness};
|
||||
//# sourceMappingURL=devel-OIFON4XD.js.map
|
||||
File renamed without changes.
+1
-1
@@ -1,2 +1,2 @@
|
||||
import{b as v,c as P}from"./chunk-LVDMCWZP.js";import{A as p,E as w,J as c,l as u,m,y as g}from"./chunk-BNFOPPUS.js";import{e as I}from"./chunk-KT7KMEQC.js";var k=I(P()),i,a,l,h=(function(e){if(!e||e.length==0)return{};for(var r={},t=0;t<e.length;++t){var o=e[t].split("=",2);o.length==1?r[o[0]]="":r[o[0]]=decodeURIComponent(o[1].replace(/\+/g," "))}return r})(window.location.search.substr(1).split("&"));function x(){typeof window.onerror=="object"&&(window.onerror=function(e,r,t,o,n){var s=e+" "+r+" "+t+":"+o+", "+n;$.get("/error?msg="+encodeURIComponent(s),"text")})}function M(){var e=!1;document.addEventListener("visibilitychange",function(r){document.visibilityState=="hidden"&&a.isRunning()?(a.pause(),e=!0):document.visibilityState=="visible"&&e&&(a.resume(),e=!1)}),$(window).on("focus",function(){e&&(a.resume(),e=!1)}),$(window).on("blur",function(){a.isRunning()&&(a.pause(),e=!0)})}async function y(e,r){if(!r){alert("No ROM found.");return}console.log(r.length+" bytes"),await a.loadROM(e,r),a.resume()}function R(){return $("#emulator").find("canvas")}function E(e,r,t){w("gif.js/dist/gif.js").then(()=>{var o=R()[0];if(!o){alert("Could not find canvas element to record video!");return}var n=0;o.style&&o.style.transform&&(o.style.transform.indexOf("rotate(-90deg)")>=0?n=-1:o.style.transform.indexOf("rotate(90deg)")>=0&&(n=1));var s=new GIF({workerScript:"gif.js/dist/gif.worker.js",workers:4,quality:10,rotate:n});s.on("finished",function(C){console.log("finished encoding GIF"),t(C)}),e=e||100+(Math.random()*256&3),r=r||100+(Math.random()*256&15);var f=0;console.log("Recording video",o);var d=()=>{f++>r?(console.log("Rendering video"),s.render()):(s.addFrame(o,{delay:e,copy:!0}),setTimeout(d,e))};d()})}async function S(e){if(!c[i])throw Error("Invalid platform '"+i+"'.");a=new c[i]($("#emuscreen")[0]),await a.start(),e.rec&&R().on("focus",()=>{a.resume()});var r=e.n||"Game",t,o=e.url,n=e.r;if(o)return console.log(o),g(o,f=>{y(r,f)},"arraybuffer"),!0;if(n){var s=m(atob(n));t=new u().decode(s)}return M(),y(r,t),!0}async function b(e){if(e.data&&(e=e.data),i=e.p,!i)throw new Error("No platform variable!");try{var r=await v(p(i));console.log("starting platform",i),await S(e)}catch(t){console.log(t),alert('Platform "'+i+'" not supported.')}}function F(){x(),h.p&&b(h)}window.addEventListener("message",O,!1);function O(e){if(e.data){var r=e.data.cmd;if(r=="start"&&!a)b(e);else if(r=="reset")a.reset(),l.reset();else if(r=="getReplay"){var t={frameCount:l.frameCount,checkpoints:l.checkpoints,framerecs:l.framerecs,checkpointInterval:l.checkpointInterval,maxCheckpoints:l.maxCheckpoints};e.source.postMessage({ack:r,replay:t},e.origin)}else if(r=="watchState"){var o=new Function("platform","state",e.data.fn);l.callbackNewCheckpoint=n=>{e.source.postMessage({ack:r,state:o(a,n)},e.origin)}}else r=="recordVideo"?E(e.data.intervalMsec,e.data.maxFrames,function(n){e.data.filename&&(0,k.saveAs)(n,e.data.filename),e.source.postMessage({ack:r,gif:n},e.origin)}):console.log("Unknown data.cmd: "+r)}}self===top&&(document.body.style.backgroundColor="#555");F();export{a as platform,i as platform_id,F as startEmbed,l as stateRecorder};
|
||||
import{b as v,c as P}from"./chunk-73C6ISBD.js";import{A as p,E as w,J as c,l as u,m,y as g}from"./chunk-BNFOPPUS.js";import{e as I}from"./chunk-KT7KMEQC.js";var k=I(P()),i,a,l,h=(function(e){if(!e||e.length==0)return{};for(var r={},t=0;t<e.length;++t){var o=e[t].split("=",2);o.length==1?r[o[0]]="":r[o[0]]=decodeURIComponent(o[1].replace(/\+/g," "))}return r})(window.location.search.substr(1).split("&"));function x(){typeof window.onerror=="object"&&(window.onerror=function(e,r,t,o,n){var s=e+" "+r+" "+t+":"+o+", "+n;$.get("/error?msg="+encodeURIComponent(s),"text")})}function M(){var e=!1;document.addEventListener("visibilitychange",function(r){document.visibilityState=="hidden"&&a.isRunning()?(a.pause(),e=!0):document.visibilityState=="visible"&&e&&(a.resume(),e=!1)}),$(window).on("focus",function(){e&&(a.resume(),e=!1)}),$(window).on("blur",function(){a.isRunning()&&(a.pause(),e=!0)})}async function y(e,r){if(!r){alert("No ROM found.");return}console.log(r.length+" bytes"),await a.loadROM(e,r),a.resume()}function R(){return $("#emulator").find("canvas")}function E(e,r,t){w("gif.js/dist/gif.js").then(()=>{var o=R()[0];if(!o){alert("Could not find canvas element to record video!");return}var n=0;o.style&&o.style.transform&&(o.style.transform.indexOf("rotate(-90deg)")>=0?n=-1:o.style.transform.indexOf("rotate(90deg)")>=0&&(n=1));var s=new GIF({workerScript:"gif.js/dist/gif.worker.js",workers:4,quality:10,rotate:n});s.on("finished",function(C){console.log("finished encoding GIF"),t(C)}),e=e||100+(Math.random()*256&3),r=r||100+(Math.random()*256&15);var f=0;console.log("Recording video",o);var d=()=>{f++>r?(console.log("Rendering video"),s.render()):(s.addFrame(o,{delay:e,copy:!0}),setTimeout(d,e))};d()})}async function S(e){if(!c[i])throw Error("Invalid platform '"+i+"'.");a=new c[i]($("#emuscreen")[0]),await a.start(),e.rec&&R().on("focus",()=>{a.resume()});var r=e.n||"Game",t,o=e.url,n=e.r;if(o)return console.log(o),g(o,f=>{y(r,f)},"arraybuffer"),!0;if(n){var s=m(atob(n));t=new u().decode(s)}return M(),y(r,t),!0}async function b(e){if(e.data&&(e=e.data),i=e.p,!i)throw new Error("No platform variable!");try{var r=await v(p(i));console.log("starting platform",i),await S(e)}catch(t){console.log(t),alert('Platform "'+i+'" not supported.')}}function F(){x(),h.p&&b(h)}window.addEventListener("message",O,!1);function O(e){if(e.data){var r=e.data.cmd;if(r=="start"&&!a)b(e);else if(r=="reset")a.reset(),l.reset();else if(r=="getReplay"){var t={frameCount:l.frameCount,checkpoints:l.checkpoints,framerecs:l.framerecs,checkpointInterval:l.checkpointInterval,maxCheckpoints:l.maxCheckpoints};e.source.postMessage({ack:r,replay:t},e.origin)}else if(r=="watchState"){var o=new Function("platform","state",e.data.fn);l.callbackNewCheckpoint=n=>{e.source.postMessage({ack:r,state:o(a,n)},e.origin)}}else r=="recordVideo"?E(e.data.intervalMsec,e.data.maxFrames,function(n){e.data.filename&&(0,k.saveAs)(n,e.data.filename),e.source.postMessage({ack:r,gif:n},e.origin)}):console.log("Unknown data.cmd: "+r)}}self===top&&(document.body.style.backgroundColor="#555");F();export{a as platform,i as platform_id,F as startEmbed,l as stateRecorder};
|
||||
//# sourceMappingURL=embedui.js.map
|
||||
+9
-77
@@ -7,6 +7,7 @@ exports.CodeProject = exports.LocalForageFilesystem = exports.OverlayFilesystem
|
||||
exports.createNewPersistentStore = createNewPersistentStore;
|
||||
const localforage_1 = __importDefault(require("localforage"));
|
||||
const util_1 = require("../common/util");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const workertypes_1 = require("../common/workertypes");
|
||||
class WebPresetsFileSystem {
|
||||
constructor(platform_id) {
|
||||
@@ -165,90 +166,21 @@ class CodeProject {
|
||||
if (dir.length > 0 && dir != 'local') // TODO
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
// TODO: use tool id to parse files, not platform
|
||||
/** Patterns come from the tool registry (src/common/toolmeta.ts), keyed by
|
||||
* the tool that builds the main file; the platform is only a fallback. */
|
||||
parseIncludeDependencies(text) {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
// include verilog includes
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for Silice
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// include .arch (json) statements
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2] + ".json");
|
||||
}
|
||||
// include $readmem[bh] (TODO)
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// for .asm -- [.%]include "file"
|
||||
// for .c -- #include "file"
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for .c -- //#resource "file" (or ;resource or #resource)
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[3]);
|
||||
}
|
||||
// for XASM only (USE include.ext)
|
||||
// for merlin32 (ASM include.ext)
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for wiz
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import')
|
||||
this.pushAllFiles(files, m[2] + ".wiz");
|
||||
else
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for ecs
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for acme
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// for dialog -- %% #include "file" (dialog has no include directive,
|
||||
// so the compiler is handed every file listed in a comment instead)
|
||||
let re8 = /^\s*%%\s*#include\s+"(.+?)"/gm;
|
||||
while (m = re8.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// TODO: for xa assembler
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getIncludePatterns)(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
parseLinkDependencies(text) {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
//
|
||||
}
|
||||
else {
|
||||
// for .c -- //#link "file" (or ;link or #link)
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getLinkPatterns)(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/ide/project.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/ide/project.ts"],"names":[],"mappings":"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 truncated
|
||||
+8
-61
@@ -60,6 +60,7 @@ const baseplatform_1 = require("../common/baseplatform");
|
||||
const emu_1 = require("../common/emu");
|
||||
const recorder_1 = require("../common/recorder");
|
||||
const util_1 = require("../common/util");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const _index_1 = require("../platform/_index");
|
||||
const dialogs_1 = require("./dialogs");
|
||||
const settings_1 = require("./settings");
|
||||
@@ -110,63 +111,7 @@ function getCurrentOutput() {
|
||||
function getWorkerParams() {
|
||||
return compparams;
|
||||
}
|
||||
// TODO: codemirror multiplex support?
|
||||
// TODO: move to views.ts?
|
||||
const TOOL_TO_SOURCE_STYLE = {
|
||||
'dasm': '6502',
|
||||
'acme': '6502',
|
||||
'xa': '6502',
|
||||
'cc65': 'text/x-csrc',
|
||||
'ca65': '6502',
|
||||
'nesasm': '6502',
|
||||
'z80asm': 'z80',
|
||||
'sdasz80': 'z80',
|
||||
'sdasgb': 'z80',
|
||||
'sdcc': 'text/x-csrc',
|
||||
'verilator': 'verilog',
|
||||
'jsasm': 'z80',
|
||||
'zmac': 'z80',
|
||||
'bataribasic': 'bataribasic',
|
||||
'markdown': 'markdown',
|
||||
'js': 'javascript',
|
||||
'xasm6809': '6809',
|
||||
'cmoc': 'text/x-csrc',
|
||||
'yasm': 'gas',
|
||||
'smlrc': 'text/x-csrc',
|
||||
'inform6': 'inform6',
|
||||
'dialog': 'dialog',
|
||||
'fastbasic': 'fastbasic',
|
||||
'basic': 'basic',
|
||||
'silice': 'verilog',
|
||||
'wiz': 'text/x-wiz',
|
||||
'vasmarm': 'vasm',
|
||||
'armips': 'vasm',
|
||||
'ecs': 'ecs',
|
||||
'remote:llvm-mos': 'text/x-csrc',
|
||||
'cc2600': 'text/x-csrc',
|
||||
'cc7800': 'text/x-csrc',
|
||||
'armtcc': 'text/x-csrc',
|
||||
'oscar64': 'text/x-csrc',
|
||||
};
|
||||
// TODO: move into tool class
|
||||
const TOOL_TO_HELPURL = {
|
||||
'dasm': 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
'cc65': 'https://cc65.github.io/doc/cc65.html',
|
||||
'ca65': 'https://cc65.github.io/doc/ca65.html',
|
||||
'sdcc': 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
'verilator': 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
'fastbasic': 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
'bataribasic': "help/bataribasic/manual.html",
|
||||
'wiz': "https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",
|
||||
'silice': "https://github.com/sylefeb/Silice",
|
||||
'zmac': "https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",
|
||||
'cmoc': "http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html",
|
||||
'remote:llvm-mos': 'https://llvm-mos.org/wiki/Welcome',
|
||||
'acme': 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
'xa': 'https://www.floodgap.com/retrotech/xa/',
|
||||
'dialog': 'https://linusakesson.net/dialog/docs/',
|
||||
'oscar64': 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
};
|
||||
// editor styles and help URLs live in the tool registry (src/common/toolmeta.ts)
|
||||
function newWorker() {
|
||||
// TODO: return new Worker("https://8bitworkshop.com.s3-website-us-east-1.amazonaws.com/dev/gen/worker/bundle.js");
|
||||
return new Worker("./gen/worker/bundle.js");
|
||||
@@ -331,12 +276,13 @@ function refreshWindowList() {
|
||||
}
|
||||
}
|
||||
function loadEditor(path) {
|
||||
var _a;
|
||||
var tool = exports.platform.getToolForFilename(path);
|
||||
// hack because .h files can be DASM or CC65
|
||||
if (tool == 'dasm' && path.endsWith(".h") && getCurrentMainFilename().endsWith(".c")) {
|
||||
tool = 'cc65';
|
||||
}
|
||||
var mode = tool && TOOL_TO_SOURCE_STYLE[tool];
|
||||
var mode = tool && ((_a = (0, toolmeta_1.getToolMeta)(tool)) === null || _a === void 0 ? void 0 : _a.editorStyle);
|
||||
return new editors_1.SourceEditor(path, mode);
|
||||
}
|
||||
function addEditorItem(id) {
|
||||
@@ -505,7 +451,7 @@ function reloadProject(id) {
|
||||
gotoNewLocation();
|
||||
}
|
||||
async function getSkeletonFile(fileid) {
|
||||
var ext = exports.platform.getToolForFilename(fileid).replace(/^remote:/, "");
|
||||
var ext = (0, toolmeta_1.getSkeletonName)(exports.platform.getToolForFilename(fileid));
|
||||
try {
|
||||
return await $.get("presets/" + (0, util_1.getBasePlatform)(exports.platform_id) + "/skeleton." + ext, 'text');
|
||||
}
|
||||
@@ -536,7 +482,7 @@ async function _getToolsWithSkeletons(extensions) {
|
||||
}
|
||||
// check each tool in parallel
|
||||
var checks = toolOrder.map(tool => $.ajax({
|
||||
url: "presets/" + basePlatform + "/skeleton." + tool,
|
||||
url: "presets/" + basePlatform + "/skeleton." + (0, toolmeta_1.getSkeletonName)(tool),
|
||||
type: "HEAD"
|
||||
}).then(() => tool, () => null));
|
||||
var validTools = await Promise.all(checks);
|
||||
@@ -1480,6 +1426,7 @@ function _addLinkFile() {
|
||||
(0, dialogs_1.alertError)("Can't add linked file to this project type (" + tool + ")");
|
||||
}
|
||||
function setupDebugControls() {
|
||||
var _a;
|
||||
// create toolbar buttons
|
||||
uitoolbar = new toolbar_1.Toolbar($("#toolbar")[0], null);
|
||||
uitoolbar.grp.prop('id', 'run_bar');
|
||||
@@ -1581,7 +1528,7 @@ function setupDebugControls() {
|
||||
}
|
||||
// tool help
|
||||
let tool = exports.platform.getToolForFilename(getCurrentMainFilename());
|
||||
let toolhelpurl = TOOL_TO_HELPURL[tool];
|
||||
let toolhelpurl = tool && ((_a = (0, toolmeta_1.getToolMeta)(tool)) === null || _a === void 0 ? void 0 : _a.helpURL);
|
||||
if (toolhelpurl) {
|
||||
let { li, a } = newDropdownListItem('help__' + tool, tool + ' Help');
|
||||
$("#help_menu").append(li);
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1,2 +0,0 @@
|
||||
import{J as r}from"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";var t=class{constructor(e){this.mainElement=e,this.iframe=$('<iframe sandbox="allow-same-origin" width="100%" height="100%"/>').appendTo(e)[0],this.iframe.style.backgroundColor="white",e.classList.add("vertical-scroll"),e.style.overflowY="auto"}start(){}reset(){}pause(){}resume(){}loadROM(e,s){$(this.iframe).contents().find("body").html(s)}isRunning(){return!1}isDebugging(){return!1}getToolForFilename(e){return"markdown"}getDefaultExtensions(){return[".md"]}getPresets(){return[{id:"hello.md",name:"Hello"}]}showHelp(){return"https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax"}};r.markdown=t;
|
||||
//# sourceMappingURL=markdown-6K4JYWE2.js.map
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/platform/markdown.ts"],
|
||||
"sourcesContent": ["\nimport { PLATFORMS } from \"../common/emu\";\nimport { Platform } from \"../common/baseplatform\";\n\nclass MarkdownPlatform implements Platform {\n mainElement : HTMLElement;\n iframe : HTMLIFrameElement;\n\n constructor(mainElement:HTMLElement) {\n this.mainElement = mainElement;\n this.iframe = $('<iframe sandbox=\"allow-same-origin\" width=\"100%\" height=\"100%\"/>').appendTo(mainElement)[0] as HTMLIFrameElement;\n this.iframe.style.backgroundColor = 'white';\n mainElement.classList.add(\"vertical-scroll\"); //100% height\n mainElement.style.overflowY = 'auto';\n }\n start() {\n }\n reset() {\n }\n pause() {\n }\n resume() {\n }\n loadROM(title, data:string) {\n $(this.iframe).contents().find('body').html(data);\n }\n isRunning() {\n return false;\n }\n isDebugging() : boolean {\n return false;\n }\n getToolForFilename(fn : string) : string {\n return \"markdown\";\n }\n getDefaultExtensions() {\n return [\".md\"];\n }\n getPresets() {\n return [\n {id:'hello.md', name:'Hello'},\n ];\n }\n showHelp() {\n return \"https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax\";\n }\n}\n\nPLATFORMS['markdown'] = MarkdownPlatform;\n"],
|
||||
"mappings": "oEAIA,IAAMA,EAAN,KAA2C,CAIzC,YAAYC,EAAyB,CACnC,KAAK,YAAcA,EACnB,KAAK,OAAS,EAAE,kEAAkE,EAAE,SAASA,CAAW,EAAE,CAAC,EAC3G,KAAK,OAAO,MAAM,gBAAkB,QACpCA,EAAY,UAAU,IAAI,iBAAiB,EAC3CA,EAAY,MAAM,UAAY,MAChC,CACA,OAAQ,CACR,CACA,OAAQ,CACR,CACA,OAAQ,CACR,CACA,QAAS,CACT,CACA,QAAQC,EAAOC,EAAa,CAC1B,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,KAAKA,CAAI,CAClD,CACA,WAAY,CACV,MAAO,EACT,CACA,aAAwB,CACtB,MAAO,EACT,CACA,mBAAmBC,EAAsB,CACvC,MAAO,UACT,CACA,sBAAuB,CACrB,MAAO,CAAC,KAAK,CACf,CACA,YAAa,CACX,MAAO,CACL,CAAC,GAAG,WAAY,KAAK,OAAO,CAC9B,CACF,CACA,UAAW,CACT,MAAO,wEACT,CACF,EAEAC,EAAU,SAAcL",
|
||||
"names": ["MarkdownPlatform", "mainElement", "title", "data", "fn", "PLATFORMS"]
|
||||
}
|
||||
@@ -53,7 +53,6 @@ function importPlatform(name) {
|
||||
case "gb": return Promise.resolve().then(() => __importStar(require("../platform/gb")));
|
||||
case "gameboy": return Promise.resolve().then(() => __importStar(require("../platform/gb")));
|
||||
case "kim1": return Promise.resolve().then(() => __importStar(require("../platform/kim1")));
|
||||
case "markdown": return Promise.resolve().then(() => __importStar(require("../platform/markdown")));
|
||||
case "mcr": return Promise.resolve().then(() => __importStar(require("../platform/mcr")));
|
||||
case "msx": return Promise.resolve().then(() => __importStar(require("../platform/msx")));
|
||||
case "mw8080bw": return Promise.resolve().then(() => __importStar(require("../platform/mw8080bw")));
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/platform/_index.ts"],"names":[],"mappings":";AAAA,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,wCAwCG;AAxCH,SAAgB,cAAc,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,KAAK,SAAS,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAChD,KAAK,MAAM,CAAC,CAAC,yDAAc,kBAAkB,IAAE;QAC/C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,cAAc,CAAC,CAAC,yDAAc,0BAA0B,IAAE;QAC/D,KAAK,gBAAgB,CAAC,CAAC,yDAAc,4BAA4B,IAAE;QACnE,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
||||
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/platform/_index.ts"],"names":[],"mappings":";AAAA,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,wCAuCG;AAvCH,SAAgB,cAAc,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,KAAK,SAAS,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAChD,KAAK,MAAM,CAAC,CAAC,yDAAc,kBAAkB,IAAE;QAC/C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,cAAc,CAAC,CAAC,yDAAc,0BAA0B,IAAE;QAC/D,KAAK,gBAAgB,CAAC,CAAC,yDAAc,4BAA4B,IAAE;QACnE,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
||||
@@ -1,45 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const emu_1 = require("../common/emu");
|
||||
class MarkdownPlatform {
|
||||
constructor(mainElement) {
|
||||
this.mainElement = mainElement;
|
||||
this.iframe = $('<iframe sandbox="allow-same-origin" width="100%" height="100%"/>').appendTo(mainElement)[0];
|
||||
this.iframe.style.backgroundColor = 'white';
|
||||
mainElement.classList.add("vertical-scroll"); //100% height
|
||||
mainElement.style.overflowY = 'auto';
|
||||
}
|
||||
start() {
|
||||
}
|
||||
reset() {
|
||||
}
|
||||
pause() {
|
||||
}
|
||||
resume() {
|
||||
}
|
||||
loadROM(title, data) {
|
||||
$(this.iframe).contents().find('body').html(data);
|
||||
}
|
||||
isRunning() {
|
||||
return false;
|
||||
}
|
||||
isDebugging() {
|
||||
return false;
|
||||
}
|
||||
getToolForFilename(fn) {
|
||||
return "markdown";
|
||||
}
|
||||
getDefaultExtensions() {
|
||||
return [".md"];
|
||||
}
|
||||
getPresets() {
|
||||
return [
|
||||
{ id: 'hello.md', name: 'Hello' },
|
||||
];
|
||||
}
|
||||
showHelp() {
|
||||
return "https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax";
|
||||
}
|
||||
}
|
||||
emu_1.PLATFORMS['markdown'] = MarkdownPlatform;
|
||||
//# sourceMappingURL=markdown.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/platform/markdown.ts"],"names":[],"mappings":";;AACA,uCAA0C;AAG1C,MAAM,gBAAgB;IAIpB,YAAY,WAAuB;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,kEAAkE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAsB,CAAC;QAClI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAC5C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa;QAC3D,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACvC,CAAC;IACD,KAAK;IACL,CAAC;IACD,KAAK;IACL,CAAC;IACD,KAAK;IACL,CAAC;IACD,MAAM;IACN,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,IAAW;QACxB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kBAAkB,CAAC,EAAW;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,oBAAoB;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,UAAU;QACR,OAAO;YACL,EAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC;SAC9B,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,OAAO,wEAAwE,CAAC;IAClF,CAAC;CACF;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC"}
|
||||
@@ -0,0 +1,531 @@
|
||||
"use strict";
|
||||
/*
|
||||
* Tool metadata registry.
|
||||
*
|
||||
* Single source of truth for declarative (data-only) metadata about every
|
||||
* build tool, keyed by tool id. Both the IDE (src/ide) and the worker
|
||||
* (src/worker) import this module.
|
||||
*
|
||||
* What lives here:
|
||||
* - extension -> tool selection hints
|
||||
* - editor (CodeMirror) styles and help URLs (was TOOL_TO_SOURCE_STYLE/HELPURL in src/ide/ui.ts)
|
||||
* - preload filesystem names per platform (was TOOL_PRELOADFS in src/worker/workertools.ts)
|
||||
* - wasm module names (was loadNative() args in src/worker/tools/*.ts)
|
||||
* - include/link dependency patterns (was parseIncludeDependencies in src/ide/project.ts)
|
||||
* - remote/server tool config (was ServerBuildTool in src/worker/server/buildenv.ts)
|
||||
*
|
||||
* What stays OUT of this module (behavior cannot cross the worker boundary):
|
||||
* - build functions (src/worker/workertools.ts `TOOLS` map)
|
||||
* - error matchers, listing parsers (src/worker/tools/*.ts)
|
||||
* - machine layout params (code_start, rom_size, ... -> src/worker/platforms.ts PLATFORM_PARAMS)
|
||||
*
|
||||
* A unit test cross-checks that every id in TOOL_META has a worker build fn
|
||||
* (unless noWorkerBuild) and vice versa.
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_META = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.getToolMeta = getToolMeta;
|
||||
exports.getToolMetaForFilename = getToolMetaForFilename;
|
||||
exports.getPreloadFSName = getPreloadFSName;
|
||||
exports.getSkeletonName = getSkeletonName;
|
||||
exports.getIncludePatterns = getIncludePatterns;
|
||||
exports.getLinkPatterns = getLinkPatterns;
|
||||
exports.matchDependencyPatterns = matchDependencyPatterns;
|
||||
//// shared dependency-parsing patterns (from src/ide/project.ts)
|
||||
// C / most assemblers: [.#%]?include|incbin|embed "file", //#resource "file"
|
||||
exports.SHARED_INCLUDE_PATTERNS = [
|
||||
/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,
|
||||
/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm,
|
||||
];
|
||||
// C / most assemblers: //#link "file" (or ;link)
|
||||
exports.SHARED_LINK_PATTERNS = [
|
||||
/^\s*([;]|[/][/])#link\s+"(.+?)"/gm,
|
||||
];
|
||||
// Verilog family: `include/.include, $include/$dofile/$write_image_in_table,
|
||||
// .arch json, $readmem[bh]
|
||||
exports.VERILOG_INCLUDE_PATTERNS = [
|
||||
/^\s*(`include|[.]include)\s+"(.+?)"/gmi,
|
||||
/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,
|
||||
{ re: /^\s*([.]arch)\s+(\w+)/gmi, suffix: '.json' },
|
||||
/\$readmem[bh]\("(.+?)"/gmi,
|
||||
];
|
||||
// xasm6809 (USE) and merlin32 (ASM): " USE file.ext"
|
||||
exports.USE_ASM_INCLUDE_PATTERNS = [
|
||||
/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm,
|
||||
];
|
||||
// acme: !src "file"
|
||||
exports.ACME_INCLUDE_PATTERNS = [
|
||||
/^[!]src\s+"(.+?)"/gmi,
|
||||
];
|
||||
// wiz: import "file"; (implicit .wiz extension) / embed "file";
|
||||
exports.WIZ_INCLUDE_PATTERNS = [
|
||||
{ re: /^\s*import\s*"(.+?)";/gmi, suffix: '.wiz' },
|
||||
/^\s*embed\s*"(.+?)";/gmi,
|
||||
];
|
||||
// ecs: import "file"
|
||||
exports.ECS_INCLUDE_PATTERNS = [
|
||||
/^\s*(import)\s*"(.+?)"/gmi,
|
||||
];
|
||||
// dialog: %% #include "file" (comment directive)
|
||||
exports.DIALOG_INCLUDE_PATTERNS = [
|
||||
/^\s*%%\s*#include\s+"(.+?)"/gm,
|
||||
];
|
||||
//// preload filesystem names per tool/platform (was TOOL_PRELOADFS)
|
||||
const CC65_PRELOADFS = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
};
|
||||
//// tool registry
|
||||
exports.TOOL_META = {
|
||||
// ---- 6502 assemblers ----
|
||||
dasm: {
|
||||
id: 'dasm', name: 'DASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.dasm'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
wasmModule: 'dasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
acme: {
|
||||
id: 'acme', name: 'ACME', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.acme'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
wasmModule: 'acme',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ACME_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
xa: {
|
||||
id: 'xa', name: 'XA', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.xa'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://www.floodgap.com/retrotech/xa/',
|
||||
wasmModule: 'xa',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
nesasm: {
|
||||
id: 'nesasm', name: 'NESASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.nesasm'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'nesasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
merlin32: {
|
||||
id: 'merlin32', name: 'Merlin 32', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.lnk'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'merlin32',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- cc65 toolchain ----
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ld65: {
|
||||
id: 'ld65', name: 'ld65', kind: 'linker', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'ld65',
|
||||
},
|
||||
// ---- SDCC toolchain (z80) ----
|
||||
sdcc: {
|
||||
id: 'sdcc', name: 'SDCC', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
wasmModule: 'sdcc',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasz80: {
|
||||
id: 'sdasz80', name: 'sdasz80', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.s'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasz80',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasgb: {
|
||||
id: 'sdasgb', name: 'sdasgb', kind: 'assembler', arch: 'gbz80',
|
||||
extensions: ['.sgb'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasgb',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdldz80: {
|
||||
id: 'sdldz80', name: 'sdldz80', kind: 'linker', arch: 'z80',
|
||||
extensions: [],
|
||||
wasmModule: 'sdldz80',
|
||||
},
|
||||
sccz80: {
|
||||
id: 'sccz80', name: 'sccz80', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.scc'],
|
||||
platforms: { default: { preloadFS: 'sccz80' } },
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
naken: {
|
||||
id: 'naken', name: 'Naken', kind: 'assembler',
|
||||
extensions: ['.ns'],
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
// ---- z80 assemblers ----
|
||||
zmac: {
|
||||
id: 'zmac', name: 'zmac', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.z'],
|
||||
editorStyle: 'z80',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt',
|
||||
wasmModule: 'zmac',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
jsasm: {
|
||||
id: 'jsasm', name: 'JSASM', kind: 'assembler',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'z80',
|
||||
// pure JS assembler, no wasm module. Only used on the verilog platform,
|
||||
// where .asm files pull in .v modules and name a CPU with '.arch'.
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
// ---- 6809 toolchain ----
|
||||
xasm6809: {
|
||||
id: 'xasm6809', name: 'XASM6809', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.xasm'],
|
||||
editorStyle: '6809',
|
||||
wasmModule: 'xasm6809',
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cmoc: {
|
||||
id: 'cmoc', name: 'CMOC', kind: 'compiler', arch: '6809',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html',
|
||||
wasmModule: 'cmoc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
lwasm: {
|
||||
id: 'lwasm', name: 'LWASM', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.lwasm'],
|
||||
wasmModule: 'lwasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
lwlink: {
|
||||
id: 'lwlink', name: 'LWLINK', kind: 'linker', arch: '6809',
|
||||
extensions: [],
|
||||
wasmModule: 'lwlink',
|
||||
},
|
||||
// ---- ARM ----
|
||||
vasmarm: {
|
||||
id: 'vasmarm', name: 'vasm (ARM)', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.vasm'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'vasmarm_std',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armips: {
|
||||
id: 'armips', name: 'armips', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.armips'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'armips',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armtcc: {
|
||||
id: 'armtcc', name: 'TCC (ARM)', kind: 'compiler', arch: 'arm32',
|
||||
extensions: ['.c', '.s'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'arm-tcc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
armtcclink: {
|
||||
id: 'armtcclink', name: 'TCC (ARM) link', kind: 'linker', arch: 'arm32',
|
||||
extensions: [],
|
||||
wasmModule: 'arm-tcc',
|
||||
},
|
||||
// ---- x86 ----
|
||||
smlrc: {
|
||||
id: 'smlrc', name: 'SmallerC', kind: 'compiler', arch: 'x86',
|
||||
extensions: ['.c'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'smlrc',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
yasm: {
|
||||
id: 'yasm', name: 'YASM', kind: 'assembler', arch: 'x86',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'gas',
|
||||
wasmModule: 'yasm',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- 6502 C compilers / BASIC dialects ----
|
||||
oscar64: {
|
||||
id: 'oscar64', name: 'Oscar64', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.cc', '.o64'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
wasmModule: 'oscar64',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
bataribasic: {
|
||||
id: 'bataribasic', name: 'batari Basic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bb', '.bas'],
|
||||
editorStyle: 'bataribasic',
|
||||
helpURL: 'help/bataribasic/manual.html',
|
||||
wasmModule: 'bb2600basic',
|
||||
platforms: { default: { preloadFS: '2600basic' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
fastbasic: {
|
||||
id: 'fastbasic', name: 'FastBasic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bas', '.fb', '.fbi'],
|
||||
editorStyle: 'fastbasic',
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cc2600: {
|
||||
id: 'cc2600', name: 'CC2600', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc2600'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc2600',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
cc7800: {
|
||||
id: 'cc7800', name: 'CC7800', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc7800', '.c78'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc7800',
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
// ---- other languages ----
|
||||
basic: {
|
||||
id: 'basic', name: 'BASIC', kind: 'interpreter',
|
||||
extensions: ['.bas'],
|
||||
editorStyle: 'basic',
|
||||
},
|
||||
wiz: {
|
||||
id: 'wiz', name: 'wiz', kind: 'compiler',
|
||||
extensions: ['.wiz'],
|
||||
editorStyle: 'text/x-wiz',
|
||||
helpURL: 'https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz',
|
||||
wasmModule: 'wiz',
|
||||
platforms: { default: { preloadFS: 'wiz' } },
|
||||
includePatterns: exports.WIZ_INCLUDE_PATTERNS,
|
||||
},
|
||||
ecs: {
|
||||
id: 'ecs', name: 'ECS', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
},
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
inform6: {
|
||||
id: 'inform6', name: 'Inform 6', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.inf'],
|
||||
editorStyle: 'inform6',
|
||||
wasmModule: 'inform',
|
||||
platforms: { default: { preloadFS: 'inform' } },
|
||||
},
|
||||
dialog: {
|
||||
id: 'dialog', name: 'Dialog', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.dg'],
|
||||
editorStyle: 'dialog',
|
||||
helpURL: 'https://linusakesson.net/dialog/docs/',
|
||||
wasmModule: 'dialogc',
|
||||
includePatterns: exports.DIALOG_INCLUDE_PATTERNS,
|
||||
},
|
||||
// ---- verilog / HDL ----
|
||||
verilator: {
|
||||
id: 'verilator', name: 'Verilator', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.v'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
wasmModule: 'verilator_bin',
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
yosys: {
|
||||
id: 'yosys', name: 'Yosys', kind: 'hdl', arch: 'verilog',
|
||||
extensions: [],
|
||||
wasmModule: 'yosys',
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
silice: {
|
||||
id: 'silice', name: 'Silice', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.ice'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://github.com/sylefeb/Silice',
|
||||
wasmModule: 'silice',
|
||||
platforms: { default: { preloadFS: 'Silice' } },
|
||||
includePatterns: exports.VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
// ---- remote / server ----
|
||||
'llvm-mos': {
|
||||
id: 'llvm-mos', name: 'LLVM-MOS', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.s', '.S', '.C'],
|
||||
editorStyle: 'text/x-csrc', // used as 'remote:llvm-mos' in the IDE
|
||||
helpURL: 'https://llvm-mos.org/wiki/Welcome',
|
||||
remote: true,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
server: {
|
||||
version: 'latest',
|
||||
platforms: ['atari8', 'c64', 'nes', 'pce', 'vcs'],
|
||||
binpath: 'llvm-mos/bin',
|
||||
command: 'mos-clang',
|
||||
args: ['-Os', '-g', '-D', '__8BITWORKSHOP__', '-o', '$OUTFILE', '$INFILES'],
|
||||
},
|
||||
},
|
||||
// TODO: do we need this too?
|
||||
remote: {
|
||||
id: 'remote', name: 'Remote build', kind: 'remote',
|
||||
extensions: [],
|
||||
remote: true,
|
||||
},
|
||||
};
|
||||
//// helpers
|
||||
/**
|
||||
* Look up tool metadata by tool id. Tolerates the 'remote:' transport prefix
|
||||
* used in build steps (e.g. 'remote:llvm-mos' -> 'llvm-mos').
|
||||
*/
|
||||
function getToolMeta(id) {
|
||||
return exports.TOOL_META[id.replace(/^remote:/, '')];
|
||||
}
|
||||
/**
|
||||
* Return all tools that consume the given filename (longest extension match
|
||||
* first). Ambiguity is resolved by the platform, which picks from these.
|
||||
*/
|
||||
function getToolMetaForFilename(fn) {
|
||||
let matches = [];
|
||||
for (let id in exports.TOOL_META) {
|
||||
let meta = exports.TOOL_META[id];
|
||||
for (let ext of meta.extensions) {
|
||||
if (ext && fn.endsWith(ext)) {
|
||||
matches.push({ meta, len: ext.length });
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return matches.sort((a, b) => b.len - a.len).map(m => m.meta);
|
||||
}
|
||||
/**
|
||||
* Resolve the preload filesystem name for a tool on a platform
|
||||
* (was TOOL_PRELOADFS, including compound 'tool-platform' keys).
|
||||
*/
|
||||
function getPreloadFSName(tool, platform) {
|
||||
let meta = getToolMeta(tool);
|
||||
if (!meta)
|
||||
return undefined;
|
||||
if (meta.platforms) {
|
||||
if (platform) {
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS)
|
||||
return p.preloadFS;
|
||||
}
|
||||
let d = meta.platforms['default'];
|
||||
if (d && d.preloadFS)
|
||||
return d.preloadFS;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
/** Skeleton filename in presets/<platform>/, defaults to tool id. */
|
||||
function getSkeletonName(tool) {
|
||||
let meta = getToolMeta(tool);
|
||||
return (meta && meta.skeleton) ? meta.skeleton : tool.replace(/^remote:/, '');
|
||||
}
|
||||
/**
|
||||
* Include patterns to use when scanning a source file for dependencies.
|
||||
* Falls back to the platform (verilog vs. everything else) when the tool is
|
||||
* unknown or declares no patterns of its own, which is how dependency parsing
|
||||
* worked before this registry. A tool that really has no include directives
|
||||
* says so with an explicit empty list.
|
||||
*/
|
||||
function getIncludePatterns(tool, platform) {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.includePatterns)
|
||||
return meta.includePatterns;
|
||||
if (platform && platform.startsWith('verilog'))
|
||||
return exports.VERILOG_INCLUDE_PATTERNS;
|
||||
return exports.SHARED_INCLUDE_PATTERNS;
|
||||
}
|
||||
/** Link patterns ("//#link") to use when scanning a source file. */
|
||||
function getLinkPatterns(tool, platform) {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.linkPatterns)
|
||||
return meta.linkPatterns;
|
||||
if (platform && platform.startsWith('verilog'))
|
||||
return [];
|
||||
return exports.SHARED_LINK_PATTERNS;
|
||||
}
|
||||
/**
|
||||
* Run a set of include/link patterns over source text, returning the
|
||||
* referenced filenames. The filename comes from the pattern's `group`, or
|
||||
* from the last capture group if unspecified, plus any implicit `suffix`.
|
||||
*/
|
||||
function matchDependencyPatterns(text, patterns) {
|
||||
let files = [];
|
||||
for (let pat of patterns || []) {
|
||||
let p = pat instanceof RegExp ? { re: pat } : pat;
|
||||
let m;
|
||||
p.re.lastIndex = 0; // patterns are shared and global, so rewind first
|
||||
while (m = p.re.exec(text)) {
|
||||
let fn = m[p.group != null ? p.group : m.length - 1];
|
||||
if (fn)
|
||||
files.push(p.suffix ? fn + p.suffix : fn);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
//# sourceMappingURL=toolmeta.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
+9
-77
@@ -7,6 +7,7 @@ exports.CodeProject = exports.LocalForageFilesystem = exports.OverlayFilesystem
|
||||
exports.createNewPersistentStore = createNewPersistentStore;
|
||||
const localforage_1 = __importDefault(require("localforage"));
|
||||
const util_1 = require("../common/util");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const workertypes_1 = require("../common/workertypes");
|
||||
class WebPresetsFileSystem {
|
||||
constructor(platform_id) {
|
||||
@@ -165,90 +166,21 @@ class CodeProject {
|
||||
if (dir.length > 0 && dir != 'local') // TODO
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
// TODO: use tool id to parse files, not platform
|
||||
/** Patterns come from the tool registry (src/common/toolmeta.ts), keyed by
|
||||
* the tool that builds the main file; the platform is only a fallback. */
|
||||
parseIncludeDependencies(text) {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
// include verilog includes
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for Silice
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// include .arch (json) statements
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2] + ".json");
|
||||
}
|
||||
// include $readmem[bh] (TODO)
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// for .asm -- [.%]include "file"
|
||||
// for .c -- #include "file"
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for .c -- //#resource "file" (or ;resource or #resource)
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[3]);
|
||||
}
|
||||
// for XASM only (USE include.ext)
|
||||
// for merlin32 (ASM include.ext)
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for wiz
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import')
|
||||
this.pushAllFiles(files, m[2] + ".wiz");
|
||||
else
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for ecs
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for acme
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// for dialog -- %% #include "file" (dialog has no include directive,
|
||||
// so the compiler is handed every file listed in a comment instead)
|
||||
let re8 = /^\s*%%\s*#include\s+"(.+?)"/gm;
|
||||
while (m = re8.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// TODO: for xa assembler
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getIncludePatterns)(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
parseLinkDependencies(text) {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
//
|
||||
}
|
||||
else {
|
||||
// for .c -- //#link "file" (or ;link or #link)
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getLinkPatterns)(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/ide/project.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/ide/project.ts"],"names":[],"mappings":"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 truncated
|
||||
+8
-61
@@ -60,6 +60,7 @@ const baseplatform_1 = require("../common/baseplatform");
|
||||
const emu_1 = require("../common/emu");
|
||||
const recorder_1 = require("../common/recorder");
|
||||
const util_1 = require("../common/util");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const _index_1 = require("../platform/_index");
|
||||
const dialogs_1 = require("./dialogs");
|
||||
const settings_1 = require("./settings");
|
||||
@@ -110,63 +111,7 @@ function getCurrentOutput() {
|
||||
function getWorkerParams() {
|
||||
return compparams;
|
||||
}
|
||||
// TODO: codemirror multiplex support?
|
||||
// TODO: move to views.ts?
|
||||
const TOOL_TO_SOURCE_STYLE = {
|
||||
'dasm': '6502',
|
||||
'acme': '6502',
|
||||
'xa': '6502',
|
||||
'cc65': 'text/x-csrc',
|
||||
'ca65': '6502',
|
||||
'nesasm': '6502',
|
||||
'z80asm': 'z80',
|
||||
'sdasz80': 'z80',
|
||||
'sdasgb': 'z80',
|
||||
'sdcc': 'text/x-csrc',
|
||||
'verilator': 'verilog',
|
||||
'jsasm': 'z80',
|
||||
'zmac': 'z80',
|
||||
'bataribasic': 'bataribasic',
|
||||
'markdown': 'markdown',
|
||||
'js': 'javascript',
|
||||
'xasm6809': '6809',
|
||||
'cmoc': 'text/x-csrc',
|
||||
'yasm': 'gas',
|
||||
'smlrc': 'text/x-csrc',
|
||||
'inform6': 'inform6',
|
||||
'dialog': 'dialog',
|
||||
'fastbasic': 'fastbasic',
|
||||
'basic': 'basic',
|
||||
'silice': 'verilog',
|
||||
'wiz': 'text/x-wiz',
|
||||
'vasmarm': 'vasm',
|
||||
'armips': 'vasm',
|
||||
'ecs': 'ecs',
|
||||
'remote:llvm-mos': 'text/x-csrc',
|
||||
'cc2600': 'text/x-csrc',
|
||||
'cc7800': 'text/x-csrc',
|
||||
'armtcc': 'text/x-csrc',
|
||||
'oscar64': 'text/x-csrc',
|
||||
};
|
||||
// TODO: move into tool class
|
||||
const TOOL_TO_HELPURL = {
|
||||
'dasm': 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
'cc65': 'https://cc65.github.io/doc/cc65.html',
|
||||
'ca65': 'https://cc65.github.io/doc/ca65.html',
|
||||
'sdcc': 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
'verilator': 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
'fastbasic': 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
'bataribasic': "help/bataribasic/manual.html",
|
||||
'wiz': "https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",
|
||||
'silice': "https://github.com/sylefeb/Silice",
|
||||
'zmac': "https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",
|
||||
'cmoc': "http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html",
|
||||
'remote:llvm-mos': 'https://llvm-mos.org/wiki/Welcome',
|
||||
'acme': 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
'xa': 'https://www.floodgap.com/retrotech/xa/',
|
||||
'dialog': 'https://linusakesson.net/dialog/docs/',
|
||||
'oscar64': 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
};
|
||||
// editor styles and help URLs live in the tool registry (src/common/toolmeta.ts)
|
||||
function newWorker() {
|
||||
// TODO: return new Worker("https://8bitworkshop.com.s3-website-us-east-1.amazonaws.com/dev/gen/worker/bundle.js");
|
||||
return new Worker("./gen/worker/bundle.js");
|
||||
@@ -331,12 +276,13 @@ function refreshWindowList() {
|
||||
}
|
||||
}
|
||||
function loadEditor(path) {
|
||||
var _a;
|
||||
var tool = exports.platform.getToolForFilename(path);
|
||||
// hack because .h files can be DASM or CC65
|
||||
if (tool == 'dasm' && path.endsWith(".h") && getCurrentMainFilename().endsWith(".c")) {
|
||||
tool = 'cc65';
|
||||
}
|
||||
var mode = tool && TOOL_TO_SOURCE_STYLE[tool];
|
||||
var mode = tool && ((_a = (0, toolmeta_1.getToolMeta)(tool)) === null || _a === void 0 ? void 0 : _a.editorStyle);
|
||||
return new editors_1.SourceEditor(path, mode);
|
||||
}
|
||||
function addEditorItem(id) {
|
||||
@@ -505,7 +451,7 @@ function reloadProject(id) {
|
||||
gotoNewLocation();
|
||||
}
|
||||
async function getSkeletonFile(fileid) {
|
||||
var ext = exports.platform.getToolForFilename(fileid).replace(/^remote:/, "");
|
||||
var ext = (0, toolmeta_1.getSkeletonName)(exports.platform.getToolForFilename(fileid));
|
||||
try {
|
||||
return await $.get("presets/" + (0, util_1.getBasePlatform)(exports.platform_id) + "/skeleton." + ext, 'text');
|
||||
}
|
||||
@@ -536,7 +482,7 @@ async function _getToolsWithSkeletons(extensions) {
|
||||
}
|
||||
// check each tool in parallel
|
||||
var checks = toolOrder.map(tool => $.ajax({
|
||||
url: "presets/" + basePlatform + "/skeleton." + tool,
|
||||
url: "presets/" + basePlatform + "/skeleton." + (0, toolmeta_1.getSkeletonName)(tool),
|
||||
type: "HEAD"
|
||||
}).then(() => tool, () => null));
|
||||
var validTools = await Promise.all(checks);
|
||||
@@ -1480,6 +1426,7 @@ function _addLinkFile() {
|
||||
(0, dialogs_1.alertError)("Can't add linked file to this project type (" + tool + ")");
|
||||
}
|
||||
function setupDebugControls() {
|
||||
var _a;
|
||||
// create toolbar buttons
|
||||
uitoolbar = new toolbar_1.Toolbar($("#toolbar")[0], null);
|
||||
uitoolbar.grp.prop('id', 'run_bar');
|
||||
@@ -1581,7 +1528,7 @@ function setupDebugControls() {
|
||||
}
|
||||
// tool help
|
||||
let tool = exports.platform.getToolForFilename(getCurrentMainFilename());
|
||||
let toolhelpurl = TOOL_TO_HELPURL[tool];
|
||||
let toolhelpurl = tool && ((_a = (0, toolmeta_1.getToolMeta)(tool)) === null || _a === void 0 ? void 0 : _a.helpURL);
|
||||
if (toolhelpurl) {
|
||||
let { li, a } = newDropdownListItem('help__' + tool, tool + ' Help');
|
||||
$("#help_menu").append(li);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -53,7 +53,6 @@ function importPlatform(name) {
|
||||
case "gb": return Promise.resolve().then(() => __importStar(require("../platform/gb")));
|
||||
case "gameboy": return Promise.resolve().then(() => __importStar(require("../platform/gb")));
|
||||
case "kim1": return Promise.resolve().then(() => __importStar(require("../platform/kim1")));
|
||||
case "markdown": return Promise.resolve().then(() => __importStar(require("../platform/markdown")));
|
||||
case "mcr": return Promise.resolve().then(() => __importStar(require("../platform/mcr")));
|
||||
case "msx": return Promise.resolve().then(() => __importStar(require("../platform/msx")));
|
||||
case "mw8080bw": return Promise.resolve().then(() => __importStar(require("../platform/mw8080bw")));
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/platform/_index.ts"],"names":[],"mappings":";AAAA,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,wCAwCG;AAxCH,SAAgB,cAAc,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,KAAK,SAAS,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAChD,KAAK,MAAM,CAAC,CAAC,yDAAc,kBAAkB,IAAE;QAC/C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,cAAc,CAAC,CAAC,yDAAc,0BAA0B,IAAE;QAC/D,KAAK,gBAAgB,CAAC,CAAC,yDAAc,4BAA4B,IAAE;QACnE,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
||||
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/platform/_index.ts"],"names":[],"mappings":";AAAA,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,wCAuCG;AAvCH,SAAgB,cAAc,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,WAAW,CAAC,CAAC,yDAAc,uBAAuB,IAAE;QACzD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,KAAK,SAAS,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAChD,KAAK,MAAM,CAAC,CAAC,yDAAc,kBAAkB,IAAE;QAC/C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,cAAc,CAAC,CAAC,yDAAc,0BAA0B,IAAE;QAC/D,KAAK,gBAAgB,CAAC,CAAC,yDAAc,4BAA4B,IAAE;QACnE,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,QAAQ,CAAC,CAAC,yDAAc,oBAAoB,IAAE;QACnD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,OAAO,CAAC,CAAC,yDAAc,mBAAmB,IAAE;QACjD,KAAK,SAAS,CAAC,CAAC,yDAAc,qBAAqB,IAAE;QACrD,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,KAAK,CAAC,CAAC,yDAAc,iBAAiB,IAAE;QAC7C,KAAK,UAAU,CAAC,CAAC,yDAAc,sBAAsB,IAAE;QACvD,KAAK,IAAI,CAAC,CAAC,yDAAc,gBAAgB,IAAE;QAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
||||
@@ -1,45 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const emu_1 = require("../common/emu");
|
||||
class MarkdownPlatform {
|
||||
constructor(mainElement) {
|
||||
this.mainElement = mainElement;
|
||||
this.iframe = $('<iframe sandbox="allow-same-origin" width="100%" height="100%"/>').appendTo(mainElement)[0];
|
||||
this.iframe.style.backgroundColor = 'white';
|
||||
mainElement.classList.add("vertical-scroll"); //100% height
|
||||
mainElement.style.overflowY = 'auto';
|
||||
}
|
||||
start() {
|
||||
}
|
||||
reset() {
|
||||
}
|
||||
pause() {
|
||||
}
|
||||
resume() {
|
||||
}
|
||||
loadROM(title, data) {
|
||||
$(this.iframe).contents().find('body').html(data);
|
||||
}
|
||||
isRunning() {
|
||||
return false;
|
||||
}
|
||||
isDebugging() {
|
||||
return false;
|
||||
}
|
||||
getToolForFilename(fn) {
|
||||
return "markdown";
|
||||
}
|
||||
getDefaultExtensions() {
|
||||
return [".md"];
|
||||
}
|
||||
getPresets() {
|
||||
return [
|
||||
{ id: 'hello.md', name: 'Hello' },
|
||||
];
|
||||
}
|
||||
showHelp() {
|
||||
return "https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax";
|
||||
}
|
||||
}
|
||||
emu_1.PLATFORMS['markdown'] = MarkdownPlatform;
|
||||
//# sourceMappingURL=markdown.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/platform/markdown.ts"],"names":[],"mappings":";;AACA,uCAA0C;AAG1C,MAAM,gBAAgB;IAIpB,YAAY,WAAuB;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,kEAAkE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAsB,CAAC;QAClI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAC5C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa;QAC3D,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACvC,CAAC;IACD,KAAK;IACL,CAAC;IACD,KAAK;IACL,CAAC;IACD,KAAK;IACL,CAAC;IACD,MAAM;IACN,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,IAAW;QACxB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kBAAkB,CAAC,EAAW;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,oBAAoB;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,UAAU;QACR,OAAO;YACL,EAAC,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC;SAC9B,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,OAAO,wEAAwE,CAAC;IAClF,CAAC;CACF;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC"}
|
||||
@@ -270,10 +270,6 @@ async function doCompile(args, positional, checkOnly) {
|
||||
process.exit(1);
|
||||
}
|
||||
// Preload the tool's filesystem if needed
|
||||
var preloadKey = tool;
|
||||
if (testlib_1.TOOL_PRELOADFS[tool + '-' + platform]) {
|
||||
preloadKey = tool;
|
||||
}
|
||||
await (0, testlib_1.preload)(tool, platform);
|
||||
var result = await (0, testlib_1.compileSourceFile)(tool, platform, sourceFile);
|
||||
if (!result.success) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"8bws.js","sourceRoot":"","sources":["../../../src/tools/8bws.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"8bws.js","sourceRoot":"","sources":["../../../src/tools/8bws.ts"],"names":[],"mappings":"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 truncated
|
||||
+16
-69
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.TOOL_PRELOADFS = exports.store = void 0;
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.store = void 0;
|
||||
exports.initialize = initialize;
|
||||
exports.preload = preload;
|
||||
exports.compile = compile;
|
||||
@@ -51,9 +51,9 @@ const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
const util_1 = require("../common/util");
|
||||
const baseplatform_1 = require("../common/baseplatform");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const workerlib_1 = require("../worker/workerlib");
|
||||
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return workerlib_1.store; } });
|
||||
Object.defineProperty(exports, "TOOL_PRELOADFS", { enumerable: true, get: function () { return workerlib_1.TOOL_PRELOADFS; } });
|
||||
const platforms_1 = require("../worker/platforms");
|
||||
Object.defineProperty(exports, "PLATFORM_PARAMS", { enumerable: true, get: function () { return platforms_1.PLATFORM_PARAMS; } });
|
||||
const workertools_1 = require("../worker/workertools");
|
||||
@@ -126,83 +126,26 @@ async function compileFile(tool, platform, presetPath) {
|
||||
}
|
||||
/**
|
||||
* Parse include and link dependencies from source text.
|
||||
* Extracted from CodeProject.parseIncludeDependencies / parseLinkDependencies.
|
||||
* TODO: project.ts should be refactored so we don't have to duplicate the logic
|
||||
* Patterns come from the tool registry (src/common/toolmeta.ts), the same
|
||||
* ones CodeProject uses in the IDE.
|
||||
*/
|
||||
function parseIncludeDependencies(text, platformId, mainPath) {
|
||||
function parseDependencies(text, platformId, mainPath, patterns) {
|
||||
let files = [];
|
||||
let m;
|
||||
var dir = (0, util_1.getFolderForPath)(mainPath);
|
||||
function pushFile(fn) {
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, patterns)) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
if (platformId.startsWith('verilog')) {
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
pushFile(m[2] + ".json");
|
||||
}
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) {
|
||||
pushFile(m[1]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) {
|
||||
pushFile(m[3]);
|
||||
}
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import')
|
||||
pushFile(m[2] + ".wiz");
|
||||
else
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) {
|
||||
pushFile(m[1]);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
function parseIncludeDependencies(text, platformId, mainPath) {
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, (0, toolmeta_1.getIncludePatterns)(tool, platformId));
|
||||
}
|
||||
function parseLinkDependencies(text, platformId, mainPath) {
|
||||
let files = [];
|
||||
let m;
|
||||
var dir = (0, util_1.getFolderForPath)(mainPath);
|
||||
function pushFile(fn) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
if (!platformId.startsWith('verilog')) {
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, (0, toolmeta_1.getLinkPatterns)(tool, platformId));
|
||||
}
|
||||
/**
|
||||
* Try to resolve a file path by searching the source directory,
|
||||
@@ -296,6 +239,10 @@ function getToolForFilename(fn, platform) {
|
||||
return (0, baseplatform_1.getToolForFilename_6502)(fn);
|
||||
case '6809':
|
||||
return (0, baseplatform_1.getToolForFilename_6809)(fn);
|
||||
case 'verilog':
|
||||
if (fn.endsWith('.asm'))
|
||||
return 'jsasm';
|
||||
return fn.endsWith('.ice') ? 'silice' : 'verilator';
|
||||
default:
|
||||
return (0, baseplatform_1.getToolForFilename_z80)(fn); // fallback
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"testlib.js","sourceRoot":"","sources":["../../../src/tools/testlib.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"testlib.js","sourceRoot":"","sources":["../../../src/tools/testlib.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -33,7 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.translateShowdown = translateShowdown;
|
||||
exports.compileInform6 = compileInform6;
|
||||
exports.compileBASIC = compileBASIC;
|
||||
exports.compileWiz = compileWiz;
|
||||
@@ -42,24 +41,6 @@ const util_1 = require("../../common/util");
|
||||
const wasmutils_1 = require("../wasmutils");
|
||||
const builder_1 = require("../builder");
|
||||
const listingutils_1 = require("../listingutils");
|
||||
const workermain_1 = require("../workermain");
|
||||
function translateShowdown(step) {
|
||||
(0, workermain_1.setupRequireFunction)();
|
||||
(0, wasmutils_1.load)("showdown.min");
|
||||
var showdown = wasmutils_1.emglobal['showdown'];
|
||||
var converter = new showdown.Converter({
|
||||
tables: 'true',
|
||||
smoothLivePreview: 'true',
|
||||
requireSpaceBeforeHeadingText: 'true',
|
||||
emoji: 'true',
|
||||
});
|
||||
var code = (0, builder_1.getWorkFileAsString)(step.path);
|
||||
var html = converter.makeHtml(code);
|
||||
delete wasmutils_1.emglobal['require'];
|
||||
return {
|
||||
output: html
|
||||
};
|
||||
}
|
||||
function compileInform6(step) {
|
||||
(0, wasmutils_1.loadNative)("inform");
|
||||
var errors = [];
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/worker/tools/misc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8CAgBC;AAED,wCAyFC;AAED,oCAwBC;AAED,gCAiDC;AA/LD,4EAA8D;AAC9D,4CAAwE;AACxE,4CAAuH;AACvH,wCAAwK;AACxK,kDAAmF;AACnF,8CAAqD;AAErD,SAAgB,iBAAiB,CAAC,IAAe;IAC7C,IAAA,iCAAoB,GAAE,CAAC;IACvB,IAAA,gBAAI,EAAC,cAAc,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,oBAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,SAAS,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,MAAM;QACd,iBAAiB,EAAE,MAAM;QACzB,6BAA6B,EAAE,MAAM;QACrC,KAAK,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,oBAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO;QACH,MAAM,EAAE,IAAI;KACf,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAAC,IAAe;IAC1C,IAAA,sBAAU,EAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAA,qBAAW,EAAC,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAClC,IAAI,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,IAAI,IAAI,CAAC;YACnB,CAAC;QACL,CAAC,CAAA;QACD,8CAA8C;QAC9C,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAqB,oBAAQ,CAAC,MAAM,CAAC;YAC3C,eAAe,EAAE,IAAA,wBAAY,EAAC,QAAQ,CAAC;YACvC,YAAY,EAAE,IAAI;YAClB,oBAAoB;YACpB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAA,mBAAO,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAA,uBAAa,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,+CAA+C;QAC/C,IAAA,oBAAQ,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM;YACb,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,IAAA,qBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAA,0BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO;QAEX,kBAAkB;QAClB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,QAAQ,GAAc,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAG;YACZ,mBAAmB;YACnB,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SACtG,CAAC;QACF,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC;QACrC,uBAAuB;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,SAAS;oBACV,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC;oBACtE,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/E,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;oBACtC,MAAM;gBACV,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW;oBACZ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC;oBACtE,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC3E,sCAAsC;oBACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;oBACpC,yCAAyC;oBACzC,MAAM;gBACV,KAAK,oBAAoB;oBACrB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC;oBAC/D,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/E,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtF,IAAI,IAAI,IAAI,eAAe;wBAAE,OAAO,GAAG,KAAK,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACjG,CAAC;QACL,CAAC,CAAC,CAAC;QACH,gBAAgB;QAChB,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,kEAAkE;QAClE,IAAI,KAAK,GAAG,IAAA,2BAAY,EAAC,MAAM,EAAE,sDAAsD,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjE,OAAO;YACH,MAAM,EAAE,MAAM,EAAE,YAAY;YAC5B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAC,IAAe;IACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACnC,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IAClB,IAAI,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,IAAI,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CLine truncated
|
||||
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/worker/tools/misc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,wCAyFC;AAED,oCAwBC;AAED,gCAiDC;AA7KD,4EAA8D;AAC9D,4CAAwE;AACxE,4CAAuH;AACvH,wCAAwK;AACxK,kDAAmF;AAGnF,SAAgB,cAAc,CAAC,IAAe;IAC1C,IAAA,sBAAU,EAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAA,qBAAW,EAAC,IAAI,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAClC,IAAI,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,IAAI,IAAI,CAAC;YACnB,CAAC;QACL,CAAC,CAAA;QACD,8CAA8C;QAC9C,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAqB,oBAAQ,CAAC,MAAM,CAAC;YAC3C,eAAe,EAAE,IAAA,wBAAY,EAAC,QAAQ,CAAC;YACvC,YAAY,EAAE,IAAI;YAClB,oBAAoB;YACpB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAA,mBAAO,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAA,uBAAa,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,+CAA+C;QAC/C,IAAA,oBAAQ,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM;YACb,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,IAAA,qBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAA,0BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO;QAEX,kBAAkB;QAClB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,QAAQ,GAAc,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAG;YACZ,mBAAmB;YACnB,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SACtG,CAAC;QACF,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC;QACrC,uBAAuB;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,SAAS;oBACV,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC;oBACtE,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/E,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;oBACtC,MAAM;gBACV,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW;oBACZ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC;oBACtE,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC3E,sCAAsC;oBACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;oBACpC,yCAAyC;oBACzC,MAAM;gBACV,KAAK,oBAAoB;oBACrB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC;oBAC/D,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/E,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtF,IAAI,IAAI,IAAI,eAAe;wBAAE,OAAO,GAAG,KAAK,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACjG,CAAC;QACL,CAAC,CAAC,CAAC;QACH,gBAAgB;QAChB,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,kEAAkE;QAClE,IAAI,KAAK,GAAG,IAAA,2BAAY,EAAC,MAAM,EAAE,sDAAsD,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjE,OAAO;YACH,MAAM,EAAE,MAAM,EAAE,YAAY;YAC5B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAC,IAAe;IACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACnC,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IAClB,IAAI,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,IAAI,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC;YACD,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/E,CAAC;QACD,qEAAqE;QACrE,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,SAALine truncated
|
||||
@@ -36,14 +36,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.TOOL_PRELOADFS = exports.builder = exports.store = void 0;
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.builder = exports.store = void 0;
|
||||
exports.setupNodeEnvironment = setupNodeEnvironment;
|
||||
exports.handleMessage = handleMessage;
|
||||
const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
const util_1 = require("../common/util");
|
||||
const workertools_1 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOL_PRELOADFS", { enumerable: true, get: function () { return workertools_1.TOOL_PRELOADFS; } });
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const builder_1 = require("./builder");
|
||||
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return builder_1.store; } });
|
||||
Object.defineProperty(exports, "builder", { enumerable: true, get: function () { return builder_1.builder; } });
|
||||
@@ -51,8 +50,8 @@ const wasmutils_1 = require("./wasmutils");
|
||||
const workermain_1 = require("./workermain");
|
||||
var platforms_1 = require("./platforms");
|
||||
Object.defineProperty(exports, "PLATFORM_PARAMS", { enumerable: true, get: function () { return platforms_1.PLATFORM_PARAMS; } });
|
||||
var workertools_2 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOLS", { enumerable: true, get: function () { return workertools_2.TOOLS; } });
|
||||
var workertools_1 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOLS", { enumerable: true, get: function () { return workertools_1.TOOLS; } });
|
||||
class Blob {
|
||||
constructor(data) {
|
||||
this.data = data;
|
||||
@@ -165,11 +164,8 @@ function setupNodeEnvironment() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fsName = workertools_1.TOOL_PRELOADFS[data.preload];
|
||||
if (!fsName && data.platform)
|
||||
fsName = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getBasePlatform)(data.platform)];
|
||||
if (!fsName && data.platform)
|
||||
fsName = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getRootBasePlatform)(data.platform)];
|
||||
var fsName = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getBasePlatform)(data.platform))
|
||||
|| (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getRootBasePlatform)(data.platform));
|
||||
if (fsName && !wasmutils_1.fsMeta[fsName])
|
||||
(0, wasmutils_1.loadFilesystem)(fsName);
|
||||
return;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workerlib.js","sourceRoot":"","sources":["../../../src/worker/workerlib.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workerlib.js","sourceRoot":"","sources":["../../../src/worker/workerlib.ts"],"names":[],"mappings":"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"}
|
||||
@@ -2,7 +2,7 @@
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setupRequireFunction = setupRequireFunction;
|
||||
const util_1 = require("../common/util");
|
||||
const workertools_1 = require("./workertools");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const builder_1 = require("./builder");
|
||||
const wasmutils_1 = require("./wasmutils");
|
||||
function setupRequireFunction() {
|
||||
@@ -22,11 +22,8 @@ function setupRequireFunction() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = workertools_1.TOOL_PRELOADFS[data.preload];
|
||||
if (!fs && data.platform)
|
||||
fs = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getBasePlatform)(data.platform)];
|
||||
if (!fs && data.platform)
|
||||
fs = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getRootBasePlatform)(data.platform)];
|
||||
var fs = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getBasePlatform)(data.platform))
|
||||
|| (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getRootBasePlatform)(data.platform));
|
||||
if (fs && !wasmutils_1.fsMeta[fs])
|
||||
(0, wasmutils_1.loadFilesystem)(fs);
|
||||
return;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../../src/worker/workermain.ts"],"names":[],"mappings":";;AAUA,oDAWC;AAnBD,yCAAsE;AACtE,+CAA+C;AAC/C,uCAA6E;AAC7E,2CAA+D;AAK/D,SAAgB,oBAAoB;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,GAAG;QACjB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;IACF,oBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAe,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAA;AACH,CAAC;AAED,4BAA4B;AAE5B,6FAA6F;AAE7F,KAAK,UAAU,aAAa,CAAC,IAAmB;IAC9C,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;YACtB,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;YACtB,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAA,0BAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,EAAE,IAAI,CAAC,kBAAM,CAAC,EAAE,CAAC;YACnB,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,qCAAqC;IACrC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,eAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,OAAO,iBAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,qBAAqB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAClE,IAAI,qBAAqB,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,SAAS,GAAG,KAAK,WAAW,CAAC;QAC3B,MAAM,WAAW,CAAC,CAAC,wCAAwC;QAC3D,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,WAAW,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../../src/worker/workermain.ts"],"names":[],"mappings":";;AAUA,oDAWC;AAnBD,yCAAsE;AACtE,iDAAsD;AACtD,uCAA6E;AAC7E,2CAA+D;AAK/D,SAAgB,oBAAoB;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,GAAG;QACjB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;IACF,oBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAe,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAA;AACH,CAAC;AAED,4BAA4B;AAE5B,6FAA6F;AAE7F,KAAK,UAAU,aAAa,CAAC,IAAmB;IAC9C,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,IAAA,2BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAA,sBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;eACnF,IAAA,2BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAA,0BAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE,IAAI,CAAC,kBAAM,CAAC,EAAE,CAAC;YACnB,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,qCAAqC;IACrC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,eAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,OAAO,iBAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,qBAAqB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAClE,IAAI,qBAAqB,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,SAAS,GAAG,KAAK,WAAW,CAAC;QAC3B,MAAM,WAAW,CAAC,CAAC,wCAAwC;QAC3D,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,WAAW,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
||||
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_PRELOADFS = exports.TOOLS = void 0;
|
||||
exports.TOOLS = void 0;
|
||||
const misc = __importStar(require("./tools/misc"));
|
||||
const cc65 = __importStar(require("./tools/cc65"));
|
||||
const dasm = __importStar(require("./tools/dasm"));
|
||||
@@ -78,7 +78,6 @@ exports.TOOLS = {
|
||||
'smlrc': x86.compileSmallerC,
|
||||
'yasm': x86.assembleYASM,
|
||||
'bataribasic': bataribasic.compileBatariBasic,
|
||||
'markdown': misc.translateShowdown,
|
||||
'inform6': misc.compileInform6,
|
||||
'merlin32': m6502.assembleMerlin32,
|
||||
'fastbasic': m6502.compileFastBasic,
|
||||
@@ -97,40 +96,4 @@ exports.TOOLS = {
|
||||
'xa': xa.assembleXA,
|
||||
'dialog': dialog.compileDialog,
|
||||
};
|
||||
exports.TOOL_PRELOADFS = {
|
||||
'cc65-apple2': '65-apple2',
|
||||
'ca65-apple2': '65-apple2',
|
||||
'cc65-c64': '65-c64',
|
||||
'ca65-c64': '65-c64',
|
||||
'cc65-vic20': '65-vic20',
|
||||
'ca65-vic20': '65-vic20',
|
||||
'cc65-nes': '65-nes',
|
||||
'ca65-nes': '65-nes',
|
||||
'cc65-atari8': '65-atari8',
|
||||
'ca65-atari8': '65-atari8',
|
||||
'cc65-vector': '65-none',
|
||||
'ca65-vector': '65-none',
|
||||
'cc65-atari7800': '65-none',
|
||||
'ca65-atari7800': '65-none',
|
||||
'cc65-devel': '65-none',
|
||||
'ca65-devel': '65-none',
|
||||
'cc65-vcs': '65-atari2600',
|
||||
'ca65-vcs': '65-atari2600',
|
||||
'cc65-pce': '65-pce',
|
||||
'ca65-pce': '65-pce',
|
||||
'cc65-exidy': '65-none',
|
||||
'ca65-exidy': '65-none',
|
||||
'sdasz80': 'sdcc',
|
||||
'sdasgb': 'sdcc',
|
||||
'sdcc': 'sdcc',
|
||||
'sccz80': 'sccz80',
|
||||
'bataribasic': '2600basic',
|
||||
'inform6': 'inform',
|
||||
'fastbasic': '65-atari8',
|
||||
'silice': 'Silice',
|
||||
'wiz': 'wiz',
|
||||
'ecs-vcs': '65-atari2600', // TODO: support multiple platforms
|
||||
'ecs-nes': '65-nes', // TODO: support multiple platforms
|
||||
'ecs-c64': '65-c64', // TODO: support multiple platforms
|
||||
};
|
||||
//# sourceMappingURL=workertools.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workertools.js","sourceRoot":"","sources":["../../../src/worker/workertools.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workertools.js","sourceRoot":"","sources":["../../../src/worker/workertools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;AACpC,mDAAoC;AACpC,mDAAoC;AACpC,mDAAoC;AACpC,yDAA0C;AAC1C,qDAAsC;AACtC,qDAAsC;AACtC,iDAAkC;AAClC,iDAAkC;AAClC,iDAAkC;AAClC,iDAAkC;AAClC,uDAAwC;AACxC,mDAAoC;AACpC,uDAAwC;AACxC,uDAAwC;AACxC,iEAAkD;AAClD,yDAA0C;AAC1C,+CAAgC;AAChC,uDAAwC;AAI3B,QAAA,KAAK,GAAG;IACnB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,WAAW;IACxB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,QAAQ;IACrB,2BAA2B;IAC3B,0BAA0B;IAC1B,SAAS,EAAE,IAAI,CAAC,eAAe;IAC/B,QAAQ,EAAE,IAAI,CAAC,cAAc;IAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;IAC3B,MAAM,EAAE,IAAI,CAAC,WAAW;IACxB,UAAU,EAAE,KAAK,CAAC,gBAAgB;IAClC,MAAM,EAAE,KAAK,CAAC,WAAW;IACzB,OAAO,EAAE,KAAK,CAAC,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC,UAAU;IAC1B,yBAAyB;IACzB,WAAW,EAAE,OAAO,CAAC,gBAAgB;IACrC,OAAO,EAAE,OAAO,CAAC,YAAY;IAC7B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,MAAM,EAAE,GAAG,CAAC,YAAY;IACxB,QAAQ,EAAE,KAAK,CAAC,cAAc;IAC9B,OAAO,EAAE,GAAG,CAAC,eAAe;IAC5B,MAAM,EAAE,GAAG,CAAC,YAAY;IACxB,aAAa,EAAE,WAAW,CAAC,kBAAkB;IAC7C,SAAS,EAAE,IAAI,CAAC,cAAc;IAC9B,UAAU,EAAE,KAAK,CAAC,gBAAgB;IAClC,WAAW,EAAE,KAAK,CAAC,gBAAgB;IACnC,OAAO,EAAE,IAAI,CAAC,YAAY;IAC1B,QAAQ,EAAE,OAAO,CAAC,aAAa;IAC/B,KAAK,EAAE,IAAI,CAAC,UAAU;IACtB,QAAQ,EAAE,GAAG,CAAC,cAAc;IAC5B,SAAS,EAAE,GAAG,CAAC,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,WAAW;IACtB,QAAQ,EAAE,MAAM,CAAC,WAAW;IAC5B,QAAQ,EAAE,MAAM,CAAC,aAAa;IAC9B,QAAQ,EAAE,MAAM,CAAC,aAAa;IAC9B,QAAQ,EAAE,GAAG,CAAC,aAAa;IAC3B,YAAY,EAAE,GAAG,CAAC,UAAU;IAC5B,SAAS,EAAE,OAAO,CAAC,cAAc;IACjC,IAAI,EAAE,EAAE,CAAC,UAAU;IACnB,QAAQ,EAAE,MAAM,CAAC,aAAa;CAC/B,CAAA"}
|
||||
@@ -1 +1 @@
|
||||
{"root":["../../test/unit/testanalysis.ts","../../test/unit/testassembler.ts","../../test/unit/testassetscan.ts","../../test/unit/testbaseplatform.ts","../../test/unit/testcommon.ts","../../test/unit/testcommon_ext.ts","../../test/unit/testecs.ts","../../test/unit/testelfparser.ts","../../test/unit/testemu.ts","../../test/unit/testlibretro.ts","../../test/unit/testutil.ts","../../test/unit/testwasishim.ts","../../src/common/analysis.ts","../../src/common/audio.ts","../../src/common/baseplatform.ts","../../src/common/binutils.ts","../../src/common/devices.ts","../../src/common/emu.ts","../../src/common/gbpalette.ts","../../src/common/mameplatform.ts","../../src/common/probe.ts","../../src/common/recorder.ts","../../src/common/teletype.ts","../../src/common/tokenizer.ts","../../src/common/util.ts","../../src/common/vlist.ts","../../src/common/vtextscroller.ts","../../src/common/wasmplatform.ts","../../src/common/workertypes.ts","../../src/common/audio/CommodoreTape.ts","../../src/common/basic/compiler.ts","../../src/common/basic/fuzz.ts","../../src/common/basic/run.ts","../../src/common/basic/runtime.ts","../../src/common/cpu/6809.ts","../../src/common/cpu/ARM.ts","../../src/common/cpu/F8.ts","../../src/common/cpu/MOS6502.ts","../../src/common/cpu/SM83.ts","../../src/common/cpu/ZilogZ80.ts","../../src/common/cpu/disasm6502.ts","../../src/common/cpu/disasmF8.ts","../../src/common/cpu/disasmHuC6280.ts","../../src/common/cpu/disasmSM83.ts","../../src/common/cpu/disasmz80.ts","../../src/common/ecs/binpack.ts","../../src/common/ecs/compiler.ts","../../src/common/ecs/decoder.ts","../../src/common/ecs/ecs.ts","../../src/common/ecs/main.ts","../../src/common/hdl/fuzz.ts","../../src/common/hdl/hdlruntime.ts","../../src/common/hdl/hdltypes.ts","../../src/common/hdl/hdlwasm.ts","../../src/common/hdl/vxmlparser.ts","../../src/common/hdl/vxmltest.ts","../../src/common/wasi/libretro.ts","../../src/common/wasi/wasishim.ts","../../src/ide/dialogs.ts","../../src/ide/embedui.ts","../../src/ide/pixeleditor.ts","../../src/ide/project.ts","../../src/ide/services.ts","../../src/ide/settings.ts","../../src/ide/shareexport.ts","../../src/ide/sync.ts","../../src/ide/toolbar.ts","../../src/ide/ui.ts","../../src/ide/waveform.ts","../../src/ide/windows.ts","../../src/ide/views/assetdecorations.ts","../../src/ide/views/asseteditor.ts","../../src/ide/views/baseviews.ts","../../src/ide/views/debug.ts","../../src/ide/views/debugviews.ts","../../src/ide/views/editors.ts","../../src/ide/views/filters.ts","../../src/ide/views/gutter.ts","../../src/ide/views/tabs.ts","../../src/ide/views/traceviews.ts","../../src/ide/views/treeviews.ts","../../src/ide/views/visuals.ts","../../src/machine/apple2.ts","../../src/machine/arm32.ts","../../src/machine/astrocade.ts","../../src/machine/atari7800.ts","../../src/machine/atari8.ts","../../src/machine/c64.ts","../../src/machine/channelf.ts","../../src/machine/coleco.ts","../../src/machine/cpc.ts","../../src/machine/devel.ts","../../src/machine/exidy.ts","../../src/machine/galaxian.ts","../../src/machine/gb.ts","../../src/machine/kim1.ts","../../src/machine/mcr.ts","../../src/machine/msx.ts","../../src/machine/mw8080bw.ts","../../src/machine/pacman.ts","../../src/machine/sms.ts","../../src/machine/vdp_z80.ts","../../src/machine/vic20.ts","../../src/machine/vicdual.ts","../../src/machine/williams.ts","../../src/machine/zx.ts","../../src/machine/chips/antic.ts","../../src/machine/chips/gtia.ts","../../src/machine/chips/pokey.ts","../../src/machine/chips/tms9918a.ts","../../src/parser/lang-6502.ts","../../src/parser/lang-basic.ts","../../src/parser/lang-bataribasic.ts","../../src/parser/lang-dialog.ts","../../src/parser/lang-fastbasic.ts","../../src/parser/lang-inform6.ts","../../src/parser/lang-verilog.ts","../../src/parser/lang-wiz.ts","../../src/parser/lang-z80.ts","../../src/parser/tokens-6502.ts","../../src/parser/tokens-6809.ts","../../src/parser/tokens-z80.ts","../../src/platform/_index.ts","../../src/platform/apple2.ts","../../src/platform/arm32.ts","../../src/platform/astrocade.ts","../../src/platform/atari7800.ts","../../src/platform/atari8.ts","../../src/platform/basic.ts","../../src/platform/c64.ts","../../src/platform/channelf.ts","../../src/platform/coleco.ts","../../src/platform/cpc.ts","../../src/platform/devel.ts","../../src/platform/exidy.ts","../../src/platform/galaxian.ts","../../src/platform/gb.ts","../../src/platform/kim1.ts","../../src/platform/markdown.ts","../../src/platform/mcr.ts","../../src/platform/msx.ts","../../src/platform/mw8080bw.ts","../../src/platform/nes.ts","../../src/platform/pacman.ts","../../src/platform/pce.ts","../../src/platform/sms.ts","../../src/platform/sound_konami.ts","../../src/platform/sound_williams.ts","../../src/platform/vcs.ts","../../src/platform/vector.ts","../../src/platform/vectrex.ts","../../src/platform/verilog.ts","../../src/platform/vic20.ts","../../src/platform/vicdual.ts","../../src/platform/williams.ts","../../src/platform/x86.ts","../../src/plLine truncated
|
||||
{"root":["../../test/unit/testanalysis.ts","../../test/unit/testassembler.ts","../../test/unit/testassetscan.ts","../../test/unit/testbaseplatform.ts","../../test/unit/testcommon.ts","../../test/unit/testcommon_ext.ts","../../test/unit/testecs.ts","../../test/unit/testelfparser.ts","../../test/unit/testemu.ts","../../test/unit/testlibretro.ts","../../test/unit/testpixelclipboard.ts","../../test/unit/testtoolmeta.ts","../../test/unit/testutil.ts","../../test/unit/testwasishim.ts","../../src/common/analysis.ts","../../src/common/audio.ts","../../src/common/baseplatform.ts","../../src/common/binutils.ts","../../src/common/devices.ts","../../src/common/emu.ts","../../src/common/gbpalette.ts","../../src/common/mameplatform.ts","../../src/common/probe.ts","../../src/common/recorder.ts","../../src/common/teletype.ts","../../src/common/tokenizer.ts","../../src/common/toolmeta.ts","../../src/common/util.ts","../../src/common/vlist.ts","../../src/common/vtextscroller.ts","../../src/common/wasmplatform.ts","../../src/common/workertypes.ts","../../src/common/audio/CommodoreTape.ts","../../src/common/basic/compiler.ts","../../src/common/basic/fuzz.ts","../../src/common/basic/run.ts","../../src/common/basic/runtime.ts","../../src/common/cpu/6809.ts","../../src/common/cpu/ARM.ts","../../src/common/cpu/F8.ts","../../src/common/cpu/MOS6502.ts","../../src/common/cpu/SM83.ts","../../src/common/cpu/ZilogZ80.ts","../../src/common/cpu/disasm6502.ts","../../src/common/cpu/disasmF8.ts","../../src/common/cpu/disasmHuC6280.ts","../../src/common/cpu/disasmSM83.ts","../../src/common/cpu/disasmz80.ts","../../src/common/ecs/binpack.ts","../../src/common/ecs/compiler.ts","../../src/common/ecs/decoder.ts","../../src/common/ecs/ecs.ts","../../src/common/ecs/main.ts","../../src/common/hdl/fuzz.ts","../../src/common/hdl/hdlruntime.ts","../../src/common/hdl/hdltypes.ts","../../src/common/hdl/hdlwasm.ts","../../src/common/hdl/vxmlparser.ts","../../src/common/hdl/vxmltest.ts","../../src/common/wasi/libretro.ts","../../src/common/wasi/wasishim.ts","../../src/ide/dialogs.ts","../../src/ide/embedui.ts","../../src/ide/pixeleditor.ts","../../src/ide/project.ts","../../src/ide/services.ts","../../src/ide/settings.ts","../../src/ide/shareexport.ts","../../src/ide/sync.ts","../../src/ide/toolbar.ts","../../src/ide/ui.ts","../../src/ide/waveform.ts","../../src/ide/windows.ts","../../src/ide/views/assetdecorations.ts","../../src/ide/views/asseteditor.ts","../../src/ide/views/baseviews.ts","../../src/ide/views/debug.ts","../../src/ide/views/debugviews.ts","../../src/ide/views/editors.ts","../../src/ide/views/filters.ts","../../src/ide/views/gutter.ts","../../src/ide/views/tabs.ts","../../src/ide/views/traceviews.ts","../../src/ide/views/treeviews.ts","../../src/ide/views/visuals.ts","../../src/machine/apple2.ts","../../src/machine/arm32.ts","../../src/machine/astrocade.ts","../../src/machine/atari7800.ts","../../src/machine/atari8.ts","../../src/machine/c64.ts","../../src/machine/channelf.ts","../../src/machine/coleco.ts","../../src/machine/cpc.ts","../../src/machine/devel.ts","../../src/machine/exidy.ts","../../src/machine/galaxian.ts","../../src/machine/gb.ts","../../src/machine/kim1.ts","../../src/machine/mcr.ts","../../src/machine/msx.ts","../../src/machine/mw8080bw.ts","../../src/machine/pacman.ts","../../src/machine/sms.ts","../../src/machine/vdp_z80.ts","../../src/machine/vic20.ts","../../src/machine/vicdual.ts","../../src/machine/williams.ts","../../src/machine/zx.ts","../../src/machine/chips/antic.ts","../../src/machine/chips/gtia.ts","../../src/machine/chips/pokey.ts","../../src/machine/chips/tms9918a.ts","../../src/parser/lang-6502.ts","../../src/parser/lang-basic.ts","../../src/parser/lang-bataribasic.ts","../../src/parser/lang-dialog.ts","../../src/parser/lang-fastbasic.ts","../../src/parser/lang-inform6.ts","../../src/parser/lang-verilog.ts","../../src/parser/lang-wiz.ts","../../src/parser/lang-z80.ts","../../src/parser/tokens-6502.ts","../../src/parser/tokens-6809.ts","../../src/parser/tokens-z80.ts","../../src/platform/_index.ts","../../src/platform/apple2.ts","../../src/platform/arm32.ts","../../src/platform/astrocade.ts","../../src/platform/atari7800.ts","../../src/platform/atari8.ts","../../src/platform/basic.ts","../../src/platform/c64.ts","../../src/platform/channelf.ts","../../src/platform/coleco.ts","../../src/platform/cpc.ts","../../src/platform/devel.ts","../../src/platform/exidy.ts","../../src/platform/galaxian.ts","../../src/platform/gb.ts","../../src/platform/kim1.ts","../../src/platform/mcr.ts","../../src/platform/msx.ts","../../src/platform/mw8080bw.ts","../../src/platform/nes.ts","../../src/platform/pacman.ts","../../src/platform/pce.ts","../../src/platform/sms.ts","../../src/platform/sound_konami.ts","../../src/platform/sound_williams.ts","../../src/platform/vcs.ts","../../src/platform/vector.ts","../../src/platform/vectrex.ts","../../src/platform/verilog.ts","../../src/platform/vic20.ts","../../src/platform/vicdual.ts",".Line truncated
|
||||
@@ -0,0 +1,70 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const assert_1 = __importDefault(require("assert"));
|
||||
const mocha_1 = require("mocha");
|
||||
const pixeleditor_1 = require("../../src/ide/pixeleditor");
|
||||
const PAL_A = new Uint32Array([0xff000000, 0xff0000ff, 0xff00ff00, 0xffff0000]);
|
||||
const PAL_B = new Uint32Array([0xff111111, 0xff222222, 0xff333333, 0xff444444]);
|
||||
function clip(width, height, indexes, palette) {
|
||||
return {
|
||||
width: width,
|
||||
height: height,
|
||||
pixels: new Uint32Array(indexes.map((i) => palette[i])),
|
||||
palette: palette.slice()
|
||||
};
|
||||
}
|
||||
function indexesOf(pixels, palette) {
|
||||
return Array.from(pixels).map((rgba) => palette.indexOf(rgba));
|
||||
}
|
||||
(0, mocha_1.describe)('Pixel editor clipboard', function () {
|
||||
(0, mocha_1.it)('should paste over the whole image when sizes match', function () {
|
||||
var src = clip(2, 2, [0, 1, 2, 3], PAL_A);
|
||||
var dst = new Uint32Array([PAL_A[3], PAL_A[3], PAL_A[3], PAL_A[3]]);
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, dst, 2, 2, PAL_A);
|
||||
assert_1.default.deepEqual(indexesOf(out, PAL_A), [0, 1, 2, 3]);
|
||||
});
|
||||
(0, mocha_1.it)('should not modify the destination array in place', function () {
|
||||
var src = clip(1, 1, [1], PAL_A);
|
||||
var dst = new Uint32Array([PAL_A[0]]);
|
||||
(0, pixeleditor_1.pasteClipboardPixels)(src, dst, 1, 1, PAL_A);
|
||||
assert_1.default.equal(dst[0], PAL_A[0]);
|
||||
});
|
||||
(0, mocha_1.it)('should remap colors by palette index when palettes differ', function () {
|
||||
var src = clip(2, 2, [0, 1, 2, 3], PAL_A);
|
||||
var dst = new Uint32Array(4).fill(PAL_B[0]);
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, dst, 2, 2, PAL_B);
|
||||
assert_1.default.deepEqual(indexesOf(out, PAL_B), [0, 1, 2, 3]);
|
||||
});
|
||||
(0, mocha_1.it)('should wrap palette indexes when the destination palette is smaller', function () {
|
||||
var pal2 = PAL_B.slice(0, 2);
|
||||
var src = clip(2, 2, [0, 1, 2, 3], PAL_A);
|
||||
var dst = new Uint32Array(4).fill(pal2[0]);
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, dst, 2, 2, pal2);
|
||||
assert_1.default.deepEqual(indexesOf(out, pal2), [0, 1, 0, 1]);
|
||||
});
|
||||
(0, mocha_1.it)('should clip a larger source and leave the rest of the destination alone', function () {
|
||||
var src = clip(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], PAL_A);
|
||||
var dst = new Uint32Array(4).fill(PAL_A[3]);
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, dst, 2, 2, PAL_A);
|
||||
assert_1.default.deepEqual(indexesOf(out, PAL_A), [1, 1, 1, 1]);
|
||||
});
|
||||
(0, mocha_1.it)('should keep destination pixels outside a smaller source', function () {
|
||||
var src = clip(1, 1, [1], PAL_A);
|
||||
var dst = new Uint32Array(4).fill(PAL_A[3]);
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, dst, 2, 2, PAL_A);
|
||||
assert_1.default.deepEqual(indexesOf(out, PAL_A), [1, 3, 3, 3]);
|
||||
});
|
||||
(0, mocha_1.it)('should pass through colors that are not in the source palette', function () {
|
||||
var src = {
|
||||
width: 1, height: 1,
|
||||
pixels: new Uint32Array([0xff123456]),
|
||||
palette: PAL_A.slice()
|
||||
};
|
||||
var out = (0, pixeleditor_1.pasteClipboardPixels)(src, new Uint32Array([PAL_B[0]]), 1, 1, PAL_B);
|
||||
assert_1.default.equal(out[0], 0xff123456);
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=testpixelclipboard.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"testpixelclipboard.js","sourceRoot":"","sources":["../../../test/unit/testpixelclipboard.ts"],"names":[],"mappings":"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"}
|
||||
@@ -0,0 +1,120 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const assert_1 = __importDefault(require("assert"));
|
||||
const mocha_1 = require("mocha");
|
||||
const toolmeta_1 = require("../../src/common/toolmeta");
|
||||
// Node-friendly worker entry point (re-exports TOOLS without Worker wiring)
|
||||
const workerlib_1 = require("../../src/worker/workerlib");
|
||||
(0, mocha_1.describe)('Tool metadata registry', function () {
|
||||
(0, mocha_1.it)('every registry key matches its tool id', function () {
|
||||
for (let id in toolmeta_1.TOOL_META) {
|
||||
assert_1.default.strictEqual(toolmeta_1.TOOL_META[id].id, id, `TOOL_META['${id}'].id mismatch`);
|
||||
}
|
||||
});
|
||||
(0, mocha_1.it)('every worker build tool is registered (and vice versa)', function () {
|
||||
// worker TOOLS -> must exist in registry
|
||||
for (let id of Object.keys(workerlib_1.TOOLS)) {
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META[id], `worker TOOLS['${id}'] missing from TOOL_META`);
|
||||
}
|
||||
// registry -> must have a worker build fn, unless explicitly deferred
|
||||
// or built on a remote server (llvm-mos)
|
||||
for (let id in toolmeta_1.TOOL_META) {
|
||||
let meta = toolmeta_1.TOOL_META[id];
|
||||
if (meta.noWorkerBuild || meta.remote)
|
||||
continue;
|
||||
assert_1.default.ok(workerlib_1.TOOLS[id], `TOOL_META['${id}'] missing from worker TOOLS`);
|
||||
}
|
||||
});
|
||||
(0, mocha_1.it)('getToolMeta strips the remote: transport prefix', function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getToolMeta)('remote:llvm-mos'), toolmeta_1.TOOL_META['llvm-mos']);
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getToolMeta)('llvm-mos'), toolmeta_1.TOOL_META['llvm-mos']);
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getToolMeta)('bogus'), undefined);
|
||||
});
|
||||
(0, mocha_1.it)('getToolMetaForFilename finds tools by extension', function () {
|
||||
assert_1.default.ok((0, toolmeta_1.getToolMetaForFilename)('foo.c').some(m => m.id === 'cc65'));
|
||||
assert_1.default.ok((0, toolmeta_1.getToolMetaForFilename)('foo.s').some(m => m.id === 'ca65'));
|
||||
assert_1.default.ok((0, toolmeta_1.getToolMetaForFilename)('foo.wiz').some(m => m.id === 'wiz'));
|
||||
assert_1.default.ok((0, toolmeta_1.getToolMetaForFilename)('foo.ecs').some(m => m.id === 'ecs'));
|
||||
assert_1.default.ok((0, toolmeta_1.getToolMetaForFilename)('foo.dg').some(m => m.id === 'dialog'));
|
||||
// unknown extension -> no matches
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.getToolMetaForFilename)('foo.xyz'), []);
|
||||
});
|
||||
(0, mocha_1.it)('getPreloadFSName resolves per-platform filesystems', function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'nes'), '65-nes');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'c64'), '65-c64');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'nonexistent'), undefined);
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('sdcc'), 'sdcc'); // default config
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('dasm'), undefined);
|
||||
});
|
||||
(0, mocha_1.it)('getSkeletonName defaults to the tool id', function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSkeletonName)('dasm'), 'dasm');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSkeletonName)('remote:llvm-mos'), 'llvm-mos');
|
||||
});
|
||||
(0, mocha_1.it)('covers the previously-scattered editor styles and help URLs', function () {
|
||||
// spot-check ids that used to live in TOOL_TO_SOURCE_STYLE / TOOL_TO_HELPURL
|
||||
for (let id of ['dasm', 'acme', 'cc65', 'ca65', 'sdcc', 'cmoc', 'zmac',
|
||||
'nesasm', 'bataribasic', 'fastbasic', 'wiz', 'silice', 'ecs', 'dialog']) {
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META[id], `expected tool '${id}' in registry`);
|
||||
}
|
||||
assert_1.default.strictEqual(toolmeta_1.TOOL_META['cc65'].editorStyle, 'text/x-csrc');
|
||||
assert_1.default.strictEqual(toolmeta_1.TOOL_META['ca65'].editorStyle, '6502');
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['dasm'].helpURL);
|
||||
});
|
||||
(0, mocha_1.it)('include patterns exist for tools that do dependency parsing', function () {
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['cc65'].includePatterns.length > 0);
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['verilator'].includePatterns.length > 0);
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['acme'].includePatterns.length > 0);
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['dialog'].includePatterns.length > 0);
|
||||
assert_1.default.ok(toolmeta_1.TOOL_META['wiz'].includePatterns.length > 0);
|
||||
});
|
||||
(0, mocha_1.it)('matches include directives for the tool that builds the file', function () {
|
||||
let deps = (text, tool, platform) => (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getIncludePatterns)(tool, platform));
|
||||
assert_1.default.deepStrictEqual(deps('#include "foo.h"\n', 'cc65'), ['foo.h']);
|
||||
assert_1.default.deepStrictEqual(deps('\t.include "foo.inc"\n', 'ca65'), ['foo.inc']);
|
||||
assert_1.default.deepStrictEqual(deps('//#resource "foo.bin"\n', 'dasm'), ['foo.bin']);
|
||||
assert_1.default.deepStrictEqual(deps('!src "foo.acme"\n', 'acme'), ['foo.acme']);
|
||||
assert_1.default.deepStrictEqual(deps('%% #include "foo.dg"\n', 'dialog'), ['foo.dg']);
|
||||
assert_1.default.deepStrictEqual(deps(' USE foo.xasm\n', 'xasm6809'), ['foo.xasm']);
|
||||
// ecs uses both its own import and the shared .include directive
|
||||
assert_1.default.deepStrictEqual(deps('.include "vcs.h"\nimport "lib.ecs"\n', 'ecs'), ['vcs.h', 'lib.ecs']);
|
||||
// wiz: import gets an implicit .wiz extension, embed does not
|
||||
assert_1.default.deepStrictEqual(deps('import "nes";\nembed "map.bin";\n', 'wiz'), ['nes.wiz', 'map.bin']);
|
||||
// verilog: .arch names a .json file
|
||||
assert_1.default.deepStrictEqual(deps('`include "hvsync.v"\n.arch mynes\n', 'verilator'), ['hvsync.v', 'mynes.json']);
|
||||
// unknown tool falls back to the platform
|
||||
assert_1.default.deepStrictEqual(deps('`include "hvsync.v"\n', null, 'verilog'), ['hvsync.v']);
|
||||
assert_1.default.deepStrictEqual(deps('#include "foo.h"\n', null, 'c64'), ['foo.h']);
|
||||
});
|
||||
(0, mocha_1.it)('matches link directives only for tools that link', function () {
|
||||
let deps = (text, tool, platform) => (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getLinkPatterns)(tool, platform));
|
||||
assert_1.default.deepStrictEqual(deps('//#link "foo.c"\n', 'cc65'), ['foo.c']);
|
||||
assert_1.default.deepStrictEqual(deps(';#link "foo.s"\n', 'ca65'), ['foo.s']);
|
||||
assert_1.default.deepStrictEqual(deps('//#link "foo.v"\n', 'verilator'), []); // hdl tools don't link
|
||||
assert_1.default.deepStrictEqual(deps('//#link "foo.v"\n', null, 'verilog'), []);
|
||||
});
|
||||
(0, mocha_1.it)('parses verilog directives in .asm files built by jsasm', function () {
|
||||
// presets/verilog/test2.asm: .include "*.v" plus ".arch femto16"
|
||||
let text = '.include "cpu16.v"\n.arch femto16\n';
|
||||
let files = (0, toolmeta_1.matchDependencyPatterns)(text, (0, toolmeta_1.getIncludePatterns)('jsasm', 'verilog'));
|
||||
assert_1.default.deepStrictEqual(files, ['cpu16.v', 'femto16.json']);
|
||||
// and no shared-pattern duplicate of the .include
|
||||
assert_1.default.strictEqual(files.filter(f => f == 'cpu16.v').length, 1);
|
||||
});
|
||||
(0, mocha_1.it)('falls back to the platform when a tool declares no patterns', function () {
|
||||
// 'basic' has no includePatterns of its own -> platform default
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.matchDependencyPatterns)('#include "foo.h"\n', (0, toolmeta_1.getIncludePatterns)('basic', 'c64')), ['foo.h']);
|
||||
// an explicit empty list means "this tool has no such directives"
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.getLinkPatterns)('jsasm', 'verilog'), []);
|
||||
});
|
||||
(0, mocha_1.it)('rewinds shared global patterns between files', function () {
|
||||
// patterns are shared between tools and have the /g flag, so a stale
|
||||
// lastIndex would make the second scan miss the directive
|
||||
let pats = (0, toolmeta_1.getIncludePatterns)('cc65');
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.matchDependencyPatterns)('#include "a.h"\n', pats), ['a.h']);
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.matchDependencyPatterns)('#include "b.h"\n', pats), ['b.h']);
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=testtoolmeta.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"testtoolmeta.js","sourceRoot":"","sources":["../../../test/unit/testtoolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -270,10 +270,6 @@ async function doCompile(args, positional, checkOnly) {
|
||||
process.exit(1);
|
||||
}
|
||||
// Preload the tool's filesystem if needed
|
||||
var preloadKey = tool;
|
||||
if (testlib_1.TOOL_PRELOADFS[tool + '-' + platform]) {
|
||||
preloadKey = tool;
|
||||
}
|
||||
await (0, testlib_1.preload)(tool, platform);
|
||||
var result = await (0, testlib_1.compileSourceFile)(tool, platform, sourceFile);
|
||||
if (!result.success) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"8bws.js","sourceRoot":"","sources":["../../src/tools/8bws.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"8bws.js","sourceRoot":"","sources":["../../src/tools/8bws.ts"],"names":[],"mappings":"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 truncated
|
||||
+16
-69
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.TOOL_PRELOADFS = exports.store = void 0;
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.store = void 0;
|
||||
exports.initialize = initialize;
|
||||
exports.preload = preload;
|
||||
exports.compile = compile;
|
||||
@@ -51,9 +51,9 @@ const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
const util_1 = require("../common/util");
|
||||
const baseplatform_1 = require("../common/baseplatform");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const workerlib_1 = require("../worker/workerlib");
|
||||
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return workerlib_1.store; } });
|
||||
Object.defineProperty(exports, "TOOL_PRELOADFS", { enumerable: true, get: function () { return workerlib_1.TOOL_PRELOADFS; } });
|
||||
const platforms_1 = require("../worker/platforms");
|
||||
Object.defineProperty(exports, "PLATFORM_PARAMS", { enumerable: true, get: function () { return platforms_1.PLATFORM_PARAMS; } });
|
||||
const workertools_1 = require("../worker/workertools");
|
||||
@@ -126,83 +126,26 @@ async function compileFile(tool, platform, presetPath) {
|
||||
}
|
||||
/**
|
||||
* Parse include and link dependencies from source text.
|
||||
* Extracted from CodeProject.parseIncludeDependencies / parseLinkDependencies.
|
||||
* TODO: project.ts should be refactored so we don't have to duplicate the logic
|
||||
* Patterns come from the tool registry (src/common/toolmeta.ts), the same
|
||||
* ones CodeProject uses in the IDE.
|
||||
*/
|
||||
function parseIncludeDependencies(text, platformId, mainPath) {
|
||||
function parseDependencies(text, platformId, mainPath, patterns) {
|
||||
let files = [];
|
||||
let m;
|
||||
var dir = (0, util_1.getFolderForPath)(mainPath);
|
||||
function pushFile(fn) {
|
||||
for (let fn of (0, toolmeta_1.matchDependencyPatterns)(text, patterns)) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
if (platformId.startsWith('verilog')) {
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
pushFile(m[2] + ".json");
|
||||
}
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) {
|
||||
pushFile(m[1]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) {
|
||||
pushFile(m[3]);
|
||||
}
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import')
|
||||
pushFile(m[2] + ".wiz");
|
||||
else
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) {
|
||||
pushFile(m[1]);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
function parseIncludeDependencies(text, platformId, mainPath) {
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, (0, toolmeta_1.getIncludePatterns)(tool, platformId));
|
||||
}
|
||||
function parseLinkDependencies(text, platformId, mainPath) {
|
||||
let files = [];
|
||||
let m;
|
||||
var dir = (0, util_1.getFolderForPath)(mainPath);
|
||||
function pushFile(fn) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
if (!platformId.startsWith('verilog')) {
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) {
|
||||
pushFile(m[2]);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, (0, toolmeta_1.getLinkPatterns)(tool, platformId));
|
||||
}
|
||||
/**
|
||||
* Try to resolve a file path by searching the source directory,
|
||||
@@ -296,6 +239,10 @@ function getToolForFilename(fn, platform) {
|
||||
return (0, baseplatform_1.getToolForFilename_6502)(fn);
|
||||
case '6809':
|
||||
return (0, baseplatform_1.getToolForFilename_6809)(fn);
|
||||
case 'verilog':
|
||||
if (fn.endsWith('.asm'))
|
||||
return 'jsasm';
|
||||
return fn.endsWith('.ice') ? 'silice' : 'verilator';
|
||||
default:
|
||||
return (0, baseplatform_1.getToolForFilename_z80)(fn); // fallback
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"testlib.js","sourceRoot":"","sources":["../../src/tools/testlib.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"testlib.js","sourceRoot":"","sources":["../../src/tools/testlib.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1 +1 @@
|
||||
{"root":["../src/common/analysis.ts","../src/common/audio.ts","../src/common/baseplatform.ts","../src/common/binutils.ts","../src/common/devices.ts","../src/common/emu.ts","../src/common/gbpalette.ts","../src/common/mameplatform.ts","../src/common/probe.ts","../src/common/recorder.ts","../src/common/teletype.ts","../src/common/tokenizer.ts","../src/common/util.ts","../src/common/vlist.ts","../src/common/vtextscroller.ts","../src/common/wasmplatform.ts","../src/common/workertypes.ts","../src/common/audio/CommodoreTape.ts","../src/common/basic/compiler.ts","../src/common/basic/fuzz.ts","../src/common/basic/run.ts","../src/common/basic/runtime.ts","../src/common/cpu/6809.ts","../src/common/cpu/ARM.ts","../src/common/cpu/F8.ts","../src/common/cpu/MOS6502.ts","../src/common/cpu/SM83.ts","../src/common/cpu/ZilogZ80.ts","../src/common/cpu/disasm6502.ts","../src/common/cpu/disasmF8.ts","../src/common/cpu/disasmHuC6280.ts","../src/common/cpu/disasmSM83.ts","../src/common/cpu/disasmz80.ts","../src/common/ecs/binpack.ts","../src/common/ecs/compiler.ts","../src/common/ecs/decoder.ts","../src/common/ecs/ecs.ts","../src/common/ecs/main.ts","../src/common/hdl/fuzz.ts","../src/common/hdl/hdlruntime.ts","../src/common/hdl/hdltypes.ts","../src/common/hdl/hdlwasm.ts","../src/common/hdl/vxmlparser.ts","../src/common/hdl/vxmltest.ts","../src/common/wasi/libretro.ts","../src/common/wasi/wasishim.ts","../src/ide/dialogs.ts","../src/ide/embedui.ts","../src/ide/pixeleditor.ts","../src/ide/project.ts","../src/ide/services.ts","../src/ide/settings.ts","../src/ide/shareexport.ts","../src/ide/sync.ts","../src/ide/toolbar.ts","../src/ide/ui.ts","../src/ide/waveform.ts","../src/ide/windows.ts","../src/ide/views/assetdecorations.ts","../src/ide/views/asseteditor.ts","../src/ide/views/baseviews.ts","../src/ide/views/debug.ts","../src/ide/views/debugviews.ts","../src/ide/views/editors.ts","../src/ide/views/filters.ts","../src/ide/views/gutter.ts","../src/ide/views/tabs.ts","../src/ide/views/traceviews.ts","../src/ide/views/treeviews.ts","../src/ide/views/visuals.ts","../src/machine/apple2.ts","../src/machine/arm32.ts","../src/machine/astrocade.ts","../src/machine/atari7800.ts","../src/machine/atari8.ts","../src/machine/c64.ts","../src/machine/channelf.ts","../src/machine/coleco.ts","../src/machine/cpc.ts","../src/machine/devel.ts","../src/machine/exidy.ts","../src/machine/galaxian.ts","../src/machine/gb.ts","../src/machine/kim1.ts","../src/machine/mcr.ts","../src/machine/msx.ts","../src/machine/mw8080bw.ts","../src/machine/pacman.ts","../src/machine/sms.ts","../src/machine/vdp_z80.ts","../src/machine/vic20.ts","../src/machine/vicdual.ts","../src/machine/williams.ts","../src/machine/zx.ts","../src/machine/chips/antic.ts","../src/machine/chips/gtia.ts","../src/machine/chips/pokey.ts","../src/machine/chips/tms9918a.ts","../src/parser/lang-6502.ts","../src/parser/lang-basic.ts","../src/parser/lang-bataribasic.ts","../src/parser/lang-dialog.ts","../src/parser/lang-fastbasic.ts","../src/parser/lang-inform6.ts","../src/parser/lang-verilog.ts","../src/parser/lang-wiz.ts","../src/parser/lang-z80.ts","../src/parser/tokens-6502.ts","../src/parser/tokens-6809.ts","../src/parser/tokens-z80.ts","../src/platform/_index.ts","../src/platform/apple2.ts","../src/platform/arm32.ts","../src/platform/astrocade.ts","../src/platform/atari7800.ts","../src/platform/atari8.ts","../src/platform/basic.ts","../src/platform/c64.ts","../src/platform/channelf.ts","../src/platform/coleco.ts","../src/platform/cpc.ts","../src/platform/devel.ts","../src/platform/exidy.ts","../src/platform/galaxian.ts","../src/platform/gb.ts","../src/platform/kim1.ts","../src/platform/markdown.ts","../src/platform/mcr.ts","../src/platform/msx.ts","../src/platform/mw8080bw.ts","../src/platform/nes.ts","../src/platform/pacman.ts","../src/platform/pce.ts","../src/platform/sms.ts","../src/platform/sound_konami.ts","../src/platform/sound_williams.ts","../src/platform/vcs.ts","../src/platform/vector.ts","../src/platform/vectrex.ts","../src/platform/verilog.ts","../src/platform/vic20.ts","../src/platform/vicdual.ts","../src/platform/williams.ts","../src/platform/x86.ts","../src/platform/zmachine.ts","../src/platform/zx.ts","../src/themes/cobalt.ts","../src/themes/disassemblyTheme.ts","../src/themes/editorTheme.ts","../src/themes/mbo.ts","../src/tools/8bws.ts","../src/tools/nodemock.ts","../src/tools/runmachine.ts","../src/tools/sim6502.ts","../src/tools/termimage.ts","../src/tools/testlib.ts","../src/worker/assembler.ts","../src/worker/builder.ts","../src/worker/listingutils.ts","../src/worker/platforms.ts","../src/worker/wasiutils.ts","../src/worker/wasmutils.ts","../src/worker/workerlib.ts","../src/worker/workermain.ts","../src/worker/workertools.ts","../src/worker/server/buildenv.ts","../src/worker/server/clang.ts","../src/worker/server/server.ts","../src/worker/tools/acme.ts","../src/worker/tools/arm.ts","../src/worker/tools/bataribasic.ts","../src/worker/tools/cc2600.ts","../src/worker/tools/cc6Line truncated
|
||||
{"root":["../src/common/analysis.ts","../src/common/audio.ts","../src/common/baseplatform.ts","../src/common/binutils.ts","../src/common/devices.ts","../src/common/emu.ts","../src/common/gbpalette.ts","../src/common/mameplatform.ts","../src/common/probe.ts","../src/common/recorder.ts","../src/common/teletype.ts","../src/common/tokenizer.ts","../src/common/toolmeta.ts","../src/common/util.ts","../src/common/vlist.ts","../src/common/vtextscroller.ts","../src/common/wasmplatform.ts","../src/common/workertypes.ts","../src/common/audio/CommodoreTape.ts","../src/common/basic/compiler.ts","../src/common/basic/fuzz.ts","../src/common/basic/run.ts","../src/common/basic/runtime.ts","../src/common/cpu/6809.ts","../src/common/cpu/ARM.ts","../src/common/cpu/F8.ts","../src/common/cpu/MOS6502.ts","../src/common/cpu/SM83.ts","../src/common/cpu/ZilogZ80.ts","../src/common/cpu/disasm6502.ts","../src/common/cpu/disasmF8.ts","../src/common/cpu/disasmHuC6280.ts","../src/common/cpu/disasmSM83.ts","../src/common/cpu/disasmz80.ts","../src/common/ecs/binpack.ts","../src/common/ecs/compiler.ts","../src/common/ecs/decoder.ts","../src/common/ecs/ecs.ts","../src/common/ecs/main.ts","../src/common/hdl/fuzz.ts","../src/common/hdl/hdlruntime.ts","../src/common/hdl/hdltypes.ts","../src/common/hdl/hdlwasm.ts","../src/common/hdl/vxmlparser.ts","../src/common/hdl/vxmltest.ts","../src/common/wasi/libretro.ts","../src/common/wasi/wasishim.ts","../src/ide/dialogs.ts","../src/ide/embedui.ts","../src/ide/pixeleditor.ts","../src/ide/project.ts","../src/ide/services.ts","../src/ide/settings.ts","../src/ide/shareexport.ts","../src/ide/sync.ts","../src/ide/toolbar.ts","../src/ide/ui.ts","../src/ide/waveform.ts","../src/ide/windows.ts","../src/ide/views/assetdecorations.ts","../src/ide/views/asseteditor.ts","../src/ide/views/baseviews.ts","../src/ide/views/debug.ts","../src/ide/views/debugviews.ts","../src/ide/views/editors.ts","../src/ide/views/filters.ts","../src/ide/views/gutter.ts","../src/ide/views/tabs.ts","../src/ide/views/traceviews.ts","../src/ide/views/treeviews.ts","../src/ide/views/visuals.ts","../src/machine/apple2.ts","../src/machine/arm32.ts","../src/machine/astrocade.ts","../src/machine/atari7800.ts","../src/machine/atari8.ts","../src/machine/c64.ts","../src/machine/channelf.ts","../src/machine/coleco.ts","../src/machine/cpc.ts","../src/machine/devel.ts","../src/machine/exidy.ts","../src/machine/galaxian.ts","../src/machine/gb.ts","../src/machine/kim1.ts","../src/machine/mcr.ts","../src/machine/msx.ts","../src/machine/mw8080bw.ts","../src/machine/pacman.ts","../src/machine/sms.ts","../src/machine/vdp_z80.ts","../src/machine/vic20.ts","../src/machine/vicdual.ts","../src/machine/williams.ts","../src/machine/zx.ts","../src/machine/chips/antic.ts","../src/machine/chips/gtia.ts","../src/machine/chips/pokey.ts","../src/machine/chips/tms9918a.ts","../src/parser/lang-6502.ts","../src/parser/lang-basic.ts","../src/parser/lang-bataribasic.ts","../src/parser/lang-dialog.ts","../src/parser/lang-fastbasic.ts","../src/parser/lang-inform6.ts","../src/parser/lang-verilog.ts","../src/parser/lang-wiz.ts","../src/parser/lang-z80.ts","../src/parser/tokens-6502.ts","../src/parser/tokens-6809.ts","../src/parser/tokens-z80.ts","../src/platform/_index.ts","../src/platform/apple2.ts","../src/platform/arm32.ts","../src/platform/astrocade.ts","../src/platform/atari7800.ts","../src/platform/atari8.ts","../src/platform/basic.ts","../src/platform/c64.ts","../src/platform/channelf.ts","../src/platform/coleco.ts","../src/platform/cpc.ts","../src/platform/devel.ts","../src/platform/exidy.ts","../src/platform/galaxian.ts","../src/platform/gb.ts","../src/platform/kim1.ts","../src/platform/mcr.ts","../src/platform/msx.ts","../src/platform/mw8080bw.ts","../src/platform/nes.ts","../src/platform/pacman.ts","../src/platform/pce.ts","../src/platform/sms.ts","../src/platform/sound_konami.ts","../src/platform/sound_williams.ts","../src/platform/vcs.ts","../src/platform/vector.ts","../src/platform/vectrex.ts","../src/platform/verilog.ts","../src/platform/vic20.ts","../src/platform/vicdual.ts","../src/platform/williams.ts","../src/platform/x86.ts","../src/platform/zmachine.ts","../src/platform/zx.ts","../src/themes/cobalt.ts","../src/themes/disassemblyTheme.ts","../src/themes/editorTheme.ts","../src/themes/mbo.ts","../src/tools/8bws.ts","../src/tools/nodemock.ts","../src/tools/runmachine.ts","../src/tools/sim6502.ts","../src/tools/termimage.ts","../src/tools/testlib.ts","../src/worker/assembler.ts","../src/worker/builder.ts","../src/worker/listingutils.ts","../src/worker/platforms.ts","../src/worker/wasiutils.ts","../src/worker/wasmutils.ts","../src/worker/workerlib.ts","../src/worker/workermain.ts","../src/worker/workertools.ts","../src/worker/server/buildenv.ts","../src/worker/server/clang.ts","../src/worker/server/server.ts","../src/worker/tools/acme.ts","../src/worker/tools/arm.ts","../src/worker/tools/bataribasic.ts","../src/worker/tools/cc2600.ts","../src/worker/tools/cc65.Line truncated
|
||||
@@ -1,2 +1,2 @@
|
||||
import{A,B,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-KP2LCIGE.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-LVDMCWZP.js";import"./chunk-AA227H53.js";import"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";export{q as clearBreakpoint,f as current_project,A as emulationHalted,n as getCurrentEditorFilename,m as getCurrentMainFilename,k as getCurrentOutput,j as getCurrentProject,v as getPlatformAndRepo,i as getPlatformStore,z as getSaveState,y as getTestOutput,l as getWorkerParams,t as gotoNewLocation,s as haltEmulation,h as lastDebugState,e as platform,b as platform_id,g as projectWindows,a as qs,B as reloadWorkspaceFile,d as repo_id,p as runToPC,r as setFrameRateUI,x as setTestInput,o as setupBreakpoint,u as setupSplits,w as startUI,c as store_id};
|
||||
import{A,B,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-LXSSE5FC.js";import"./chunk-7GWCUXYG.js";import"./chunk-LNOKARBD.js";import"./chunk-A7SWO6EA.js";import"./chunk-73C6ISBD.js";import"./chunk-AA227H53.js";import"./chunk-BNFOPPUS.js";import"./chunk-KT7KMEQC.js";export{q as clearBreakpoint,f as current_project,A as emulationHalted,n as getCurrentEditorFilename,m as getCurrentMainFilename,k as getCurrentOutput,j as getCurrentProject,v as getPlatformAndRepo,i as getPlatformStore,z as getSaveState,y as getTestOutput,l as getWorkerParams,t as gotoNewLocation,s as haltEmulation,h as lastDebugState,e as platform,b as platform_id,g as projectWindows,a as qs,B as reloadWorkspaceFile,d as repo_id,p as runToPC,r as setFrameRateUI,x as setTestInput,o as setupBreakpoint,u as setupSplits,w as startUI,c as store_id};
|
||||
//# sourceMappingURL=ui.js.map
|
||||
+1290
-822
File diff suppressed because it is too large.
Load diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../node_modules/jszip/dist/jszip.min.js", "../../src/common/util.ts", "../../src/common/basic/compiler.ts", "../../src/worker/platforms.ts", "../../src/worker/builder.ts", "../../src/worker/wasmutils.ts", "../../src/worker/listingutils.ts", "../../src/worker/tools/misc.ts", "../../src/worker/tools/cc65.ts", "../../src/common/wasi/wasishim.ts", "../../src/worker/tools/dasm.ts", "../../src/worker/tools/mcpp.ts", "../../src/worker/tools/sdcc.ts", "../../src/worker/assembler.ts", "../../src/common/hdl/hdltypes.ts", "../../src/common/hdl/vxmlparser.ts", "../../src/worker/tools/verilog.ts", "../../src/worker/tools/m6809.ts", "../../src/worker/tools/m6502.ts", "../../src/worker/tools/z80.ts", "../../src/worker/tools/x86.ts", "../../src/common/binutils.ts", "../../src/worker/wasiutils.ts", "../../src/worker/tools/arm.ts", "../../src/common/tokenizer.ts", "../../src/common/ecs/binpack.ts", "../../src/common/ecs/ecs.ts", "../../src/common/ecs/decoder.ts", "../../src/common/ecs/compiler.ts", "../../src/worker/tools/ecs.ts", "../../src/common/workertypes.ts", "../../src/worker/tools/remote.ts", "../../src/worker/tools/acme.ts", "../../src/worker/tools/cc7800.ts", "../../src/worker/tools/cc2600.ts", "../../src/worker/tools/bataribasic.ts", "../../src/worker/tools/oscar64parse.ts", "../../src/worker/tools/oscar64.ts", "../../src/worker/tools/xa.ts", "../../src/worker/tools/dialog.ts", "../../src/worker/workertools.ts", "../../src/worker/workermain.ts"],
|
||||
"sourcesContent": ["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoActioLine truncated
|
||||
"mappings": "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 truncated
|
||||
"sources": ["../../node_modules/jszip/dist/jszip.min.js", "../../src/common/util.ts", "../../src/common/toolmeta.ts", "../../src/worker/platforms.ts", "../../src/common/basic/compiler.ts", "../../src/worker/wasmutils.ts", "../../src/worker/listingutils.ts", "../../src/worker/tools/misc.ts", "../../src/worker/tools/cc65.ts", "../../src/common/wasi/wasishim.ts", "../../src/worker/tools/dasm.ts", "../../src/worker/tools/mcpp.ts", "../../src/worker/tools/sdcc.ts", "../../src/worker/assembler.ts", "../../src/common/hdl/hdltypes.ts", "../../src/common/hdl/vxmlparser.ts", "../../src/worker/tools/verilog.ts", "../../src/worker/tools/m6809.ts", "../../src/worker/tools/m6502.ts", "../../src/worker/tools/z80.ts", "../../src/worker/tools/x86.ts", "../../src/common/binutils.ts", "../../src/worker/wasiutils.ts", "../../src/worker/tools/arm.ts", "../../src/common/tokenizer.ts", "../../src/common/ecs/binpack.ts", "../../src/common/ecs/ecs.ts", "../../src/common/ecs/decoder.ts", "../../src/common/ecs/compiler.ts", "../../src/worker/tools/ecs.ts", "../../src/common/workertypes.ts", "../../src/worker/tools/remote.ts", "../../src/worker/tools/acme.ts", "../../src/worker/tools/cc7800.ts", "../../src/worker/tools/cc2600.ts", "../../src/worker/tools/bataribasic.ts", "../../src/worker/tools/oscar64parse.ts", "../../src/worker/tools/oscar64.ts", "../../src/worker/tools/xa.ts", "../../src/worker/tools/dialog.ts", "../../src/worker/workertools.ts", "../../src/worker/builder.ts", "../../src/worker/workermain.ts"],
|
||||
"sourcesContent": ["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoActioLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["exports", "e", "t", "r", "c", "n", "i", "s", "a", "o", "h", "u", "l", "f", "d", "p", "m", "attrs", "s", "debug", "s", "s", "hex", "CompileError", "s", "code", "s", "re_error", "s", "m", "lst", "DwarfTag", "DwarfAttribute", "JSZip", "line", "m", "CompileError", "mergeLocs", "CompileError", "debug", "debug", "isLiteral", "isBinOp", "isUnOp", "e", "isLiteral", "OPERATORS", "getOperator", "getPrecedence", "mergeLocs", "tok", "isLiteral", "getPrecedence", "getOperator", "valtype", "CompileError", "wasiModule", "hex", "wasiModule", "wasiModule", "wasiModule", "re_error", "exports", "ENVIRONMENT_IS_WORKER", "e"]
|
||||
}
|
||||
@@ -33,7 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.translateShowdown = translateShowdown;
|
||||
exports.compileInform6 = compileInform6;
|
||||
exports.compileBASIC = compileBASIC;
|
||||
exports.compileWiz = compileWiz;
|
||||
@@ -42,24 +41,6 @@ const util_1 = require("../../common/util");
|
||||
const wasmutils_1 = require("../wasmutils");
|
||||
const builder_1 = require("../builder");
|
||||
const listingutils_1 = require("../listingutils");
|
||||
const workermain_1 = require("../workermain");
|
||||
function translateShowdown(step) {
|
||||
(0, workermain_1.setupRequireFunction)();
|
||||
(0, wasmutils_1.load)("showdown.min");
|
||||
var showdown = wasmutils_1.emglobal['showdown'];
|
||||
var converter = new showdown.Converter({
|
||||
tables: 'true',
|
||||
smoothLivePreview: 'true',
|
||||
requireSpaceBeforeHeadingText: 'true',
|
||||
emoji: 'true',
|
||||
});
|
||||
var code = (0, builder_1.getWorkFileAsString)(step.path);
|
||||
var html = converter.makeHtml(code);
|
||||
delete wasmutils_1.emglobal['require'];
|
||||
return {
|
||||
output: html
|
||||
};
|
||||
}
|
||||
function compileInform6(step) {
|
||||
(0, wasmutils_1.loadNative)("inform");
|
||||
var errors = [];
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/worker/tools/misc.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/worker/tools/misc.ts"],"names":[],"mappings":"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 truncated
|
||||
+6
-10
@@ -36,14 +36,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.TOOL_PRELOADFS = exports.builder = exports.store = void 0;
|
||||
exports.TOOLS = exports.PLATFORM_PARAMS = exports.builder = exports.store = void 0;
|
||||
exports.setupNodeEnvironment = setupNodeEnvironment;
|
||||
exports.handleMessage = handleMessage;
|
||||
const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
const util_1 = require("../common/util");
|
||||
const workertools_1 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOL_PRELOADFS", { enumerable: true, get: function () { return workertools_1.TOOL_PRELOADFS; } });
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const builder_1 = require("./builder");
|
||||
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return builder_1.store; } });
|
||||
Object.defineProperty(exports, "builder", { enumerable: true, get: function () { return builder_1.builder; } });
|
||||
@@ -51,8 +50,8 @@ const wasmutils_1 = require("./wasmutils");
|
||||
const workermain_1 = require("./workermain");
|
||||
var platforms_1 = require("./platforms");
|
||||
Object.defineProperty(exports, "PLATFORM_PARAMS", { enumerable: true, get: function () { return platforms_1.PLATFORM_PARAMS; } });
|
||||
var workertools_2 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOLS", { enumerable: true, get: function () { return workertools_2.TOOLS; } });
|
||||
var workertools_1 = require("./workertools");
|
||||
Object.defineProperty(exports, "TOOLS", { enumerable: true, get: function () { return workertools_1.TOOLS; } });
|
||||
class Blob {
|
||||
constructor(data) {
|
||||
this.data = data;
|
||||
@@ -165,11 +164,8 @@ function setupNodeEnvironment() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fsName = workertools_1.TOOL_PRELOADFS[data.preload];
|
||||
if (!fsName && data.platform)
|
||||
fsName = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getBasePlatform)(data.platform)];
|
||||
if (!fsName && data.platform)
|
||||
fsName = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getRootBasePlatform)(data.platform)];
|
||||
var fsName = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getBasePlatform)(data.platform))
|
||||
|| (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getRootBasePlatform)(data.platform));
|
||||
if (fsName && !wasmutils_1.fsMeta[fsName])
|
||||
(0, wasmutils_1.loadFilesystem)(fsName);
|
||||
return;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workerlib.js","sourceRoot":"","sources":["../../src/worker/workerlib.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workerlib.js","sourceRoot":"","sources":["../../src/worker/workerlib.ts"],"names":[],"mappings":"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"}
|
||||
@@ -2,7 +2,7 @@
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setupRequireFunction = setupRequireFunction;
|
||||
const util_1 = require("../common/util");
|
||||
const workertools_1 = require("./workertools");
|
||||
const toolmeta_1 = require("../common/toolmeta");
|
||||
const builder_1 = require("./builder");
|
||||
const wasmutils_1 = require("./wasmutils");
|
||||
function setupRequireFunction() {
|
||||
@@ -22,11 +22,8 @@ function setupRequireFunction() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = workertools_1.TOOL_PRELOADFS[data.preload];
|
||||
if (!fs && data.platform)
|
||||
fs = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getBasePlatform)(data.platform)];
|
||||
if (!fs && data.platform)
|
||||
fs = workertools_1.TOOL_PRELOADFS[data.preload + '-' + (0, util_1.getRootBasePlatform)(data.platform)];
|
||||
var fs = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getBasePlatform)(data.platform))
|
||||
|| (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform && (0, util_1.getRootBasePlatform)(data.platform));
|
||||
if (fs && !wasmutils_1.fsMeta[fs])
|
||||
(0, wasmutils_1.loadFilesystem)(fs);
|
||||
return;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../src/worker/workermain.ts"],"names":[],"mappings":";;AAUA,oDAWC;AAnBD,yCAAsE;AACtE,+CAA+C;AAC/C,uCAA6E;AAC7E,2CAA+D;AAK/D,SAAgB,oBAAoB;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,GAAG;QACjB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;IACF,oBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAe,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAA;AACH,CAAC;AAED,4BAA4B;AAE5B,6FAA6F;AAE7F,KAAK,UAAU,aAAa,CAAC,IAAmB;IAC9C,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;YACtB,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;YACtB,EAAE,GAAG,4BAAc,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAA,0BAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,EAAE,IAAI,CAAC,kBAAM,CAAC,EAAE,CAAC;YACnB,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,qCAAqC;IACrC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,eAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,OAAO,iBAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,qBAAqB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAClE,IAAI,qBAAqB,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,SAAS,GAAG,KAAK,WAAW,CAAC;QAC3B,MAAM,WAAW,CAAC,CAAC,wCAAwC;QAC3D,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,WAAW,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../src/worker/workermain.ts"],"names":[],"mappings":";;AAUA,oDAWC;AAnBD,yCAAsE;AACtE,iDAAsD;AACtD,uCAA6E;AAC7E,2CAA+D;AAK/D,SAAgB,oBAAoB;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,GAAG;QACjB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;IACF,oBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAe,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAA;AACH,CAAC;AAED,4BAA4B;AAE5B,6FAA6F;AAE7F,KAAK,UAAU,aAAa,CAAC,IAAmB;IAC9C,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,IAAA,2BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAA,sBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;eACnF,IAAA,2BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAA,0BAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAI,EAAE,IAAI,CAAC,kBAAM,CAAC,EAAE,CAAC;YACnB,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,qCAAqC;IACrC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,eAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,OAAO,iBAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,qBAAqB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAClE,IAAI,qBAAqB,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,SAAS,GAAG,KAAK,WAAW,CAAC;QAC3B,MAAM,WAAW,CAAC,CAAC,wCAAwC;QAC3D,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,WAAW,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
||||
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_PRELOADFS = exports.TOOLS = void 0;
|
||||
exports.TOOLS = void 0;
|
||||
const misc = __importStar(require("./tools/misc"));
|
||||
const cc65 = __importStar(require("./tools/cc65"));
|
||||
const dasm = __importStar(require("./tools/dasm"));
|
||||
@@ -78,7 +78,6 @@ exports.TOOLS = {
|
||||
'smlrc': x86.compileSmallerC,
|
||||
'yasm': x86.assembleYASM,
|
||||
'bataribasic': bataribasic.compileBatariBasic,
|
||||
'markdown': misc.translateShowdown,
|
||||
'inform6': misc.compileInform6,
|
||||
'merlin32': m6502.assembleMerlin32,
|
||||
'fastbasic': m6502.compileFastBasic,
|
||||
@@ -97,40 +96,4 @@ exports.TOOLS = {
|
||||
'xa': xa.assembleXA,
|
||||
'dialog': dialog.compileDialog,
|
||||
};
|
||||
exports.TOOL_PRELOADFS = {
|
||||
'cc65-apple2': '65-apple2',
|
||||
'ca65-apple2': '65-apple2',
|
||||
'cc65-c64': '65-c64',
|
||||
'ca65-c64': '65-c64',
|
||||
'cc65-vic20': '65-vic20',
|
||||
'ca65-vic20': '65-vic20',
|
||||
'cc65-nes': '65-nes',
|
||||
'ca65-nes': '65-nes',
|
||||
'cc65-atari8': '65-atari8',
|
||||
'ca65-atari8': '65-atari8',
|
||||
'cc65-vector': '65-none',
|
||||
'ca65-vector': '65-none',
|
||||
'cc65-atari7800': '65-none',
|
||||
'ca65-atari7800': '65-none',
|
||||
'cc65-devel': '65-none',
|
||||
'ca65-devel': '65-none',
|
||||
'cc65-vcs': '65-atari2600',
|
||||
'ca65-vcs': '65-atari2600',
|
||||
'cc65-pce': '65-pce',
|
||||
'ca65-pce': '65-pce',
|
||||
'cc65-exidy': '65-none',
|
||||
'ca65-exidy': '65-none',
|
||||
'sdasz80': 'sdcc',
|
||||
'sdasgb': 'sdcc',
|
||||
'sdcc': 'sdcc',
|
||||
'sccz80': 'sccz80',
|
||||
'bataribasic': '2600basic',
|
||||
'inform6': 'inform',
|
||||
'fastbasic': '65-atari8',
|
||||
'silice': 'Silice',
|
||||
'wiz': 'wiz',
|
||||
'ecs-vcs': '65-atari2600', // TODO: support multiple platforms
|
||||
'ecs-nes': '65-nes', // TODO: support multiple platforms
|
||||
'ecs-c64': '65-c64', // TODO: support multiple platforms
|
||||
};
|
||||
//# sourceMappingURL=workertools.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workertools.js","sourceRoot":"","sources":["../../src/worker/workertools.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workertools.js","sourceRoot":"","sources":["../../src/worker/workertools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;AACpC,mDAAoC;AACpC,mDAAoC;AACpC,mDAAoC;AACpC,yDAA0C;AAC1C,qDAAsC;AACtC,qDAAsC;AACtC,iDAAkC;AAClC,iDAAkC;AAClC,iDAAkC;AAClC,iDAAkC;AAClC,uDAAwC;AACxC,mDAAoC;AACpC,uDAAwC;AACxC,uDAAwC;AACxC,iEAAkD;AAClD,yDAA0C;AAC1C,+CAAgC;AAChC,uDAAwC;AAI3B,QAAA,KAAK,GAAG;IACnB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,WAAW;IACxB,MAAM,EAAE,IAAI,CAAC,YAAY;IACzB,MAAM,EAAE,IAAI,CAAC,QAAQ;IACrB,2BAA2B;IAC3B,0BAA0B;IAC1B,SAAS,EAAE,IAAI,CAAC,eAAe;IAC/B,QAAQ,EAAE,IAAI,CAAC,cAAc;IAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;IAC3B,MAAM,EAAE,IAAI,CAAC,WAAW;IACxB,UAAU,EAAE,KAAK,CAAC,gBAAgB;IAClC,MAAM,EAAE,KAAK,CAAC,WAAW;IACzB,OAAO,EAAE,KAAK,CAAC,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC,UAAU;IAC1B,yBAAyB;IACzB,WAAW,EAAE,OAAO,CAAC,gBAAgB;IACrC,OAAO,EAAE,OAAO,CAAC,YAAY;IAC7B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,MAAM,EAAE,GAAG,CAAC,YAAY;IACxB,QAAQ,EAAE,KAAK,CAAC,cAAc;IAC9B,OAAO,EAAE,GAAG,CAAC,eAAe;IAC5B,MAAM,EAAE,GAAG,CAAC,YAAY;IACxB,aAAa,EAAE,WAAW,CAAC,kBAAkB;IAC7C,SAAS,EAAE,IAAI,CAAC,cAAc;IAC9B,UAAU,EAAE,KAAK,CAAC,gBAAgB;IAClC,WAAW,EAAE,KAAK,CAAC,gBAAgB;IACnC,OAAO,EAAE,IAAI,CAAC,YAAY;IAC1B,QAAQ,EAAE,OAAO,CAAC,aAAa;IAC/B,KAAK,EAAE,IAAI,CAAC,UAAU;IACtB,QAAQ,EAAE,GAAG,CAAC,cAAc;IAC5B,SAAS,EAAE,GAAG,CAAC,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,WAAW;IACtB,QAAQ,EAAE,MAAM,CAAC,WAAW;IAC5B,QAAQ,EAAE,MAAM,CAAC,aAAa;IAC9B,QAAQ,EAAE,MAAM,CAAC,aAAa;IAC9B,QAAQ,EAAE,GAAG,CAAC,aAAa;IAC3B,YAAY,EAAE,GAAG,CAAC,UAAU;IAC5B,SAAS,EAAE,OAAO,CAAC,cAAc;IACjC,IAAI,EAAE,EAAE,CAAC,UAAU;IACnB,QAAQ,EAAE,MAAM,CAAC,aAAa;CAC/B,CAAA"}
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
import "c64.wiz";
|
||||
import "c64";
|
||||
|
||||
bank zeropage @ 0x02 : [vardata; 254];
|
||||
bank stackpage @ 0x100 : [vardata; 256];
|
||||
|
||||
@@ -1,709 +0,0 @@
|
||||
|
||||
# Syntax
|
||||
|
||||
(from the [Showdown](https://github.com/showdownjs/showdown) docs)
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Introduction](#introduction)
|
||||
- [Paragraphs](#paragraphs)
|
||||
- [Headings](#headings)
|
||||
* [Atx Style](#atx-style)
|
||||
* [Setext style](#setext-style)
|
||||
* [Header IDs](#header-ids)
|
||||
- [Blockquotes](#blockquotes)
|
||||
- [Bold and Italic](#bold-and-italic)
|
||||
- [Strikethrough](#strikethrough)
|
||||
- [Emojis](#emojis)
|
||||
- [Code formatting](#code-formatting)
|
||||
* [Inline formats](#inline-formats)
|
||||
* [Multiple lines](#multiple-lines)
|
||||
- [Lists](#lists)
|
||||
* [Unordered lists](#unordered-lists)
|
||||
* [Ordered lists](#ordered-lists)
|
||||
* [TaskLists (GFM Style)](#tasklists--gfm-style-)
|
||||
* [List syntax](#list-syntax)
|
||||
* [Nested blocks](#nested-blocks)
|
||||
* [Nested lists](#nested-lists)
|
||||
* [Nested code blocks](#nested-code-blocks)
|
||||
- [Links](#links)
|
||||
* [Simple](#simple)
|
||||
* [Inline](#inline)
|
||||
* [Reference Style](#reference-style)
|
||||
- [Images](#images)
|
||||
* [Inline](#inline-1)
|
||||
* [Reference Style](#reference-style-1)
|
||||
* [Image dimensions](#image-dimensions)
|
||||
* [Base64 encoded images](#base64-encoded-images)
|
||||
- [Tables](#tables)
|
||||
- [Mentions](#mentions)
|
||||
- [Handling HTML in markdown documents](#handling-html-in-markdown-documents)
|
||||
- [Escaping entities](#escaping-entities)
|
||||
* [Escaping markdown entities](#escaping-markdown-entities)
|
||||
* [Escaping html tags](#escaping-html-tags)
|
||||
- [Known differences and Gotchas](#known-differences-and-gotchas)
|
||||
|
||||
## Introduction
|
||||
|
||||
Showdown was created by John Fraser as a direct port of the original parser written by markdown's creator, John Gruber. Although Showdown has evolved since its inception, in "vanilla mode", it tries to follow the [original markdown spec][md-spec] (henceforth refereed as vanilla) as much as possible. There are, however, a few important differences, mainly due to inconsistencies in the original spec, which we addressed following the author's advice as stated in the [markdown's "official" newsletter][md-newsletter].
|
||||
|
||||
Showdown also support "extra" syntax not defined in the original spec as opt-in features. This means new syntax elements are not enabled by default and require users to enable them through options.
|
||||
|
||||
This document provides a quick description the syntax supported and the differences in output from the original markdown.pl implementation.
|
||||
|
||||
## Paragraphs
|
||||
|
||||
Paragraphs in Showdown are just **one or more lines of consecutive text** followed by one or more blank lines.
|
||||
|
||||
```md
|
||||
On July 2, an alien mothership entered Earth's orbit and deployed several dozen
|
||||
saucer-shaped "destroyer" spacecraft, each 15 miles (24 km) wide.
|
||||
|
||||
On July 3, the Black Knights, a squadron of Marine Corps F/A-18 Hornets,
|
||||
participated in an assault on a destroyer near the city of Los Angeles.
|
||||
```
|
||||
|
||||
The implication of the “one or more consecutive lines of text” is that Showdown supports
|
||||
“hard-wrapped” text paragraphs. This means the following examples produce the same output:
|
||||
|
||||
```md
|
||||
A very long line of text
|
||||
```
|
||||
|
||||
```md
|
||||
A very
|
||||
long line
|
||||
of text
|
||||
```
|
||||
|
||||
If you DO want to add soft line breaks (which translate to `<br>` in HTML) to a paragraph,
|
||||
you can do so by adding 3 space characters to the end of the line (` `).
|
||||
|
||||
You can also force every line break in paragraphs to translate to `<br>` (as GitHub does) by
|
||||
enabling the option **`simpleLineBreaks`**.
|
||||
|
||||
## Headings
|
||||
|
||||
### Atx Style
|
||||
|
||||
You can create a heading by adding one or more # symbols before your heading text. The number of # you use will determine the size of the heading. This is similar to [**atx style**][atx].
|
||||
|
||||
```md
|
||||
# The largest heading (an <h1> tag)
|
||||
## The second largest heading (an <h2> tag)
|
||||
…
|
||||
###### The 6th largest heading (an <h6> tag)
|
||||
```
|
||||
|
||||
The space between `#` and the heading text is not required but you can make that space mandatory by enabling the option **`requireSpaceBeforeHeadingText`**.
|
||||
|
||||
You can wrap the headings in `#`. Both leading and trailing `#` will be removed.
|
||||
|
||||
```md
|
||||
## My Heading ##
|
||||
```
|
||||
|
||||
If, for some reason, you need to keep a leading or trailing `#`, you can either add a space or escape it:
|
||||
|
||||
```md
|
||||
# # My header # #
|
||||
|
||||
#\# My Header \# #
|
||||
```
|
||||
|
||||
### Setext style
|
||||
|
||||
You can also use [**setext style**][setext] headings, although only two levels are available.
|
||||
|
||||
```md
|
||||
This is an H1
|
||||
=============
|
||||
|
||||
This is an H2
|
||||
-------------
|
||||
```
|
||||
|
||||
**Note:**
|
||||
In live preview editors, when a paragraph is followed by a list it can cause an awkward effect.
|
||||
|
||||
![awkward effect][]
|
||||
|
||||
You can prevent this by enabling the option **`smoothPreview`**.
|
||||
|
||||
### Header IDs
|
||||
|
||||
Showdown generates bookmarks anchors in titles automatically, by adding an id property to an heading.
|
||||
|
||||
```md
|
||||
# My cool header with ID
|
||||
```
|
||||
|
||||
```html
|
||||
<h1 id="mycoolheaderwithid">My cool header with ID</h1>
|
||||
```
|
||||
|
||||
This behavior can be modified with options:
|
||||
|
||||
- **`noHeaderId`** disables automatic id generation;
|
||||
- **`ghCompatibleHeaderId`** generates header ids compatible with github style (spaces are replaced with dashes and a bunch of non alphanumeric chars are removed)
|
||||
- **`prefixHeaderId`** adds a prefix to the generated header ids (either automatic or custom).
|
||||
- **`headerLevelStart`** sets the header starting level. For instance, setting this to 3 means that `# header` will be converted to `<h3>`.
|
||||
|
||||
Read the [README.md][readme] for more info
|
||||
|
||||
## Blockquotes
|
||||
|
||||
You can indicate blockquotes with a >.
|
||||
|
||||
```md
|
||||
In the words of Abraham Lincoln:
|
||||
|
||||
> Pardon my french
|
||||
```
|
||||
|
||||
Blockquotes can have multiple paragraphs and can have other block elements inside.
|
||||
|
||||
```md
|
||||
> A paragraph of text
|
||||
>
|
||||
> Another paragraph
|
||||
>
|
||||
> - A list
|
||||
> - with items
|
||||
```
|
||||
|
||||
## Bold and Italic
|
||||
|
||||
You can make text bold or italic.
|
||||
|
||||
*This text will be italic*
|
||||
**This text will be bold**
|
||||
|
||||
Both bold and italic can use either a \* or an \_ around the text for styling. This allows you to combine both bold and italic if needed.
|
||||
|
||||
**Everyone _must_ attend the meeting at 5 o'clock today.**
|
||||
|
||||
## Strikethrough
|
||||
|
||||
With the option **`strikethrough`** enabled, Showdown supports strikethrough elements.
|
||||
The syntax is the same as GFM, that is, by adding two tilde (`~~`) characters around
|
||||
a word or groups of words.
|
||||
|
||||
```md
|
||||
a ~~strikethrough~~ element
|
||||
```
|
||||
|
||||
a ~~strikethrough~~ element
|
||||
|
||||
## Emojis
|
||||
|
||||
Since version 1.8.0, showdown supports github's emojis. A complete list of available emojis can be found [here][emoji list].
|
||||
|
||||
```md
|
||||
this is a :smile: smile emoji
|
||||
```
|
||||
|
||||
this is a :smile: smile emoji
|
||||
|
||||
## Code formatting
|
||||
|
||||
### Inline formats
|
||||
|
||||
Use single backticks (`) to format text in a special monospace format. Everything within the backticks appear as-is, with no other special formatting.
|
||||
|
||||
```md
|
||||
Here's an idea: why don't we take `SuperiorProject` and turn it into `**Reasonable**Project`.
|
||||
```
|
||||
|
||||
```html
|
||||
<p>Here's an idea: why don't we take <code>SuperiorProject</code> and turn it into <code>**Reasonable**Project</code>.</p>
|
||||
```
|
||||
|
||||
### Multiple lines
|
||||
|
||||
To create blocks of code you should indent it by four spaces.
|
||||
|
||||
```md
|
||||
this is a piece
|
||||
of
|
||||
code
|
||||
```
|
||||
|
||||
If the options **`ghCodeBlocks`** is activated (which is by default), you can use triple backticks (```) to format text as its own distinct block.
|
||||
|
||||
Check out this neat program I wrote:
|
||||
|
||||
```
|
||||
x = 0
|
||||
x = 2 + 2
|
||||
what is x
|
||||
```
|
||||
|
||||
## Lists
|
||||
|
||||
Showdown supports ordered (numbered) and unordered (bulleted) lists.
|
||||
|
||||
### Unordered lists
|
||||
|
||||
You can make an unordered list by preceding list items with either a *, a - or a +. Markers are interchangeable too.
|
||||
|
||||
```md
|
||||
* Item
|
||||
+ Item
|
||||
- Item
|
||||
```
|
||||
|
||||
### Ordered lists
|
||||
|
||||
You can make an ordered list by preceding list items with a number.
|
||||
|
||||
```md
|
||||
1. Item 1
|
||||
2. Item 2
|
||||
3. Item 3
|
||||
```
|
||||
|
||||
It’s important to note that the actual numbers you use to mark the list have no effect on the HTML output Showdown produces. So you can use the same number in all items if you wish to.
|
||||
|
||||
### TaskLists (GFM Style)
|
||||
|
||||
Showdown also supports GFM styled takslists if the **`tasklists`** option is enabled.
|
||||
|
||||
```md
|
||||
- [x] checked list item
|
||||
- [ ] unchecked list item
|
||||
```
|
||||
|
||||
- [x] checked list item
|
||||
- [ ] unchecked list item
|
||||
|
||||
### List syntax
|
||||
|
||||
List markers typically start at the left margin, but may be indented by up to three spaces.
|
||||
|
||||
```md
|
||||
* this is valid
|
||||
* this is too
|
||||
```
|
||||
|
||||
List markers must be followed by one or more spaces or a tab.
|
||||
|
||||
To make lists look nice, you can wrap items with hanging indents:
|
||||
|
||||
```md
|
||||
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
|
||||
viverra nec, fringilla in, laoreet vitae, risus.
|
||||
* Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
||||
Suspendisse id sem consectetuer libero luctus adipiscing.
|
||||
```
|
||||
|
||||
But if you want to be lazy, you don’t have to
|
||||
|
||||
If one list item is separated by a blank line, Showdown will wrap all the list items in `<p>` tags in the HTML output.
|
||||
So this input:
|
||||
|
||||
```md
|
||||
* Bird
|
||||
|
||||
* Magic
|
||||
* Johnson
|
||||
```
|
||||
|
||||
Results in:
|
||||
|
||||
```html
|
||||
<ul>
|
||||
<li><p>Bird</p></li>
|
||||
<li><p>Magic</p></li>
|
||||
<li><p>Johnson</p></li>
|
||||
</ul>
|
||||
```
|
||||
|
||||
This differs from other markdown implementations such as GFM (github) or commonmark.
|
||||
|
||||
### Nested blocks
|
||||
|
||||
List items may consist of multiple paragraphs. Each subsequent paragraph in a list item must be indented by either 4 spaces or one tab:
|
||||
|
||||
```md
|
||||
1. This is a list item with two paragraphs. Lorem ipsum dolor
|
||||
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
|
||||
mi posuere lectus.
|
||||
|
||||
Vestibulum enim wisi, viverra nec, fringilla in, laoreet
|
||||
vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
|
||||
sit amet velit.
|
||||
|
||||
2. Suspendisse id sem consectetuer libero luctus adipiscing.
|
||||
```
|
||||
|
||||
This is valid for other block elements such as blockquotes:
|
||||
|
||||
```md
|
||||
* A list item with a blockquote:
|
||||
|
||||
> This is a blockquote
|
||||
> inside a list item.
|
||||
```
|
||||
|
||||
or event other lists.
|
||||
|
||||
### Nested lists
|
||||
|
||||
You can create nested lists by indenting list items by **four** spaces.
|
||||
|
||||
```md
|
||||
1. Item 1
|
||||
1. A corollary to the above item.
|
||||
2. Yet another point to consider.
|
||||
2. Item 2
|
||||
* A corollary that does not need to be ordered.
|
||||
* This is indented four spaces
|
||||
* You might want to consider making a new list.
|
||||
3. Item 3
|
||||
```
|
||||
|
||||
This behavior is consistent with the original spec but differs from other implementations suck as GFM or commonmark. Prior to version 1.5, you just needed to indent two spaces for it to be considered a sublist.
|
||||
You can disable the **four spaces requirement** with option **`disableForced4SpacesIndentedSublists`**
|
||||
|
||||
To nest a third (or more) sublist level, you need to indent 4 extra spaces (or 1 extra tab) for each level.
|
||||
|
||||
```md
|
||||
1. level 1
|
||||
1. Level 2
|
||||
* Level 3
|
||||
2. level 2
|
||||
1. Level 3
|
||||
1. Level 1
|
||||
```
|
||||
|
||||
### Nested code blocks
|
||||
|
||||
You can nest fenced codeblocks the same way you nest other block elements, by indenting by fours spaces or a tab:
|
||||
|
||||
```md
|
||||
1. Some code:
|
||||
|
||||
```js
|
||||
var foo = 'bar';
|
||||
console.log(foo);
|
||||
```
|
||||
```
|
||||
|
||||
To put a *indented style* code block within a list item, the code block needs to be indented twice — 8 spaces or two tabs:
|
||||
|
||||
```md
|
||||
1. Some code:
|
||||
|
||||
var foo = 'bar';
|
||||
console.log(foo);
|
||||
```
|
||||
|
||||
## Links
|
||||
|
||||
### Simple
|
||||
|
||||
If you wrap a valid URL or email in `<>` it will be turned into a link whose text is the link itself.
|
||||
|
||||
```md
|
||||
link to <http://www.google.com/>
|
||||
|
||||
this is my email <somedude@mail.com>
|
||||
```
|
||||
|
||||
In the case of email addreses, Showdown will also perform a bit of randomized decimal and hex entity-encoding to help obscure your address from address-harvesting spambots.
|
||||
You can disable this obfuscation setting **`encodeEmails`** option to `false`.
|
||||
|
||||
With the option **`simplifiedAutoLink`** enabled, Showdown will automagically turn every valid URL it finds in the text body to links for you, without the need to wrap them in `<>`.
|
||||
|
||||
```md
|
||||
link to http://www.google.com/
|
||||
|
||||
this is my email somedude@mail.com
|
||||
```
|
||||
|
||||
### Inline
|
||||
|
||||
You can create an inline link by wrapping link text in brackets ( `[ ]` ), and then wrapping the link in parentheses ( `( )` ).
|
||||
|
||||
For example, to create a hyperlink to github.com/showdownjs/showdown, with a link text that says, Get Showdown!, you'd write this in Markdown: `[Get Showdown!](https://github.com/showdownjs/showdown)`.
|
||||
|
||||
### Reference Style
|
||||
|
||||
You can also use the reference style, like this:
|
||||
|
||||
```md
|
||||
this is a [link to google][1]
|
||||
|
||||
[1]: www.google.com
|
||||
```
|
||||
|
||||
Showdown also supports implicit link references:
|
||||
|
||||
```md
|
||||
this is a link to [google][]
|
||||
|
||||
[google]: www.google.com
|
||||
```
|
||||
|
||||
## Images
|
||||
|
||||
Markdown uses an image syntax that is intended to resemble the syntax for links, also allowing for two styles: inline and reference.
|
||||
|
||||
### Inline
|
||||
|
||||
Inline image syntax looks like this:
|
||||
|
||||
```md
|
||||

|
||||
|
||||

|
||||
```
|
||||
|
||||
That is:
|
||||
|
||||
+ An exclamation mark: !;
|
||||
+ followed by a set of square brackets, containing the alt attribute text for the image;
|
||||
+ followed by a set of parentheses, containing the URL or path to the image, and an optional title attribute enclosed in double or single quotes.
|
||||
|
||||
|
||||
### Reference Style
|
||||
|
||||
Reference-style image syntax looks like this:
|
||||
|
||||
```md
|
||||
![Alt text][id]
|
||||
```
|
||||
|
||||
Where “id” is the name of a defined image reference. Image references are defined using syntax identical to link references:
|
||||
|
||||
```md
|
||||
[id]: url/to/image "Optional title attribute"
|
||||
```
|
||||
|
||||
Implicit references are also supported in images, similar to what happens with links:
|
||||
|
||||
```md
|
||||
![showdown logo][]
|
||||
|
||||
[showdown logo]: http://showdownjs.github.io/demo/img/editor.logo.white.png
|
||||
```
|
||||
|
||||
### Image dimensions
|
||||
|
||||
When the option **`parseImgDimension`** is activated, you can also define the image dimensions, like this:
|
||||
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||
or in reference style:
|
||||
|
||||
```md
|
||||
![Alt text][id]
|
||||
|
||||
[id]: url/to/image =250x250
|
||||
```
|
||||
|
||||
### Base64 encoded images
|
||||
|
||||
Showdown also supports Base64 encoded images, both reference and inline style.
|
||||
**Since version 1.7.4**, wrapping base64 strings, which are usually extremely long lines of text, is supported.
|
||||
You can add newlines arbitrarily, as long as they are added after the `,` character.
|
||||
|
||||
**inline style**
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||
**reference style**
|
||||
```md
|
||||
![Alt text][id]
|
||||
|
||||
[id]:
|
||||
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7l
|
||||
jmRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7D
|
||||
AcdvqGQAAAAYSURBVBhXYwCC/2AAZYEoOAMs8Z+BgQEAXdcR7/Q1gssAAAAASUVORK5CYII=
|
||||
```
|
||||
|
||||
Please note that with reference style base64 image sources, regardless of "wrapping", a double newline is needed after the base64 string to separate them from a paragraph or other text block (but references can be adjacent).
|
||||
|
||||
**wrapped reference style**
|
||||
```md
|
||||
![Alt text][id]
|
||||
![Alt text][id2]
|
||||
|
||||
[id]:
|
||||
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7l
|
||||
jmRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7D
|
||||
AcdvqGQAAAAYSURBVBhXYwCC/2AAZYEoOAMs8Z+BgQEAXdcR7/Q1gssAAAAASUVORK5CYII=
|
||||
[id2]:
|
||||
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7l
|
||||
jmRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7D
|
||||
AcdvqGQAAAAYSURBVBhXYwCC/2AAZYEoOAMs8Z+BgQEAXdcR7/Q1gssAAAAASUVORK5CYII=
|
||||
|
||||
this text needs to be separated from the references by 2 newlines
|
||||
```
|
||||
|
||||
|
||||
## Tables
|
||||
|
||||
Tables aren't part of the core Markdown spec, but they are part of GFM and Showdown supports them by turning on the option `tables`.
|
||||
|
||||
Colons can be used to align columns.
|
||||
|
||||
In the new version, the outer pipes (`|`) are optional, matching GFM spec.
|
||||
|
||||
You also don't need to make the raw Markdown line up prettily.
|
||||
|
||||
You can also use other markdown syntax inside them.
|
||||
|
||||
```md
|
||||
| Tables | Are | Cool |
|
||||
| ------------- |:-------------:| -----:|
|
||||
| **col 3 is** | right-aligned | $1600 |
|
||||
| col 2 is | *centered* | $12 |
|
||||
| zebra stripes | ~~are neat~~ | $1 |
|
||||
```
|
||||
|
||||
| Tables | Are | Cool |
|
||||
| ------------- |:-------------:| -----:|
|
||||
| **col 3 is** | right-aligned | $1600 |
|
||||
| col 2 is | *centered* | $12 |
|
||||
| zebra stripes | ~~are neat~~ | $1 |
|
||||
|
||||
## Mentions
|
||||
|
||||
Showdown supports github mentions by enabling the option **`ghMentions`**. This will turn every `@username` into a link to their github profile.
|
||||
|
||||
```md
|
||||
hey @tivie, check this out
|
||||
```
|
||||
|
||||
Since version 1.6.2 you can customize the generated link in mentions with the option **`ghMentionsLink`**.
|
||||
For instance, setting this option to `http://mysite.com/{u}/profile`:
|
||||
|
||||
```html
|
||||
<p>hey <a href="http://mysite.com/tivie/profile">@tivie</a>, check this out</p>
|
||||
```
|
||||
|
||||
## Handling HTML in markdown documents
|
||||
|
||||
Showdown, in most cases, leaves HTML tags alone, leaving them untouched in the output document.
|
||||
|
||||
```md
|
||||
some markdown **here**
|
||||
<div>this is *not* **parsed**</div>
|
||||
```
|
||||
|
||||
```html
|
||||
<p>some markdown <strong>here</strong></p>
|
||||
<div>this is *not* **parsed**</div>
|
||||
```
|
||||
|
||||
However, there are exceptions to this. With `<code>` and `<pre><code>` tags, their contents are always escaped.
|
||||
|
||||
```md
|
||||
some markdown **here** with <code>foo & bar <baz></baz></code>
|
||||
```
|
||||
|
||||
```html
|
||||
<p>some markdown <strong>here</strong> with <code>foo & bar <baz></baz></code></p>
|
||||
```
|
||||
|
||||
If you wish to enable markdown parsing inside a specific HTML tag, you can enable it by using the html attribute **`markdown`** or **`markdown="1"`** or **`data-markdown="1"`**.
|
||||
|
||||
```md
|
||||
some markdown **here**
|
||||
<div markdown="1">this is *not* **parsed**</div>
|
||||
```
|
||||
|
||||
```html
|
||||
<p>some markdown <strong>here</strong></p>
|
||||
<div markdown="1"><p>this is <em>not</em> <strong>parsed</strong></p></div>
|
||||
```
|
||||
|
||||
## Escaping entities
|
||||
|
||||
### Escaping markdown entities
|
||||
|
||||
Showdown allows you to use backslash (`\`) escapes to generate literal characters which would otherwise have special meaning in markdown’s syntax. For example, if you wanted to surround a word with literal underscores (instead of an HTML `<em>` tag), you can use backslashes before the unserscores, like this:
|
||||
|
||||
```md
|
||||
\_literal underscores\_
|
||||
```
|
||||
|
||||
Showdown provides backslash escapes for the following characters:
|
||||
|
||||
```
|
||||
\ backslash
|
||||
` backtick
|
||||
* asterisk
|
||||
_ underscore
|
||||
{} curly braces
|
||||
[] square brackets
|
||||
() parentheses
|
||||
# hash mark
|
||||
+ plus sign
|
||||
- minus sign (hyphen)
|
||||
. dot
|
||||
! exclamation mark
|
||||
```
|
||||
|
||||
### Escaping HTML tags
|
||||
|
||||
Since [version 1.7.2](https://github.com/showdownjs/showdown/tree/1.7.2) backslash escaping HTML tags is supported when `backslashEscapesHTMLTags` option is enabled.
|
||||
|
||||
```md
|
||||
\<div>a literal div\</div>
|
||||
```
|
||||
|
||||
## Known differences and Gotchas
|
||||
|
||||
In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7. What follows is a list of all known deviations. Please file an issue if you find more.
|
||||
|
||||
* **Since version 1.4.0, showdown supports the markdown="1" attribute**, but for older versions, this attribute is ignored. This means:
|
||||
|
||||
<div markdown="1">
|
||||
Markdown does *not* work in here.
|
||||
</div>
|
||||
|
||||
|
||||
* You can only nest square brackets in link titles to a depth of two levels:
|
||||
|
||||
[[fine]](http://www.github.com/)
|
||||
[[[broken]]](http://www.github.com/)
|
||||
|
||||
If you need more, you can escape them with backslashes.
|
||||
|
||||
|
||||
* A list is **single paragraph** if it has only **1 line-break separating items** and it becomes **multi paragraph if ANY of its items is separated by 2 line-breaks**:
|
||||
|
||||
```md
|
||||
- foo
|
||||
|
||||
- bar
|
||||
- baz
|
||||
```
|
||||
becomes
|
||||
|
||||
```html
|
||||
<ul>
|
||||
<li><p>foo</p></li>
|
||||
<li><p>bar</p></li>
|
||||
<li><p>baz</p></li>
|
||||
</ul>
|
||||
```
|
||||
|
||||
This new ruleset is based on the comments of Markdown's author John Gruber in the [Markdown discussion list][md-newsletter].
|
||||
|
||||
[md-spec]: http://daringfireball.net/projects/markdown/
|
||||
[md-newsletter]: https://pairlist6.pair.net/mailman/listinfo/markdown-discuss
|
||||
[atx]: http://www.aaronsw.com/2002/atx/intro
|
||||
[setext]: https://en.wikipedia.org/wiki/Setext
|
||||
[readme]: https://github.com/showdownjs/showdown/blob/master/README.md
|
||||
[awkward effect]: http://i.imgur.com/YQ9iHTL.gif
|
||||
[emoji list]: https://github.com/showdownjs/showdown/wiki/emojis
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
### Heading
|
||||
|
||||
(see [Showdown syntax](https://github.com/showdownjs/showdown/wiki/Showdown%27s-Markdown-syntax))
|
||||
@@ -0,0 +1,671 @@
|
||||
/*
|
||||
* Tool metadata registry.
|
||||
*
|
||||
* Single source of truth for declarative (data-only) metadata about every
|
||||
* build tool, keyed by tool id. Both the IDE (src/ide) and the worker
|
||||
* (src/worker) import this module.
|
||||
*
|
||||
* What lives here:
|
||||
* - extension -> tool selection hints
|
||||
* - editor (CodeMirror) styles and help URLs (was TOOL_TO_SOURCE_STYLE/HELPURL in src/ide/ui.ts)
|
||||
* - preload filesystem names per platform (was TOOL_PRELOADFS in src/worker/workertools.ts)
|
||||
* - wasm module names (was loadNative() args in src/worker/tools/*.ts)
|
||||
* - include/link dependency patterns (was parseIncludeDependencies in src/ide/project.ts)
|
||||
* - remote/server tool config (was ServerBuildTool in src/worker/server/buildenv.ts)
|
||||
*
|
||||
* What stays OUT of this module (behavior cannot cross the worker boundary):
|
||||
* - build functions (src/worker/workertools.ts `TOOLS` map)
|
||||
* - error matchers, listing parsers (src/worker/tools/*.ts)
|
||||
* - machine layout params (code_start, rom_size, ... -> src/worker/platforms.ts PLATFORM_PARAMS)
|
||||
*
|
||||
* A unit test cross-checks that every id in TOOL_META has a worker build fn
|
||||
* (unless noWorkerBuild) and vice versa.
|
||||
*/
|
||||
|
||||
export type ToolKind =
|
||||
| 'compiler' // source -> object/output (cc65, sdcc, cmoc, oscar64, ...)
|
||||
| 'assembler' // asm -> object (dasm, acme, ca65, ...)
|
||||
| 'linker' // object(s) -> binary (ld65, sdldz80, lwlink, ...)
|
||||
| 'interpreter' // e.g. BASIC
|
||||
| 'hdl' // hardware description (verilator, yosys, silice)
|
||||
| 'remote' // builds on a remote server (llvm-mos)
|
||||
|
||||
export type ToolArch =
|
||||
| '6502' | 'z80' | '6809' | 'arm32' | 'x86' | 'gbz80' | 'verilog' | 'zmachine';
|
||||
|
||||
export interface PlatformToolConfig {
|
||||
/** preload filesystem name for this platform (was TOOL_PRELOADFS compound keys) */
|
||||
preloadFS?: string;
|
||||
/** skeleton filename override (defaults to tool id) */
|
||||
skeleton?: string;
|
||||
/** library args for this platform (was PLATFORM_PARAMS.libargs) */
|
||||
libargs?: string[];
|
||||
/** linker config filename (was PLATFORM_PARAMS.cfgfile) */
|
||||
cfgfile?: string;
|
||||
/** extra compiler args (was PLATFORM_PARAMS.extra_compile_args) */
|
||||
extraCompileArgs?: string[];
|
||||
/** default output filename (was server buildenv platform_configs.outfile) */
|
||||
defaultOutput?: string;
|
||||
}
|
||||
|
||||
export interface ServerToolConfig {
|
||||
version?: string;
|
||||
/** platforms this tool supports on the remote server */
|
||||
platforms: string[];
|
||||
binpath: string;
|
||||
command: string;
|
||||
args: string[];
|
||||
}
|
||||
|
||||
export interface ToolIncludePattern {
|
||||
re: RegExp;
|
||||
group?: number;
|
||||
suffix?: string;
|
||||
}
|
||||
|
||||
export interface ToolMeta {
|
||||
/** join key, e.g. 'cc65', 'dasm', 'llvm-mos'. Note: 'remote:' is a transport
|
||||
* prefix, not part of the id -- getToolMeta() strips it. */
|
||||
id: string;
|
||||
/** human-readable display name */
|
||||
name: string;
|
||||
kind: ToolKind;
|
||||
/** CPU architecture the tool targets (helps disambiguate ambiguous extensions) */
|
||||
arch?: ToolArch;
|
||||
|
||||
// ---- tool-global metadata (same on every platform) ----
|
||||
|
||||
/** filename extensions this tool consumes (explicit ones; fallback/default
|
||||
* selection is still the platform's job) */
|
||||
extensions: string[];
|
||||
/** CodeMirror editor mode (was TOOL_TO_SOURCE_STYLE) */
|
||||
editorStyle?: string;
|
||||
/** documentation URL (was TOOL_TO_HELPURL) */
|
||||
helpURL?: string;
|
||||
/** skeleton filename in presets/<platform>/, defaults to tool id */
|
||||
skeleton?: string;
|
||||
/** wasm/emscripten module name loaded by the worker (was loadNative() arg) */
|
||||
wasmModule?: string;
|
||||
/** regexes matching include directives, used for dependency parsing */
|
||||
includePatterns?: (RegExp | ToolIncludePattern)[];
|
||||
/** regexes matching link directives, used for dependency parsing */
|
||||
linkPatterns?: (RegExp | ToolIncludePattern)[];
|
||||
|
||||
// ---- per-platform metadata (was TOOL_PRELOADFS / PLATFORM_PARAMS) ----
|
||||
|
||||
/** platform id -> config overrides */
|
||||
platforms?: { [platform: string]: PlatformToolConfig };
|
||||
|
||||
// ---- remote/server metadata (was ServerBuildTool in buildenv.ts) ----
|
||||
|
||||
/** true if this tool builds on a remote server (llvm-mos) */
|
||||
remote?: boolean;
|
||||
/** remote server build config */
|
||||
server?: ServerToolConfig;
|
||||
|
||||
/** true if the id is registered here but has no worker build fn yet
|
||||
* (sccz80, naken) -- tolerated by the TOOLS <-> TOOL_META cross-check */
|
||||
noWorkerBuild?: boolean;
|
||||
}
|
||||
|
||||
//// shared dependency-parsing patterns (from src/ide/project.ts)
|
||||
|
||||
// C / most assemblers: [.#%]?include|incbin|embed "file", //#resource "file"
|
||||
export const SHARED_INCLUDE_PATTERNS: RegExp[] = [
|
||||
/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,
|
||||
/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm,
|
||||
];
|
||||
|
||||
// C / most assemblers: //#link "file" (or ;link)
|
||||
export const SHARED_LINK_PATTERNS: RegExp[] = [
|
||||
/^\s*([;]|[/][/])#link\s+"(.+?)"/gm,
|
||||
];
|
||||
|
||||
// Verilog family: `include/.include, $include/$dofile/$write_image_in_table,
|
||||
// .arch json, $readmem[bh]
|
||||
export const VERILOG_INCLUDE_PATTERNS: (RegExp | ToolIncludePattern)[] = [
|
||||
/^\s*(`include|[.]include)\s+"(.+?)"/gmi,
|
||||
/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,
|
||||
{ re: /^\s*([.]arch)\s+(\w+)/gmi, suffix: '.json' },
|
||||
/\$readmem[bh]\("(.+?)"/gmi,
|
||||
];
|
||||
|
||||
// xasm6809 (USE) and merlin32 (ASM): " USE file.ext"
|
||||
export const USE_ASM_INCLUDE_PATTERNS: RegExp[] = [
|
||||
/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm,
|
||||
];
|
||||
|
||||
// acme: !src "file"
|
||||
export const ACME_INCLUDE_PATTERNS: RegExp[] = [
|
||||
/^[!]src\s+"(.+?)"/gmi,
|
||||
];
|
||||
|
||||
// wiz: import "file"; (implicit .wiz extension) / embed "file";
|
||||
export const WIZ_INCLUDE_PATTERNS: (RegExp | ToolIncludePattern)[] = [
|
||||
{ re: /^\s*import\s*"(.+?)";/gmi, suffix: '.wiz' },
|
||||
/^\s*embed\s*"(.+?)";/gmi,
|
||||
];
|
||||
|
||||
// ecs: import "file"
|
||||
export const ECS_INCLUDE_PATTERNS: RegExp[] = [
|
||||
/^\s*(import)\s*"(.+?)"/gmi,
|
||||
];
|
||||
|
||||
// dialog: %% #include "file" (comment directive)
|
||||
export const DIALOG_INCLUDE_PATTERNS: RegExp[] = [
|
||||
/^\s*%%\s*#include\s+"(.+?)"/gm,
|
||||
];
|
||||
|
||||
//// preload filesystem names per tool/platform (was TOOL_PRELOADFS)
|
||||
|
||||
const CC65_PRELOADFS: { [platform: string]: PlatformToolConfig } = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
};
|
||||
|
||||
//// tool registry
|
||||
|
||||
export const TOOL_META: { [id: string]: ToolMeta } = {
|
||||
|
||||
// ---- 6502 assemblers ----
|
||||
|
||||
dasm: {
|
||||
id: 'dasm', name: 'DASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.dasm'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
wasmModule: 'dasm',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
acme: {
|
||||
id: 'acme', name: 'ACME', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.acme'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
wasmModule: 'acme',
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...ACME_INCLUDE_PATTERNS],
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
xa: {
|
||||
id: 'xa', name: 'XA', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.xa'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://www.floodgap.com/retrotech/xa/',
|
||||
wasmModule: 'xa',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
nesasm: {
|
||||
id: 'nesasm', name: 'NESASM', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.nesasm'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'nesasm',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
merlin32: {
|
||||
id: 'merlin32', name: 'Merlin 32', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.lnk'],
|
||||
editorStyle: '6502',
|
||||
wasmModule: 'merlin32',
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
// ---- cc65 toolchain ----
|
||||
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
platforms: CC65_PRELOADFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
ld65: {
|
||||
id: 'ld65', name: 'ld65', kind: 'linker', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'ld65',
|
||||
},
|
||||
|
||||
// ---- SDCC toolchain (z80) ----
|
||||
|
||||
sdcc: {
|
||||
id: 'sdcc', name: 'SDCC', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
wasmModule: 'sdcc',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
sdasz80: {
|
||||
id: 'sdasz80', name: 'sdasz80', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.s'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasz80',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
sdasgb: {
|
||||
id: 'sdasgb', name: 'sdasgb', kind: 'assembler', arch: 'gbz80',
|
||||
extensions: ['.sgb'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasgb',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
sdldz80: {
|
||||
id: 'sdldz80', name: 'sdldz80', kind: 'linker', arch: 'z80',
|
||||
extensions: [],
|
||||
wasmModule: 'sdldz80',
|
||||
},
|
||||
|
||||
sccz80: {
|
||||
id: 'sccz80', name: 'sccz80', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.scc'],
|
||||
platforms: { default: { preloadFS: 'sccz80' } },
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
|
||||
naken: {
|
||||
id: 'naken', name: 'Naken', kind: 'assembler',
|
||||
extensions: ['.ns'],
|
||||
noWorkerBuild: true,
|
||||
},
|
||||
|
||||
// ---- z80 assemblers ----
|
||||
|
||||
zmac: {
|
||||
id: 'zmac', name: 'zmac', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.z'],
|
||||
editorStyle: 'z80',
|
||||
helpURL: 'https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt',
|
||||
wasmModule: 'zmac',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
jsasm: {
|
||||
id: 'jsasm', name: 'JSASM', kind: 'assembler',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'z80',
|
||||
// pure JS assembler, no wasm module. Only used on the verilog platform,
|
||||
// where .asm files pull in .v modules and name a CPU with '.arch'.
|
||||
includePatterns: VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
|
||||
// ---- 6809 toolchain ----
|
||||
|
||||
xasm6809: {
|
||||
id: 'xasm6809', name: 'XASM6809', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.xasm'],
|
||||
editorStyle: '6809',
|
||||
wasmModule: 'xasm6809',
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...USE_ASM_INCLUDE_PATTERNS],
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
cmoc: {
|
||||
id: 'cmoc', name: 'CMOC', kind: 'compiler', arch: '6809',
|
||||
extensions: ['.c', '.h'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html',
|
||||
wasmModule: 'cmoc',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
lwasm: {
|
||||
id: 'lwasm', name: 'LWASM', kind: 'assembler', arch: '6809',
|
||||
extensions: ['.lwasm'],
|
||||
wasmModule: 'lwasm',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
lwlink: {
|
||||
id: 'lwlink', name: 'LWLINK', kind: 'linker', arch: '6809',
|
||||
extensions: [],
|
||||
wasmModule: 'lwlink',
|
||||
},
|
||||
|
||||
// ---- ARM ----
|
||||
|
||||
vasmarm: {
|
||||
id: 'vasmarm', name: 'vasm (ARM)', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.vasm'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'vasmarm_std',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
armips: {
|
||||
id: 'armips', name: 'armips', kind: 'assembler', arch: 'arm32',
|
||||
extensions: ['.armips'],
|
||||
editorStyle: 'vasm',
|
||||
wasmModule: 'armips',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
armtcc: {
|
||||
id: 'armtcc', name: 'TCC (ARM)', kind: 'compiler', arch: 'arm32',
|
||||
extensions: ['.c', '.s'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'arm-tcc',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
armtcclink: {
|
||||
id: 'armtcclink', name: 'TCC (ARM) link', kind: 'linker', arch: 'arm32',
|
||||
extensions: [],
|
||||
wasmModule: 'arm-tcc',
|
||||
},
|
||||
|
||||
// ---- x86 ----
|
||||
|
||||
smlrc: {
|
||||
id: 'smlrc', name: 'SmallerC', kind: 'compiler', arch: 'x86',
|
||||
extensions: ['.c'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'smlrc',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
yasm: {
|
||||
id: 'yasm', name: 'YASM', kind: 'assembler', arch: 'x86',
|
||||
extensions: ['.asm'],
|
||||
editorStyle: 'gas',
|
||||
wasmModule: 'yasm',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
// ---- 6502 C compilers / BASIC dialects ----
|
||||
|
||||
oscar64: {
|
||||
id: 'oscar64', name: 'Oscar64', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.cc', '.o64'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
wasmModule: 'oscar64',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
bataribasic: {
|
||||
id: 'bataribasic', name: 'batari Basic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bb', '.bas'],
|
||||
editorStyle: 'bataribasic',
|
||||
helpURL: 'help/bataribasic/manual.html',
|
||||
wasmModule: 'bb2600basic',
|
||||
platforms: { default: { preloadFS: '2600basic' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
fastbasic: {
|
||||
id: 'fastbasic', name: 'FastBasic', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.bas', '.fb', '.fbi'],
|
||||
editorStyle: 'fastbasic',
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
cc2600: {
|
||||
id: 'cc2600', name: 'CC2600', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc2600'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc2600',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
cc7800: {
|
||||
id: 'cc7800', name: 'CC7800', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.cc7800', '.c78'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
wasmModule: 'cc7800',
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
|
||||
// ---- other languages ----
|
||||
|
||||
basic: {
|
||||
id: 'basic', name: 'BASIC', kind: 'interpreter',
|
||||
extensions: ['.bas'],
|
||||
editorStyle: 'basic',
|
||||
},
|
||||
|
||||
wiz: {
|
||||
id: 'wiz', name: 'wiz', kind: 'compiler',
|
||||
extensions: ['.wiz'],
|
||||
editorStyle: 'text/x-wiz',
|
||||
helpURL: 'https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz',
|
||||
wasmModule: 'wiz',
|
||||
platforms: { default: { preloadFS: 'wiz' } },
|
||||
includePatterns: WIZ_INCLUDE_PATTERNS,
|
||||
},
|
||||
|
||||
ecs: {
|
||||
id: 'ecs', name: 'ECS', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
},
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
|
||||
inform6: {
|
||||
id: 'inform6', name: 'Inform 6', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.inf'],
|
||||
editorStyle: 'inform6',
|
||||
wasmModule: 'inform',
|
||||
platforms: { default: { preloadFS: 'inform' } },
|
||||
},
|
||||
|
||||
dialog: {
|
||||
id: 'dialog', name: 'Dialog', kind: 'compiler', arch: 'zmachine',
|
||||
extensions: ['.dg'],
|
||||
editorStyle: 'dialog',
|
||||
helpURL: 'https://linusakesson.net/dialog/docs/',
|
||||
wasmModule: 'dialogc',
|
||||
includePatterns: DIALOG_INCLUDE_PATTERNS,
|
||||
},
|
||||
|
||||
// ---- verilog / HDL ----
|
||||
|
||||
verilator: {
|
||||
id: 'verilator', name: 'Verilator', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.v'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
wasmModule: 'verilator_bin',
|
||||
includePatterns: VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
|
||||
yosys: {
|
||||
id: 'yosys', name: 'Yosys', kind: 'hdl', arch: 'verilog',
|
||||
extensions: [],
|
||||
wasmModule: 'yosys',
|
||||
includePatterns: VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
|
||||
silice: {
|
||||
id: 'silice', name: 'Silice', kind: 'hdl', arch: 'verilog',
|
||||
extensions: ['.ice'],
|
||||
editorStyle: 'verilog',
|
||||
helpURL: 'https://github.com/sylefeb/Silice',
|
||||
wasmModule: 'silice',
|
||||
platforms: { default: { preloadFS: 'Silice' } },
|
||||
includePatterns: VERILOG_INCLUDE_PATTERNS,
|
||||
linkPatterns: [],
|
||||
},
|
||||
|
||||
// ---- remote / server ----
|
||||
|
||||
'llvm-mos': {
|
||||
id: 'llvm-mos', name: 'LLVM-MOS', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.cpp', '.s', '.S', '.C'],
|
||||
editorStyle: 'text/x-csrc', // used as 'remote:llvm-mos' in the IDE
|
||||
helpURL: 'https://llvm-mos.org/wiki/Welcome',
|
||||
remote: true,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
server: {
|
||||
version: 'latest',
|
||||
platforms: ['atari8', 'c64', 'nes', 'pce', 'vcs'],
|
||||
binpath: 'llvm-mos/bin',
|
||||
command: 'mos-clang',
|
||||
args: ['-Os', '-g', '-D', '__8BITWORKSHOP__', '-o', '$OUTFILE', '$INFILES'],
|
||||
},
|
||||
},
|
||||
|
||||
// TODO: do we need this too?
|
||||
remote: {
|
||||
id: 'remote', name: 'Remote build', kind: 'remote',
|
||||
extensions: [],
|
||||
remote: true,
|
||||
},
|
||||
};
|
||||
|
||||
//// helpers
|
||||
|
||||
/**
|
||||
* Look up tool metadata by tool id. Tolerates the 'remote:' transport prefix
|
||||
* used in build steps (e.g. 'remote:llvm-mos' -> 'llvm-mos').
|
||||
*/
|
||||
export function getToolMeta(id: string): ToolMeta | undefined {
|
||||
return TOOL_META[id.replace(/^remote:/, '')];
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all tools that consume the given filename (longest extension match
|
||||
* first). Ambiguity is resolved by the platform, which picks from these.
|
||||
*/
|
||||
export function getToolMetaForFilename(fn: string): ToolMeta[] {
|
||||
let matches: { meta: ToolMeta, len: number }[] = [];
|
||||
for (let id in TOOL_META) {
|
||||
let meta = TOOL_META[id];
|
||||
for (let ext of meta.extensions) {
|
||||
if (ext && fn.endsWith(ext)) {
|
||||
matches.push({ meta, len: ext.length });
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return matches.sort((a, b) => b.len - a.len).map(m => m.meta);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the preload filesystem name for a tool on a platform
|
||||
* (was TOOL_PRELOADFS, including compound 'tool-platform' keys).
|
||||
*/
|
||||
export function getPreloadFSName(tool: string, platform?: string): string | undefined {
|
||||
let meta = getToolMeta(tool);
|
||||
if (!meta) return undefined;
|
||||
if (meta.platforms) {
|
||||
if (platform) {
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS) return p.preloadFS;
|
||||
}
|
||||
let d = meta.platforms['default'];
|
||||
if (d && d.preloadFS) return d.preloadFS;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/** Skeleton filename in presets/<platform>/, defaults to tool id. */
|
||||
export function getSkeletonName(tool: string): string {
|
||||
let meta = getToolMeta(tool);
|
||||
return (meta && meta.skeleton) ? meta.skeleton : tool.replace(/^remote:/, '');
|
||||
}
|
||||
|
||||
/**
|
||||
* Include patterns to use when scanning a source file for dependencies.
|
||||
* Falls back to the platform (verilog vs. everything else) when the tool is
|
||||
* unknown or declares no patterns of its own, which is how dependency parsing
|
||||
* worked before this registry. A tool that really has no include directives
|
||||
* says so with an explicit empty list.
|
||||
*/
|
||||
export function getIncludePatterns(tool?: string, platform?: string): (RegExp | ToolIncludePattern)[] {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.includePatterns) return meta.includePatterns;
|
||||
if (platform && platform.startsWith('verilog')) return VERILOG_INCLUDE_PATTERNS;
|
||||
return SHARED_INCLUDE_PATTERNS;
|
||||
}
|
||||
|
||||
/** Link patterns ("//#link") to use when scanning a source file. */
|
||||
export function getLinkPatterns(tool?: string, platform?: string): (RegExp | ToolIncludePattern)[] {
|
||||
let meta = tool && getToolMeta(tool);
|
||||
if (meta && meta.linkPatterns) return meta.linkPatterns;
|
||||
if (platform && platform.startsWith('verilog')) return [];
|
||||
return SHARED_LINK_PATTERNS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Run a set of include/link patterns over source text, returning the
|
||||
* referenced filenames. The filename comes from the pattern's `group`, or
|
||||
* from the last capture group if unspecified, plus any implicit `suffix`.
|
||||
*/
|
||||
export function matchDependencyPatterns(text: string, patterns: (RegExp | ToolIncludePattern)[]): string[] {
|
||||
let files: string[] = [];
|
||||
for (let pat of patterns || []) {
|
||||
let p: ToolIncludePattern = pat instanceof RegExp ? { re: pat } : pat;
|
||||
let m;
|
||||
p.re.lastIndex = 0; // patterns are shared and global, so rewind first
|
||||
while (m = p.re.exec(text)) {
|
||||
let fn = m[p.group != null ? p.group : m.length - 1];
|
||||
if (fn) files.push(p.suffix ? fn + p.suffix : fn);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
+9
-75
@@ -2,6 +2,7 @@
|
||||
import localforage from "localforage";
|
||||
import { Platform } from "../common/baseplatform";
|
||||
import { getBasePlatform, getFilenamePrefix, getFolderForPath, getWithBinary, isProbablyBinary } from "../common/util";
|
||||
import { getIncludePatterns, getLinkPatterns, matchDependencyPatterns } from "../common/toolmeta";
|
||||
import { CodeListing, CodeListingMap, Dependency, FileData, Segment, SourceFile, WorkerErrorResult, WorkerItemUpdate, WorkerMessage, WorkerOutputResult, WorkerResult, isErrorResult, isOutputResult } from "../common/workertypes";
|
||||
|
||||
export interface ProjectFilesystem {
|
||||
@@ -185,89 +186,22 @@ export class CodeProject {
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
|
||||
// TODO: use tool id to parse files, not platform
|
||||
/** Patterns come from the tool registry (src/common/toolmeta.ts), keyed by
|
||||
* the tool that builds the main file; the platform is only a fallback. */
|
||||
parseIncludeDependencies(text: string): string[] {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
// include verilog includes
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for Silice
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// include .arch (json) statements
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2] + ".json");
|
||||
}
|
||||
// include $readmem[bh] (TODO)
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
} else {
|
||||
// for .asm -- [.%]include "file"
|
||||
// for .c -- #include "file"
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for .c -- //#resource "file" (or ;resource or #resource)
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) {
|
||||
this.pushAllFiles(files, m[3]);
|
||||
}
|
||||
// for XASM only (USE include.ext)
|
||||
// for merlin32 (ASM include.ext)
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for wiz
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import')
|
||||
this.pushAllFiles(files, m[2] + ".wiz");
|
||||
else
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for ecs
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
// for acme
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// for dialog -- %% #include "file" (dialog has no include directive,
|
||||
// so the compiler is handed every file listed in a comment instead)
|
||||
let re8 = /^\s*%%\s*#include\s+"(.+?)"/gm;
|
||||
while (m = re8.exec(text)) {
|
||||
this.pushAllFiles(files, m[1]);
|
||||
}
|
||||
// TODO: for xa assembler
|
||||
for (let fn of matchDependencyPatterns(text, getIncludePatterns(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
parseLinkDependencies(text: string): string[] {
|
||||
let tool = this.mainPath && this.getToolForFilename(this.mainPath);
|
||||
let files = [];
|
||||
let m;
|
||||
if (this.platform_id.startsWith('verilog')) {
|
||||
//
|
||||
} else {
|
||||
// for .c -- //#link "file" (or ;link or #link)
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) {
|
||||
this.pushAllFiles(files, m[2]);
|
||||
}
|
||||
for (let fn of matchDependencyPatterns(text, getLinkPatterns(tool, this.platform_id))) {
|
||||
this.pushAllFiles(files, fn);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
+6
-62
@@ -9,6 +9,7 @@ import {
|
||||
arrayCompare, byteArrayToUTF8, decodeQueryString, getBasePlatform, getCookie, getFilenameForPath, getFilenamePrefix,
|
||||
getRootBasePlatform, getWithBinary, hex, highlightDifferences, isProbablyBinary, loadScript, parseBool, stringToByteArray
|
||||
} from "../common/util";
|
||||
import { getSkeletonName, getToolMeta } from "../common/toolmeta";
|
||||
import { FileData, WorkerError, WorkerResult } from "../common/workertypes";
|
||||
import { importPlatform } from "../platform/_index";
|
||||
import { alertError, alertInfo, fatalError, setWaitDialog } from "./dialogs";
|
||||
@@ -107,64 +108,7 @@ export function getWorkerParams() {
|
||||
return compparams;
|
||||
}
|
||||
|
||||
// TODO: codemirror multiplex support?
|
||||
// TODO: move to views.ts?
|
||||
const TOOL_TO_SOURCE_STYLE = {
|
||||
'dasm': '6502',
|
||||
'acme': '6502',
|
||||
'xa': '6502',
|
||||
'cc65': 'text/x-csrc',
|
||||
'ca65': '6502',
|
||||
'nesasm': '6502',
|
||||
'z80asm': 'z80',
|
||||
'sdasz80': 'z80',
|
||||
'sdasgb': 'z80',
|
||||
'sdcc': 'text/x-csrc',
|
||||
'verilator': 'verilog',
|
||||
'jsasm': 'z80',
|
||||
'zmac': 'z80',
|
||||
'bataribasic': 'bataribasic',
|
||||
'markdown': 'markdown',
|
||||
'js': 'javascript',
|
||||
'xasm6809': '6809',
|
||||
'cmoc': 'text/x-csrc',
|
||||
'yasm': 'gas',
|
||||
'smlrc': 'text/x-csrc',
|
||||
'inform6': 'inform6',
|
||||
'dialog': 'dialog',
|
||||
'fastbasic': 'fastbasic',
|
||||
'basic': 'basic',
|
||||
'silice': 'verilog',
|
||||
'wiz': 'text/x-wiz',
|
||||
'vasmarm': 'vasm',
|
||||
'armips': 'vasm',
|
||||
'ecs': 'ecs',
|
||||
'remote:llvm-mos': 'text/x-csrc',
|
||||
'cc2600': 'text/x-csrc',
|
||||
'cc7800': 'text/x-csrc',
|
||||
'armtcc': 'text/x-csrc',
|
||||
'oscar64': 'text/x-csrc',
|
||||
}
|
||||
|
||||
// TODO: move into tool class
|
||||
const TOOL_TO_HELPURL = {
|
||||
'dasm': 'https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt',
|
||||
'cc65': 'https://cc65.github.io/doc/cc65.html',
|
||||
'ca65': 'https://cc65.github.io/doc/ca65.html',
|
||||
'sdcc': 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
'verilator': 'https://www.veripool.org/ftp/verilator_doc.pdf',
|
||||
'fastbasic': 'https://github.com/dmsc/fastbasic/blob/master/manual.md',
|
||||
'bataribasic': "help/bataribasic/manual.html",
|
||||
'wiz': "https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",
|
||||
'silice': "https://github.com/sylefeb/Silice",
|
||||
'zmac': "https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",
|
||||
'cmoc': "http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html",
|
||||
'remote:llvm-mos': 'https://llvm-mos.org/wiki/Welcome',
|
||||
'acme': 'https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt',
|
||||
'xa': 'https://www.floodgap.com/retrotech/xa/',
|
||||
'dialog': 'https://linusakesson.net/dialog/docs/',
|
||||
'oscar64': 'https://github.com/drmortalwombat/oscar64/blob/main/oscar64.md',
|
||||
}
|
||||
// editor styles and help URLs live in the tool registry (src/common/toolmeta.ts)
|
||||
|
||||
function newWorker(): Worker {
|
||||
// TODO: return new Worker("https://8bitworkshop.com.s3-website-us-east-1.amazonaws.com/dev/gen/worker/bundle.js");
|
||||
@@ -338,7 +282,7 @@ function refreshWindowList() {
|
||||
if (tool == 'dasm' && path.endsWith(".h") && getCurrentMainFilename().endsWith(".c")) {
|
||||
tool = 'cc65';
|
||||
}
|
||||
var mode = tool && TOOL_TO_SOURCE_STYLE[tool];
|
||||
var mode = tool && getToolMeta(tool)?.editorStyle;
|
||||
return new SourceEditor(path, mode);
|
||||
}
|
||||
|
||||
@@ -511,7 +455,7 @@ function reloadProject(id: string) {
|
||||
}
|
||||
|
||||
async function getSkeletonFile(fileid: string): Promise<string> {
|
||||
var ext = platform.getToolForFilename(fileid).replace(/^remote:/, "");
|
||||
var ext = getSkeletonName(platform.getToolForFilename(fileid));
|
||||
try {
|
||||
return await $.get("presets/" + getBasePlatform(platform_id) + "/skeleton." + ext, 'text');
|
||||
} catch (e) {
|
||||
@@ -549,7 +493,7 @@ async function _getToolsWithSkeletons(extensions: string[]): Promise<ToolExtensi
|
||||
// check each tool in parallel
|
||||
var checks = toolOrder.map(tool =>
|
||||
$.ajax({
|
||||
url: "presets/" + basePlatform + "/skeleton." + tool,
|
||||
url: "presets/" + basePlatform + "/skeleton." + getSkeletonName(tool),
|
||||
type: "HEAD"
|
||||
}).then(() => tool, () => null)
|
||||
);
|
||||
@@ -1596,7 +1540,7 @@ function setupDebugControls() {
|
||||
}
|
||||
// tool help
|
||||
let tool = platform.getToolForFilename(getCurrentMainFilename());
|
||||
let toolhelpurl = TOOL_TO_HELPURL[tool];
|
||||
let toolhelpurl = tool && getToolMeta(tool)?.helpURL;
|
||||
if (toolhelpurl) {
|
||||
let { li, a } = newDropdownListItem('help__' + tool, tool + ' Help');
|
||||
$("#help_menu").append(li);
|
||||
|
||||
@@ -18,7 +18,6 @@ export function importPlatform(name: string) : Promise<any> {
|
||||
case "gb": return import("../platform/gb");
|
||||
case "gameboy": return import("../platform/gb");
|
||||
case "kim1": return import("../platform/kim1");
|
||||
case "markdown": return import("../platform/markdown");
|
||||
case "mcr": return import("../platform/mcr");
|
||||
case "msx": return import("../platform/msx");
|
||||
case "mw8080bw": return import("../platform/mw8080bw");
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
|
||||
import { PLATFORMS } from "../common/emu";
|
||||
import { Platform } from "../common/baseplatform";
|
||||
|
||||
class MarkdownPlatform implements Platform {
|
||||
mainElement : HTMLElement;
|
||||
iframe : HTMLIFrameElement;
|
||||
|
||||
constructor(mainElement:HTMLElement) {
|
||||
this.mainElement = mainElement;
|
||||
this.iframe = $('<iframe sandbox="allow-same-origin" width="100%" height="100%"/>').appendTo(mainElement)[0] as HTMLIFrameElement;
|
||||
this.iframe.style.backgroundColor = 'white';
|
||||
mainElement.classList.add("vertical-scroll"); //100% height
|
||||
mainElement.style.overflowY = 'auto';
|
||||
}
|
||||
start() {
|
||||
}
|
||||
reset() {
|
||||
}
|
||||
pause() {
|
||||
}
|
||||
resume() {
|
||||
}
|
||||
loadROM(title, data:string) {
|
||||
$(this.iframe).contents().find('body').html(data);
|
||||
}
|
||||
isRunning() {
|
||||
return false;
|
||||
}
|
||||
isDebugging() : boolean {
|
||||
return false;
|
||||
}
|
||||
getToolForFilename(fn : string) : string {
|
||||
return "markdown";
|
||||
}
|
||||
getDefaultExtensions() {
|
||||
return [".md"];
|
||||
}
|
||||
getPresets() {
|
||||
return [
|
||||
{id:'hello.md', name:'Hello'},
|
||||
];
|
||||
}
|
||||
showHelp() {
|
||||
return "https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax";
|
||||
}
|
||||
}
|
||||
|
||||
PLATFORMS['markdown'] = MarkdownPlatform;
|
||||
+1
-5
@@ -4,7 +4,7 @@
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import { initialize, compile, compileSourceFile, preload, listTools, listPlatforms, getToolForFilename, PLATFORM_PARAMS, TOOLS, TOOL_PRELOADFS, store } from './testlib';
|
||||
import { initialize, compile, compileSourceFile, preload, listTools, listPlatforms, getToolForFilename, PLATFORM_PARAMS, TOOLS, store } from './testlib';
|
||||
import { isDebuggable } from '../common/baseplatform';
|
||||
import { hex } from '../common/util';
|
||||
|
||||
@@ -252,10 +252,6 @@ async function doCompile(args: { [key: string]: string }, positional: string[],
|
||||
}
|
||||
|
||||
// Preload the tool's filesystem if needed
|
||||
var preloadKey = tool;
|
||||
if (TOOL_PRELOADFS[tool + '-' + platform]) {
|
||||
preloadKey = tool;
|
||||
}
|
||||
await preload(tool, platform);
|
||||
|
||||
var result = await compileSourceFile(tool, platform, sourceFile);
|
||||
|
||||
+18
-50
@@ -8,11 +8,12 @@ import * as path from 'path';
|
||||
import type { WorkerResult, WorkerMessage, WorkerErrorResult, WorkerOutputResult, Dependency } from "../common/workertypes";
|
||||
import { getFolderForPath, isProbablyBinary, getBasePlatform } from "../common/util";
|
||||
import { getToolForFilename_z80, getToolForFilename_6502, getToolForFilename_6809 } from "../common/baseplatform";
|
||||
import { setupNodeEnvironment, handleMessage, store, TOOL_PRELOADFS } from "../worker/workerlib";
|
||||
import { ToolIncludePattern, getIncludePatterns, getLinkPatterns, matchDependencyPatterns } from "../common/toolmeta";
|
||||
import { setupNodeEnvironment, handleMessage, store } from "../worker/workerlib";
|
||||
import { PLATFORM_PARAMS } from "../worker/platforms";
|
||||
import { TOOLS } from "../worker/workertools";
|
||||
|
||||
export { store, TOOL_PRELOADFS, PLATFORM_PARAMS, TOOLS };
|
||||
export { store, PLATFORM_PARAMS, TOOLS };
|
||||
|
||||
export interface CompileOptions {
|
||||
tool: string;
|
||||
@@ -110,65 +111,29 @@ export async function compileFile(tool: string, platform: string, presetPath: st
|
||||
|
||||
/**
|
||||
* Parse include and link dependencies from source text.
|
||||
* Extracted from CodeProject.parseIncludeDependencies / parseLinkDependencies.
|
||||
* TODO: project.ts should be refactored so we don't have to duplicate the logic
|
||||
* Patterns come from the tool registry (src/common/toolmeta.ts), the same
|
||||
* ones CodeProject uses in the IDE.
|
||||
*/
|
||||
function parseIncludeDependencies(text: string, platformId: string, mainPath: string): string[] {
|
||||
function parseDependencies(text: string, platformId: string, mainPath: string,
|
||||
patterns: (RegExp | ToolIncludePattern)[]): string[] {
|
||||
let files: string[] = [];
|
||||
let m;
|
||||
var dir = getFolderForPath(mainPath);
|
||||
|
||||
function pushFile(fn: string) {
|
||||
for (let fn of matchDependencyPatterns(text, patterns)) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
|
||||
if (platformId.startsWith('verilog')) {
|
||||
let re1 = /^\s*(`include|[.]include)\s+"(.+?)"/gmi;
|
||||
while (m = re1.exec(text)) { pushFile(m[2]); }
|
||||
let re1a = /^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi;
|
||||
while (m = re1a.exec(text)) { pushFile(m[2]); }
|
||||
let re2 = /^\s*([.]arch)\s+(\w+)/gmi;
|
||||
while (m = re2.exec(text)) { pushFile(m[2] + ".json"); }
|
||||
let re3 = /\$readmem[bh]\("(.+?)"/gmi;
|
||||
while (m = re3.exec(text)) { pushFile(m[1]); }
|
||||
} else {
|
||||
let re2 = /^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi;
|
||||
while (m = re2.exec(text)) { pushFile(m[2]); }
|
||||
let re3 = /^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm;
|
||||
while (m = re3.exec(text)) { pushFile(m[3]); }
|
||||
let re4 = /^\s+(USE|ASM)\s+(\S+[.]\S+)/gm;
|
||||
while (m = re4.exec(text)) { pushFile(m[2]); }
|
||||
let re5 = /^\s*(import|embed)\s*"(.+?)";/gmi;
|
||||
while (m = re5.exec(text)) {
|
||||
if (m[1] == 'import') pushFile(m[2] + ".wiz");
|
||||
else pushFile(m[2]);
|
||||
}
|
||||
let re6 = /^\s*(import)\s*"(.+?)"/gmi;
|
||||
while (m = re6.exec(text)) { pushFile(m[2]); }
|
||||
let re7 = /^[!]src\s+"(.+?)"/gmi;
|
||||
while (m = re7.exec(text)) { pushFile(m[1]); }
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
function parseIncludeDependencies(text: string, platformId: string, mainPath: string): string[] {
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, getIncludePatterns(tool, platformId));
|
||||
}
|
||||
|
||||
function parseLinkDependencies(text: string, platformId: string, mainPath: string): string[] {
|
||||
let files: string[] = [];
|
||||
let m;
|
||||
var dir = getFolderForPath(mainPath);
|
||||
|
||||
function pushFile(fn: string) {
|
||||
files.push(fn);
|
||||
if (dir.length > 0 && dir != 'local')
|
||||
files.push(dir + '/' + fn);
|
||||
}
|
||||
|
||||
if (!platformId.startsWith('verilog')) {
|
||||
let re = /^\s*([;]|[/][/])#link\s+"(.+?)"/gm;
|
||||
while (m = re.exec(text)) { pushFile(m[2]); }
|
||||
}
|
||||
return files;
|
||||
let tool = getToolForFilename(mainPath, platformId);
|
||||
return parseDependencies(text, platformId, mainPath, getLinkPatterns(tool, platformId));
|
||||
}
|
||||
|
||||
type FileData = string | Uint8Array;
|
||||
@@ -283,6 +248,9 @@ export function getToolForFilename(fn: string, platform: string): string {
|
||||
return getToolForFilename_6502(fn);
|
||||
case '6809':
|
||||
return getToolForFilename_6809(fn);
|
||||
case 'verilog':
|
||||
if (fn.endsWith('.asm')) return 'jsasm';
|
||||
return fn.endsWith('.ice') ? 'silice' : 'verilator';
|
||||
default:
|
||||
return getToolForFilename_z80(fn); // fallback
|
||||
}
|
||||
|
||||
Vendored
-3
@@ -1,3 +0,0 @@
|
||||
/*! showdown v 2.0.0-alpha1 - 24-10-2018 */
|
||||
(function(){function a(e){"use strict";var r={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as <br> (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex: <div>foo</div>",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(r));var t={};for(var a in r)r.hasOwnProperty(a)&&(t[a]=r[a].defaultValue);return t}var b={},t={},h={},m=a(!0),d="vanilla",p={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeLine truncated
|
||||
//# sourceMappingURL=showdown.min.js.map
|
||||
@@ -6,24 +6,6 @@ import { BuildStep, BuildStepResult, getWorkFileAsString, gatherFiles, staleFile
|
||||
import { msvcErrorMatcher, parseListing, makeErrorMatcher } from "../listingutils";
|
||||
import { setupRequireFunction } from "../workermain";
|
||||
|
||||
export function translateShowdown(step: BuildStep): BuildStepResult {
|
||||
setupRequireFunction();
|
||||
load("showdown.min");
|
||||
var showdown = emglobal['showdown'];
|
||||
var converter = new showdown.Converter({
|
||||
tables: 'true',
|
||||
smoothLivePreview: 'true',
|
||||
requireSpaceBeforeHeadingText: 'true',
|
||||
emoji: 'true',
|
||||
});
|
||||
var code = getWorkFileAsString(step.path);
|
||||
var html = converter.makeHtml(code);
|
||||
delete emglobal['require'];
|
||||
return {
|
||||
output: html
|
||||
};
|
||||
}
|
||||
|
||||
export function compileInform6(step: BuildStep): BuildStepResult {
|
||||
loadNative("inform");
|
||||
var errors = [];
|
||||
|
||||
@@ -7,12 +7,12 @@ import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import type { WorkerResult, WorkerMessage } from "../common/workertypes";
|
||||
import { getBasePlatform, getRootBasePlatform } from "../common/util";
|
||||
import { TOOL_PRELOADFS } from "./workertools";
|
||||
import { getPreloadFSName } from "../common/toolmeta";
|
||||
import { store, builder } from "./builder";
|
||||
import { emglobal, fsMeta, loadFilesystem } from "./wasmutils";
|
||||
import { setupRequireFunction } from "./workermain";
|
||||
|
||||
export { store, builder, TOOL_PRELOADFS };
|
||||
export { store, builder };
|
||||
export { PLATFORM_PARAMS } from "./platforms";
|
||||
export { TOOLS } from "./workertools";
|
||||
|
||||
@@ -131,11 +131,8 @@ export function setupNodeEnvironment() {
|
||||
export async function handleMessage(data: WorkerMessage): Promise<WorkerResult> {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fsName = TOOL_PRELOADFS[data.preload];
|
||||
if (!fsName && data.platform)
|
||||
fsName = TOOL_PRELOADFS[data.preload + '-' + getBasePlatform(data.platform)];
|
||||
if (!fsName && data.platform)
|
||||
fsName = TOOL_PRELOADFS[data.preload + '-' + getRootBasePlatform(data.platform)];
|
||||
var fsName = getPreloadFSName(data.preload, data.platform && getBasePlatform(data.platform))
|
||||
|| getPreloadFSName(data.preload, data.platform && getRootBasePlatform(data.platform));
|
||||
if (fsName && !fsMeta[fsName])
|
||||
loadFilesystem(fsName);
|
||||
return;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import type { WorkerResult, WorkerMessage, WorkerError, SourceLine } from "../common/workertypes";
|
||||
import { getBasePlatform, getRootBasePlatform } from "../common/util";
|
||||
import { TOOL_PRELOADFS } from "./workertools";
|
||||
import { getPreloadFSName } from "../common/toolmeta";
|
||||
import { store, builder, errorResult, getWorkFileAsString } from "./builder";
|
||||
import { emglobal, fsMeta, loadFilesystem } from "./wasmutils";
|
||||
|
||||
@@ -28,11 +28,8 @@ export function setupRequireFunction() {
|
||||
async function handleMessage(data: WorkerMessage): Promise<WorkerResult> {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = TOOL_PRELOADFS[data.preload];
|
||||
if (!fs && data.platform)
|
||||
fs = TOOL_PRELOADFS[data.preload + '-' + getBasePlatform(data.platform)];
|
||||
if (!fs && data.platform)
|
||||
fs = TOOL_PRELOADFS[data.preload + '-' + getRootBasePlatform(data.platform)];
|
||||
var fs = getPreloadFSName(data.preload, data.platform && getBasePlatform(data.platform))
|
||||
|| getPreloadFSName(data.preload, data.platform && getRootBasePlatform(data.platform));
|
||||
if (fs && !fsMeta[fs])
|
||||
loadFilesystem(fs);
|
||||
return;
|
||||
|
||||
@@ -46,7 +46,6 @@ export const TOOLS = {
|
||||
'smlrc': x86.compileSmallerC,
|
||||
'yasm': x86.assembleYASM,
|
||||
'bataribasic': bataribasic.compileBatariBasic,
|
||||
'markdown': misc.translateShowdown,
|
||||
'inform6': misc.compileInform6,
|
||||
'merlin32': m6502.assembleMerlin32,
|
||||
'fastbasic': m6502.compileFastBasic,
|
||||
@@ -65,41 +64,3 @@ export const TOOLS = {
|
||||
'xa': xa.assembleXA,
|
||||
'dialog': dialog.compileDialog,
|
||||
}
|
||||
|
||||
export const TOOL_PRELOADFS = {
|
||||
'cc65-apple2': '65-apple2',
|
||||
'ca65-apple2': '65-apple2',
|
||||
'cc65-c64': '65-c64',
|
||||
'ca65-c64': '65-c64',
|
||||
'cc65-vic20': '65-vic20',
|
||||
'ca65-vic20': '65-vic20',
|
||||
'cc65-nes': '65-nes',
|
||||
'ca65-nes': '65-nes',
|
||||
'cc65-atari8': '65-atari8',
|
||||
'ca65-atari8': '65-atari8',
|
||||
'cc65-vector': '65-none',
|
||||
'ca65-vector': '65-none',
|
||||
'cc65-atari7800': '65-none',
|
||||
'ca65-atari7800': '65-none',
|
||||
'cc65-devel': '65-none',
|
||||
'ca65-devel': '65-none',
|
||||
'cc65-vcs': '65-atari2600',
|
||||
'ca65-vcs': '65-atari2600',
|
||||
'cc65-pce': '65-pce',
|
||||
'ca65-pce': '65-pce',
|
||||
'cc65-exidy': '65-none',
|
||||
'ca65-exidy': '65-none',
|
||||
'sdasz80': 'sdcc',
|
||||
'sdasgb': 'sdcc',
|
||||
'sdcc': 'sdcc',
|
||||
'sccz80': 'sccz80',
|
||||
'bataribasic': '2600basic',
|
||||
'inform6': 'inform',
|
||||
'fastbasic': '65-atari8',
|
||||
'silice': 'Silice',
|
||||
'wiz': 'wiz',
|
||||
'ecs-vcs': '65-atari2600', // TODO: support multiple platforms
|
||||
'ecs-nes': '65-nes', // TODO: support multiple platforms
|
||||
'ecs-c64': '65-c64', // TODO: support multiple platforms
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user