Coder plugin (2)

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

Post by Skif_off »

Ага, уже дошло, но на практике - возился в виртуалке, заодно скомпилил (одно удовольствие компилить AkelPad :))
Спасибо, еще возник вопрос пару дней назад: как сказывается на производительности/скорости работы большое количество регулярных выражений в QuotesRE и слов в секции Words? Или лучше так: существует ли какое-то разумное ограничение (теоретическое или практически найденное) для, скажем так, слабых и средних компов? Наверное, не очень корректный вопрос - вероятно, есть зависимость от размера файла...

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

Post by Instructor »

Skif_off wrote:Наверное, не очень корректный вопрос - вероятно, есть зависимость от размера файла...
Скорость подсветки от размера файла не зависит (только от длины строк). Зависимость скорости от количества правил проверяется эмпирически на конкретном оборудовании и конкретных настройках программы.

Abat.mf
Загружено.

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

Post by Skif_off »

Instructor
Понял, спасибо, css.coder - ~400, ahk.coder - чуть более 1000, ps1.coder - почти 3000, наверное, верхней планкой оставлю первый.

Уточненный kixtart.coder (без UDF), офсайт вместе с документацией лежал, когда делал первый, использовал инфу со сторонних ресурсов (опечатка в названии функции в офдокументации - это ппц).

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

Post by Instructor »

Добавлено: возможность использовать шрифт окна редактирования для списка (Coder::CodeFold).
Добавлено: флаг 32768 в секцию "Quotes:" - диапазон является пустым, т.е. не содержит символов.

Added: possibility to use edit window font for a list (Coder::CodeFold).
Added: flag 32768 in section "Quotes:" - quote is empty, i.e. doesn't contain any character.


Coder plugin v12.0

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

Post by Andrey_A_A »

Instructor
Можно ли улучшить окно автодополнения:

1. Автоматическое определение ширины окна. К примеру в списке максимальная длина слов 10, а ширина окна для 100... (от предыдущего растягивания). + задавать максимальную ширину, если длина слов (фраз в списке) большая, при этом добавлять вертикальную прокрутку.

2. Настройка прозрачности окна.

3. Настройка цвета списка.

4. Настройка цвета активной строки.

5. Настройка цвета фона окна.

6. Настройка шрифта списка.

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

Post by Skif_off »

Здесь
VladSh wrote:Ребята, подскажите, можно ли в секции Words настроить флагами чтобы отбирались все вхождения? Чтобы указать, к примеру:

Code: Select all

?	2	${WARN}	0	некорректн
вместо:

Code: Select all

0	2	${WARN}	0	некорректная
0	2	${WARN}	0	некорректно
0	2	${WARN}	0	некорректное
и т.д.
Было бы удобно.
VladSh, случайно не допиливаете log.coder Infocatcher? Если так, можете поделиться добавленным? У себя добавил в QuotesRE:

Code: Select all

; IP-address
0	"\b(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}\b"	"\0=(0,${IF},0)"
; Time - UTC/GMT: GMT+HH:MM or GMT+HHMM or GMT+HH or GMT+H
;0	"\b(((UTC|GMT)[\+-])((([0-1][0-9]|[2][0-3]):([0-5][0-9]))|(([0-1][0-9]|[2][0-3])([0-5][0-9]))|([0-1][0-9]|[2][0-3])|([0-9]|1[0-9]|2[0-3])))\b"	"\0=(0,${IF},0)"
; Time - HH:MM:SS or HH:MM
0	"\b(([0-1][0-9]|[2][0-3])(:([0-5][0-9])){2})|(([0-1][0-9]|[2][0-3]):([0-5][0-9]))\b"	"\0=(0,${IF},0)"
; For "Words:"
0	"\b(loa(ded|ding|d))\b"	"\0=(0,${IF},0)"
, думаю что еще добавить.

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

Post by VladSh »

Skif_off
Допилил под свои нужды, но хотел, чтобы Infocatcher добавил к себе. Регулярки не использовал по причине слабых знаний в этой области и недостатка времени.

Code: Select all

;----------------------------------------------;
;           Coder plugin syntax file           ;
;----------------------------------------------;

; Author: Infocatcher (2012-02-26)
;=================================

