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 |
#6 in #bunch
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