savedVarFile
This commit is contained in:
@@ -1314,6 +1314,13 @@ class Macros {
|
|||||||
k.doc("printLocalNulls", 0, 0, "(printLocalNulls)");
|
k.doc("printLocalNulls", 0, 0, "(printLocalNulls)");
|
||||||
macros["printLocalNulls"] = printAllNulls.bind(true);
|
macros["printLocalNulls"] = printAllNulls.bind(true);
|
||||||
|
|
||||||
|
var savedVarFilename = null;
|
||||||
|
k.doc("savedVarFile", 1, 1, '(savedVarFilename "<path>")');
|
||||||
|
macros["savedVarFile"] = (wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) -> {
|
||||||
|
savedVarFilename = compileTimeResolveToString("The only argument to (savedVarFile...)", "a json filename", exps[0], k);
|
||||||
|
null;
|
||||||
|
};
|
||||||
|
|
||||||
k.doc("savedVar", 2, 2, "(savedVar <:Type> <name> <initial value>)");
|
k.doc("savedVar", 2, 2, "(savedVar <:Type> <name> <initial value>)");
|
||||||
macros["savedVar"] = (wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) -> {
|
macros["savedVar"] = (wholeExp:ReaderExp, exps:Array<ReaderExp>, k:KissState) -> {
|
||||||
var b = wholeExp.expBuilder();
|
var b = wholeExp.expBuilder();
|
||||||
@@ -1321,7 +1328,13 @@ class Macros {
|
|||||||
var nameString = Prelude.symbolNameValue(name, true, false);
|
var nameString = Prelude.symbolNameValue(name, true, false);
|
||||||
var type = Helpers.explicitTypeString(name);
|
var type = Helpers.explicitTypeString(name);
|
||||||
var initialValue = exps[1];
|
var initialValue = exps[1];
|
||||||
var filename = b.str("." + k.className + ".json");
|
var filename = if (savedVarFilename != null) {
|
||||||
|
if (!savedVarFilename.endsWith(".json"))
|
||||||
|
savedVarFilename = '${savedVarFilename}.json';
|
||||||
|
b.str(savedVarFilename);
|
||||||
|
} else {
|
||||||
|
b.str("." + k.className + ".json");
|
||||||
|
};
|
||||||
|
|
||||||
function ifLetFileJson(thenBlock:Array<ReaderExp>, elseBlock:Array<ReaderExp>) {
|
function ifLetFileJson(thenBlock:Array<ReaderExp>, elseBlock:Array<ReaderExp>) {
|
||||||
return b.callSymbol("if", [
|
return b.callSymbol("if", [
|
||||||
|
|||||||
Reference in New Issue
Block a user