Browse Source

tab completion for commands in debugger

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
1b63bd16ed
  1. 38
      lib/_debugger.js

38
lib/_debugger.js

@ -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');

Loading…
Cancel
Save