#+TITLE: app/write #+DATE: October 10, 2019 #+SINCE: v1.3 #+STARTUP: inlineimages * Table of Contents :TOC_3:noexport: - [[#description][Description]] - [[#module-flags][Module Flags]] - [[#plugins][Plugins]] - [[#prerequisites][Prerequisites]] - [[#language-tool][Language Tool]] - [[#wordnut][Wordnut]] - [[#features][Features]] - [[#m-x-write-mode][~M-x +write-mode~]] - [[#language-tool-langtool][Language Tool ~+langtool~]] - [[#commands][Commands]] - [[#wordnut-wordnut][Wordnut ~+wordnut~]] - [[#commands-1][Commands]] - [[#synosaurus][Synosaurus]] - [[#commands-2][Commands]] - [[#configuration][Configuration]] - [[#mixed-pitch-mode][mixed-pitch-mode]] - [[#appendix][Appendix]] - [[#minor-modes][Minor modes]] - [[#commands-3][Commands]] * Description Adds word processing tools and the ~+write-mode~ minor mode, which converts Emacs into a more comfortable writing environment. ** Module Flags This module provides two module flags: - ~+langtool~ Enables language tool integration. - ~+wordnut~ Enables wordnet integration. ** Plugins + [[https://github.com/hpdeifel/synosaurus][synosaurus]] + [[https://gitlab.com/jabranham/mixed-pitch][mixed-pitch]] + [[https://github.com/joostkremers/visual-fill-column][visual-fill-column]] + [[https://github.com/mhayashi1120/Emacs-langtool][langtool]]* (=+langtool=) + [[https://github.com/gromnitsky/wordnut][wordnut]]* (=+wordnut=) * Prerequisites ** Language Tool Either download and deploy it from https://languagetool.org/ or install it through your OS package manager: #+BEGIN_SRC sh # MacOS/Homebrew users: brew install languagetool # Arch Linux users: sudo pacman -S languagetool #+END_SRC This module tries to guess the location of languagetool-commandline.jar. If you get a warning that Doom =couldn't find languagetool-commandline.jar=, you will need to find langaugetool-commandline.jar and set ~langtool-language-tool-jar~ to its path. ** Wordnut This requires =wordnet= to be installed, which should be available through your OS package manager: #+BEGIN_SRC sh # MacOS/Homebrew users: brew install wordnet # Arch Linux users: sudo pacaur -S wordnet # on the AUR #+END_SRC * Features ** ~M-x +write-mode~ Write mode makes Emacs a more comfortable writing environment by: - Centering the buffer (with ~visual-fill-column-mode~), ala distraction-free mode from other text editors. - Soft-wrapping long text lines with ~visual-line-mode~. - Enabling ~mixed-pitch-mode~, allowing fixed-width and variable-pitch fonts to co-exist in one buffer. For example, a monospace font for SRC blocks and Arial for everything else. - In org-mode: - Turns on ~org-indent-mode~ - Turns on ~+org-pretty-mode~ ** Language Tool ~+langtool~ [[https://www.languagetool.org/][Language Tool]] is a polyglot proofreader service that checks for grammar and stylistic issues in your writing. This requires Java 1.8+. #+begin_quote This requires Java 1.8+ #+end_quote *** Commands - ~langtool-check~ - ~langtool-correct-buffer~ ** Wordnut ~+wordnut~ Wordnut provides a searchable dictionary frontend for Emacs. This requires ~wordnet~, which should be available in your OS's package manager. *** Commands - ~wordnut-search~ - ~wordnut-lookup-curent-word~ ** Synosaurus Synosaurus provides a service for looking up synonyms. It requires an internet connection. *** Commands - ~synosaurus-lookup~ - ~synosaurus-choose-and-replace~ * Configuration ** mixed-pitch-mode To configure which faces are displayed with fixed-pitch fonts in ~mixed-pitch-mode~, look into ~mixed-pitch-fixed-pitch-faces~. * Appendix ** Minor modes - ~+write-mode~ - ~mixed-pitch-mode~ ** Commands - ~langtool-check~ - ~langtool-correct-buffer~ - ~synosaurus-choose-and-replace~ - ~synosaurus-lookup~ - ~wordnut-lookup-curent-word~ - ~wordnut-search~