Coder plugin (3)

Discuss and announce AkelPad plugins
Post Reply
  • Author
  • Message
Offline
Posts: 53
Joined: Wed Dec 09, 2015 6:33 pm

Post by beotiger »

Instructor wrote:
Instructor wrote:
beotiger wrote:Эта ошибка проявляется когда ширина Code::Fold панели определенной толщины, и включен перенос строк по словам ...
См. Coder 19.3.
У вас по прежднему установлена старая версия Coder'а - 19.2.
Не знаю, устанавливал инсталлером отсюда - http://prdownloads.sourceforge.net/akelpad/AkelPad-4.9.7-setup.exe?download

А как посмотреть текущую версию плагина?

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

Post by Instructor »

beotiger
Правая кнопка на Coder.dll -> Свойства -> Версия

Используйте "[AkelPad]\AkelFiles\AkelUpdater.exe" для обновления. AkelUpdater также показывает версию.
Skif_off wrote:Тестовая с офсайта упала при сохранении coder-файла _description.coder ...
Перенос по словам был включен? SaveFile::AutoSave используется?

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

Post by Skif_off »

YuS wrote:Да, конечно, можно локально поправить, но всё дело в том, что это частный случай получается, надо ведь в источнике тоже править.
Предполагаю, что есть смысл предлагать решения :) Моё, к слову, не кажется безупречным.
Instructor wrote:Перенос по словам был включен? SaveFile::AutoSave используется?
Нет и нет.

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

Post by YuS »

Skif_off wrote: Предполагаю, что есть смысл предлагать решения :) Моё, к слову, не кажется безупречным.
Само собой, решения нужны. Идеал, думаю, вообще штука маловероятная и редко достижимая, а это решение достаточно надежное, для случая одиночной кавычки, да и в принципе, любого экранируемого спецсимвола...

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

Post by VladSh »

Skif_off
По fb2. Всё работает, спасибо!

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

Post by FeyFre »

FeyFre wrote:Не знаю как давно сломалось, и работало ли вообще, но правило из bat.coder

Code: Select all

;273=1+16+256
273	0	${VAR}	0	"%~"	""	""	""	""	0	0
не работает.
Есть так: set noderoot=%~dp0servers/%nodename%/conf
Должно быть так set noderoot=%~dp0servers/%nodename%/conf

И второй случай: %PATH:str1=str2% должен быть так %PATH:str1=str2%

Правила делались давно, тогда поддержки регулярок небыло вообще. Если второй глюк довольно редко встречается, то первый - везде, и надо исправлять.
Я не мастер в настройке подсветки, вот модифицировал изкоробочный

Code: Select all

Quotes:
;===================================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote   Parent  Rule
;       style   text    bkgrnd  start   end     char    include exclude ID      ID
;===================================================================================
;513=1+512
513	3	${COMM}	0	"::"	""	""	""	""	0	0
;2176=128+2048
2176	3	${COMM}	0	"REM"	""	""	""	""	0	0
;5=1+4
5	3	${STR}	0	`"`	`"`	""	""	""	0	0
;2176=128+2048
2176	3	${STR}	0	"ECHO"	""	""	""	""	0	0
;5=1+4
5	0	${VAR}	0	"!"	"!"	""	""	""	0	0
;273=1+16+256
;273	0	${VAR}	0	"%~"	""	""	""	""	0	0
;273=1+16+256
;273	0	${VAR}	0	"%%"	""	""	""	""	0	0
;8197=1+4+8192
;8197	0	${VAR}	0	"%"	"%"	""	""	""	0	0
;273=1+16+256
;273	0	${VAR}	0	"%"	""	""	""	""	0	0
;1809=1+16+256+512+1024
1809	2	0	0	":"	""	""	""	""	0	0


QuotesRE:
;===========================================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...  ParentID RuleID
;===========================================================================================
0		"(%~[^\d]+\d)"	\1=(0,${VAR},0)		0	0
0		"(%[^%]*%)"		\1=(0,${VAR},0)		0	0
Отрецензируйте и актуализируйте плиз.

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

Post by YuS »

FeyFre wrote: Отрецензируйте и актуализируйте плиз.
Пытался выбрать время, для "поломать голову", а тут уже "ломают"... :)
Да, работает на тех примерах, но вот парочка нерабочих:

Code: Select all

%1
%~1
%~0ABCSFD%VAR%kjhd
%%nodename%%

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

Post by FeyFre »

В этот плуг можно впрягтись и вдвоем

А что не так с 4?

Фикс

Code: Select all