;Colors
; Color need to be in #RRGGBB format.
; If color equal to zero, then color ignored.
;
;Font styles
; 0  ignored.
; 1  normal.
; 2  bold.
; 3  italic.
; 4  bold italic.
;
;For comfort file viewing/editing set tab size to 8 or higher.


Files:
;==========
;File types
;==========
*.log


;----------------------------------------------;
;                  HighLight                   ;
;----------------------------------------------;

;Flags (sum of the members)
;     1  case sensitive.
;     2  word is a composition of characters ("Words:" section only). Example: "0123456789" - highlight words that contain only digits.
;     4  quote end required ("Quotes:" section only).
;     8  quote start string is ignored and last meet delimiter used as quote start ("Quotes:" section only).
;    16  quote end string is ignored and first meet delimiter used as quote end ("Quotes:" section only).
;    32  don't highlight quote start ("Quotes:" section only).
;    64  don't highlight quote end ("Quotes:" section only).
;   128  don't catch and don't highlight quote start ("Quotes:" section only).
;   256  don't catch and don't highlight quote end ("Quotes:" section only).
;   512  quote start, delimiter or word located at line start.
;  1024  quote end, delimiter or word located at line end.
;  2048  quote start is surrounded with delimiters ("Quotes:" section only).
;  4096  quote end is surrounded with delimiters ("Quotes:" section only).
;  8192  quote doesn't contain delimiters ("Quotes:" section only).
; 16384  only quote start string is catched ("Quotes:" section only).
; 32768  quote doesn't contain any character ("Quotes:" section only).


Font:
;=================================================================
;FontStyle             FontSize              FaceName
;=================================================================
${HighLight_FontStyle} ${HighLight_FontSize} ${HighLight_FaceName}


Colors:
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
;BasicTextColor             BasicBkColor              SelTextColor              SelBkColor              LineTextColor              LineBkColor              LineBorderColor              AltTextColor              AltBkColor              AltBorderColor              ColumnColor              MarkerColor              CaretColor              UrlColor              ActiveUrlColor              VisitUrlColor
;=============================================================================================================================================================================================================================================================================================================================================================================================================================
${HighLight_BasicTextColor} ${HighLight_BasicBkColor} ${HighLight_SelTextColor} ${HighLight_SelBkColor} ${HighLight_LineTextColor} ${HighLight_LineBkColor} ${HighLight_LineBorderColor} ${HighLight_AltTextColor} ${HighLight_AltBkColor} ${HighLight_AltBorderColor} ${HighLight_ColumnColor} ${HighLight_MarkerColor} ${HighLight_CaretColor} ${HighLight_UrlColor} ${HighLight_ActiveUrlColor} ${HighLight_VisitUrlColor}


BkImage:
;==================================================
;BkImageFile              BkImageAlpha
;==================================================
${HighLight_BkImageFile}  ${HighLight_BkImageAlpha}


AutoMark:
;====================================================================================================================
;AutoMarkFlags             AutoMarkFontStyle              AutoMarkTextColor              AutoMarkBkColor
;====================================================================================================================
${HighLight_AutoMarkFlags} ${HighLight_AutoMarkFontStyle} ${HighLight_AutoMarkTextColor} ${HighLight_AutoMarkBkColor}


Quotes:
;======================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote
;       style   text    bkgrnd  start   end     char    include exclude
;======================================================================
;2320=16+256+2048 
2320  2  ${WARN}  0 "not exist"    ""   ""   ""   ""
2320  2  ${WARN}  0 "not found"    ""   ""   ""   ""
2320  2  ${WARN}  0 "not valid"    ""   ""   ""   ""


QuotesRE:
;==========================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;==========================================================================


Delimiters:
;======================================
;Flags  Font    Color   Color   Char(s)
;       style   text    bkgrnd
;======================================
1	0	0	0	" "
1	0	0	0	"	"
1	0	0	0	!
1	0	0	0	?
1	0	0	0	:
1	0	0	0	;
1	0	0	0	.
1	0	0	0	,
1	0	0	0	_
1	0	0	0	+
1	0	0	0	-
1	0	0	0	*
1	0	0	0	/
1	0	0	0	\
1	0	0	0	=
1	0	0	0	(
1	0	0	0	)
1	0	0	0	[
1	0	0	0	]
1	0	0	0	{
1	0	0	0	}
1	0	0	0	<
1	0	0	0	>
1	0	0	0	"
1	0	0	0	'
1	0	0	0	#


