Ketika saya menambahkan skrip saya semakin banyak ke file composer.json
, akan berguna untuk memiliki autocomplete untuk perintah composer
di bash
. Pertanyaan saya di Twitter tidak memberikan solusi segera, dan karena saya sudah melakukan hal serupa untuk Phing
, saya menyingsingkan lengan baju saya dan menulis solusi saya.
Kita mulai dengan membuat file penyelesaian bash baru bernama composer
di direktori bash_completion.d
(file perlu hak eksekusi). Direktori ini biasanya terletak di /etc/bash_completion.d/
, tetapi pada OS X menggunakan Homebrew terletak di /usr/local/etc/bash_completion.d/
(dengan asumsi Anda telah menginstal brew install bash-complete
).
Ini file tersebut:
(Perhatikan bahwa __ltrim_colon_completions
hanya didukung dalam versi terbaru dari bash-complete
, jadi Anda mungkin perlu menghapus baris ini.)
Untuk mendapatkan daftar perintah untuk komposer, kita membuat daftar kata untuk opsi -W untuk compgen
dengan menjalankan composer --no-ansi
dan kemudian menggunakan AWK untuk menghapus semua yang bukan perintah. Kami juga membuat daftar argumen bendera terpisah ketika pengguna menekan tombol Tab setelah tanda hubung dimasukkan.
Dengan menjalankan composer {cmd} -h --no-ansi
, kami secara otomatis mengisi tanda untuk setiap perintah dan, menggunakan tr
dan grep
, batasi daftar hanya kata-kata yang dimulai dengan tanda hubung.
Sekarang dengan menekan Tab demi komposer, bash akan secara otomatis menyelesaikan perintah komposer dan skrip pengguna bawaan!

Seperti yang dapat Anda lihat dalam contoh ini, selain perintah bawaan seperti dump-autoload
dan show
, skrip saya sendiri akan ditampilkan, termasuk apiary-fetch
dan lainnya.
Ini sangat berguna ketika memori gagal saya!