|
|
@ -351,7 +351,10 @@ function SourceInfo(body) { |
|
|
|
// "node debug"
|
|
|
|
function Interface() { |
|
|
|
var self = this; |
|
|
|
var term = this.term = readline.createInterface(process.stdout); |
|
|
|
var term = this.term = |
|
|
|
readline.createInterface(process.stdout, function (line) { |
|
|
|
return self.complete(line); |
|
|
|
}); |
|
|
|
var child; |
|
|
|
var client; |
|
|
|
var term; |
|
|
@ -396,6 +399,39 @@ function Interface() { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var commands = [ |
|
|
|
'backtrace', |
|
|
|
'continue', |
|
|
|
'help', |
|
|
|
'info breakpoints', |
|
|
|
'kill', |
|
|
|
'list', |
|
|
|
'next', |
|
|
|
'print', |
|
|
|
'quit', |
|
|
|
'run', |
|
|
|
'scripts', |
|
|
|
'step', |
|
|
|
'version', |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
Interface.prototype.complete = function(line) { |
|
|
|
// Match me with a command.
|
|
|
|
var matches = []; |
|
|
|
// Remove leading whitespace
|
|
|
|
line = line.replace(/^\s*/, ''); |
|
|
|
|
|
|
|
for (var i = 0; i < commands.length; i++) { |
|
|
|
if (commands[i].indexOf(line) >= 0) { |
|
|
|
matches.push(commands[i]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return [matches, line]; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
Interface.prototype.handleSIGINT = function() { |
|
|
|
if (this.paused) { |
|
|
|
this.child.kill('SIGINT'); |
|
|
|