SpellCheck plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Nizaury, а программный интерфейс там есть, а то мне не видно пока(не качается)?

Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Post by Nizaury »

Вроде как есть.

Перекачал на файлообменник.
Вдруг Вам пригодится.

http://www.mediafire.com/?8n3qj373rrneddg

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Вроде как есть.
Увидим. На Вашей совести. Я как
(то бишь старый домосед)
всё ещё пользуюсь 32 ОС, и к 64 доступа не имею.
Перекачал на файлообменник.
Не утруждайтесь. Это особенности моей дислокации - не давать качать что-попало. А вот за InnoSetup кого-то нужно повесить. Как мне теперь до содержимого добраться?

Offline
Posts: 41
Joined: Tue Dec 06, 2011 12:58 pm

Post by Nizaury »

InnoSetup можно распаковать версией программы Universal Extractor с осзона.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Nizaury, спешу огорчить, но оно не пригодно для использования мной, по причине несовместимости по знакам зодиака компиляторов MSVC и GCC.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

FeyFre
Можете в кратце рассказать об изменениях в последней версии?
Были ли улучшения, позволяющие не использовать SpellCheckUnderlightSwitcher.js и SpellCheckAddToWhiteList.js (хотелось всё-таки использовать "нажимательные" и "отжимательные" кнопки)?
SpellCheck-Rus.txt wrote:2. Если параметр начинается с HKLM либо HKCU то это полный путь в Реестре к ключу типа строка(REG_SZ) в котором указан путь к модулю ASpell aspell-15.dll
Экспериментировал так:

Code: Select all

HKLM\SOFTWARE\Path\
HKLM\SOFTWARE\Path
HKLM\SOFTWARE\
HKLM\SOFTWARE
а также:

Code: Select all

HKLM\\SOFTWARE\\Path\\
HKLM\\SOFTWARE\\Path
HKLM\\SOFTWARE\\
HKLM\\SOFTWARE
всё это не работает.
Может в доке указать пример записи?


Добавлено:
Если в настройках проги указать "HKLM\...", то кнопка выбора перестаёт работать.
Было бы здорово открыть реестр и выбрать нужный параметр, чтобы он сам прописался в поле, - чтобы не думать о формате записи :)
Last edited by VladSh on Thu Dec 08, 2011 11:26 am, edited 2 times in total.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Изменения касались подчистки хвостов за собой, что не дало возможность плагину корректно выгрузиться(до сих пор плагин при выключении всех функций не выгружался из памяти и помнил некоторые настройки, так что приходилось выгружать редактор).
Логика не менялась, если не работает, то не работало и раньше. Я приблизительно понял в чем проблема(хотя не могу понять откуда она взялась). До вечера возможно исправлю.
Пример опции
HKLM\SOFTWARE\Aspell\Path
у меня там лежит значение C:'Program files\aspell\bin

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Было бы здорово открыть реестр и выбрать нужный параметр, чтобы он сам прописался в поле, - чтобы не думать о формате записи
Уже кем-то предлагалось, но такого готового окна в системе я не знаю. А делать самостоятельно немножко накладно. Легче сходить в regedit и оттуда скопировать.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

FeyFre wrote:Пример опции
HKLM\SOFTWARE\Aspell\Path
Ага, это тоже пробовал - не работает; ступил вверху.
Спасибо за пояснения.
FeyFre wrote:Легче сходить в regedit и оттуда скопировать.
А как копировать из реестра, там ведь нет полей, откуда копировать? Так бы и сделал, естессно, зачем бы я вот это трудился с экспериментами :)


Ещё чуток.
Повторный вызов

Code: Select all

"Правописание: подсветить Old" Call("SpellCheck::Background", 0, 0)
не приводит к отжатию кнопки... Можно с этим что-то сделать?
SpellCheck-Rus.txt wrote:Функция Background по-умолчанию использует белые списки ассоциированные с типом файла(исходя из расширения если такое имеется)...
Для возврата к списку по-умолчанию можно использовать следующий вызов.
Call("SpellCheck::Background",0,0)
Это здорово, что расширение автоматом определяет!
Но как это работает пока непонятно. Непонятно почему при открытии js-файлов не подчёркивается большая часть ключевых слов, хотя у меня нет файла spck для js. Это хорошо конечно, что оно не подчёркивается, но было бы ещё лучше понять почему. Вот например var не подчёркивается, а typeof подчёркивается...


Добавлено:
Ещё заметил, что если после установки пути к Aspell не выбрать "Словарь по умолчанию", то плаг работает точно также, если выбрать ru.

И всё-таки, - после выбора пути невозможно сразу выбрать "Словарь по умолчанию", т.к. не показываются варианты, - надо сначала закрыть диалог (Ок), а потом открывать и указывать. Может быть всё-таки перенести указание словаря ниже пути и просчитывать список при заполнении поля пути к Aspell?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Ага, это тоже пробовал - не работает
У меня тоже, хотя должно(когда только успело поломаться?). Исправлю.
А как копировать из реестра, там ведь нет полей, откуда копировать?
Там есть "Копировать имя раздела" а имя значения можно уже самостоятельно ввести.
не приводит к отжатию кнопки... Можно с этим что-то сделать?
Где-то я єто уже писал. Поставить - перед "Правописание: подсветить Old"
У меня такие кнопочки

Code: Select all

