58 lines
3.0 KiB
Org Mode
58 lines
3.0 KiB
Org Mode
#+title: Emacs Lexical Information Viewer
|
|
#+author: tecosaur
|
|
|
|
#+html: <p><a href="https://melpa.org/#/lexic"><img src="https://melpa.org/packages/lexic-badge.svg"></a>
|
|
#+html: <img src="https://img.shields.io/badge/stage-%CE%B2,%20refinement-orange?style=flat-square"></p>
|
|
|
|
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 [[https://github.com/abo-abo/define-word][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:
|
|
+ [[http://download.huzheng.org/dict.org/stardict-dictd-web1913-2.4.2.tar.bz2][Webster's Revised Unabridged Dictionary (1913)]] + [[https://packages.debian.org/sid/dict-gcide][GCIDE]] (with conversion from dict to StarDict)
|
|
+ [[http://download.huzheng.org/bigdict/stardict-Soule_s_Dictionary_of_English_Synonyms-2.4.2.tar.bz2][Soule's Dictionary of English Synonyms]] + [[http://download.huzheng.org/dict.org/stardict-dictd_www.dict.org_elements-2.4.2.tar.bz2][Elements Database]]
|
|
+ [[https://github.com/tuxor1337/dictmaster][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!
|
|
|
|
* Requirements
|
|
+ The command line stardict tool =sdcv= (support for other backends is planned)
|
|
+ (/optional/) ~visual-fill-column-mode~
|
|
|
|
* Configuration
|
|
If you happen to use Doom, you may find [[https://tecosaur.github.io/emacs-config/config.html#dictionary][this section]] of my config interesting.
|
|
|
|
In order to recognise format one of the supported dictionaries, Lexic
|
|
matches the =bookname== parameter from the StarDict =.ifo= file against the entries
|
|
in ~lexic-dictionary-specs~. Lexic needs to do this, because formatting is
|
|
inconsistent, and so must be implemented on a per-dictionary basis.
|
|
|
|
For example, if I downloaded a copy of /Soule's English Synonyms/, I'd need to
|
|
make sure that the =SoulesSynonymns.ifo= file contains the line ~bookname=Soule's
|
|
Dictionary of English Synonyms~. Check the value of ~lexic-dictionary-specs~ to see
|
|
what it expects for other dictionaries supported by default.
|
|
|
|
Then, if I open a new Emacs session, and look for a synonym I should see it
|
|
formatted nicely 🙂.
|
|
|
|
* Demo
|
|
[[https://tecosaur.com/lfs/lexic/lexic.gif]]
|