Coder plugin (2)

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

Post by YuS »

Cuprum wrote: YuS
Ну, в такие дебри я еще пока на залезал :wink:
Дык, если не залезем, то и знать не будем, как оно работает и почему подсвечивает, выделяет и т.п., не так как предполагается... :roll:

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

Post by Instructor »

YuS
Подкорректировал описание, вроде всё учтено.

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

Post by YuS »

Instructor wrote:YuS
Подкорректировал описание, вроде всё учтено.
Спасибо! Так гораздо понятнее...

Но вопросы, всё равно есть. :) Сорри, за настырность, просто испытываю досаду, когда что-то делаю с неполным пониманием процесса...
1. Самый главный вопрос в разночтении термина "оформленный". Вот такой блок из "Folds:"

Code: Select all

1	0	${OP}	0	"{"     "}"    ""       0	2
- будет считаться оформленным? Т.е. если все стили и цвета правила обнулены, то правило не оформленное, а если что-либо отличается от "0", то оно оформлено - правильно понимаю? Или же здесь обязательное условие: изменение внутреннего оформления диапазона/блока другим правилом?

2. В процессе тестов, заметил такую особенность:

Code: Select all

Folds:
1	0	${OP}	0	"{"     "}"    ""       0	2

Code: Select all

Quotes:
1	3	${COMM}	0	"//"	""	":"	""	""	-3	0
Результат:
Image

- всё соответствует правилам и описанию:
Coder-Rus.txt wrote: - Если родитель (Parent ID) равен -3:
...
- Внутри родителя с идентификатором (Rule ID) > 0, правило обрабатывается.
Но теперь, вместо правила "Quotes:", вставляю правило:

Code: Select all

QuotesRE:
1	"//[^\n]++" "\0=(0,${COMM},0)"  -3	0
Результат:
Image
- при прочих равных, это правило уже не работает, причем почему-то символ ";", всё же, подсвечивается, хотя он нигде в .coder файле не описан.
При ParentID==0, оба правила, соответственно описанию, не обрабатываются.
И если при включенном правиле из "Quotes:" при ParentID==-3, у правила из "Folds:" изменить RuleID==0, тогда всё соответствует описанию, т.е. правило из "Quotes:" уже не обрабатывается, безо всяких исключений типа ";"...

PS Да, забыл добавить, что при ParentID==-2, то же самое происходит внутри блока из "Folds:", т.е. "Quotes:" подсвечивает, а "QuotesRE:" нет.

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

Post by Instructor »

YuS wrote:Т.е. если все стили и цвета правила обнулены, то правило не оформленное, а если что-либо отличается от "0", то оно оформлено...
Верно.
..."Quotes:" подсвечивает, а "QuotesRE:" нет.
Тестовая

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

Post by YuS »

Instructor wrote:
YuS wrote:Т.е. если все стили и цвета правила обнулены, то правило не оформленное, а если что-либо отличается от "0", то оно оформлено...
Верно.
Спасибо.
Instructor wrote: Тестовая
del - первоначальный текст удален, кэш надо было почистить...
Всё работает! Спасибо!

Online
Posts: 286
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
С последней тестовой правило

Code: Select all

QuotesRE
0    "^\s*(#include)\s*(<[^>\n\r]+>)"    "\1=(0,${AREA},0) \2=(3,${STR},0)"    0    0
даёт результат
Image
Предыдущая тестовая подсвечивала оба варианта.
Для чистоты эксперимента я удалил все остальные правила, оставил только одно вышеуказанное.

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

Post by Instructor »


Online
Posts: 286
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
Спасибо. Теперь порядок.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
После перезагрузки AkelPad не восстанавливается подсветка выделенного слова\текста.
Похоже, где-то с 4.9.5 или 4.9.6 версии.

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Есть некий ini.coder в котором есть единственное правило в "Folds:"

Code: Select all

173	0	0	0	"["       "["       ""          0	0
И есть файл открытый с этой подсветкой.

Code: Select all

[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]

[bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb]

[ccccccccccccccccccccccccccccccccc]

[ddddddddddddddddddddddddddddddddd]

[eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee]

[fffffffffffffffffffffffffffffffff]


Попробуйте выделить блок (shift+alt) начиная с первой "a" ("[|a") и заканчивая восьмой "f" ("[ffffffff|").
(или попробуйте, пожалуйста, поэтапно выделяя сначала один столбец потом два...). Блоки должны быть каждый раз свернуты.
Нажмите пробел, а теперь "отмена" ("" Command(4151)). Обязательно из тулбара! Здесь, у меня, стабильно AkelPad вылетает.
p.s. Разумеется эти файлы только для примера
pps. Все версии последние :) (включая тестовую)

Добавлено: Нет, с развернутыми блоками тоже самое.

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

Post by YuS »

Kley wrote: Попробуйте выделить блок (shift+alt) начиная с первой "a" ("[|a") и заканчивая восьмой "f" ("[ffffffff|").
(или попробуйте, пожалуйста, поэтапно выделяя сначала один столбец потом два...). Блоки должны быть каждый раз свернуты.
Нажмите пробел, а теперь "отмена" ("" Command(4151)). Обязательно из тулбара! Здесь, у меня, стабильно AkelPad вылетает.

- Доктор, у меня боли в спине.
Доктор просит нагнуться больного
- Так лучше?
- Все равно больно.
Нагибает еще больше:
- А так?
- Так намного легче.
- Ну вот так и ходите.

- Сразу же, прошу прощения, если что не так, но вот вспомнилось во время чтения описания, почему-то... :)

А по делу: проблему подтверждаю, действительно вылетает и 4.9.6 x64, и последняя тестовая 4.9.7 x86:

Имя события проблемы: APPCRASH
Имя приложения: AkelPad.exe
Версия приложения: 4.9.6.0
Отметка времени приложения: 55f64e7f
Имя модуля с ошибкой: Coder.dll
Версия модуля с ошибкой: 18.6.0.0
Отметка времени модуля с ошибкой: 561f46e7
Код исключения: c0000005
Смещение исключения: 000000000001822d
Версия ОС: 6.1.7601.2.1.0.768.3
Код языка: 1049
Дополнительные сведения 1: 3ac7
Дополнительные сведения 2: 3ac7f793f958053388123070e138c84d
Дополнительные сведения 3: 1997
Дополнительные сведения 4: 19972d33fd50c873ba1e23e3f9f8e1c3

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

YuS

Ни За Что Не Обижусь. Забавный анекдот :D
См. Log плагин

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

Post by Instructor »

Kley wrote:После перезагрузки AkelPad не восстанавливается подсветка выделенного слова\текста.
Не воспроизводится.
Kley wrote:Есть некий ini.coder...
Тестовая

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Спасибо! С тестовой ошибка исчезла.
Kley wrote:После перезагрузки AkelPad не восстанавливается подсветка...
Опять я, наверное, был не точен? Не выделенное слово, а подсветка таких же слов, как выделенное.
Если все таки "Не воспроизводится", посмотрю настройки. Может там "косякнул".

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

Post by Instructor »

Kley wrote:Не выделенное слово, а подсветка таких же слов, как выделенное.
Так и было прочитано. Проверялось обычное открытие файла с сохранённым выделением в реестре, а также открытие через Sessions плагин.
Last edited by Instructor on Tue Oct 20, 2015 5:41 am, edited 1 time in total.
Locked