Balık fonksiyonu / takma adı için sekme tamamlamayı nasıl etkinleştirebilirim?


2

Burada sadece bir örnek kullanmak muhtemelen daha kolay. Bir fonksiyonum var ss Bu sadece çağırır:

sudo systemctl $argv

Sekme tamamlama, tam komutla iyi çalışır ancak ss işlevi. yani

ss start mys<tab>

için tamamlama işlevini kullanmak yerine dosya sisteminden tamamlamayı dener. systemctl Komut.

Yanıtlar:


4

Bazı araştırmalardan sonra, balıklarda, ikisi de şu anki istikrarlı sürümde olmayan yaklaşmakta olan iki özellik olduğu görülüyor (2.1.1).

İlk --wraps argümanı function ve complete, tamamlama mirasını mümkün kılar. function foo --wraps=bar verir foo için yapılan tüm tamamlamalar bar.

İkincisi, kısaltmalar abbr vim kısaltmaları gibi çalışan komut. abbr -a gco='git checkout' bir kısaltma kaydeder gco genişletmek git checkout. Yazma gco ardından boşluk veya giriĢ, kısaltmayı genişletir ve bu da herhangi bir kayıtlı tamamlamanın çalışmasına izin verir.

Bu özelliklerden herhangi biri olmadan yapılacak tek şey, işlev / takma ad için aptalca bir özel tamamlama komut dosyası yazmaktır.


Bu özelliklerin her ikisi de şimdi balığın bir parçası. Şerefe!
railgun
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.