Bash और Zsh में, कमांड-लाइन कंप्लीशन (इसे टैब-कंप्लीशन भी कहा जाता है) की सुविधा चालू की जा सकती है. इससे कमांड के नाम, फ़्लैग के नाम, फ़्लैग की वैल्यू, और टारगेट के नाम को टैब दबाकर पूरा किया जा सकता है.
बैश
Bazel के साथ Bash completion script मिलती है.
अगर आपने Bazel इंस्टॉल किया है, तो:
APT रिपॉज़िटरी से इंस्टॉल किया गया है, तो आपको कुछ और करने की ज़रूरत नहीं है. Bash completion script पहले से ही
/etc/bash_completion.dमें इंस्टॉल है.Homebrew से इंस्टॉल किया है, तो आपको कुछ और करने की ज़रूरत नहीं है. Bash completion script पहले से ही
$(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