Оглавление

Настройка aspell

Двуязычный словарь aspell

Aspell не умеет работать с двумя словарями. Поэтому, чтобы проверять два языка сразу, полезно слить два словаря в один:

cd $TEMP
aspell dump master en >words.en
aspell dump master ru-yo >words.ru
cat words.ru words.en >words.ruen
aspell --dict-dir="`pwd`" --lang=ru \
 --encoding=UTF-8 create master ruen.rws < words.ruen

Будет выдано множество предупреждений о том, что не все английские слова влезли в русскоязычное представление о словах. Это не страшно.

Проверяем, как работает:

echo "open каша" > test
aspell --dict-dir="`pwd`" --master=ruen.rws -c test

Оба слова должны провериться, ошибок быть не должно.

Конфигурация aspell

Если у вас нет локального фала настроек, то создайте его:

aspell dump config >.aspell.conf

Получится отличный конфиг с комментариями. Там куча опций. Я правлю такие:

dict-dir /home/XXXXX/.aspell
mode ccpp
master ruen.rws

Начинают правильно проверяться комбинированным словарём программы на C/C++.

Корректно проверяем JavaScript-код

Чтобы aspell проверял комментарии и строки и не проверял всё остальное, ему надо подсунуть такой AMF-файл:

MODE js

ASPELL >=0.60.1

MAGIC /<noregex>/js

DESCRIPTION mode for checking JavaScript comments and string literals

FILTER url
FILTER context
OPTION clear-context-delimiters 
OPTION add-context-delimiters /* */
OPTION add-context-delimiters // \0
OPTION add-context-delimiters ' '
OPTION add-context-delimiters " "
OPTION disable-context-visible-first

Назвать его надо js.amf. Положить туда же, где лежат остальные AMF-файлы. У меня это /usr/lib/aspell.

Я этот патч уже закомитил разработчикам aspell. Возможно, в версии 0.61 (или старше) оно появится "из коробки".