Words:
;===================================
;Flags  Font    Color   Color   Word
;       style   text    bkgrnd
;===================================
; Ok:
0	2	${OK}	0	ok
0	2	${OK}	0	succeeded
0	2	${OK}	0	success
0	2	${OK}	0	successfully
0	2	${OK}	0	valid
0	2	${OK}	0	корректно
0	2	${OK}	0	ок
0	2	${OK}	0	успешно
; Errors:
0	2	${ERR}	0	crash
0	2	${ERR}	0	err
0	2	${ERR}	0	error
0	2	${ERR}	0	fatal
0	2	${ERR}	0	freeze
0	2	${ERR}	0	panic
0	2	${ERR}	0	ошибка
0	2	${ERR}	0	ошибки
0	2	${ERR}	0	ошибок
; Warnings:
0	2	${WARN}	0	debug
0	2	${WARN}	0	abort
0	2	${WARN}	0	aborted
0	2	${WARN}	0	aborting
0	2	${WARN}	0	breakage
0	2	${WARN}	0	breaking
0	2	${WARN}	0	breakdown
0	2	${WARN}	0	cannot
0	2	${WARN}	0	collision
0	2	${WARN}	0	collisions
0	2	${WARN}	0	conflict
0	2	${WARN}	0	conflicts
0	2	${WARN}	0	detected
0	2	${WARN}	0	detection
0	2	${WARN}	0	erroneous
0	2	${WARN}	0	exception
0	2	${WARN}	0	failed
0	2	${WARN}	0	failure
0	2	${WARN}	0	fritz
0	2	${WARN}	0	incompatible
0	2	${WARN}	0	invalid
0	2	${WARN}	0	issue
0	2	${WARN}	0	issues
0	2	${WARN}	0	overflow
0	2	${WARN}	0	problem
0	2	${WARN}	0	trojan
0	2	${WARN}	0	violate
0	2	${WARN}	0	violated
0	2	${WARN}	0	virus
0	2	${WARN}	0	warn
0	2	${WARN}	0	warning
0	2	${WARN}	0	wrn
0	2	${WARN}	0	вирус
0	2	${WARN}	0	внимание
0	2	${WARN}	0	исключение
0	2	${WARN}	0	некорректная
0	2	${WARN}	0	некорректно
0	2	${WARN}	0	некорректное
0	2	${WARN}	0	некорректные
0	2	${WARN}	0	некорректный
0	2	${WARN}	0	неправильная
0	2	${WARN}	0	неправильно
0	2	${WARN}	0	неправильное
0	2	${WARN}	0	неправильные
0	2	${WARN}	0	неправильный
0	2	${WARN}	0	неудачно
0	2	${WARN}	0	остановлен
0	2	${WARN}	0	остановлена
0	2	${WARN}	0	остановлено
0	2	${WARN}	0	остановлены
0	2	${WARN}	0	поврежден
0	2	${WARN}	0	повреждена
0	2	${WARN}	0	повреждено
0	2	${WARN}	0	повреждены
0	2	${WARN}	0	повреждён
0	2	${WARN}	0	предупреждение
0	2	${WARN}	0	прерван
0	2	${WARN}	0	прервана
0	2	${WARN}	0	прервано
0	2	${WARN}	0	прерваны
0	2	${WARN}	0	проблема
0	2	${WARN}	0	троян
; Info:
0	0	${INFO}	0	deleted
0	0	${INFO}	0	done
0	0	${INFO}	0	exist
0	0	${INFO}	0	found
0	0	${INFO}	0	ignored
0	0	${INFO}	0	info
0	0	${INFO}	0	missing
0	0	${INFO}	0	released
0	0	${INFO}	0	skipped
0	0	${INFO}	0	skipping
0	0	${INFO}	0	trying
0	0	${INFO}	0	updated
0	0	${INFO}	0	updating
0	0	${INFO}	0	готов
0	0	${INFO}	0	готова
0	0	${INFO}	0	готово
0	0	${INFO}	0	готовы
0	0	${INFO}	0	заблокирован
0	0	${INFO}	0	заблокирована
0	0	${INFO}	0	заблокировано
0	0	${INFO}	0	заблокированы
0	0	${INFO}	0	инфо
0	0	${INFO}	0	информация
0	0	${INFO}	0	найден
0	0	${INFO}	0	найдена
0	0	${INFO}	0	найдено
0	0	${INFO}	0	найдены
0	0	${INFO}	0	обнаружен
0	0	${INFO}	0	обнаружена
0	0	${INFO}	0	обнаружено
0	0	${INFO}	0	обнаружены
0	0	${INFO}	0	обновлен
0	0	${INFO}	0	обновлена
0	0	${INFO}	0	обновлено
0	0	${INFO}	0	обновлены
0	0	${INFO}	0	обновлён
0	0	${INFO}	0	отсутствует
0	0	${INFO}	0	отсутствуют
0	0	${INFO}	0	проигнорирован
0	0	${INFO}	0	проигнорирована
0	0	${INFO}	0	проигнорировано
0	0	${INFO}	0	проигнорированы
0	0	${INFO}	0	пропущен
0	0	${INFO}	0	пропущена
0	0	${INFO}	0	пропущено
0	0	${INFO}	0	пропущены
0	0	${INFO}	0	удален
0	0	${INFO}	0	удалена
0	0	${INFO}	0	удалено
0	0	${INFO}	0	удалены
0	0	${INFO}	0	удалён
0	0	${INFO}	0	упакован
0	0	${INFO}	0	упакована
0	0	${INFO}	0	упаковано
0	0	${INFO}	0	упакованы
0	0	${INFO}	0	удается
0	0	${INFO}	0	удаётся


