मैं अजगर में एक कमांड लाइन उपकरण लिख रहा हूं और इसे वितरित करने के लिए पीआईपी का उपयोग कर रहा हूं। उपकरण को टैब पूर्ण करने की अनुमति देने के लिए मैंने कुछ स्क्रिप्ट्स (बैश के लिए एक और zsh के लिए) लिखा है। जब कोई पाइप इंस्टॉल करता है तो इन स्क्रिप्ट को स्थापित करने के लिए पाइप प्राप्त करने का कोई तरीका है?पाल इंस्टॉल खोलने के साथ
उदाहरण के लिए: मेरे पास पूर्णता है। बैश फ़ाइल है। जब कोई
करता mypackage
स्थापित पिप यह भी बैश फ़ाइल स्रोत होगा।
मुझे पूरा यकीन है कि मैं lin.py और bash के लिए setup.py script में अपने डेटा_फाइल अनुभाग में स्क्रिप्ट डालकर ऐसा कर सकता हूं।
data_file=[
('/etc/bash_completion.d', ['bin/completion.bash'])
],
लेकिन मैं यह कैसे कर सकता हूं ताकि यह मंच और शैल स्वतंत्र हो? मुझे मैक/लिनक्स दोनों के लिए बैश और जेएसएच में काम करने की ज़रूरत है। यदि संभव हो, तो विंडोज़ का भी समर्थन करें।
क्या यह संभव है? और यदि हां, तो कैसे?
_foo_complete() {
COMPREPLY=()
local words=("${COMP_WORDS[@]}")
local word="${COMP_WORDS[COMP_CWORD]}"
words=("${words[@]:1}")
local completions="$(foo completer --cmplt=\""${words[*]}"\")"
COMPREPLY=($(compgen -W "$completions" -- "$word"))
}
complete -F _foo_complete foo
मैं वर्तमान में सिर्फ source completion.bash