<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/scripts/languagetool-flycheck, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2025-11-05T05:26:42+00:00</updated>
<entry>
<title>feat: Add LanguageTool integration for comprehensive grammar checking</title>
<updated>2025-11-05T05:26:42+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-05T05:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=118b586691d199b57cc15089089fd545109b6e86'/>
<id>urn:sha1:118b586691d199b57cc15089089fd545109b6e86</id>
<content type='text'>
Integrated LanguageTool as an on-demand grammar checker, replacing the
previously disabled proselint checker.

Changes:
- Created scripts/languagetool-flycheck wrapper for flycheck integration
  - Converts LanguageTool JSON output to flycheck format
  - Includes suggestions in error messages
  - 30-second timeout for large files

- Updated modules/flycheck-config.el:
  - Defined languagetool checker for text/markdown/org/gfm modes
  - Updated cj/flycheck-prose-on-demand to use LanguageTool
  - Added installation instructions (sudo pacman -S languagetool)
  - Improved documentation clarity

- Usage: Press C-; ? in org/text/markdown files
  - Enables flycheck with LanguageTool
  - Shows errors in *Flycheck errors* buffer
  - On-demand only (no performance impact)

- Updated docs/NOTES.org:
  - Added best practice: Test Emacs launch after non-trivial changes
  - Example: emacs --eval "(kill-emacs)"
  - Catches startup errors before committing

- Disabled weather debug mode (wttrin-debug nil)

- Marked todo.org grammar checker task as DONE

LanguageTool catches real grammar issues (subject-verb agreement, tense,
punctuation, common mistakes) that proselint missed.

Installation: LanguageTool 6.6 (222MB) from Arch repos
Dependencies: Python 3 (for wrapper script)
</content>
</entry>
</feed>