;----------------------------------------------;
;                   CodeFold                   ;
;----------------------------------------------;

;Flags (sum of the members)
;      1  case sensitive.
;      2  force get fold name for function list from left at the fold start ("Folds:" section only).
;      4  force get fold name for function list from right at the fold start, including fold start ("Folds:" section only).
;      8  fold start located at line start ("Folds:" section only).
;     16  fold start located at line end ("Folds:" section only).
;     32  fold end located at line start ("Folds:" section only).
;     64  fold end located at line end ("Folds:" section only).
;    128  don't catch fold end ("Folds:" section) or skip end ("Skips:" section).
;    256  additional to 128 flag - more priority is given to sibling level instead of parent level ("Folds:" section only).
;    512  comment fold - fold ignore any other folds and skips inside ("Folds:" section only).
;   1024  reserved.
;   2048  deny fold - founded fold will be ignored ("Folds:" section only).
;   4096  xml fold - "<tag" and "</tag>", "<single" and "/>", "<single" and ">" ("Folds:" section only).
;   8192  don't check delimiters from left of fold start ("Folds:" section only).
;  16384  don't check delimiters from right of fold start ("Folds:" section only).
;  32768  don't check delimiters from left of fold end ("Folds:" section only).
;  65536  don't check delimiters from right of fold end ("Folds:" section only).
; 131072  deny delimiters ("Folds:" section only).


FoldPanel:
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
;PanelFirstBkColor            PanelSecondBkColor             PanelNormalFoldColor             PanelActiveFoldColor             PanelNormalNodeOpenBkColor             PanelNormalNodeCloseBkColor             PanelActiveNodeOpenBkColor             PanelActiveNodeCloseBkColor             PanelNormalNodeOpenSignColor             PanelNormalNodeCloseSignColor             PanelActiveNodeOpenSignColor             PanelActiveNodeCloseSignColor
;=================================================================================================================================================================================================================================================================================================================================================================================================================================================================
${CodeFold_PanelFirstBkColor} ${CodeFold_PanelSecondBkColor} ${CodeFold_PanelNormalFoldColor} ${CodeFold_PanelActiveFoldColor} ${CodeFold_PanelNormalNodeOpenBkColor} ${CodeFold_PanelNormalNodeCloseBkColor} ${CodeFold_PanelActiveNodeOpenBkColor} ${CodeFold_PanelActiveNodeCloseBkColor} ${CodeFold_PanelNormalNodeOpenSignColor} ${CodeFold_PanelNormalNodeCloseSignColor} ${CodeFold_PanelActiveNodeOpenSignColor} ${CodeFold_PanelActiveNodeCloseSignColor}


FoldList:
;================================================
;ListTextColor            ListBkColor
;================================================
${CodeFold_ListTextColor} ${CodeFold_ListBkColor}


