Подсветка синтаксиса конфигурационных файлов TC

Если вы хотите поделиться с другими пользователями секретами Total Commander, знаете интересные опции, приемы, настройки, то вам сюда.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

AkulaBig
Сообщения: 639
Зарегистрирован: Ср дек 03, 2008 11:48

Сообщение AkulaBig »

jentoso писал(а):Про UTF-16LE было известно ещё давно
Я про это и говорю.
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

yozhik
Не мешает и понятно к чему она относится.
TC 11.58 combo, Windows 11 x64
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

yozhik
Возможно мелочь, но при записи деления делитель выделяется:

Код: Выделить всё

row = Ceil((my - y)/rowh)
Скорее всего это происходит от ключей командной записи, где подсветка за знаком "/" уместна. Но при математических операциях, не уверен.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Orion9
В этот раз пока не получилось ничего )) Несколько вариантов перепробовал — всё что-то другое ломается: либо фолдинг посыпется, либо подсветка других элементов погаснет. Имеющимися средствами никак контекст для обработки /[a-z] не ухватишь. Может потом что в голову придёт. Пока только пробел после слэша ставить ))
Amo ergo sum
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

yozhik
Понятно. Спасибо, что пытались )

В принципе, это не сильно мешает, просто хотелось услышать ваше мнение.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Извиняюсь, если в Delimiters стоит

Код: Выделить всё

1	0	${DEL1}	0	/
то почему вдруг не подсветить?
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Skif_off
Дык, а нужно то как раз, чтобы не подсвечивалось. Нужно, чтобы /[a-z] подсвечивалось в параметрах Exec, но не подсвечивалось внутри Ceil(). И там ещё несколько правил пересекаются, поэтому и не получилось этот Ceil() отсеить. Ну, а поскольку в Ceil() запись /[a-z] — одна из возможных (можно и с пробелом / [a-z]), то решено не городить огороду.
Amo ergo sum
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

yozhik
Сам предпочитаю математические действия подсветить, но если не надо, то почему бы в Delimiters просто не заменить "${DEL1}" на"0" (без кавычек)? На правила в QuotesRE это не должно повлиять.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

То, что в Delimiters, как раз ничему и не мешает. В QuotesRE есть правило подсветки латинских букв после слэша /[a-z], вот оно то и прихватывает случаи, когда в Ceil() слэш «прилипает» к букве. Обычно это доп. проверками решается (lookaround'ами) или вложениями RuleID <> ParentID, но в этот раз не получилось, т.к. правил много, и каждый раз «задеваешь» что-то другое, нежелательное. Проще в Ceil() писать после слэша пробел.
Amo ergo sum
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

yozhik
Как я уже писал, это мелочь. Хайлайтером пользуюсь давно. Можно сказать с уверенностью, что он практически закончен. Если бы еще решить проблему с избыточной подсветкой объектов с длинными именами (как самих объектов, так и свойств и методов), тогда вообще было бы классно. Но как это сделать, не понятно.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

yozhik
Тупанул чутка, голова была занята.
[s]"--параметры в командах--" - их количество, похоже, конечно, а не все подряд? В справке вижу только CommandExec и ShellExec.[/s] Увидел в Blocks, похоже, таки конечно, но больше.
yozhik писал(а):Проще в Ceil() писать после слэша пробел.
Почему-то некоторые отбивают операторы пробелами, некоторые нет, хотя первое как-то понагляднее выглядит.
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Skif_off писал(а):Почему-то некоторые отбивают операторы пробелами, некоторые нет, хотя первое как-то понагляднее выглядит.
Код

Код: Выделить всё

row = Ceil((my - y)/rowh)
логичнее превратить в

Код: Выделить всё

row = Ceil((my - y) / rowh)
раз уж минус изначально находится между пробелами. Мне просто бросилось в глаза, что /rowh выделяется весь, чего по идее не должно происходить. Ведь если записать

Код: Выделить всё

row=Ceil((my-y)/rowh)
ничего кроме rowh не страдает.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Orion9
[cut]В цитируемом не про логику, просто наблюдение: запись с отбивкой пробелами выглядит в целом проще для восприятия, но почему-то не все делают.[/cut]
Аватара пользователя
Orion9
Сообщения: 1283
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

yozhik
Очередная мелочь, но если получится, можете исправить подсветку?

Код: Выделить всё

Func HBarSaveState(ByRef Text)
EndFunc

Func HBarUpdateReload(Reopen = 0)
EndFunc
Вторая запись не выделяет имя функции и ее параметров.

Еще пример:

Код: Выделить всё

Func HBarGetIdx(MousePos = false, PosX = 0, PosY = 0)
P.S. Если что — не срочно. Просто на заметку :)
Ответить