-"SpellCheck: Settings" Call("SpellCheck::Settings") Icon("%a\AkelFiles\Plugs\SpellCheck.dll",1) 
"SpellCheck: Background" Call("SpellCheck::Background") Icon("%a\AkelFiles\Plugs\SpellCheck.dll",0) 
-"SpellCheck: CPP" Call("SpellCheck::Background",0,"cpp") Icon("%a\AkelFiles\Plugs\SpellCheck.dll",2) 
-"SpellCheck: ORIG" Call("SpellCheck::Background",0,0) Icon("%a\AkelFiles\Plugs\SpellCheck.dll",2) 
Но как это работает пока непонятно.
Берется расширение файла, если оно конечно есть.
Непонятно почему при открытии js-файлов не подчёркивается большая часть ключевых слов, хотя у меня нет файла spck для js.
1. Так, напоминаю: для js можно составить список в любом spck файле, в том же cpp. А можно и разбить на несколько spck файлов. Но в данном случае причина не в том.
2. Слова длинной больше 128 символов не проверяются.
3. Вам просто не повезло :) Вероятно те ключевые слова входя в состав словарей. Например то же var в английском словаре точно есть. можете убедится посмотрев в него: aspell.exe dump master en >en-words.txt

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Ещё заметил, что если после установки пути к Aspell не выбрать "Словарь по умолчанию", то плаг работает точно также, если выбрать ru.
Странно, по идее должно быть эквивалентно выбору en. В этом можно убедится использовав одно из функций Check* или Suggest. Фоновая подсветка проверяет всеми доступными словарями одновременно(та настройка не влияет).
И всё-таки,
"По дерибасовской гуляют постепенно" (с) всё будет, только не сразу. :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

FeyFre wrote:Где-то я єто уже писал. Поставить - перед "Правописание: подсветить Old"
Да, мы об этом уже разговаривали :) Если поставить минус перед строкой, то кнопки становятся не "нажимабельными", а хотелось: нажал - вдавилась, нажал ещё раз - отжалась :)

Тут настраивал я сейчас и понял, что вариантов

Code: Select all

Call("SpellCheck::Background", 0, "ext")
Call("SpellCheck::Background", 0, 0)
недостаточно, т.к. последний вариант всегда пытается установить подчёркивание по расширению файла (если оно есть).
Предлагаю ещё 1 вариант; в целом будет выглядеть как-то так:

Code: Select all

Call("SpellCheck::Background", 0, "ext")  - как есть сейчас
Call("SpellCheck::Background", 0, "")   - как есть сейчас с параметром 0, т.е. пытается установить подчёркивание по расширению файла (если оно есть)
Call("SpellCheck::Background", 0, 0)   - работать так: если не включено (не нажато) - включить и установить подчёркивание по расширению файла (если оно есть), если включено (нажато), то выключить
Таким образом можно будет гибко настраивать менюхи. То есть на пиктограмму "раскрывающейся" кнопки тулбара можно будет посадить автоопределение c отключением

Code: Select all

Call("SpellCheck::Background", 0, 0)
т.е. нажимаемо/отжимаемую кнопку, а в меню просто включение по типу файла:

Code: Select all

-"Правописание: подсветить (txt)" Call("SpellCheck::Background", 0, "txt")
Отжимать/выключать по клику на пиктограмме.
Было бы здорово!

FeyFre wrote:1. Так, напоминаю: для js можно составить список в любом spck файле, в том же cpp. А можно и разбить на несколько spck файлов.
Пойдёт, если я в cpp.spck добавлю слова, общие и для С++ и для js, а затем вышлю, чтобы юзать этот конфиг по умолчанию?
FeyFre wrote:А можно и разбить на несколько spck файлов.
Это хороший вариант (чтобы вынести специфику). Но как при проверке передавать несколько spck файлов?

Может чуток доработать доку, дополнив её примерами по каждому пункту? :)
Добавлено:
FeyFre wrote:Фоновая подсветка проверяет всеми доступными словарями одновременно(та настройка не влияет).
Надо в доке указать, чтобы не было ложных надежд :lol:

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Пойдёт, если я в cpp.spck добавлю слова, общие и для С++ и для js, а затем вышлю, чтобы юзать этот конфиг по умолчанию?
Лучше в отдельный файл.
Это хороший вариант (чтобы вынести специфику). Но как при проверке передавать несколько spck файлов?
ВСЕ .spck файлы подгружаются сразу, со всех собираются слова в одну кучу(для каждого расширения в свою). Вы можете на каждое ключевое слово завести по отдельному файлу со своим хитрым именем, работать будет также, с точностью до времени инициализации. Расширение определяется не именем файла, а содержимым. Я могу прям сейчас взять изкоробочные файлы cpp.spck html.spck объединить в один, и будет работать также.(но поддерживать буде более геморно).Так задумано изначально.
В доке, кстати, так и указано.
Надо в доке указать, чтобы не было ложных надежд
Раз фичи нету, то зачем писать что её нету? Недокументированных фич практически нету.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

при команде aspell.exe dump master en >en-words.txt
должны все слова сохранится в файл en-words.txt? (у меня не сохраняются)
если нет, то как посмотреть список, после того как консоль закрылась?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

при команде aspell.exe dump master en >en-words.txt
Да, сохраняется в файл en-words.txt в текущей папке запуска приложения. Если не получилось, то скорее всего конфигурация по-умолчанию некорректна. Её можно проверить командой aspell dump config >config.txt

PS: не хочу никого обижать, но кто-то похоже конкретно ступил.
Post Reply