LuaSpell — проверка орфографии в редакторе

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

LuaSpell — пакет для проверки орфографии в редакторе.

Пакет поддерживает словари, используемые Hunspell, а также словари OOoUserDict1 (пользовательский словарь OpenOffice) и WordList (список слов).
Для Hunspell‑словарей используется библиотека hunspell из проекта luapower.

На PlugRing также выложены:
  • LuaSpell-hunspell-1.3.2.7z — библиотека hunspell v.1.3.2.
  • LuaSpell-Dictionaries.7z — русский (с "ё") и английский словари в кодировке UTF‑8.
Перед установкой прочтите LuaSpell\doc\Install.rus.

Последнюю версию библиотеки hunspell можно также скачать здесь.

Внимание:
Все файлы словарей должны быть в кодировке UTF-8 без BOM,
а в первой строке aff-файлов нужно прописать "SET UTF-8" (без кавычек).

Текущая версия: PlugRing.
Ссылки:
Описание, GitHub, tags, zipball, master.zip.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

Latest post of the previous page:

HaRT wrote:...Почему-то слово из первой строки не подхватывается — проще всего это выявить, запустив проверку в самом таком словаре. Ошибка?
Использую WordList-словарь Stop_List из трёх слов: все слова раскрашиваются.
Приложите словарь и файл конфигурации.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:2. Добавлена опция ShowEmptyList — показывать ли пустой список пред(по)ложений (чтобы не было иллюзии, будто макрос не сработал).
Спасибо, опцию назвал EmptyList аналогично опции в WordComplete.
HaRT wrote:3. Выставлена скрытая прежде возможность вызвать перехода на предыдущее ошибочное слово (только при этом почему-то ничего не происходит).
1. Не тестировалось. 2. Будет работать странно: строки просматривает назад, а внутри строк — вперёд. 4. Предполагаю реализовать добавление в меню плагинов, чтобы можно было назначать макросы обычным образом. А текущие комбинации оставить как часто используемые.
HaRT wrote:4. Список пред(по)ложений расширен справа на одно знакоместо (чтобы самые длинные слова не упирались правым краем в рамку, будто усечённые).
Спасибо, добавил строку в макрос.
HaRT wrote:5. Устранены почти все предупреждения luacheck, устранены некоторые избыточные идентификаторы, устранены глобальные блоки do-end (чтобы не засоряли Outline от Colorer), исправлены опечатки в комментариях, удалены концевые пробелы.
Тогда из lua.hrc лучше убрать do-end-
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar wrote: используемые мной схемы для FarColorer
Как добавить в Колорер отдельные файлы, я знаю, но мне не нравится сама идея делать такое для каждого нового файла конфигурации и для каждого редактора, в котором я захочу его открыть. На мой взгляд, если формат текста — код на Луа, то удобнее, чтобы и расширение у имени файла было соответствующее.
Aidar wrote: Использую WordList-словарь Stop_List
Я использую WordList в качестве положительного словаря.
Aidar wrote: Приложите словарь и файл конфигурации.
Вот почти минимальный пример: , .
Если открыть на редактирование сам custom.dic и включить подсветку неправильных слов, то «перваястрока» подсвечивается красным (от положения слова в тексте не зависит).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar wrote: опцию назвал EmptyList аналогично опции в WordComplete.
Это не очень удачно, ибо может быть понято как „опустошить список“, т.к. “empty” — ещё и глагол. Впрочем, не принципиально.
Aidar wrote: 2. Будет работать странно: строки просматривает назад, а внутри строк — вперёд.
А сложно ли сделать, чтобы оно работало ожидаемо? ;)
Aidar wrote: 4. Предполагаю реализовать добавление в меню плагинов, чтобы можно было назначать макросы обычным образом. А текущие комбинации оставить как часто используемые.
В принципе не возражаю, но не хотелось бы иметь каждое действие отдельным пунктом верхнего уровня, чтобы не раздувать меню попусту.
Aidar wrote: Тогда из lua.hrc лучше убрать do-end
Это отдельный вопрос. В коде LuaSpell.lua использование этой конструкции мне показалось неоправданным — потому и предлагаю их оттуда удалить.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:
Aidar wrote: опцию назвал EmptyList...
Это не очень удачно, ибо может быть понято как „опустошить список“, т.к. “empty” — ещё и глагол.
Ясно.
HaRT wrote:
Aidar wrote: 2. Будет работать странно: строки просматривает назад, а внутри строк — вперёд.
А сложно ли сделать, чтобы оно работало ожидаемо? ;)
Ну, если есть или будет реализована поддержка поиска назад в регулярных выражениях.
HaRT wrote:...не хотелось бы иметь каждое действие отдельным пунктом верхнего уровня, чтобы не раздувать меню попусту.
Планировал один пункт с отображением меню с возможными действиями (как в UM_Adapter).
HaRT wrote:
Aidar wrote: Тогда из lua.hrc лучше убрать do-end
Это отдельный вопрос. В коде LuaSpell.lua использование этой конструкции мне показалось неоправданным — потому и предлагаю их оттуда удалить.
Ну, это у меня такой стиль выработался. Поэтому и добавил этот блок как outline в lua.hrc. Думаю, можно обсудить это в ветке FarColorer.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar wrote: если есть или будет реализована поддержка поиска назад в регулярных выражениях
Не знаю насчёт FAR API, но в пользовательском интерфейсе Фара поиск назад по регулярному выражению вполне себе работает.
Aidar wrote: это у меня такой стиль выработался
Не смею настаивать на изменении Вами выработанного стиля, однако считаю, что исключение этой конструкции (а также нескольких не добавляющих ясности идентификаторов) только упростило код LuaSpell.lua.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:... Я использую WordList в качестве положительного словаря...
У меня всё нормально: обе строки неподкрашенные. Создал файл словаря в кодировке UTF-8 без BOM.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar wrote: в кодировке UTF-8 без BOM
Да, если без BOM, то всё в порядке.
Сложно ли сделать, чтобы BOM не влиял столь пагубно? Ведь BOM — это совершенно штатная, полезная и очень распространённая вещь…
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:...Сложно ли сделать, чтобы BOM не влиял столь пагубно? Ведь BOM — это совершенно штатная, полезная и очень распространённая вещь…
В modules\userdict.lua сделайте
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by John Doe »

