iva wrote:Спасибо. В принципе, той функциональности, которая уже реализована, мне вполне хватает.
Но мысль не остановишь. Поэтому хочу ещё немного обсудить.
Как я понимаю, отбрасывание слов, состоящих из одного символа, можно было бы не включать в script, а настраивать при помощи find c конструкцией {2,}. Вообще, функционал поиска по find мог бы использоваться полнее, если бы применять find не к слову, а к чуть более длинной последовательности, включающей символы-разделители до и после слова. Тогда можно было бы отслеживать, например, отсутствие пробела после знака препинания или перед открывающейся скобкой, проверять сокращения, запросы troff и т.д. Да и конструкции ТеХа можно было бы обработать более полноценно.
1. В текущей версии есть недостаток: в не-tex-файле, "слова", начинающиеся с BackSlash будут подчёркиваться, а при замене (из списка замен) BackSlash будет пропадать.
2. Насчёт длины слова - да. надо бы вынести в конфигурацию, как впрочем и "очистку" слова.
Пока что анализируемое слово является одним и тем же для всех словарей.
Думаю, надо реализовать отдельную пре- и пост-обработку слова для каждого словаря.
3. В случае tex думаю, надо поступить проще:
- Скопируйте LuaSpell.lua в TexSpell.lua.
- Найдите строку
unit.ScriptName = "LuaSpell"
и поменяйте её на
unit.ScriptName = "TexSpell"
.
- Файл конфигурации переименуйте в TexSpell.cfg.
Теперь можете экспериментировать с настройкой конфигурации. Только не забудьте поменять MacroKeys в TexSpell.cfg.
А для LuaSpell можете использовать конфигурацию по умолчанию или поставить конфигурацию LuaSpell.cfg.grk.example (переименовав в LuaSpell.cfg).
4. Идей много, посмотрим, что получится реализовать.