Spelling
A remark can be checked against the dictionaries the machine already has.
Nothing is shipped or downloaded: this goes through enchant, which is the
broker the rest of the desktop's spell checking already goes through, so what
a remark is measured against is what you installed — your languages, and the
words you have added to them yourself.
spell_check = ["en_US", "ru_RU"]
Empty is off, which is also what a machine with no enchant on it has —
opened by name at run time, so a missing one means no check rather than a
window that will not start. A tag nothing has a dictionary for is named on
stderr along with the ones that do, rather than quietly checking nothing.
The settings window offers this one as a list to pick from rather than a name
to type: what it can pick is what enchant reported installed on this machine,
which is the only setting whose choices come off the machine rather than out of
the program. A tag already written down that this machine has not got is listed
anyway and said to be missing, because a file a team shares will name
dictionaries not everyone has installed.
A remark about code is mostly not prose, and a check that underlined usize,
to_string and main.rs is one nobody leaves switched on. So identifiers,
paths, addresses, anything in backticks and anything inside a fenced block are
passed over before a dictionary is asked about any of it; what is left is the
sentences. A misspelling is tinted in the theme's red where it stands
rather than underlined with a wavy line: iced's text box takes a highlighter
that hands back a colour and a face, and there is nowhere for the line to come
from until it grows one.