Skip to content

Spell Checking

The Spell Checking plugin underlines misspelled words with a green squiggle and offers corrections on right-click. It is powered by Hunspell — the same engine and dictionary format used by LibreOffice and Firefox — so thousands of ready-made dictionaries work out of the box.

By default, spell checking is on for prose documents (plain text, Markdown) and off inside code, where it would mostly flag identifiers. You can widen it to comments and strings in code files, or to everything, in the settings.

What gets checked

The checker understands the document's structure:

  • Prose documents — files without syntax colouring and Markdown — are checked in full.
  • Code documents are checked only in comments, documentation comments and string literals (when the "prose, plus comments and strings in code" mode is enabled) — never in identifiers or keywords.
  • Words that are clearly not prose are skipped automatically: numbers and hex values, identifiers containing digits, URLs, file paths, e-mail addresses and escape sequences.
  • camelCase and snake_case compounds are split and their parts checked individually (parseHtmlTagparse, Html, Tag); ALL-CAPS words (constants) are skipped. Both behaviours are configurable.
  • Very short words (fewer than 3 characters by default) are ignored.

Checking runs automatically as you type, half a second after the last edit. To force an immediate pass, use Edit ▸ Check Spelling Now (also available from the command palette).

Correcting a word

Right-click an underlined word:

  • The top of the menu lists up to five suggestions — click one to replace the word.
  • Add to Dictionary stores the word in your personal word list (persists across restarts, applies to every document and language).
  • Ignore for This Session hides the word until you close OctoEdit.

Dictionaries

OctoEdit ships dictionaries for English (en_US), Polish (pl_PL) and French (fr_FR). A word is accepted when any enabled dictionary knows it, so mixed-language documents — say, Polish comments full of English technical terms — do not light up with false positives.

Suggestions are ordered by the primary dictionary: the one matching the application's display language (Preferences ▸ General ▸ Language). If no dictionary matches, English is used, then the first enabled one.

Adding languages (e.g. German)

Any Hunspell dictionary works. In Preferences ▸ Spell Checking, press Open User Dictionaries Folder... and drop a .aff/.dic pair there — LibreOffice dictionary extensions and the LibreOffice dictionaries collection are a good source. Reopen the settings page and the new language appears in the list. A user dictionary with the same name as a bundled one replaces it.

German is not bundled (its upstream dictionary licence does not permit it); download de_DE.aff/de_DE.dic from the collection above and drop them into the user folder.

Dictionaries must be UTF-8 encoded (every modern one is; the .aff file should say SET UTF-8).

Settings

Preferences ▸ Spell Checking:

Setting Effect
Enable spell checking Master switch (on by default).
Check Prose documents only (default), Prose, plus comments and strings in code, or Everywhere.
Minimum word length Words shorter than this are never flagged.
Check the parts of camelCase words Split compound identifiers before checking.
Dictionaries Tick the languages to accept; the primary marker shows which one orders suggestions.

The squiggle colour

Misspellings use the hint underline (green by default). Themes can override it — and the other diagnostic underlines — in Preferences ▸ Themes (Theme Editor): Error underline, Warning underline, Info underline and Spelling / hint underline.

Notes

  • Documents larger than 2 MiB are not checked (performance guard).
  • The bundled dictionaries and their licence texts are installed under dictionaries/ next to the application; copies of the licences are in the Licenses/ folder (see About ▸ Built with).