Beberapa git
perintah memiliki banyak opsi, dan sering kali berguna untuk mencari yang saya butuhkan - saya hanya mencari opsi yang mengontrol TABlebar git-gui
, tetapi ada sekitar 200 penyelesaian untuk git config
. Solusi yang jelas adalah menyalin semua penyelesaian ke editor dan mencari melalui mereka, tapi saya lebih suka melakukannya
[something] | grep tab
Tidak ada man
atau info
halaman untuk compgen
, help compgen
bahkan tidak menjelaskan pilihannya sendiri, dan tidak ada auto-complete untuk compgen
(bagaimana itu untuk ironi?).
PS: compgen -A
tidak berhasil.
PPS: Ini bukan pertanyaan tentang git-gui
- Solusi untuk pertanyaan lebar tab ada di tempat lain.
PPPS: Ini bukan tentang perintah pelengkapan otomatis, hanya parameter perintah .
bash
autocomplete
compgen
l0b0
sumber
sumber
Jawaban:
Anda dapat menggunakan fungsi berikut, yang menggunakan cara
sudo
pelengkapan otomatis yang sama menghasilkan daftar penyelesaian:di mana
_command_offset
didefinisikan dalam bash-completion (paket).CATATAN: fungsi harus dijalankan dalam shell interaktif (yaitu jika itu ada dalam file, file harus bersumber bukan hanya dijalankan.) Atau aturan / fungsi penyelesaian yang diperlukan tidak akan ditentukan.
PS.
compgen -A
hanya berfungsi untuk tindakan bawaan, apa yang seharusnya Anda coba (tetapi tidak berhasil) adalahcompgen -F
(atau sebenarnyacompgen -o bashdefault -o default -o nospace -F _git
). Alasan ini tidak bekerja (dan doc untuk perintah built-in bash termasuk compgen / complete) dapat ditemukan di bash (1) .sumber
local COMP_LINE="$*"
)