Skip to content

Repository files navigation

thesauromatic

Zero-dependency command-line CLI thesaurus

Demo

Pretty much just give it a word, and you get a bunch of similar or related words back:

$ ./thesauromatic deluge
Niagara
abound
affusion
alluvion
alluvium

<...snip...>

waterflood
watering
waterspout
wet
wetting
whelm
whelming

Features

  • Synonyms from the Moby project
  • Statically compiled, word lists are linked in. No dependencies. Just download an executable for your target platform.
  • Fast; emits the words in well under a millisecond (around 0.5 ms, essentially the cost of starting a process). This makes it easy to drive from your editor, and will work offline.

Install

Install from crates.io with either of the following.

Build from source with cargo:

$ cargo install thesauromatic

Or download a prebuilt binary with cargo-binstall (no compilation, just fetches the release artifact for your platform):

$ cargo binstall thesauromatic

Alternatively, grab the executable directly from the Releases tab.

Making a new release

Releases are driven by cargo-release:

$ cargo release patch --execute

This bumps the version, commits, publishes to crates.io, and creates and pushes a matching vX.Y.Z tag. Pushing that tag triggers the Release workflow, which builds the prebuilt binaries and attaches them to a new GitHub Release. cargo binstall then finds those binaries via the [package.metadata.binstall] entry in Cargo.toml.

Tips & Tricks

Take advantage of CLI filters! How about formatting the output into columns?

$ ./thesauromatic flippant | column -c70
airy            facetious       leering         smart
bantering       facy            light-hearted   smart-alecky
belittling      fleering        malapert        smart-ass
biggety         flip            mocking         smirking
bluff           fooling         nervy           sneering
booing          forgetful       oblivious       snickering
brash           free and easy   offhand         sniggering
brazen          fresh           offhanded       snorting
careless        frivolous       panning         supercilious
casual          gally           perfunctory     superficial
catcalling      gratuitous      pert            tactless
chaffing        grinning        quizzical       taunting
cheeky          heedless        ragging         teasing
chutzpadik      hissing         railing         thoughtless
cocky           hooting         rallying        twitting
contemptuous    impertinent     razzing         uncalled-for
crusty          impudent        reckless        undiplomatic
cursory         inconsiderate   regardless      unheedful
degage          indifferent     respectless     unheeding
derisive        insolent        ridiculing      unmindful
derisory        insouciant      roasting        unprepared
discourteous    irreverent      rude            unready
dismissive      jeering         sassy           unserious
disregardant    jocular         saucy           unsolicitous
disregardful    joshing         scoffing        untactful
disrespectful   kidding         scornful        unthinking
easygoing       lazy            shallow         wise-ass

Perhaps you're also trying to complete an alliteration on the letter r?

$ ./thesauromatic flippant | grep ^r | column -c70
ragging         razzing         respectless     rude
railing         reckless        ridiculing
rallying        regardless      roasting

About

Static, offline, command-line CLI thesaurus

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages