SpellCheck plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

FeyFre wrote:ВСЕ .spck файлы подгружаются сразу, со всех собираются слова в одну кучу(для каждого расширения в свою). Вы можете на каждое ключевое слово завести по отдельному файлу со своим хитрым именем, работать будет также, с точностью до времени инициализации. Расширение определяется не именем файла, а содержимым.
Может и указано в документации, но не понятно; приходится додумывать.
То есть, если в нескольких файлах внутри указать, к примеру, html, то из всех файлов, в которых оно указано слова сольются в общую кучу для html?
FeyFre wrote:Раз фичи нету, то зачем писать что её нету? Недокументированных фич практически нету.
В доке есть настройка по использованию словаря по умолчанию, естественно люди считают, что эта настройка распространяется на работу всей проги: и на проверку из UI и на подчёркивание, а оказывается оно работает только на первое. В доке нигде не указано, что оно работает на для всего функционала; догадаться об этом невозможно.

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

Post by Andrey_A_A »

FeyFre wrote:
при команде aspell.exe dump master en >en-words.txt
Да, сохраняется в файл en-words.txt в текущей папке запуска приложения. Если не получилось, то скорее всего конфигурация по-умолчанию некорректна. Её можно проверить командой aspell dump config >config.txt
У меня и эта команда не выводит ничего в текст. Если кто-то ступил про меня, не страшно. То что для одного очевидно, для другого нет. Это не означает что кто менее умный.
Как можно подправить конфигурацию, чтобы выводился список в файл?
или выложите пожалуйста папку с плагином без библиотек

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

Post by Nizaury »

FeyFre wrote:Nizaury, спешу огорчить, но оно не пригодно для использования мной, по причине несовместимости по знакам зодиака компиляторов MSVC и GCC.
Жаль, будем надеяться, что может еще появится другой вариант для 64-битных версий.

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

Post by FeyFre »

Updated SpellCheck v1.9
<<<DOWNLOAD>>>
* Fix Aspell core load routine.
+ Instant probing of new Aspell core location.

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

Post by VladSh »

FeyFre
Огромное спасибо за добавление поддержки пути по ключу реестра! Теперь перенос проги между компами значительно упрощается.

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

Post by FeyFre »

VladSh, поддержка поиска по ключу была почти изначально, просто изза опечатки искалка по реестру была сломана, и я чтолько сейчас нашел где.

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

Post by VladSh »

SpellCheck-Rus.txt wrote:Функция Background по-умолчанию использует белые списки ассоциированные с типом файла(исходя из расширения если такое имеется).
А можно ли для нового (несохранённого файла) расширение брать из настроек проги (Дополнительно -> "расширение по умолчанию при сохранении")?
Или свою установку дефолтного расширения сделать, а если оно не заполнено, то брать из настроек проги.

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

Post by FeyFre »

VladSh, в следующем году, и то не факт(ибо боюсь что без вазелина не реализую). :D

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

Post by VladSh »

FeyFre wrote:Скрипт, превращающий слова из секций words coder файлов в дополнительный белый список.coder2wl.js
Наконец-то я до него добрался :)
Пишу здесь, а не в теме дискуссий по скриптам, чтобы не размазывать обсуждение по разным темам.

1). Скрипт хоть и получает кучу слов, но всё равно их подсвечивает ошибочными. Запустил его находясь в нём же, слова SetClipboardText, ReadFile подчеркнулись как ошибочные.

2). Закоментированный AkelPad.SetClipboardText(white); не очень удачная идея.. предлагаю ввести аргумент и его обработку, например:
• 0 - выполняется чисто AkelPad.Call("SpellCheck::Background",1,white);, т.е. как есть и сейчас;
• 1 - AkelPad.SetClipboardText(white).
• 2 - производится запись в соответствующий расширению текущего файла spck-файл (об этом подробнее в п.4), с учётом уникальности уже имеющихся в этом файле значений, а также с их сортировкой.

3). В отобранных словах есть такие вхождения: +0, -0, которые, по моему, нужно игнорировать.

4). Все слова гамузом паковать в один файл..
Лучше сделать передачу расширения аргументом.
В идеале, если расширение не задано, то выводить диалог выбора расширения, для которого будут просчитываться "слова"; для этого можно использовать ShowMenuEx.js.

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

Post by FeyFre »

3). В отобранных словах есть такие вхождения: +0, -0, которые, по моему, нужно игнорировать.
(А также 1) и 4) )
Глюкнул очередной regexp (когда поменялся формат масок) в районе 80 строки. Остальыне ошибки - результат этой. +0 и -0 - вместо 0 должны были быть расширения вычитанные из секции "Files:".
Насчет 4) - основная цель скрипта - скормить слова в белый список, потому и с выбором не игрался.
2) Оставил закомментированым для продвинутых пользователей. Там же в комментарии и написал что то что получилось можно сохранить в белый список один раз, а единственный способ безопасно передать "то что получилось" пользователю - через карман.

Кстати, есть одно очень большое но:
1. Предположим нету белых списков для файла с расширением .xxx
2. При открытии файла blah.xxx плагин видит что xxx ему не известно и отмечает файл как такой, который по белому списку проверять не нужно(ибо нету такового).
3. Запуск coder2ws.js (или точнее Call("SpellCheck::Background", 1, whitelist) - в любой известной форме вызова) - у плагина в оперативных данных появляется белый список для .xxx мзвлеченный из whitelist.
Баста
Что это значит: значит что файл открытый в пункте 2 так и останется отмеченным "не проверять по белым спискам", потому что установление ассоциации файла со списком происходит только в трех случаях:
1) Открытие файла
2) Сохранение файла(может изменится расширение)
3) Внешний вызов Call("SpellCheck::Background", 0, "ext")
Т.е. пункт 1) в принципе ожидаем. Но все последующие открытые файлы .js были бы проверенны нормально(если бы не глюк пункта 3) )

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

Post by VladSh »

FeyFre
Наверное решить эту проблему может явная передача расширения либо аргументом в скрипт (что неудобно, т.к. придётся вручную каждый раз дёргать параметры вызова) либо выбор из диалога/меню.
2-й вариант - выводить пользователю вопрос, что делать, создавать ли файл белого списка для такого расширения или нет.

Возможно ещё какой-то трабл есть в коде плага, т.к. сейчас создал несколько spck-файлов для js, но оно почему-то не работает.. слова всё равно подсвечиваются. Хотя возможно и я что-то делаю не так. Создавал файлы по образу и подобию html.spck..
Свежую сборку выложил на ex.ua, может подскажете, что там не так?

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

Post by FeyFre »

VladSh
Попробуйте coder2wl.js сейчас

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

Post by VladSh »

FeyFre
Странно как-то.. первый раз подсветка сработала правильно, т.е. не стала подсвечивать методы AkelPad'а. Затем я выключил подчёркивание, раскоментил копирование в буфер и после вызова слова подсветились (хотя не должны были) и в буфере осталось старое содержимое, которое было до работы этого скрипта.
После перезагрузки редактора и вызова скрипта он всё равно подсвечивает.

Вы случайно не глядели, что у меня в сборке м.б. неправильно с spck-файлами? Может это связано?

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

Post by FeyFre »

VladSh, что-то я ссылочку на сборочку вспомнить не могу.
В секции Words: файла js.coder только ключевые слова языка JavaScript, а идентификаторов акела нету.

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

Post by VladSh »

Туточа было)
Post Reply