Aidar wrote: 4. Предполагаю реализовать добавление в меню плагинов, чтобы можно было назначать макросы обычным образом.
Вместо пункта в меню плагинов можно читать комбинации из файла конфигурации, или из БД.
Или сделать скрипт модулем, и в макросах обращаться через require
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar
Обнаружилось ложное срабатывание в строках вида “Latin-кириллица” — часть “Latin” проверяется, очевидно, по русскому словарю и подсвечивается как неправильное (красным фоном).
А ведь подобные конструкции нередко бывают нужны в двуязычных текстах профессиональной тематики с активными заимствованиями терминологии из английского.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:AidarОбнаружилось ложное срабатывание в строках вида “Latin-кириллица” — часть “Latin” проверяется, очевидно, по русскому словарю и подсвечивается как неправильное (красным фоном).
А ведь подобные конструкции нередко бывают нужны в двуязычных текстах профессиональной тематики с активными заимствованиями терминологии из английского.
В LuaSpell.cfg добавьте во все find символы ^ и $ аналогично .
Только перестанет работать проверка на словах из смешанных букв!
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar wrote: перестанет работать проверка на словах из смешанных букв
Это как? Можно пример (было/стало)?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

HaRT wrote:
Aidar wrote: перестанет работать проверка на словах из смешанных букв
Это как? Можно пример (было/стало)?
.
Но у меня "findинг" подкрасился как гибридный из-за использования Colorer-схем с поддержкой подкраски таких слов.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaSpell — проверка орфографии в редакторе

Post by HaRT »

Aidar, ага, спасибо, ясно.
Предполагаете ли включить фиксы для BOM в словаре и для смешанно-составных слов в основной код?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

LuaSpell — проверка орфографии в редакторе

Post by Aidar »

Спасибо. Выложил на плагринге.
HaRT wrote:...Предполагаете ли включить фиксы для BOM в словаре и для смешанно-составных слов в основной код?
1. Фикс включил. 2. Подправил регулярные выражения в файлах-примерах конфигурации.
Post Reply

Return to “Полезные макросы и скрипты”