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 की आरसी फ़ाइल से, पूरा करने की स्क्रिप्ट वाली फ़ाइल को सोर्स करें.
पूरा करने की स्क्रिप्ट वाली फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करके, अपनी
~/.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 की आरसी फ़ाइल से, पूरा करने की स्क्रिप्ट वाली फ़ाइल को सोर्स करें.पूरा करने की स्क्रिप्ट वाली फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करके, अपनी
~/.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या
यहां दिए गए निर्देशों का पालन करें here
अगर
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