tab completion for commands in debugger
This commit is contained in:
parent
fc634cd92c
commit
1b63bd16ed
@ -351,7 +351,10 @@ function SourceInfo(body) {
|
|||||||
// "node debug"
|
// "node debug"
|
||||||
function Interface() {
|
function Interface() {
|
||||||
var self = this;
|
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 child;
|
||||||
var client;
|
var client;
|
||||||
var term;
|
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() {
|
Interface.prototype.handleSIGINT = function() {
|
||||||
if (this.paused) {
|
if (this.paused) {
|
||||||
this.child.kill('SIGINT');
|
this.child.kill('SIGINT');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user