Coder plugin (3)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

фдуч
Начните с тривиального: удалите файл \AkelFiles\Plugs\Coder\cache и запустите AkelPad.
фдуч wrote:Во списке cинтаксических тем Ahk нет.
В этот список нужно добавить вручную.

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Re: как добавить подсветку языка ahk

Post by DV »

фдуч wrote:Скачал файл ahk.coder, положил в папку
\AkelFiles\Plugs\Coder
но при открытии файлов *.ahk подсветки нет.
Плагины Coder включены.
Во списке cинтаксических тем Ahk нет.
Чтобы избавиться от этой проблемы раз и навсегда, в настройках плагина - Coder::Settings - во всплывающем списке выбираем "Умный кеш" (англ. - "Smart cache"). Теперь при любом изменении в файлах .coder (включая добавление новых и удаление существующих) плагин Coder обновит свой кеш автоматически.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

В дополнение к словам DV: после изменений в .coder файлах потребуется перезапуск AkelPad, чтобы этого избежать можно на панель добавить кнопку перезагрузки кэша по требованию.
Код кнопки:

Code: Select all

-"Reload cache" Call("Coder::Settings", 2) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 3)

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Уж сколько раз это всплывает. Может быть, стоит добавить в FAQ или документацию на плагин?

Offline
Posts: 15
Joined: Fri May 10, 2013 3:29 am

Post by фдуч »

Всем спасибо за ответы.
Lenchik wrote:Уж сколько раз это всплывает. Может быть, стоит добавить в FAQ или документацию на плагин?
У меня впечатление, что документация предназначена для программистов-разработчиков и практически нет документации для просто пользователей.

Например:

1) в руководстве, вызываемом из AkelPad-а, про Coder находится только это:
Call("Плагин::Функция"[, дополнительные параметры])
- Если вызывается плагин, то код выхода передаётся через специальный параметр &nResult. &nResult должен находится на месте, где синтаксис внешнего вызова требует указатель на число.
/If(`Call("Coder::CodeFold", 1, &nResult)`, `/Call("Coder::CodeFold", 1)`, ``)
Закрыть окно CodeFold, если открыто.
2) Мало кому из несведущих придёт в голову лазить по папкам AkelFiles в поисках информации и найти там Docs. Но и там пользователь найдёт вот что:
*** Настройки ***

Дополнить со списком:
Один вариант замены - замена аббревиатуры на блок текста.
Более одного варианта замены - список аббревиатур для замены.
Эээ? Написано, вроде, по-русски, но я понятия не имею, что мне делать с этими фразами...
По сути, я не могу найти "документацию на плагин".
Есть английский chm, но там тоже не всё... Даже о настройке довольно простых вещей.

Поэтому - извините за оффтоп в этой теме, но -

Акелпаду не хватает какого-то центра информации, из которого можно было бы найти всё необходимое.

Очень хорошо, что на форуме быстро помогают! Но поиск по этому форуму работает как-то невнятно... может, потому, что версия phpBB старая - на других форумах я видел с более ясной подсветкой и переходами на посты, а здесь на странице результатов поиска навскидку даже не очевидно, (1) где в посте искомое слово - его просто может не быть в показанном куске - и (2) что надо жать именно "Subject:", чтобы перейти к нужному посту.

Так что, у меня предложение: почему бы не сделать Вики таким центром документации... Который довольно быстро приведёт документацю в нормальное состояние?

(А то я даже не знаю, какую "документацию на плагин" Lenchik имел в виду... Которая запрятанный в папках файл, что-то про аббревиатуры? Или вот это имеется в виду, где про данный плагин ровно 4 строчки:
http://akelpad.sourceforge.net/en/plugins.php
?)

Если же будет Вики, то можно будет сразу знать, где искать инфу, куда её добавить; и вопрошателям на форумах просто давать ссылку.

Посмотрите, например, как ясно и просто документирована ДокуВики:
https://www.dokuwiki.org/start?id=ru:dokuwiki
Мне кажется, это всё назрело.
Такой хороший редактор же. :)

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

