Bash और Zsh में, कमांड-लाइन की सुविधा चालू की जा सकती है. इसे टैब-कंप्लीशन भी कहा जाता है. इससे, कमांड के नाम, फ़्लैग के नाम, फ़्लैग की वैल्यू, और टारगेट के नाम को टैब करके पूरा किया जा सकता है.
बैश
Bazel में Bash की कमांड पूरी करने वाली स्क्रिप्ट होती है.
अगर आपने Bazel इंस्टॉल किया है, तो:
APT रिपॉज़िटरी से, Bash की कमांड पूरी करने वाली स्क्रिप्ट को
/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 पर) या~/.bash_profile(macOS पर) में, नीचे दी गई लाइन जैसी लाइन जोड़ें. इसके लिए, अपनी पूरी फ़ाइल के एब्सोल्यूट पाथ का इस्तेमाल करें:source /path/to/bazel-complete.bash
बूटस्ट्रैपिंग के ज़रिए, इसके बाद:
प्रोसेस पूरी होने की स्क्रिप्ट को किसी फ़ाइल में भेजें:
bazel help completion bash > bazel-complete.bashइनमें से कोई एक काम करें:
अगर आपके पास कोई डायरेक्ट्री है, तो इस फ़ाइल को उसमें कॉपी करें.
उदाहरण के लिए, Ubuntu में यह
/etc/bash_completion.dडायरेक्ट्री हैइसे अपनी लोकल डिस्क पर कहीं कॉपी करें, जैसे कि
$HOMEपर. इसके बाद, Bash की RC फ़ाइल से कॉम्प्लीशन फ़ाइल को सोर्स करें.अपनी
~/.bashrc(Ubuntu पर) या~/.bash_profile(macOS पर) में, नीचे दी गई लाइन जैसी लाइन जोड़ें. इसके लिए, अपनी पूरी फ़ाइल के एब्सोल्यूट पाथ का इस्तेमाल करें:source /path/to/bazel-complete.bash
Zsh
Bazel में Zsh की कमप्लीशन स्क्रिप्ट मौजूद होती है.
अगर आपने Bazel इंस्टॉल किया है, तो:
APT रिपॉज़िटरी से, आपको 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