Bash और Zsh में कमांड लाइन पूरा करने की सुविधा चालू की जा सकती है. इसे टैब पूरा करने की सुविधा भी कहा जाता है. इससे, कमांड के नाम, फ़्लैग के नाम, फ़्लैग की वैल्यू, और टारगेट के नाम को टैब करके पूरा किया जा सकता है.
बैश
बेज़ल, बैश पूरा करने की स्क्रिप्ट के साथ आता है.
अगर आपने Basel इंस्टॉल किया है, तो:
एपीटी रिपॉज़िटरी से, आपका काम हो गया -- बैश पूरा करने की स्क्रिप्ट
/etc/bash_completion.d
में पहले से इंस्टॉल है.Homebrew से, Bash की स्क्रिप्ट को
$(brew --prefix)/etc/bash_completion.d
में पहले से ही इंस्टॉल किया गया है.GitHub से डाउनलोड किए गए इंस्टॉलर का इस्तेमाल करके:
पूरा होने वाली फ़ाइल का ऐब्सलूट पाथ ढूंढें. इंस्टॉलर ने इसे
bin
डायरेक्ट्री में कॉपी किया.उदाहरण: अगर आपने इंस्टॉलर को
--user
के साथ चलाया है, तो यह$HOME/.bazel/bin
हो जाएगा. अगर आपने इंस्टॉलर को रूट के तौर पर चलाया है, तो यह/usr/local/lib/bazel/bin
होगा.इनमें से कोई एक काम करें:
अगर आपके पास कोई डायरेक्ट्री है, तो इस फ़ाइल को अपनी कंप्लीशन डायरेक्ट्री में कॉपी करें.
उदाहरण: Ubuntu पर यह
/etc/bash_completion.d
डायरेक्ट्री है.इसके अलावा, Bash की RC फ़ाइल से भी फ़ाइल को सोर्स किया जा सकता है.
अपने
~/.bashrc
(Ubuntu पर) या macOS पर~/.bash_profile
के बराबर की लाइन जोड़ें. इसके लिए अपनी कंप्लीशन फ़ाइल के ऐब्सलूट पाथ का पाथ इस्तेमाल करें:source /path/to/bazel-complete.bash
बूटस्ट्रैपिंग के ज़रिए, इसके बाद:
प्रोसेस पूरी होने पर सूचना देने वाली स्क्रिप्ट बनाएं:
bazel build //scripts:bazel-complete.bash
'पूरी हो गई' फ़ाइल,
bazel-bin/scripts/bazel-complete.bash
में बनाई जाती है.इनमें से कोई एक काम करें:
अगर आपके पास कोई फ़ाइल है, तो उसे अपनी कंप्लीशन डायरेक्ट्री में कॉपी करें.
उदाहरण के लिए, Ubuntu में यह
/etc/bash_completion.d
डायरेक्ट्री हैइसे अपनी लोकल डिस्क पर कहीं कॉपी करें, जैसे कि
$HOME
पर. इसके बाद, Bash की RC फ़ाइल से, पूरी हो चुकी फ़ाइल को सोर्स करें.अपने
~/.bashrc
(Ubuntu पर) या macOS पर~/.bash_profile
के बराबर की लाइन जोड़ें. इसके लिए अपनी कंप्लीशन फ़ाइल के ऐब्सलूट पाथ का पाथ इस्तेमाल करें:source /path/to/bazel-complete.bash
ज़ेडएसएच
Basel, Zsh पूरा करने की स्क्रिप्ट के साथ उपलब्ध है.
अगर आपने Bazel इंस्टॉल किया है, तो:
एपीटी रिपॉज़िटरी से, आपका काम हो गया -- Zsh कंप्लीशन स्क्रिप्ट पहले से ही
/usr/share/zsh/vendor-completions
में इंस्टॉल है.अगर आपके पास बहुत ज़्यादा कस्टमाइज़ किया गया
.zshrc
है और ऑटोकंप्लीट की सुविधा काम नहीं कर रही है, तो इनमें से कोई एक समाधान आज़माएं:अपने
.zshrc
में यह जोड़ें:zstyle :compinstall filename '/home/tradical/.zshrc' autoload -Uz compinit compinit
या
यहां दिए गए निर्देशों का पालन करें
अगर
oh-my-zsh
का इस्तेमाल किया जा रहा है, तो हो सकता है कि आपzsh-autocomplete
प्लग इन को इंस्टॉल और चालू करना चाहें. अगर आपको इस्तेमाल नहीं करना है, तो ऊपर बताए गए समाधानों में से किसी एक का इस्तेमाल करें.Homebrew से, आपका काम हो गया है -- Zsh पूरा करने की स्क्रिप्ट पहले से ही
$(brew --prefix)/share/zsh/site-functions
में इंस्टॉल है.GitHub से डाउनलोड किए गए इंस्टॉलर का इस्तेमाल करके:
पूरा होने वाली फ़ाइल का ऐब्सलूट पाथ ढूंढें. इंस्टॉलर ने इसे
bin
डायरेक्ट्री में कॉपी किया.उदाहरण: अगर आपने इंस्टॉलर को
--user
के साथ चलाया है, तो यह$HOME/.bazel/bin
हो जाएगा. अगर आपने इंस्टॉलर को रूट के तौर पर चलाया है, तो यह/usr/local/lib/bazel/bin
होगा.इस स्क्रिप्ट को अपने
$fpath
की किसी डायरेक्ट्री में जोड़ें:fpath[1,0]=~/.zsh/completion/ mkdir -p ~/.zsh/completion/ cp /path/from/above/step/_bazel ~/.zsh/completion
हो सकता है कि
rm -f ~/.zcompdump; compinit
को पहली बार कॉल करना पड़े, ताकि यह काम कर सके.इसके अलावा, .zshrc में यह भी जोड़ा जा सकता है.
# This way the completion script does not have to parse Bazel's options # repeatedly. The directory in cache-path must be created manually. zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache