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