2011-08-17 6 views
11

node.jsでこの機能を探していましたが見つかりませんでした。
自分で実装することはできますか?私の知る限りでは、Node.jsのがそれで任意のファイルをロードしません(bashは.bashrcでないように)起動時だと私は何とかシェルプロンプトを無効にする方法を気づいていません。node.jsシェルでタブ補完を実装するにはどうすればよいですか?

カスタムシェルを作成せずに実装する方法はありますか?ただ、リファレンスとして

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

V8端末用のオートコンプリートオプションはありません私の知る限り。たぶん、このような[と-のreadline](http://www.greenend.org.uk/rjk/2005/withreadline.html)などのツールは、しかし、あなたに役立つことができます。 – brandizzi

答えて

9

あなたはREPLをサル・パッチを当てることができました。

readlineモジュールには、completerのタブの補完機能を使用できるreadline.createInterface(options)メソッドがあります。

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

​​

APIドキュメントへのリンク:http://nodejs.org/api/readline.html#readline_readline_createinterface_options

関連する問題