Akelpad-syntax-highlighting icon indicating copy to clipboard operation
Akelpad-syntax-highlighting copied to clipboard

ahk.coder: нужно больше цветов

Open Drugoy opened this issue 11 years ago • 6 comments

; ${NUM} - numbers. ; ${OP} - commands. ; ${IF} - conditions. ; ${VAR} - target variables (writable). ; ${ROVAR} - read only variables. ; ${DEL1} - () ; ${DEL2} - delimiters. ; ${AREA} - #Directives. ; ${STR} - text strings. ; ${KEY} - keys/buttons. ; ${TYPE} - type-related stuff. ; ${COMM} - comments. ; ${EXP} - expressions. ; ${WIN} - WinTitle.

Drugoy avatar Dec 26 '13 13:12 Drugoy

То есть добавляются ${ROVAR} - read only variables. ${EXP} - expressions. ${WIN} - WinTitle. так?

А если сделать так, как сделал San_dr в модификации txt.coder:

Quotes: ;===================================== ;Flags Font Color Color Quote Quote Escape Quote Quote ; style text bkgrnd start end char include exclude ;===================================== 1 2 #666699 0 " " "" "" "" ;513=1+512 5 1 ${HighLight_LineTextColor} 0 " " "" "" "" 5 1 ${TAG} 0 "" "" "" 5 1 ${HighLight_ColumnColor} 0 « » "" "" "" 513 1 ${HighLight_CaretColor} 0 ">" "" "" "" "" 513 1 ${CodeFold_ListBkColor} 0 ">" "" "" "" "" ;517=1+4+512 517 2 ${COMM} 0 "[+" "]" "" "" "" 517 2 ${COMM} 0 "[±" "]" "" "" "" 517 2 ${COMM} 0 "[" "]" "" "" "" 517 2 {OP} 0 "[~" "]" "" "" "" 517 2 ${AREA} 0 "[" "]" "" "" "" 517 2 ${CodeFold_PanelNormalFoldColor} 0 "[" "]" "" "" "" 1 2 ${CodeFold_PanelActiveFoldColor} 0 "' =" "=" "" "" ""

Lenchik avatar Dec 26 '13 14:12 Lenchik

Да, как минимум они добавляются (+ KEY, + возможно ещё какие-то появятся). Ещё из встроенных переменных есть TAG - его наверно для меток (на которые ссылаются GoTo/GoSub) следует использовать.

Я пока не знаю как лучше поступить. Возможные варианты решения этой проблемы:

  1. постараться ограничиться встроенным набором переменных, используя в некоторых случаях переменные не по назначению, как это сделал Sand_dr.
  2. применять цвета не к тексту, а к фону (или и туда и туда, но нужно подобрать читаемые комбо).
  3. использовать статические цвета (задать цвета не переменными, а константами).
  4. завести новых переменных.

На мой взгляд, 4-ый вариант самый правильный, потому что встроенный набор переменных довольно скудный, его надо расширять. Обычно, добавляют или несколько переменных про запас, на случай если остальных не хватает, либо добавляют возможность задать дефолтное значение для этих переменных прям в .coder-файлах: если в пользовательских темах не заданы значения для таких переменных - то используются указанные дефолтные цвета. Но нет ни того, ни другого, и если сейчас просто использовать 4-ый вариант, то пользователю будут лезть не информативные оповещения, что такая-то переменная не задана, что ещё хуже, чем предыдущие 3 варианта, основной минус которых - потенциально не читаемый текст в отдельных случаях.

В связи с этим, я, пожалуй, обращусь к Instructor'у с этой проблемой, может он чего подправит.

Drugoy avatar Dec 26 '13 20:12 Drugoy

В новой версии акелпада и .coder-плагина добавлена возможность задавать новые переменные. Теперь надо подобрать цвета и прошерстить список правил, внося коррективы в расцветки суб-групп в правилах.

Drugoy avatar Apr 13 '14 22:04 Drugoy

Хорошо бы попросить пример того, как это делается. Может быть как-то согласовать названия новых переменных с другими активными coder-писателями (Infocatcher, например)? Может быть потом просто наиболее часто использующиеся переменные и во встроенные темы введут.

Lenchik avatar Apr 14 '14 03:04 Lenchik

Хороший вопрос и хорошее предложение, кинул клич на форуме.

Drugoy avatar Apr 14 '14 10:04 Drugoy

Идеально, чтобы к дискуссии подключился и Instructor, зачем согласованные переменные, если пользователю придется добавлять их самому, что для многих может стать нетривиальной задачей? С PluginText.js можно упростить задачу, но все равно... Как насчет нескольких абсолютных цветов, приемлемо выглядящих во всех/в большинстве тем? Для COM-объектов AutoIt я, например, взял #006EFF.

Skif-off avatar May 04 '14 11:05 Skif-off