diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/core.js | 13 | ||||
| -rw-r--r-- | js/jq_readline.js | 18 |
2 files changed, 30 insertions, 1 deletions
@@ -39,7 +39,18 @@ function println() { } function slurp(f) { - return require('fs').readFileSync(f, 'utf-8'); + if (typeof require !== 'undefined') { + return require('fs').readFileSync(f, 'utf-8'); + } else { + var req = new XMLHttpRequest(); + req.open("GET", f, false); + req.send(); + if (req.status == 200) { + return req.responseText; + } else { + throw new Error("Failed to slurp file: " + f); + } + } } diff --git a/js/jq_readline.js b/js/jq_readline.js index e9f624f..51bb571 100644 --- a/js/jq_readline.js +++ b/js/jq_readline.js @@ -1,3 +1,21 @@ +var max_history_length = 1000; + +function jq_load_history(jq) { + if (localStorage['mal_history']) { + var lines = JSON.parse(localStorage['mal_history']); + if (lines.length > max_history_length) { + lines = lines.slice(lines.length-max_history_length); + } + jq.SetHistory(lines); + } +} + +function jq_save_history(jq) { + var lines = jq.GetHistory(); + localStorage['mal_history'] = JSON.stringify(lines); +} + + var readline = { 'readline': function(prompt_str) { return prompt(prompt_str); |
