English verb conjugation in Elixir.
Conjugates most common English verbs for all persons, tenses, standard aspects, and modern moods (with active diathesis). Standard and exceptional spelling rules are obeyed.
Verbs.conjugate :be, %{:tense => "past", :person => "second", :plurality => "singular"}
iex> "were"
Verb.conjugate "sleep" %{:tense => "future", :person => "first", :plurality => "singular"}
"will sleep"
Add this line to your mix.exs dependencies:
{ :dep_from_git, git: https://github.com/shannonwells/verbs.git, tag: "0.6.1"},
The options are currently not optional; tense, person and plurality are required. Option values must be strings.
:tense past, present, future.
:person first, second, third
:plurality singular, plural
:aspect habitual, perfect, perfective, progressive, prospective See below for a guide to verb aspect.
:mood - indicative, imperative, subjunctive
EXAMPLE TENSE ASPECT
I accepted past perfective
I had accepted past perfect
I was accepting past progressive
I usually accepted past habitual
I was about to accept past prospective
I accept present habitual
I have accepted present perfect
I am accepting present progressive
I am about to accept present prospective
I will accept future habitual
I will have accepted future perfect
I will be accepting future progressive
I will be about to accept future prospective
Bug reports are welcome. Please file an issue in this repo if you find one.
- Andy Rossmeissl - rossmeissl/verbs
- Lingua::Conjugate
- Pat Byrd and Tom McKlin
- Rick Harrison
- Anatoli Makarevich for PR #6
Copyright (c) 2018 Shannon E. Wells. See LICENSE for details.