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