winget, первый `, параметр, второй `, параметр, третий `, параметр
справа от winget идут только 3 параметра, а не 6.
Можно ли как-то добавить проверку на наличие backtick'а перед запятой?
edit:
ну и напоролся на то, о чём меня предупреждали ещё заранее: если запятая находится внутри кавычек, то она не должна бы распознаваться как разделитель атрибутов, а распознаётся.
если бы это можно было как-то исправить - то coder стал бы полноценным раскрашивателем синтаксиса.
Folds:
;=========================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=========================================================
;513=1+512
513 3 ${COMM} 0 "\*" "*" ""
Posted: Thu Oct 31, 2013 12:50 pm
by Drugmix
Instructor
не помогает.
там раньше был флаг 5 (1+4), поэтому помимо 513 попробовал и 517 - ничто не помогает.
Posted: Thu Oct 31, 2013 12:51 pm
by Instructor
Drugmix
Поправил сообщение выше там стояло "/*", "*/" вместо "\*", "*\".
Posted: Thu Oct 31, 2013 12:53 pm
by Drugmix
Instructor
у меня уже было правило с флагом 5, там были правильно использованы слэши вместо бэкслэшей. Всё равно не помогает.
Posted: Thu Oct 31, 2013 1:05 pm
by Instructor
Добавлять нужно не в "Quotes:", а как было указанно - в "Folds:".
Posted: Thu Oct 31, 2013 1:30 pm
by Drugmix
Instructor
и так тоже не помогло.
Posted: Fri Nov 01, 2013 5:34 am
by Instructor
Drugmix
Будьте внимательны и делайте попытки самостоятельно разобраться, тем более, когда вам даются конкретные ответы.
Folds:
;=========================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=========================================================
;513=1+512
513 3 ${COMM} 0 "\*" "*\" ""
Folds:
;=========================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=========================================================
;513=1+512
513 3 ${COMM} 0 "/*" "*/" ""
Posted: Fri Nov 01, 2013 8:31 am
by Serge Yolkin
И поднять правило наверх, если оно не одно. Возможно, те же слэши (или звёздочки) используются в других правилах...
Posted: Fri Nov 01, 2013 2:44 pm
by Drugmix
Instructor
я только сейчас понял, что это я своим изначальным примером про \* *\ Вас запутал, конечно же я имел в виду /* */, и когда я пытался добавлять правило в Folds и в Quotes, то я уже не делал ошибки и использовал /* */.
Но дело в том, как я уже написал выше - добавление
в Folds:
513 3 ${COMM} 0 "/*" "*/" ""
не влияет на раскраску winget правила, оно по-прежнему раскрашивается в таком примере как этот:
Я к тому, что может быть у Вас это работает, но у меня на тестовой версии - это не работает.
Serge Yolkin
поднять правило в секции Folds?
Несмотря на то, что там нет других правил для /* */ (или даже для / и * по отдельности) - я всё же попробовал его поднять и это никак не повлияло на результат.
или Вы имели в виду поднять всю секцию Folds повыше остальных секций? так /* во всём .coder-файле встречается только в предложенном Instructor'ом правиле для Folds и в таком правиле из секции Quotes:
но я пробовал убирать это правило из Quotes - на результат это никак не влияет.
Posted: Fri Nov 01, 2013 8:01 pm
by Serge Yolkin
Drugmix
Что-то у Вас там загадочное... Нет, секцию Folds никуда двигать не надо, попробуйте так:
1. Сделайте резервную копию файла (рабочий будем ломать)
2. Закомментируйте все строки, где встречается / и * во всех секциях
3. Удалите или закомментируйте все строки из секций FoldPanel, FoldList, Skips и Folds
4. В секцию Folds добавьте единственное правило, продложенное Instructor.
5. Проверьте результат (по части многострочных комментариев)
Это должно работать. Если так и есть - искать, что ломает правило, добавляя строки из резервной копии в чищенный рабочий файл; если и это не работает, даже и не знаю, может, начать с пустого .coder файла (только имена секций без правил)?
Files:
*.ahk
Font:
Colors:
BkImage:
AutoMark:
Quotes:
QuotesRE:
;=========================================================================================
; Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;=========================================================================================
; PixelGetColor, 1st arg
; Colorize text strings in quotes.
; Colorz:
; ${NUM} - numbers.
; ${OP} - commands.
; ${VAR} - target variables (writable).
; ${VAR2} - read only variables.
; 0 `(")((?:[^"]*?(?:"")?)*?)("(?!"))` `\1=(2,#ff0000,0) \2=(3,#00ff00,0) \3=(3,#ff0000,0)`
0 `(")((?:[^"]*(?:"")?)*)("(?!"))` `\1=(2,#ff0000,0) \2=(3,#00ff00,0) \3=(3,#ff0000,0)`
0 `^\s*(WinGet)(?:\s*,\s*|\s+)([^;]*?)(\s*,\s*([^;]*?))?(\s*(;|$))?(\s*,\s*([^;]*?))?(\s*(;|$))?(\s*,\s*([^;]*?))?(\s*(;|$))?(\s*,\s*([^;]*?))?(\s*(;|$))?(\s*,\s*([^;]*?))?(\s*(;|$))?` `\1=(2,${OP},0) \2=(2,${VAR},#00ff00) \4=(2,${OP},#ff0000) \8=(2,${VAR},#0000ff) \12=(2,${OP},#ff0000) \16=(2,${VAR},#00ff00) \20=(2,${OP},#ff0000)`
;0 `^\s*(WinGet)(?:\s*,\s*|\s+)([^\s;]*)(\s*,\s*([^\s;]*)(\s*,\s*([^\s;]*)(\s*,\s*([^\s;]*)(\s*,\s*([^\s;]*)(\s*,\s*([^\s;]*))?)?)?)?)?` `\1=(2,${OP},0) \2=(2,${VAR},#00ff00) \4=(2,${OP},#ff0000) \6=(2,${VAR},#0000ff) \8=(2,${OP},#ff0000) \10=(2,${VAR},#00ff00) \12=(2,${OP},#0000ff)`
; 0 `^\s*(WinGet)(?:\s*,\s*|\s+)(.*)(\s*,\s*(.*)(\s*,\s*(.*)(\s*,\s*(.*)(\s*,\s*(.*)(\s*,\s*(.*))?)?)?)?)?` `\1=(2,${OP},0) \2=(2,${VAR},#00ff00) \4=(2,${OP},#ff0000) \6=(2,${VAR},#0000ff) \8=(2,${OP},#ff0000) \10=(2,${VAR},#00ff00) \12=(2,${OP},#0000ff)`
Delimiters:
Words:
FoldPanel:
FoldList:
TagMark:
Skips:
Folds:
; пробовал и 513 и 5. Текста этого комментария, который вы сейчас читаете - в файле нет.
5 3 ${COMM} 0 "/*" "*/" ""
Blocks:
(в настройках coder::settings стоит применять .coder от *.ahk по умолчанию для всех неизвестных типов файлов и судя по тому, что строка с winget раскрашивается - эта настройка работает).
А у Вас разве правила из секции QuotesRE не перебивают остальные (в т.ч. Folds)? У меня перебивает и всегда перебивало.