An open API service indexing awesome lists of open source software.

https://github.com/bnbeckwith/writegood-mode

Minor mode for Emacs to improve English writing
https://github.com/bnbeckwith/writegood-mode

emacs emacs-lisp emacs-mode

Last synced: 5 months ago
JSON representation

Minor mode for Emacs to improve English writing

Awesome Lists containing this project

README

        

* Writegood Mode

This is a minor mode to aid in finding common writing problems. [[http://matt.might.net/articles/shell-scripts-for-passive-voice-weasel-words-duplicates/][Matt
Might's weaselwords scripts]] inspired this mode.

It highlights text based on a set of weasel-words, passive-voice and
duplicate words.

* Basic Usage

First, load in the mode.

: (add-to-list 'load-path "path/to/writegood-mode")
: (require 'writegood-mode)
: (global-set-key "\C-cg" 'writegood-mode)

I use the command key above to start the mode when I wish to check my
writing.

Alternatively, this package is also available on MELPA. If installed
through the package manager, then only the global key customization
would be necessary.

* Readability tests

There are now two functions to perform [[http://en.wikipedia.org/wiki/Flesch%E2%80%93Kincaid_readability_tests][Flesch-Kincaid scoring]] and
grade-level estimation. These follow the known algorithms, but may
differ from other implementations due to the syllable estimation.

I use these global keys to get to the readability tests:

: (global-set-key "\C-c\C-gg" 'writegood-grade-level)
: (global-set-key "\C-c\C-ge" 'writegood-reading-ease)

* Customization

The user is free to customize three main portions of the mode.

** Faces

The three faces used pull from the default warning face and add
subtle backgrounds. There is a separate face for each check performed.

- Weasel words (~writegood-weasels-face~)
- Passive voice (~writegood-passive-voice-face~)
- Duplicate words (~writegood-duplicates-face~)

** Weasel Words

There is a large list of included weasel words, but you may have
your own. See the ~write-good-weasel-words~ variable to modify this
list.

Additionally, if you require more than a list of words to mark up
your content, then there is a custom variable,
~writegood-weasel-words-additional-regexp~ that allows a custom
regular expression for matching whatever you heart desires
(expressed as a regex).

** Passive Voice Irregulars

There is also a list of irregular passive voice verbs. These are
the verbs that do not end in 'ed' to signify past tense. This
variable allow the user to modify the list as needed.

Similar to weasel words, the custom variable
~writegood-passive-voice-irregulars-additional-regexp~ allows the use
of an additional regular expression to highlight passive voice irregulars.

* Alternatives

[[https://github.com/sachac/artbollocks-mode][Artbollocks]] looks to be an alternative mode to this one.