2009-07-27 8 views
6

Lubię używać czasu teraźniejszego w moich dziennikach Git (na przykład "Dodaj funkcję" zamiast "Dodana funkcja"). Obecnie mam bardzo naiwny hak Git, który przerywa commit, jeśli pierwsze słowo logu kończy się "ed", ale chciałbym bardziej niezawodnego rozwiązania (gdzie "bardziej solidny" oznacza "nie całkiem lame"). Czy istnieje sprawdzania gramatyki, która dałaby mi możliwość napisania skryptu wzdłuż linii:Moduł sprawdzania gramatyki języka CLI do określania czasu

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

Nie potrzebujesz doskonałe rozwiązanie, tylko coś lepszego niż dopasowanie/^ \ w * ed \ W/.

+0

Ciekawy: czy sprawdzenie "-ed" ma jakieś problemy? Czy są rzeczy, które * nie zostały * złapane przy użyciu tej metody? Możesz także sprawdzić, czy nie ma opcji "gerunds" ("funkcja dodawania"), więc po prostu dodaj "-ing" do listy nieprawidłowych sufiksów. Wyobrażam sobie, że nie musisz się martwić o czasowniki auksa ("dodano funkcję"). Pozostały tylko nieregularne czasowniki ("kup/kupuj funkcję"), ale myślę, że potrzebowałbyś jakiegoś słownika do tego. – poundifdef

Odpowiedz

2

W tym celu możesz użyć morpha. Morpha jest lematyzatorem, który dzieli końcówki od słów podstawowych, a następnie zmienia słowo bazowe na jego niezaznaczoną formę, która jest dogodnie taka sama jak bliżej nieokreślona trzecia osoba pojedyncza w języku angielskim.

Jako przykład, dane wejściowe "dodane" spowodowałyby "add + ed", co oznacza, że ​​można nawet po prostu poprosić o polecenie wyjścia, jeśli pierwsze słowo ciągu zatwierdzenia ma znak plus, jeśli " ponowne szukanie najbardziej naiwnego podejścia.

Powiązane problemy