2011-08-17 6 views
11

मैं इस सुविधा को node.js में ढूंढ रहा था और मुझे यह नहीं मिला है।
क्या मैं इसे स्वयं कार्यान्वित कर सकता हूं? जहां तक ​​मुझे पता है, node.js किसी भी फ़ाइल को स्टार्टअप पर लोड नहीं करता है (जैसे बैश .bashrc के साथ करता है) और मैंने किसी भी तरह से शेल प्रॉम्प्ट को ओवरराइड करने का कोई तरीका नहीं देखा है।मैं node.js खोल में टैब पूर्ण करने को कैसे कार्यान्वित करूं?

क्या कस्टम खोल लिखने के बिना इसे लागू करने का कोई तरीका है? बस एक संदर्भ के रूप

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

AFAIK वहाँ v8 टर्मिनल के लिए स्वत: पूर्ण विकल्प नहीं है। शायद [with-readline] जैसे टूल (http://www.greenend.org.uk/rjk/2005/withreadline.html) आपके लिए सहायक हो सकते हैं। – brandizzi

उत्तर

9

आप आरईपीएल बंदर-पैच सकता है।

readline मॉड्यूल में readline.createInterface(options) विधि है जो एक वैकल्पिक completer फ़ंक्शन स्वीकार करता है जो एक टैब पूर्ण करने को बनाता है। एपीआई डॉक्स

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

और

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

लिंक: http://nodejs.org/api/readline.html#readline_readline_createinterface_options

संबंधित मुद्दे