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

किसी समस्या की शिकायत करें स्रोत देखें

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

बैश

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

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

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

  • Homebru से, आपका काम हो गया -- 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
        

ज़ेड

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 को इंस्टॉल और चालू करें. अगर आपको ऐसा नहीं करना है, तो ऊपर दिए गए तरीकों में से किसी एक का इस्तेमाल करें.

  • Homebru से, आपका काम हो गया -- 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