EXIT /B %ERRORLEVEL% ::Это уже коментарий должно быть раскрашено
"::Это уже коментарий должно быть раскрашено" - собственно комментарий и должен быть раскрашен. (:: - символ комментария в том числе с середины строки, да)
Posted: Wed Feb 12, 2014 10:42 pm
by Drugmix
FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Но правило для команды Call задано с учётом возможного вызова параметров из слов и в виде путей к файлам, но без учёта вызова другой команды, вроде call set tratata=blabla.
Чтобы правильно подкрасить Call Set - надо составлять правила по аналогии с тем, как я их составил в ahk.coder:
там перед каждой командой идёт большая приписка, в которой, например, указывается Try, потому что Try может стоять перед любой другой командой.
EXIT /B %ERRORLEVEL% ::Это уже коментарий должно быть раскрашено
"::Это уже коментарий должно быть раскрашено" - собственно комментарий и должен быть раскрашен. (:: - символ комментария в том числе с середины строки, да)
QuotesRE правила содержащие привязки к концу (и вроде к началу тоже) строки - перебивают остальные правила, в том числе и правила из Quotes: секции.
Posted: Wed Feb 12, 2014 11:02 pm
by Skif_off
FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Однако goto :label часто встречается.
А где можно про комментирование прочитать? Не могу нагуглить, пишут про rem и :: в начале строки и все. И с именами самих меток проблема.
Drugmix
А зачем вы привязываетесь к началу и концу строк? call и goto совсем не обязательно в начале строки.
Posted: Wed Feb 12, 2014 11:19 pm
by Drugmix
Skif_off wrote:
FeyFre wrote:Наверное не так поняли. В тесте "goto :wrongsyntax_no_colorisation_label" - ошибка синтаксиса, соответственно раскраска не должна распространяться. Меток начинающихся на : не существует(кроме псевдометки :EOF)
Однако goto :label часто встречается.
А где можно про комментирование прочитать? Не могу нагуглить, пишут про rem и :: в начале строки и все. И с именами самих меток проблема.
Drugmix
А зачем вы привязываетесь к началу и концу строк? call и goto совсем не обязательно в начале строки.
Я синтаксиса не знаю и подумал, что они идут всегда сначала строки (не считая отступов). Иных примеров тут никто не приводил. А что перед ними ещё может быть? Если что угодно - то тогда и правда надо избавляться от правил с привязками к краям строки.
Posted: Wed Feb 12, 2014 11:28 pm
by Skif_off
Drugmix
Все, что угодно, например, плагин Templates, batch.bat и batch.cmd:
IF "%1"=="" GOTO :NoParam
if defined ALLDRV (
set ALLDRV=!ALLDRV:\=!
set ALLDRV=!ALLDRV: =!
set ALLDRV=!ALLDRV::=: !
)
ИМХО, проще забить в силу редкости.
Тут еще это исправление отработает некорректно. В общем, компромиссы кругом :)
По имени метки: нагуглил эту тему и объелся рыбного супа :) Но обычно используют a-z, 0-9 и "_", на DosTips до кучи ".". Засим предложенный в теме вариант
и убрать первое правило в QuotesRE. Стиль шрифта и цвет по вкусу.
Posted: Thu Feb 13, 2014 9:32 pm
by San_dr
koros, если уже можно, - просьба выложить финальный вариант кодера после устаканивания
Posted: Mon Feb 17, 2014 5:51 am
by koros
Skif_off wrote:
koros wrote:И ещё вопрос для знатоков: возможно ли в coder.coder задать подсветку так, чтобы при просмотре любого *.coder переменные типа ${COMM} подсвечивались тем цветом, который задан для этой переменной в текущей цветовой теме?
Не знаток, но делал как-то: закомментировать в Quotes
цвета и переменные из дефолтной темы + цвета из моей темы + цвета и переменные Infocatcher + основные цвета html/css (с кодом и отдельно с именем).
Это не совсем то, что я спрашивал. В этом примере цвета для переменных типа ${AREA} заданы жестко, а я бы хотел, чтобы они менялись в зависимости от текущей темы. То есть я, например, в abc.coder (для подсветки файлов типа *.abc) задаю в Words для слова mywords цвет ${OP} и сразу вижу, как он отображается в текущей теме, и мне не надо открывать файл *.abc. Если такой возможности нет, то неплохо было бы добавит в последующих версиях плагина.
Skif_off wrote:
Еще по вашему bat.coder:
- не будут работать команды с пробелом (net ..., reg ...), т.к. пробел и табуляция есть в Delimiters, у себя делал в Quotes
; внешние команды
0 "\b(\w+[\-\w]*\w*)\.(bat|cmd|com|exe)" "\1=(0,${NUM},0) \2=(0,${NUM},0)"
Спасибо буду пробовать.
San_dr wrote:koros, если уже можно, - просьба выложить финальный вариант кодера после устаканивания
Окончательный вариант выложу в составе конструктора на осзоне. Или нужно здесь? Вроде это никому особо не интересно
Posted: Mon Feb 17, 2014 3:33 pm
by Lenchik
интересно
Posted: Mon Feb 17, 2014 9:12 pm
by Skif_off
koros wrote:я бы хотел, чтобы они менялись в зависимости от текущей темы. То есть я, например, в abc.coder (для подсветки файлов типа *.abc) задаю в Words для слова mywords цвет ${OP} и сразу вижу, как он отображается в текущей теме, и мне не надо открывать файл *.abc. Если такой возможности нет, то неплохо было бы добавит в последующих версиях плагина.
Вряд-ли будет реализовано, слишком специфично, не так уж много людей занимается файлами подсветки.
По bat.coder: не сталкивался ранее, но вдруг заметил - отсутствует правило для одиночных кавычек (или апостроф, хз как правильно), из увиденного сегодня:
(for /f "tokens=1* delims=:" %%a in ('findstr /n /r "^" nvram1.txt') do (
команда findstr не будет подсвечена. Вот думаю - продублировать правило для обычных двойных кавычек или дабавить "'" в Delimiters?
Posted: Tue Feb 18, 2014 5:30 am
by koros
Skif_off wrote:
По bat.coder: не сталкивался ранее, но вдруг заметил - отсутствует правило для одиночных кавычек (или апостроф, хз как правильно), из увиденного сегодня:
if not "%len%"=="" set /a %1+=1 & call :len %1 "%len:~1%"
А если только то, что внутри кавычек?
call :label "param1" "param2"
Переменные пусть отображаются, как переменные, а параметры без кавычек - как просто текст
Posted: Fri Feb 21, 2014 9:07 am
by koros
Я так понимаю, что на мой предыдущий вопрос ответа нет. На, да и ладно с ним
У меня появился вопрос по фолдингу. Есть большой файл (~10000 строк). Включаю фолдинг - ничего не происходит. Выключаю фолдинг и удаляю снизу некоторое количество строк (опытным путем выяснил, что должно оставаться не более 9138 строк). Включаю фолдинг - работает, вставляю обратно удаленные строки - работает. Выключаю и опять включаю - не работает. Проверял на Akelmenu.coder
Posted: Fri Feb 21, 2014 9:33 am
by FeyFre
koros, диалог настроек палгина, закладка CodeFold 1, курить 2 ограничения: Folds linit и Maximum document ### characters. Вероятно у вас срабатывает второй лимит, который срабатывает только при открытии файла(ну или разрешении фолдинга если файл уже открыт). В процессе редактирования если ограничения нарушаются реакции не будет.