2009-07-27 21 views
6

Git günlüklerimdeki şimdiki zamanı kullanmak istiyorum (örneğin, "Eklenen özellik" yerine "Özellik ekle"). Şu anda, log mesajının ilk kelimesi 'ed' ile biterse, bu işlemi iptal eden aşırı derecede naif bir Git kancaya sahibim, fakat daha sağlam bir çözümü ('daha sağlam' anlamına gelen 'tamamen topal' anlamına gelmez) isterdim. Bana çizgisinde bir senaryo yazmaya yeteneği verecek bir dilbilgisi denetleyicisi var mı: eşleştirme daha iyi Sadece bir şey ben mükemmel bir çözüm gerekmezGerilimi belirlemek için CLI dilbilgisi denetleyicisi

 
echo $TEXT | check-grammar --present-tense || exit 1 

/^ \ * ed \ W w/.

+0

Meraklı: "-ed" için herhangi bir sorun var mı? Bu yöntemi kullanarak yakalanmayan şeyler var mı? Ayrıca, gerileri ("özellik ekleme") de kontrol edebilirsiniz. Bu nedenle, geçersiz sonekler listenize "-ing" ifadesini eklemeniz yeterlidir. Ben yardımcı fiiller hakkında endişelenmenize gerek olmadığını hayal ediyorum ("ekledik özelliği"). Yani kalan tek şey düzensiz fiiller ("satın al/al özelliği") olurdu ama bence bunun için bir çeşit sözlüğe ihtiyacın var. – poundifdef

cevap

2

Bu amaç için morpha kullanabilirsiniz. Morpha, taban kelimelerinden sonları ayıran ve daha sonra temel kelimeyi, ingilizce olmayan tekil şahıs üçüncü şahıs ile aynı olan, saptırılmamış şekline dönüştüren bir parçalayıcıdır.

Örnek olarak, 'added' girdisi 'add + ed' ile sonuçlanacak, yani eğer '' string '' kelimesinin ilk sözcüğü artı işareti varsa, eğer siz komut satırınızı sorabiliyorsunuz demektir. mümkün olan en saf yaklaşımı arıyoruz.