2011-08-17 13 views
11

Bu özelliği node.js'de arıyordum ve bulamadım.
Bunu kendim yapabilir miyim? Bildiğim kadarıyla, node.js başlangıçta herhangi bir dosya yüklemiyor (Bash .bashrc ile çalışıyor) ve bir şekilde kabuk istemini geçersiz kılmanın herhangi bir yolunu fark etmedim.node.js kabuğunda sekmeyi tamamlamayı nasıl uygularım?

Özel kabuk yazmadan onu uygulamaya koymanın bir yolu var mı? Sadece bir referans olarak

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

AFAIK v8 terminali otomatik tamamlama seçeneği yoktur. Bununla birlikte, belki de [with-readline] (http://www.greenend.org.uk/rjk/2005/withreadline.html) gibi araçlar size yardımcı olabilir. – brandizzi

cevap

9

Sen repl maymun yama olabilir.

readline modülünde, bir sekmeyi tamamlayan isteğe bağlı completer işlevini kabul eden readline.createInterface(options) yöntemi vardır. API docs için

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] 
} 

ve

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

linki: http://nodejs.org/api/readline.html#readline_readline_createinterface_options

İlgili konular