2013-10-29 4 views
5

में बैश पूर्ण-सी का उपयोग करना zsh bash पूरा करने का समर्थन complete -C 'custom command for completion' command करता है?ज़ैश


मैं पहले पटकथा में एक bash पूरा होने के समारोह है, जो मैं

complete -C 'tu --get-bash-completion' tu 

साथ सक्षम मैं अपने सहयोगियों जो zsh का उपयोग पूरा होने के उपयोग करने में सक्षम होना चाहते हैं लिखा था, इसलिए मैं परीक्षण करने की कोशिश की बैश पूरा होने संगतता के लिए इस तरह की एक .zshrc फ़ाइल के साथ:

autoload compinit 
compinit 
autoload bashcompinit 
bashcompinit 
complete -C 'tu --get-bash-completion' tu 

जब मैं इस पूरा होने के इस्तेमाल करने की कोशिश, ऐसा लगता है zsh की तरह पूरा होने स्क्रिप्ट बुला रहा है बहस के बिना कॉल पार्टी की योजना बनाई इसके साथ (firstword, current_word, past_word)।

tom-mba:~ tomb$ zsh 
tom-mba% tu Traceback (most recent call last): 
    File "/usr/local/bin/tu", line 7, in <module> 
    execfile(__file__) 
    File "/Users/tomb/Dropbox/code/TrelloCardUpdate/bin/tu", line 3, in <module> 
    cli.CLI() 
    File "/Users/tomb/Dropbox/code/TrelloCardUpdate/trellocardupdate/cli.py", line 156, in CLI 
    getcompletion(sys.argv[i+1:i+4]) 
    File "/Users/tomb/Dropbox/code/TrelloCardUpdate/trellocardupdate/cli.py", line 86, in getcompletion 
    assert len(args) == 3, [args, sys.argv] 
AssertionError: [[], ['/usr/local/bin/tu', '--get-bash-completion']] 

मैं पर एक मैक homebrew से स्थापित zsh उपयोग कर रहा हूँ:

tom-mba:~ tomb$ zsh --version 
zsh 5.0.2 (x86_64-apple-darwin11.4.2) 
tom-mba:~ tomb$ which zsh 
/usr/local/bin/zsh 
+0

उत्तर जल्द ही आ रहा है, zsh मेलिंग सूची को गर्म करें! – Thomas

उत्तर

0

नवंबर 10, 2013 के अनुसार, zsh के bashcompinit complete काम इस तरह नहीं है। स्पष्ट रूप से compadd -U पूरा होने पर नियंत्रण के बढ़िया स्तर के लिए zsh तरीका है जहां एक स्क्रिप्ट निर्धारित करती है कि वास्तव में क्या सुझाव देना है।