фдуч wrote: Мне кажется, это всё назрело.
Такой хороший редактор же. :)
Возьмётесь сделать это и поддерживать в актуальном состоянии? Нет? О чем тогда речь? :)
Для осуществления задуманного, одного желания наличия мало, надо чтобы кто-то, обладающий временем, ресурсами и самое главное, желанием делать это бескорыстно, всё это создал... нынче, это очень редкое сочетание, наверное.

DV
Offline
Posts: 1294
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Конкретное предложение для добавления в FAQ:

Вопрос:
Скачал файл abc.coder, положил в папку AkelFiles\Plugs\Coder, но при открытии файлов *.abc подсветки нет.
Также в списке cинтаксических тем Abc отсутствует.

Ответ:
Начните с тривиального: закройте AkelPad, удалите файл AkelFiles\Plugs\Coder\cache и запустите AkelPad.
* Чтобы не делать этого вручную, в настройках плагина - Coder::Settings - во всплывающем списке выбираем "Умный кеш" (англ. - "Smart cache"). Теперь при любом изменении в файлах .coder (включая добавление новых и удаление существующих) плагин Coder обновит свой кеш автоматически (при перезапуске AkelPad).
** После изменений в .coder файлах всегда требуется перезапуск AkelPad. Чтобы этого избежать, можно на панель добавить кнопку перезагрузки кэша по требованию. Код кнопки:

Code: Select all

-"Reload cache" Call("Coder::Settings", 2) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 3)
Что касается списка синтаксических тем, туда Abc нужно добавить вручную.

Offline
Posts: 5
Joined: Thu Sep 08, 2016 3:18 pm

Post by r21514 »

electroid wrote:Also I was surprised, after update of akelpad / coder highlight php short tags stopped to be recognized <? ?>. As I remember everything was fine with them, but now I have to copy the line in html.coder containing <?php ?> code and change <?php to ?>.
Не вижу чтобы electroidу ответили, поэтому отпишусь.
Аналогичная проблема - подсветка синтаксиса php не работает при использовании короткого тэга "<?", подсвечивает только если использовать "<?php".
Сломалось начиная с версии 4.9.5, в 4.9.4 ещё нормально было.

Также подсветка php и html (может и какие-то другие) работает полноценно только если дополнительно включено сворачивание кода, а не только подсветка.

Скриншоты по обоим проблемам с чистой установки - http://i.imgur.com/fP5Kbw4.png

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

r21514 wrote:Также подсветка php и html (может и какие-то другие) работает полноценно только если дополнительно включено сворачивание кода, а не только подсветка.
Это не проблема, так и должно быть, подсветка была усложнена за счёт возможности использовать дочерние/родительские правила для большей гибкости - вот как раз правила сворачивания кода подчас выступают в роли родительских правил. Описание Rule ID и Parent ID есть в Coder-Rus.txt, можете посмотреть в coder-файлах, как они используются и что чему подчиняется.

Сейчас *.php подсвечиваются html.coder, который подтягивает правила из php.coder, до кучи подключая js.coder, vbs.coder и css.coder, если необходимо.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Skif_off wrote:так и должно быть, подсветка была усложнена за счёт возможности использовать дочерние/родительские правила для большей гибкости - вот как раз правила сворачивания кода подчас выступают в роли родительских правил.

Сейчас *.php подсвечиваются html.coder, который подтягивает правила из php.coder, до кучи подключая js.coder, vbs.coder и css.coder, если необходимо.
Странно, что человек узнает об этом не из документации на Кодер, а из поста на форуме. Даже не из FAQ.

Offline
Posts: 5
Joined: Thu Sep 08, 2016 3:18 pm

Post by r21514 »

r21514 wrote:Также подсветка php и html (может и какие-то другие) работает полноценно только если дополнительно включено сворачивание кода, а не только подсветка.
Ну ok, с этим я разобрался: CodeFold1-Показывать узлы-Нет создаёт эффект как будто сворачивание не включено при сохранении полной подсветки.

