mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-05-28 23:41:32 +00:00
removed script platform
This commit is contained in:
parent
5fcdde3244
commit
40af6b2602
|
@ -1,101 +0,0 @@
|
||||||
|
|
||||||
import { PLATFORMS } from "../common/emu";
|
|
||||||
import { Platform } from "../common/baseplatform";
|
|
||||||
|
|
||||||
// TODO: scripts run in global context
|
|
||||||
|
|
||||||
class NotebookItem {
|
|
||||||
obj: any;
|
|
||||||
el: JQuery<HTMLElement>;
|
|
||||||
wrap: JQuery<HTMLElement>;
|
|
||||||
|
|
||||||
setData(data: any) {
|
|
||||||
this.obj = data;
|
|
||||||
this.el = $("<div>");
|
|
||||||
this.el.text(JSON.stringify(data, null, ' '));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delete() {
|
|
||||||
this.wrap && this.wrap.remove();
|
|
||||||
this.wrap = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Notebook {
|
|
||||||
top: HTMLElement;
|
|
||||||
items: {[id:string]:NotebookItem};
|
|
||||||
|
|
||||||
constructor(top: HTMLElement) {
|
|
||||||
this.items = {};
|
|
||||||
this.top = top;
|
|
||||||
$(top).css('overflowY', 'auto');
|
|
||||||
}
|
|
||||||
update(obj: any) {
|
|
||||||
var last = null;
|
|
||||||
var unused = new Set<string>(Object.keys(this.items));
|
|
||||||
for (var entry of Object.entries(obj)) {
|
|
||||||
var id = entry[0];
|
|
||||||
var data = entry[1];
|
|
||||||
var item = this.items[id];
|
|
||||||
//console.log(id,data,item);
|
|
||||||
if (!item) {
|
|
||||||
this.items[id] = item = new NotebookItem();
|
|
||||||
}
|
|
||||||
if (item.setData(data)) {
|
|
||||||
if (!item.wrap) {
|
|
||||||
item.wrap = $('<div class="markdown">');
|
|
||||||
$(this.top).append(item.wrap);
|
|
||||||
}
|
|
||||||
item.wrap.empty().append(item.el);
|
|
||||||
}
|
|
||||||
unused.delete(id);
|
|
||||||
}
|
|
||||||
unused.forEach((id) => { this.items[id].delete(); });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class ScriptPlatform implements Platform {
|
|
||||||
mainElement;
|
|
||||||
htmlDiv;
|
|
||||||
notebook: Notebook;
|
|
||||||
|
|
||||||
constructor(mainElement:HTMLElement) {
|
|
||||||
this.mainElement = mainElement;
|
|
||||||
this.notebook = new Notebook(mainElement);
|
|
||||||
}
|
|
||||||
start() {
|
|
||||||
}
|
|
||||||
reset() {
|
|
||||||
}
|
|
||||||
pause() {
|
|
||||||
}
|
|
||||||
resume() {
|
|
||||||
}
|
|
||||||
loadROM(title, data) {
|
|
||||||
this.notebook.update(data);
|
|
||||||
}
|
|
||||||
isRunning() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
isDebugging() : boolean {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
getToolForFilename(fn : string) : string {
|
|
||||||
return "js";
|
|
||||||
}
|
|
||||||
getDefaultExtension() : string {
|
|
||||||
return ".js";
|
|
||||||
}
|
|
||||||
getPresets() {
|
|
||||||
return [
|
|
||||||
{id:'hello.js', name:'Hello'},
|
|
||||||
];
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
showHelp() {
|
|
||||||
window.open("https://github.com/showdownjs/showdown/wiki/Showdown's-Script-syntax", "_help");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
PLATFORMS['script'] = ScriptPlatform;
|
|
|
@ -1923,19 +1923,6 @@ function translateShowdown(step:BuildStep) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function runJavascript(step:BuildStep) {
|
|
||||||
var code = getWorkFileAsString(step.path);
|
|
||||||
try {
|
|
||||||
//eval(code);
|
|
||||||
var fn = new Function("'use strict';\n" + code);
|
|
||||||
var obj = {};
|
|
||||||
var out = fn.call(obj);
|
|
||||||
return { output:out||obj };
|
|
||||||
} catch (e) {
|
|
||||||
return { errors:[{line:(e.lineNumber-2)|0, msg:e.message||"Error"}] };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// http://datapipe-blackbeltsystems.com/windows/flex/asm09.html
|
// http://datapipe-blackbeltsystems.com/windows/flex/asm09.html
|
||||||
function assembleXASM6809(step:BuildStep) {
|
function assembleXASM6809(step:BuildStep) {
|
||||||
load("xasm6809");
|
load("xasm6809");
|
||||||
|
@ -2678,7 +2665,6 @@ var TOOLS = {
|
||||||
'yasm': assembleYASM,
|
'yasm': assembleYASM,
|
||||||
'bataribasic': compileBatariBasic,
|
'bataribasic': compileBatariBasic,
|
||||||
'markdown': translateShowdown,
|
'markdown': translateShowdown,
|
||||||
'js': runJavascript,
|
|
||||||
'inform6': compileInform6,
|
'inform6': compileInform6,
|
||||||
'merlin32': assembleMerlin32,
|
'merlin32': assembleMerlin32,
|
||||||
'fastbasic': compileFastBasic,
|
'fastbasic': compileFastBasic,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user