var rl_history_loaded = false;
exports.readline = rlwrap.readline = function(prompt) {
- prompt = prompt || "user> ";
+ prompt = typeof prompt !== 'undefined' ? prompt : "user> ";
if (!rl_history_loaded) {
rl_history_loaded = true;
- var lines = fs.readFileSync(HISTORY_FILE).toString().split("\n");
+ var lines = [];
+ if (fs.existsSync(HISTORY_FILE)) {
+ lines = fs.readFileSync(HISTORY_FILE).toString().split("\n");
+ }
// Max of 2000 lines
lines = lines.slice(Math.max(lines.length - 2000, 0));
for (var i=0; i<lines.length; i++) {
var line = rllib.readline(prompt);
if (line) {
rllib.add_history(line);
- fs.appendFileSync(HISTORY_FILE, line + "\n");
+ try {
+ fs.appendFileSync(HISTORY_FILE, line + "\n");
+ } catch (exc) {
+ // ignored
+ }
}
return line;