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

किसी समस्या की शिकायत करें सोर्स देखें रात · 7.4 को अपनाएं. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

बैश

बेज़ल, बैश पूरा करने की स्क्रिप्ट के साथ आता है.

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

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

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

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

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

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

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

      • इस फ़ाइल को अपनी 'पूरी हो चुकी प्रोसेस' डायरेक्ट्री में कॉपी करें (अगर आपके पास कोई डायरेक्ट्री है).

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

      • इसके अलावा, Bash की 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 की 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 से डाउनलोड किए गए इंस्टॉलर से, इसके बाद:

    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