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

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

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

बैश

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

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

  • एपीटी रिपॉज़िटरी से, आपका काम हो गया -- बैश को पूरा करने की स्क्रिप्ट /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 डायरेक्ट्री है.

      • या 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
        

ज़ेडएसएच

Basel, Zsh पूरा करने की स्क्रिप्ट के साथ उपलब्ध है.

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

  • 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