TagMark:
;============================================================================================================
;TagMarkFlags            TagMarkFontStyle             TagMarkTextColor             TagMarkBkColor
;============================================================================================================
${CodeFold_TagMarkFlags} ${CodeFold_TagMarkFontStyle} ${CodeFold_TagMarkTextColor} ${CodeFold_TagMarkBkColor}


Skips:
;=============================
;Flags  Skip    Skip    Escape
;       start   end     char
;=============================


Folds:
;==================================================================
;Flags  Font    Color   Color   Fold       Fold          Delimiters
;       style   text    bkgrnd  start      end
;==================================================================


;----------------------------------------------;
;                 AutoComplete                 ;
;----------------------------------------------;

Blocks:
;======================================================================
;Abbreviations and blocks
;
; $~abbr   normal abbreviation.
; $=abbr   exact abbreviation. May contain delimiters.
; $[]      set caret to this position. Can be multiple (hot spots).
; $[text]  select text. Can be multiple (hot spots).
; $$       symbol $.
; $\]      escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR}   variable assigned from Coder::Settings.
; $;       comment line.
;======================================================================

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

Post by Skif_off »

VladSh
Спасибо, добавил. В регулярных выражениях только осваиваюсь, файл cache, кажется, самый часто перезаписываемый в ОС :) Вообще, уже не уверен, что стоит подсвечивать время.

Для удобства просмотра файлов с контрольными суммами (по умолчанию стоит txt.coder, но разный цвет для цифр и латинских букв немного напрягает) добавил _hashsum.coder Infocatcher и добавил в него подсветку в файлах SFV (CRC32), возможно кому-нибудь будет интересно:

Code: Select all

Files:
*.sfv

Quotes:
;513=1+512
513	3	${COMM}	0	";"	""	""	""	""

QuotesRE:
; For SFV (CRC32)
0	"(^.*)([ \t]{1})([a-f\d]{8})$"	"\1=(0,0,0) \3=(0,${OP},0)"
Т.к. у себя заменил Font style для файлов с 3 на 0, то для сохранения единообразия с оригиналом Infocatcher нужно заменить "\1=(0,0,0)" на "\1=(3,0,0)".

Проверялось на *.sfv-файлах, созданных в Total Commander (из-за него же в Files: добавлены *.sha256 и *.sha512).

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

Post by Skif_off »

Что-то я затупил с разделителями, объясните, пожалуйста:
для подсветки IP-адреса использую конструкцию вида "\b(.*)\b", в итоге выглядит так:
IP 1.1.1.1
IP1.1.1.1
IP(1.1.1.1)
попробовал подобное для аргументов в bat.coder

Code: Select all

"\b((/[a-z\d]+)|(\-[a-z\d]+))\b"
и получаю лингам:
cd /d
cd/d
cd(/d)
Почему так?

Offline
Posts: 3
Joined: Thu Dec 05, 2013 1:06 pm
Location: Saint-Petersburg

Post by Abat.mf »

Предлагаю фолдинг в bat.coder

Code: Select all

;Folds:
;=========================================================
;Flags  Font    Color   Color   Fold    Fold    Delimiters
;       style   text    bkgrnd  start   end
;=========================================================
2049=1+2048
2049	0	0	0	"rem </"         ""       ""
;5=1+4
5	0	0	0	"rem <?"         "rem ?>"     ""
;4101=1+4+4096
4101	0	0	0	"rem <"          "rem </"     ""
;4101=1+4+4096
4101	0	0	0	"rem <"          "rem />"     ""
Извиняюсь если уже было но не нашёл.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh wrote:Допилил под свои нужды, но хотел, чтобы Infocatcher добавил к себе.
[...]
log.coder
Спасибо, обновил (жаль только, diff файлов в utf-16 через веб-интерфейс не показывает).

Skif_off wrote:[...] добавил _hashsum.coder Infocatcher и добавил в него подсветку в файлах SFV (CRC32)
Спасибо, это тоже добавил.
Last edited by Infocatcher on Thu Dec 12, 2013 10:35 am, edited 1 time in total.

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

Post by Instructor »

Skif_off
\b - это граница между разделителем и не разделителем. Т.к. "/" является разделитем, то "\b/" найдет выражение только, если перед "/" будет не разделитель.

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

