Added a line by line command parser in the web client.

This commit is contained in:
Trent Robbins 2016-10-25 20:39:04 -07:00
parent 384d08f9d8
commit 73633f01d9

View file

@ -87,19 +87,25 @@ function doSendText() {
} }
var inputfield = $("#inputfield"); var inputfield = $("#inputfield");
var outtext = inputfield.val(); var outtext = inputfield.val();
if (outtext.length > 7 && outtext.substr(0, 7) == "##send ") { var lines = outtext.trim().replace(/[\r]+/,"\n").replace(/[\n]+/, "\n").split("\n");
// send a specific oob instruction ["cmdname",[args],{kwargs}] for (var i = 0; i < lines.length; i++) {
outtext = outtext.slice(7); var line = lines[i].trim();
var cmdarr = JSON.parse(outtext); if (line.length > 7 && line.substr(0, 7) == "##send ") {
var cmdname = cmdarr[0]; // send a specific oob instruction ["cmdname",[args],{kwargs}]
var args = cmdarr[1]; line = line.slice(7);
var kwargs = cmdarr[2]; var cmdarr = JSON.parse(line);
log(cmdname, args, kwargs); var cmdname = cmdarr[0];
Evennia.msg(cmdname, args, kwargs); var args = cmdarr[1];
} else { var kwargs = cmdarr[2];
input_history.add(outtext); log(cmdname, args, kwargs);
inputfield.val(""); Evennia.msg(cmdname, args, kwargs);
Evennia.msg("text", [outtext], {}); } else if (line.length < 1) {
/* do not process empty lines */
} else {
input_history.add(line);
inputfield.val("");
Evennia.msg("text", [line], {});
}
} }
} }