2011-08-17 6 views
11

Estaba buscando esta característica en node.js y no la he encontrado.
¿Puedo implementarlo yo mismo? Por lo que yo sé, node.js no carga ningún archivo en su inicio (como Bash lo hace con .bashrc) y no he notado ninguna manera de anular de alguna manera el prompt de shell.¿Cómo implemento la finalización de pestañas en el shell node.js?

¿Hay alguna manera de implementarlo sin escribir shell personalizado?

+0

yo sepa no hay opción de autocompletar para el terminal v8. Sin embargo, herramientas como [with-readline] (http://www.greenend.org.uk/rjk/2005/withreadline.html) pueden ser útiles para usted. – brandizzi

Respuesta

9

Se podía mono-parchear el REPL:

var repl = require('repl').start() 
var _complete = repl.complete 
repl.complete = function(line) { 
    ... 
    _complete.apply(this, arguments) 
} 
4

Sólo como referencia.

readline módulo tiene readline.createInterface(options) método que acepta una función opcional completer que hace que una pestaña se complete.

function completer(line) { 
    var completions = '.help .error .exit .quit .q'.split(' ') 
    var hits = completions.filter(function(c) { return c.indexOf(line) == 0 }) 
    // show all completions if none found 
    return [hits.length ? hits : completions, line] 
} 

y

function completer(linePartial, callback) { 
    callback(null, [['123'], linePartial]); 
} 

enlace a la documentación de la API: http://nodejs.org/api/readline.html#readline_readline_createinterface_options

Cuestiones relacionadas