#replace #cases #bunch #input #ripgrep #inflection #inflects

bin+lib inflekt

Inflects input in a bunch of cases

5 unstable releases

0.3.0 Sep 25, 2020
0.2.2 Sep 23, 2020
0.2.1 Sep 19, 2020
0.2.0 Sep 18, 2020
0.1.0 Sep 17, 2020

#11 in #bunch

MIT license

6KB
96 lines

Inflekt

Inflects input in a bunch of cases.

Mainly to perform search and replace with tools like ripgrep or fastmod.

Install

cargo install inflekt

Usage

 inflekt foo-bar
foobar
FOOBAR
fooBar
FooBar
foo-bar
Foo-Bar
foo_bar
FOO_BAR


 inflekt foo-bar beep-boop
foobar beepboop
FOOBAR BEEPBOOP
fooBar beepBoop
FooBar BeepBoop
foo-bar beep-boop
Foo-Bar Beep-Boop
foo_bar beep_boop
FOO_BAR BEEP_BOOP


# interactively replace all inflections of foo-bar with corresponding
# inflection of beep-boop
➜  xargs \
  --arg-file <(inflekt foo-bar beep-boop) \
  --max-lines=1 \
  fastmod

# grep for all inflections of foo-bar
➜  rg "($(inflekt foo-bar | xargs | sed 's/ /)|(/g'))"

# NOTE: the magic inside the quotes just turns the inflekt output into a regex:
➜  echo "($(./target/debug/inflekt foo-bar | xargs | sed 's/ /)|(/g'))"
(foobar)|(FOOBAR)|(fooBar)|(FooBar)|(foo-bar)|(Foo-Bar)|(foo_bar)|(FOO_BAR)

Dependencies

~200KB