Но вот "<?" это проблема, я конечно взял файлики php.coder и html.coder из старой версии 4.9.4, но это лишает более новых фич, типа подсветки цвета #rrggbb в css :(

UPD:

По результатам просмотра diff по файлу html.coder между 4.9.4 и 4.9.5 сделал в 4.9.8 следующее изменение:

После строки

Code: Select all

4	0	0	0	"<?php" "?>"        ""        0	2	"alias:.php_for_coder"
добавляем

Code: Select all

4	0	0	0	"<?" "?>"        ""        0	2	"alias:.php_for_coder"
Возможно это сломает обработку <?/?> в XML файлах, но хоть какое-то решение...

Offline
Posts: 5
Joined: Thu Sep 08, 2016 3:18 pm

Post by r21514 »

Да ёмоё :( Ещё баг вылез, теперь что-то в связке с html/css (естественно проверял БЕЗ своих изменений для php).

Так вот подсветка html ломается если в <style> есть стиль с сочетанием "(...//...)". Пример:

Code: Select all

<html><head><style type="text/css">
UL {margin-left:-15px;list-style-image:url(data:image/gif;base64,XXXXXX///XXXXXXX);}
</style></head><body>
<ul><li><!--10.04.2016--> some text</li></ul></body></html>
Если слэши удалить, то подсветка восстанавливается:

Image

Опять же на кодерах от 4.9.4 всё нормально, видимо придётся их и использовать.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

А поддерживались бы многострочные правила - всего этого можно было бы избежать через RegExp :roll:

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Lenchik wrote:Странно, что человек узнает об этом не из документации на Кодер, а из поста на форуме. Даже не из FAQ.
Может быть, странно, что человек не дочитал Coder-Rus.txt и не взглянул на практическое применение? Подавляющее число пользователей это не интересует. И какой тут может быть FAQ? Есть Coder-Rus.txt, есть coder-файлы, идущие с плагином: читайте, пробуйте. Вы так делали, я так делал :) Бывают, конечно, и сложности, и охватить всё малореально - для этого есть форум, (где можно и обсудить предложения дополнить документацию).
r21514 wrote:Ну ok, с этим я разобрался: CodeFold1-Показывать узлы-Нет создаёт эффект как будто сворачивание не включено при сохранении полной подсветки.
Стопка родительских правил в секции Folds перестают работать >>> не задействуются все зависимые правила.
r21514 wrote:По результатам просмотра diff по файлу html.coder между 4.9.4 и 4.9.5 сделал в 4.9.8 следующее изменение:
...
Возможно это сломает обработку <?/?> в XML файлах, но хоть какое-то решение...
Там ниже есть такое правило, вроде это для вставок на XML, сами по себе XML подсвечиваются правилами из xml.coder.
Drugmix wrote:А поддерживались бы многострочные правила - всего этого можно было бы избежать через RegExp :roll:
Ну, не всего и с туманными, за несколькими исключениями, перспективами :) ИМХО, оценить последствия непросто, мягко говоря.

Скажу очевидное: идеальных подсветок нет и не будет. Хотя, полагаю, в какой-то мере может быть хорошо в узкоспециализированном редакторе.

Кто-нибудь разобрался в проблеме, описанной r21514? Я что-то даже не улавливаю, проблема в html- или css.coder :) Не то, что конкретное правило... Правило с "{"-"}" + первое в Quotes? Извиняет то, что я опять с телефона :)) Немного.

Offline
Site Admin
Posts: 6411
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

electroid wrote:Also I was surprised, after update of akelpad / coder highlight php short tags stopped to be recognized <? ?>.
r21514 wrote:Аналогичная проблема - подсветка синтаксиса php не работает при использовании короткого тэга "<?", подсвечивает только если использовать "<?php".
Добавлено, но имеем ввиду замечание с php.net:
Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.
r21514 wrote:Так вот подсветка html ломается если в <style> есть стиль с сочетанием "(...//...)".
См. Coder 19.8.
Post Reply