inflekt

Crates.ioinflekt
lib.rsinflekt
version0.3.0
sourcesrc
created_at2020-09-17 22:32:52.240805
updated_at2020-09-25 21:12:06.155578
descriptionInflects input in a bunch of cases
homepagehttps://gitlab.com/vise890/inflektor/
repositoryhttps://gitlab.com/vise890/inflektor/
max_upload_size
id289924
size9,114
Martino Visintin (vise890)

documentation

README

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)
Commit count: 0

cargo fmt