Post by Drugmix »

Instructor,
а можно ли сделать ещё 1 шаг в сторону превращения .coder в универсальную IDE?
а именно: приделать в автозавершение поддержку переключения между статичными атрибутами.
Что я под этим имею в виду - проще всего объяснить на примере.
Возьмём всё ту же команду WinGet из AutoHotkey: 2-ой атрибут у неё это "cmd" который может принимать строго 1 из 14 возможных значений, иначе в коде будет ошибка.
Хотелось бы добавить все эти 14 значений в список ассоциированный со 2-ым атрибутом команды WinGet, чтобы потом когда я используя автозавершение для WinGet - при переключении на 2-ой атрибут мог выбрать значение из списка.
Если честно, то я не знаю как это можно реализовать, но добавление этого - стало бы огромным шагом по превращению AkelPad в интеллектуальную среду разработки.
Сейчас в .coder для WinGet правило автозавершения записано так:

Code: Select all

$~WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
WinGet, $[OutputVar]
Я же прошу чтобы оно поддерживало нечто вроде

Code: Select all

$~WinGet, OutputVar [, $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle], WinTitle, WinText, ExcludeTitle, ExcludeText]
WinGet, $[OutputVar]
в группе $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle] перечислены все возможные значения для атрибута Cmd, само название атрибута в списке идёт первым и именно оно отображается в списке автозавершения, когда пользователь пишет "WinGe".

И ещё: пожалуйста, добавьте в правила автозавершения плагина .coder какой-то спец.символ, отвечающий за пробел:
в коде что я предоставил выше - после каждой запятой у меня идёт не пробел, а символ Alt+255, который лишь выглядит как пробел, но не является даже пробельным символом. Если же вместо него использовать пробел - то правило не будет работать.

EDIT:
предложенный мной синтаксис, наверно, неверный: список $[Cmd$ID$IDLast$PID$ProcessName$ProcessPath$Count$List$MinMax$ControlList$ControlListHwnd$Transparent$TransColor$Style$ExStyle]
должен бы идти не в верхней строке правила, а в нижней. Но сам атрибут Cmd не является обязательным, поэтому не знаю как бы правильно это учесть.
Видимо, потребуется добавить ещё и поддержку необязательности кусков текста из правила автозавершения.

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

Post by Skif_off »

Instructor wrote:\b - это граница между разделителем и не разделителем. Т.к. "/" является разделитем, то "\b/" найдет выражение только, если перед "/" будет не разделитель.
Понял, спасибо, еще пара вопросов родились (не знаю, как найти в теме, если обсуждалось, и, так понимаю, плагин и файлы синтаксиса менялись - нужно найти место, с которого плагин стал таким, какой он сейчас):
1. В сеции Delimiters обе записи

Code: Select all

1	0	${OP}	0	[
1	0	${OP}	0	"["
равнозначны?

2. Пилю txt.coder (стоит основной темой), xочу перенести буквы из секции Delimiters в секцию Words, в таком виде:

Code: Select all

2	0	${IF}	0	"abcdefghijklmnopqrstuvwxyz"
нормально работает, но появляется такая проблема:

"x" explorer.exe
"x"explorer.exe

как можно исправить?
Точка и кавычка " есть в секции Delimiters и в Quotes есть

Code: Select all

5	3	${STR}	0	`"`	`"`	""	""	""
В принципе, в QuotesRE есть подходящее регулярное выражение, но склонился к мысли воспользоваться им в последнюю очередь.

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

Post by Lenchik »

Skif_off wrote:xочу перенести буквы из секции Delimiters в секцию Words, в таком виде
А что не работает при текущей записи букв в Delimiters?

На гитхаб зальёте потом?

У меня в текущий txt.coder по ссылке выше добавлены греческие буквы и

Code: Select all

Quotes:
;======================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote
;       style   text    bkgrnd  start   end     char    include exclude
;======================================================================
5	1	${STR}	0	`"`	`"`	""	""	"" 
5	1	${STR}	0	`“`	`”`	""	""	"" 
5	1	${STR}	0	`«`	`»`	""	""	"" 
1	3	${COMM}	0	">"	""	""	""	""
и ваш тест

Code: Select all

"x" explorer.exe 
"x"explorer.exe
подсвечивается на ура.
Locked