Code: Select all
EXIT /B %ERRORLEVEL% ::Это уже коментарий должно быть раскрашено
Code: Select all
EXIT /B %ERRORLEVEL% ::Это уже коментарий должно быть раскрашено
А я же спрашивал (4.).FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Code: Select all
0 `^\s*(Call)(?:\s*:|\s+)([\w:=\\/%\s"]+)\s*((?<=\s)::.*$)?$` "\1=(0,${OP},0) \2=(0,${AREA},0) \3=(0,${ATTR},0) \4=(3,${COMM},0)"
0 "^\s*(GoTo)\s*(\w+)\s*((?<=\s)::.*$)?$" "\1=(0,${OP},0) \2=(0,${AREA},0) \3=(3,${COMM},0)"
QuotesRE правила содержащие привязки к концу (и вроде к началу тоже) строки - перебивают остальные правила, в том числе и правила из Quotes: секции.FeyFre wrote:Кстати, изкоробочный coder.bat
"::Это уже коментарий должно быть раскрашено" - собственно комментарий и должен быть раскрашен. (:: - символ комментария в том числе с середины строки, да)Code: Select all
EXIT /B %ERRORLEVEL% ::Это уже коментарий должно быть раскрашено
Однако goto :label часто встречается.FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Я синтаксиса не знаю и подумал, что они идут всегда сначала строки (не считая отступов). Иных примеров тут никто не приводил. А что перед ними ещё может быть? Если что угодно - то тогда и правда надо избавляться от правил с привязками к краям строки.Skif_off wrote:Однако goto :label часто встречается.FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
А где можно про комментирование прочитать? Не могу нагуглить, пишут про rem и :: в начале строки и все. И с именами самих меток проблема.
Drugmix
А зачем вы привязываетесь к началу и концу строк? call и goto совсем не обязательно в начале строки.
вероятно, для удобства и только.:DateToDays %yy% %mm% %dd% days
Code: Select all
command &::comment
Code: Select all
\s*:\s*:.*$
Code: Select all
if defined ALLDRV (
set ALLDRV=!ALLDRV:\=!
set ALLDRV=!ALLDRV: =!
set ALLDRV=!ALLDRV::=: !
)
Code: Select all
(\w+(?:\.\w+)*)
Code: Select all
;1809=1+16+256+512+1024
1809 2 0 0 ":" "" "" "" ""
Code: Select all
0 "^:\w+(?:\.\w+)*" "\0=(2,0,0)"
0 "(goto)(?:\s*:|\s+)(\w+(?:\.\w+)*)" "\1=(0,${OP},0) \2=(2,0,0)"
0 "(call)(?:\s*:|:)(\w+(?:\.\w+)*)" "\1=(0,${OP},0) \2=(2,0,0)"
Code: Select all
;773=1+4+256+512
773 2 0 0 ":" " " "" "" ""
Это не совсем то, что я спрашивал. В этом примере цвета для переменных типа ${AREA} заданы жестко, а я бы хотел, чтобы они менялись в зависимости от текущей темы. То есть я, например, в abc.coder (для подсветки файлов типа *.abc) задаю в Words для слова mywords цвет ${OP} и сразу вижу, как он отображается в текущей теме, и мне не надо открывать файл *.abc. Если такой возможности нет, то неплохо было бы добавит в последующих версиях плагина.Skif_off wrote:Не знаток, но делал как-то: закомментировать в Quoteskoros wrote:И ещё вопрос для знатоков: возможно ли в coder.coder задать подсветку так, чтобы при просмотре любого *.coder переменные типа ${COMM} подсвечивались тем цветом, который задан для этой переменной в текущей цветовой теме?в Words добавитьCode: Select all
5 0 ${VAR} 0 "${" "}" "$" "" ""
(для дефолтной темы)
Но в итоге просто держу файл color.coder с одной секцией Words со строками типацвета и переменные из дефолтной темы + цвета из моей темы + цвета и переменные Infocatcher + основные цвета html/css (с кодом и отдельно с именем).Code: Select all
0 0 #808080 0 STR
Спасибо буду пробовать.Skif_off wrote: Еще по вашему bat.coder:
- не будут работать команды с пробелом (net ..., reg ...), т.к. пробел и табуляция есть в Delimiters, у себя делал в Quotes- правилоCode: Select all
32768 0 ${OP} 0 "reg" " add" "" "" ""
тоже не сработает из-за точки в Delimiters. Где-то в теме обсуждалось, добавлял себе в QuotesRECode: Select all
0 2 ${OP} 0 regsvr32.exe
Code: Select all
; внешние команды 0 "\b(\w+[\-\w]*\w*)\.(bat|cmd|com|exe)" "\1=(0,${NUM},0) \2=(0,${NUM},0)"
Окончательный вариант выложу в составе конструктора на осзоне. Или нужно здесь? Вроде это никому особо не интересноSan_dr wrote:koros, если уже можно, - просьба выложить финальный вариант кодера после устаканивания
Вряд-ли будет реализовано, слишком специфично, не так уж много людей занимается файлами подсветки.koros wrote:я бы хотел, чтобы они менялись в зависимости от текущей темы. То есть я, например, в abc.coder (для подсветки файлов типа *.abc) задаю в Words для слова mywords цвет ${OP} и сразу вижу, как он отображается в текущей теме, и мне не надо открывать файл *.abc. Если такой возможности нет, то неплохо было бы добавит в последующих версиях плагина.
Code: Select all
(for /f "tokens=1* delims=:" %%a in ('findstr /n /r "^" nvram1.txt') do (
Skif_off wrote:
По bat.coder: не сталкивался ранее, но вдруг заметил - отсутствует правило для одиночных кавычек (или апостроф, хз как правильно), из увиденного сегодня:команда findstr не будет подсвечена. Вот думаю - продублировать правило для обычных двойных кавычек или дабавить "'" в Delimiters?Code: Select all
(for /f "tokens=1* delims=:" %%a in ('findstr /n /r "^" nvram1.txt') do (
ИМХО, можно забить - многовато условий:koros wrote:А нет ли мыслей по поводу параметров после call :label ?
Code: Select all
if not "%len%"=="" set /a %1+=1 & call :len %1 "%len:~1%"
А если только то, что внутри кавычек?Skif_off wrote:ИМХО, можно забить - многовато условий:koros wrote:А нет ли мыслей по поводу параметров после call :label ?
параметры, имена файлов, пакетные параметры (%1-%9), переменныеCode: Select all
if not "%len%"=="" set /a %1+=1 & call :len %1 "%len:~1%"