GitHunt
HP

hpdeifel/synosaurus

An extensible thesaurus mode for emacs

[[https://melpa.org/#/synosaurus][https://melpa.org/packages/synosaurus-badge.svg]]

  • Synosaurus

    Synosaurus is a thesaurus fontend for Emacs with pluggable backends.

    [[file:screenshots/cnr.png]]

** Getting Started

  • Synosaurus is available from [[https://melpa.org/][MELPA]]. Install it with:

    : M-x package-install synosaurus

    Or if you really want to install it manually, add the synosaurus directory
    to your load-path:

    : (add-to-list 'load-path "/path/to/synosaurus")

  • Then enable the minor mode with synosaurus-mode.

** Usage

The main commands for you to use are:

  • synosaurus-lookup :: Queries you for a word, looks it up in the
    thesaurus and shows you a list of alternatives. You can click or press
    RET on these alternatives to look them up instead.

  • synosaurus-choose-and-replace :: Look up the word under the cursor, asks
    you to select one of the alternatives and replaces the original word
    with you selection. You can configure different methods for the
    alternative selection, see below.

  • synosaurus-choose-and-insert :: Asks for a word, presents a list of
    synonyms to choose from, and inserts the selected one into the current
    buffer.

The default keybindings are:

| Key | Command |
|-----------+-------------------------------|
| =C-c C-s l= | synosaurus-lookup |
| =C-c C-s r= | synosaurus-choose-and-replace |
| =C-c C-s i= | synosaurus-choose-and-insert |

** Configuration

Synosaurus can be configured through the normal customization interface of
emacs. Take a look at:

: M-x customize-group synosaurus

The individual options are:

  • synosaurus-backend

    The thesaurus backend to use. This can also be set per buffer.

  • synosaurus-choose-method

    The way, synosaurus-choose-and-replace should query you for
    alternatives. The following symbols are acceptable values.

    • popup :: Use the library popup.el to show a popup with alternatives.
      This is recommended and the default, but you will need to
      install popup.el separately.

    • ido :: Use IDO to show a nice fuzzy matching completing minibuffer.

    • default :: Use the normal minibuffer completion.

** Backends

Two thesaurus backends are implemented right now in various states of
completion.

Openthesaurus is a open German thesaurus and is supported quite well, but
needs an Internet connection to be queried. Its backend function is called
synosaurus-backend-openthesaurus.

Wordnet is a English thesaurus, that can be installed as a separate program
called /wn/, that is used offline. Wordnet can do lot's of things other than
simple lists of synonyms. Not many of these features are supported by
synosaurus, yet. Wordnet's backend function is called
synosaurus-backend-wordnet.

** Dependencies

  • popup.el, if you want to use the /popup/ method for choosing alternatives.

Languages

Emacs Lisp98.7%Shell1.3%

Contributors

Created December 29, 2012
Updated December 17, 2025
hpdeifel/synosaurus | GitHunt