0      "(%\d)"          \1=(0,${VAR},0)      0   0
0      "(%(?!~)[^%]*%)" \1=(0,${VAR},0)      0   0
0      "(%~[^\d]*?\d)"  \1=(0,${VAR},0)      0   0

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

Post by YuS »

FeyFre wrote:В этот плуг можно впрягтись и вдвоем
Да, можно. Ниже ссылка.
FeyFre wrote: А что не так с 4?
Image
FeyFre wrote: Фикс
С учетом всех фиксов и моих тоже, вот файл (отдельными кусками фиксы выдирать будет ненаглядно)
для пояснений моих изменений, вот пример:

Code: Select all

if NOT exist "%~dp0..\Bin\page.dat" (echo. Отсутствует файл page.dat&&pause&&goto bof)
кроме того, добавлял встречающиеся разделители, команды, атрибуты (но вариант не окончательный, ибо наверняка не всё добавлено)

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

Post by Skif_off »

YuS
Метки где-то в теме обсуждались, у меня так подсвечены:

Code: Select all

0	"(goto)(?:\s*?:|\s++)([a-z0-9_]++(?:\.[a-z0-9_]++)*?)"	"\1=(0,${OP},0) \2=(2,0,0)"	0	0
0	"(call)(?:\s*?:|:)([a-z0-9_]++(?:\.[a-z0-9_]++)*?)"	"\1=(0,${OP},0) \2=(2,0,0)"	0	0
По поводу аргументов (первое правило в QuotesRE): не подсвечивается "%*"

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

Post by Skif_off »

Что-то у меня с лыжами, ни в какую не хочет подсветить слово "unquote‌‌", не пойму - заговорённое? "unquote-splicing" подсвечивается.

Code: Select all

Quotes:
;389=1+4+128+256
389	0	0	0	"("	" "		""	""	""	0	3
;1413=1+4+128+256+1024
1413	0	0	0	"("	""		""	""	""	0	3


Words:
1	2	${OP}	0	unquote‌‌		3
1	2	${OP}	0	unquote-splicing		3
Пример

Code: Select all

(unquote-splicing name name name)
(unquote (append x y))

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

Post by YuS »

Skif_off wrote:YuS
Метки где-то в теме обсуждались, у меня так подсвечены:
Тоже неплохо. Спасибо, добавил. Ещё в символьные классы можно добавить "-" ...
Skif_off wrote:не подсвечивается "%*"
Фикс:

Code: Select all

0      "(%[\d\*])"      \1=(0,${VAR},0)      0   0
Skif_off wrote:ни в какую не хочет подсветить слово "unquote", не пойму - заговорённое? "unquote-splicing" подсвечивается.
...
Words:
1 2 ${OP} 0 unquote 3
Вот в этой строке, между "e" и " " прилепились два символа 0x200c

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

Post by Skif_off »

YuS wrote:Вот в этой строке, между "e" и " " прилепились два символа 0x200c
Спасибо, не заметил: по символам проверял, поиском находилось, а вот после слова - не смотрел...

Offline
Posts: 53
Joined: Wed Dec 09, 2015 6:33 pm

Post by beotiger »

Instructor wrote:beotiger
Правая кнопка на Coder.dll -> Свойства -> Версия

Используйте "[AkelPad]\AkelFiles\AkelUpdater.exe" для обновления. AkelUpdater также показывает версию.
Instructor, с новой версией Coder'а ошибку воспроизвести не удалось. Всё рабоатет как часы, спасибо огромное!

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

Post by YuS »

Ещё корректировки:
bat.coder

Правда, проблемы не все решены...

Code: Select all

rem подсвечиваются
set noderoot=%~dp0servers/%%nodename%%/conf
set noderoot=%~dp8servers/%nodename%/conf
%node%%node%
%node%%%node%%
%%node%%%%node%%
%*
%1
%~1
%~ftza1
%~0ABC%VAR%kjh
%%~1ABC
%0ABC
%%0ABC
%PATH:1str1=1str2%
%~dp$ПУТЬ:1
%~dp$ПУТЬ:1abc
1>out%x% echo/"%~1"
!%MYVVALUE2%!
%%A
%%~A
%%~aA
%%~fxA
%%~ftzaA
%%~$ПУТЬ:Aabcd

rem подсвечиваются неверно/не подсвечиваются
%%Aabcde
%%~Aabcde		::%%A
%%~aAabcde		::%%A
%%~fxAabcde		::%%A
%%~ftzaAabcde	::%%A
set current-date=%%f-%%a-%%b %%c:%%d:%%e

но идеи закончились... слишком неоднозначные, не поддающиеся переменные, зацепиться не за что...
Post Reply