कमांड-लाइन पूरा होना

आप बैश और ज़ीश में कमांड-लाइन पूरा करने की सुविधा (जिसे टैब-पूरा करना भी कहा जाता है) चालू कर सकते हैं. इससे आपको कमांड के पूरे नाम, नाम और फ़्लैग वैल्यू फ़्लैग करने, और टारगेट के नाम पर टैब करने की सुविधा मिलती है.

बैश

Bazel के साथ बैश को पूरा करने की स्क्रिप्ट मिलती है.

अगर आपने Bazel इंस्टॉल किया है, तो:

  • एपीटी डेटा स्टोर करने की जगह से, आपका काम हो गया -- बैश पूरा होने की स्क्रिप्ट, /etc/bash_completion.d में पहले से ही इंस्टॉल है.

  • Homebrew से, आपका काम हो गया -- बैश पूरा होने की स्क्रिप्ट $(brew --prefix)/etc/bash_completion.d में पहले से ही इंस्टॉल है.

  • GitHub से डाउनलोड किए गए इंस्टॉलर से, फिर:

    1. पूरी होने वाली फ़ाइल का ऐब्सलूट पाथ ढूंढें. इंस्टॉलर ने इसे bin डायरेक्ट्री में कॉपी किया है.

      उदाहरण: अगर आपने --user से इंस्टॉलर चलाया है, तो यह $HOME/.bazel/bin होगा. अगर आपने इंस्टॉलर को रूट के तौर पर चलाया है, तो यह /usr/local/lib/bazel/bin होगा.

    2. इनमें से कोई एक काम करें:

      • या तो इस फ़ाइल को अपनी कंप्लीशन डायरेक्ट्री में कॉपी करें (अगर आपके पास एक है).

        उदाहरण: Ubuntu पर यह /etc/bash_completion.d डायरेक्ट्री है.

      • या बैश की RC फ़ाइल से पूरा होने वाली फ़ाइल का सोर्स लें.

        नीचे दी गई लाइन से मिलती-जुलती लाइन जोड़ें, जो आपके ~/.bashrc (Ubuntu पर) या ~/.bash_profile (macOS पर) के लिए इस्तेमाल की जाती है. इसके लिए, पूरी हो चुकी फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करें:

        source /path/to/bazel-complete.bash
        
  • बूटस्ट्रैपिंग के ज़रिए, फिर:

    1. पूरा होने की स्क्रिप्ट बनाएं:

      bazel build //scripts:bazel-complete.bash
      
    2. पूरी होने वाली फ़ाइल, bazel-bin/scripts/bazel-complete.bash के तहत बनाई गई है.

      इनमें से कोई एक काम करें:

      • अगर आपके पास कोई फ़ाइल है, तो उसे अपनी पूरी होने वाली डायरेक्ट्री में कॉपी करें.

        उदाहरण: Ubuntu पर यह /etc/bash_completion.d डायरेक्ट्री है

      • इसे अपनी लोकल डिस्क पर, जैसे कि $HOME पर कॉपी करें और Bash की आरसी फ़ाइल से पूरा होने वाली फ़ाइल को सोर्स करें.

        नीचे दी गई लाइन से मिलती-जुलती लाइन जोड़ें, जो आपके ~/.bashrc (Ubuntu पर) या ~/.bash_profile (macOS पर) के लिए इस्तेमाल की जाती है. इसके लिए, पूरी हो चुकी फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करें:

        source /path/to/bazel-complete.bash
        

ज़श

Bazel, Zsh के पूरा होने की स्क्रिप्ट के साथ आता है.

अगर आपने Bazel इंस्टॉल किया है, तो:

  • एपीटी रिपॉज़िटरी से, आपका काम हो गया -- 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 से डाउनलोड किए गए इंस्टॉलर से, फिर:

    1. पूरी होने वाली फ़ाइल का ऐब्सलूट पाथ ढूंढें. इंस्टॉलर ने इसे bin डायरेक्ट्री में कॉपी किया है.

      उदाहरण: अगर आपने --user से इंस्टॉलर चलाया है, तो यह $HOME/.bazel/bin होगा. अगर आपने इंस्टॉलर को रूट के तौर पर चलाया है, तो यह /usr/local/lib/bazel/bin होगा.

    2. इस स्क्रिप्ट को अपने $fpath की किसी डायरेक्ट्री में जोड़ें:

      fpath[1,0]=~/.zsh/completion/
      mkdir -p ~/.zsh/completion/
      cp /path/from/above/step/_bazel ~/.zsh/completion
      

      इसे चालू करने के लिए, आपको rm -f ~/.zcompdump; compinit को पहली बार कॉल करना पड़ सकता है.

    3. वैकल्पिक रूप से, अपने .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