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

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

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

बैश

Bazel में Bash की कमांड पूरी करने वाली स्क्रिप्ट होती है.

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

  • APT रिपॉज़िटरी से, Bash की कमांड पूरी करने वाली स्क्रिप्ट को /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 पर) या macOS पर ~/.bash_profile के बराबर की लाइन जोड़ें. इसके लिए अपनी कंप्लीशन फ़ाइल के ऐब्सलूट पाथ का पाथ इस्तेमाल करें:

        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
        

ज़ेडएसएच

Basel, 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