This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/spell-checking
Fabien Dubosson 02fb2bd3f4 Disable automatic call to flyspell-buffer
Some users complained about slowness when opening files due to
spell-checking being activated. This commit revert to old behaviour
checking only the words under the cursor and not the whole buffer.
2015-11-03 00:00:54 -05:00
..
config.el Correct few defaults of spell-checking's layer 2015-11-02 00:29:15 -05:00
funcs.el Remove spell-checking-auto-dictionary variable 2015-10-31 14:25:02 +01:00
packages.el Disable automatic call to flyspell-buffer 2015-11-03 00:00:54 -05:00
README.org Disable automatic call to flyspell-buffer 2015-11-03 00:00:54 -05:00

Spell Checking configuration layer for Spacemacs

Description

This layer provides spell checking using Flyspell and [[https://github.com/nschum/auto-dictionary-mode][auto-dictionary-mode]].

Install

Layer

To use this configuration layer add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(spell-checking))

Spell Checker Configuration

The built-in Emacs variable that controls which external spell-checking program is used is ispell-program-name, which can be set in your dotspacemacs/user-init function if you do not like the default. It will give priority to aspell if it is installed on your system. Another important variable to be aware of is ispell-dictionary which will control the default dictionary used by ispell-program-name (instead of using this variable you can also use the key binding SPC S d).

Disabling by default

By default, spell-checking is enabled in all available major modes and may be toggled off with SPC t S. You can default this to off by setting the variable spell-checking-enable-by-default to nil:

(setq-default dotspacemacs-configuration-layers
  '((spell-checking :variables spell-checking-enable-by-default nil)))

Enabling auto-dictionary-mode

auto-dictionary-mode tries to detect the current language from the buffer content, and activate the corresponding dictionary. You can enable it by setting the variable spell-checking-enable-auto-dictionary to something other than nil:

(setq-default dotspacemacs-configuration-layers
  '((spell-checking :variables spell-checking-enable-auto-dictionary t)))

Some people encountered bugs with auto-dictionary-mode, especially in daemon mode where new emacsclient open directly freezed. If so, no other workaround have been found yet than disabling auto-dictionary-mode completely.

Not all languages are supported by auto-dictionary-list. The supported languages are listed in the adict-language-list variable, that can be checked with spacemacs/describe-variable. For convenience, here is the list of currently supported language:

Language
catalan
classical greek
danish
english
esperanto
french
german
hindi
hungarian
modern greek
norwegian bokmål
norwegian nynorsk
portuguese
romanian
slovak
slovene
spanish
swedish

Key Bindings

Key Binding Description
SPC S b flyspell whole buffer
SPC S c flyspell correct
SPC S d change dictionary
SPC S n flyspell goto next error
SPC t S toggle flyspell