// "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;
}
+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');