It’s nice to know more about the words you’re using. Online dictionaries have proliferated and become quite useful, and there are some nice packages available like define-word which make use of such online resources.
However, the quicker I can know more about the words I’m using, the better! Offline dictionaries are obviously the way to go then, and the Console implementation of StarDict already has a package or two for Emacs which I can build off.
However, I’d like to really focus on the words, and making it easy and intuitive as possible to gain a greater understanding of the words and phrases we use.
Thus, I wanted the focus here to not be on the specific backend used (though
only sdcv
has been implemented as of yet). A near-term goal is to rewrite the
implementation to abstract away the specific tool used, allowing for online
tools among other backends (such as any future GoldenDict CLI).
From there it could be nice to allow for combination of multiple tools (e.g.
sdcv
+ online service).
This has rich support for the following dictionaries:
- Webster’s Revised Unabridged Dictionary (1913)
- GCIDE (with conversion from dict to StarDict)
- Soule’s Dictionary of English Synonyms
- Elements Database
- Douglas Harper’s Online Etymology Dictionary
If there’s something you feel is missing, feel free to make an issue — or even better, a PR!
- The command line stardict tool
sdcv
(support for other backends is planned) - (optional)
visual-fill-column-mode
If you happen to use Doom, you may find this section of my config interesting.
To set up Lexic to work with your installed dictionaries you want to look at the
lexic-dictionary-specs
variable which formats results based on the bookname
parameter of the sdcv
dictionary’s .ifo
file.