ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Здесь выкладываются готовые к использованию макросы и скрипты.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

ViewColor с конфигуратором (клавиша F11)









Attachments
ViewColor_v51.lua
ver 51 (от 23.10.25)
- ускорил производительность на 10%
(253.82 KiB) Downloaded 20 times
ViewColor_v50.lua
ver 50 (от 16.10.25)
- Первый конфигуратор
- табличные RGB-цвета в FarAPI
- RealTime-раскраска (почти без мерцания)
(255.55 KiB) Downloaded 7 times
Last edited by Ultrabyte on Mon 27 Oct, 2025 19:24, edited 51 times in total.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Latest post of the previous page:

так как все таки вытащить из far однобайтовый цвет? )
Color=far.AdvControl("ACTL_GETCOLOR", far.Colors.COL_VIEWERTEXT)
Color должен получить 0x1B, согласно по таблице цветов, а получаю RGB...
Этот вопрос висит с прошлого года... Кто нибудь понимает "в этом вашем интернете"(c) ?
Shmuel
Posts: 7108
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 605 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Shmuel »

╔═════════════════════════════ obj (3) ═════════════════════════════╗ ║ "BackgroundColor" │number │0xff000001 (4278190081) ║ ║ "Flags" │number │0x00000003 (3) ║ ║ "ForegroundColor" │number │0xff00000b (4278190091) ║ ╚═══════════ F1, F3, F4, Del, Ins, Ctrl+F, Ctrl+M, Alt+X ════════════╝
Обратите внимание на младщие 4 бита в BackgroundColor и ForegroundColor - это как раз 0x1B
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

А они надёжны? т.е. не получится ли так что они окажутся "нулевые" или "коды-RGB", если user настроил весь FAR на RGB ?
Last edited by Ultrabyte on Wed 13 Nov, 2024 01:49, edited 1 time in total.
Yegor
Posts: 1469
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 51 times
Been thanked: 84 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Yegor »

Ultrabyte wrote: Wed 13 Nov, 2024 01:47 т.е. не получится ли
Получится, надо смотреть на Flags (https://github.com/FarGroup/FarManager/ ... n.hpp#L149)
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Yegor
Posts: 1469
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 51 times
Been thanked: 84 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Yegor »

И да вот так выглядит раскраска в подсмотрщике с моей RGB темой:
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Yegor wrote: Wed 13 Nov, 2024 02:23 вот так выглядит раскраска
Достаточно яркий "темно-синий" цвет, трудно читаемый.

Update:
Сделал на быструю руку расцветку для черного оформления.
Возможно достаточно много людей, предпочтут черного фона в Far'е, поэтому будет полезен "мод-black", сократив время копания в настройках. Правда непонятно какого цвета буквы. В данном случае, оставил "голубой на черном".
Attachments
ViewColor_39_black.lua
(перезалив 2 раз: обновил дату 21.11.24)
- исправлены глюки в Hex-экране c utf8
- исправлены глюки в Hex-экране с "полуслов"
(255.37 KiB) Downloaded 57 times
log.png
xml.png
moon.png
Last edited by Ultrabyte on Thu 21 Nov, 2024 04:00, edited 16 times in total.
Shmuel
Posts: 7108
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 605 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Shmuel »

@Ultrabyte
Почему-то вы свой скрипт держите в кодировке 1251.
Если было бы UTF-8, то можно вместо
KavichkiSnaruji = false пользовать КавычкиСнаружи = false
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Места не хватает. В закрепе ограничения до 250кб. UTF8 - превращает lua в 310кб.
Shmuel
Posts: 7108
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 605 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Shmuel »

Это может когда-то раньше было. Мне кажется, что я в последнее время прикреплял куда большие файлы.
А кроме того, можно же прикрепить zip или 7z.

P.S.
Максимально разрешённый размер вложения: 5 МБ.
Last edited by Shmuel on Wed 13 Nov, 2024 19:44, edited 2 times in total.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

zip можно 5мб, но lua предел 250кб.
С zip/rar много телодвижении, лучше просто lua.
(припоминаю о таком же разговоре в этой теме с кем-то из коллег год назад=)
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Обновил первопост: улучшил код, который исправляет малозаметный глюк в Hex-экране (рандомно засвечивал полу-слова).
Не стал ради "5 строк кода" объявлять новую версию, оставил тот-же v0.39 (внутри lua заменена дата на текущую 20.11.24).
User avatar
Wave
Posts: 1900
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 16 times
Been thanked: 29 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Wave »

Black-версию неплохо бы тоже в первопост. Или ещё что-то типа того. Для меня именно она оказалась основной. А то синяя била по глазам и чувству прекрасного, и я даже не особо скриптом и пользовался. А тут вдруг раз — и…
Пользуюсь ФАРом больше 20 лет © собирательный.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Wave wrote: Wed 20 Nov, 2024 17:06 А тут вдруг раз — и…
Ну раз дело такое... то добавил в первопост v40, который умеет динамически адаптировать под фоновый цвет FAR'а: синий или черный.
На другие цвета не проверял, но скорее всего будет "токсично" (тут придется самому настраивать внутри LUA, как и в прежние времена).

to All:
Пока это экспериментальная версия, но вроде ничего не поломал. Мельком проверил "цвета" на файлах cpp, pas, py, xml, lua, changelog - на черном и синем фоне, вроде всё ок. Но лучше проверить на ваших системах, правильно ли "адаптируется" и читабельно в целом?
Если всё ок, то оставлю эту "динамическую адаптацию" как полноценную версию v40.
User avatar
Wave
Posts: 1900
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 16 times
Been thanked: 29 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Wave »

0.39 с заданной раскраской выглядит так:
Image

0.40-автомат — так:
Image

0.39 конкретно в данном случае выглядит гораздо лучше, хотя я не тестировал на широкой выборке разных исходников. Но в любом случае, первый вариант мягче для глаз.
Пользуюсь ФАРом больше 20 лет © собирательный.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Перевыложил в первопост v0.40 со старым кодом из рабочего v0.38.
И, да, пришлось удалить "бенчмарк", так как вернув старый код - lua утяжелился на 2кб (из-за лишнего преобразования в "string").


Wave, в новой версии добавил флажок:
GlobalCmtDark=0x3 -- 0x3 - темно-голубой, 0x5 - темно-фиолетовый
теперь по дефолту будет темно-голубой цвет.
Один этот флажок применяется во многих местах (глобально), позволяет один раз поменять на другой цвет (чем искать и менять 10 раз).
Last edited by Ultrabyte on Tue 26 Nov, 2024 07:14, edited 5 times in total.
Ultrabyte
Posts: 183
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 17 times
Been thanked: 18 times

ViewColor — Монструозная раскраска некоторых синтаксисов в консоли поверх просмотрщика

Post by Ultrabyte »

Словил дежавю, где я описывал проблему с шириной экрана (zg уже исправил), теперь и у себя обнаружил проблему с ViewColor с шириной экрана. Вкратце, если уменьшить ширину окно-консоля, то ViewColor начинает галлюцини́ровать с раскраской (хоть и не зависала, но зрелище не приятное).

Итак, в первопост выложил предварительную версию v0.41 (перед масштабными изменениями в будущем):
  • Исправил глюк, когда ширина экран консоля меньше, чем ширина HEX-просмотрщика.
  • Расширил коды цифр в UTF8 (какие-то азиатские + узкие/тонкие) и расширил знаки/препинания в UTF8 (их больше, чем в OEM/ANSI)
  • В UTF16 теперь не закрашивает бессмысленные символы "??????????????" (актуально для ConHost с "DOS-шрифтами")
  • Исправил раскраски списка, раньше не раскрашивала, например, "0B14:", но раскрашивала "0CB8:".
В целом, полагаю, что это стабильная версия (у меня за полгода не вылетала). И вроде тут никто не жаловался. На всякий случай пишите если что...

Как-то была мысль в следующей версии внедрить встроенный диалог "Настройки цветов", но как представлю сколько это возни и концентрации :(
Поэтому, заранее спрошу здесь, кто заинтересован в "диалоге Настройки" ? Кто-то перенастраивал базовые цветовые схемы?
(Просто я по-обычаю настроил 1 раз в кодах LUA и забыл)

И как лучше/предпочтительнее сохранять юзерские-цветовые схемы? в отдельных файлах .SAV или по старинке через mf.msave() (фаровский реестр наверное "нерезиновый") ?
Last edited by Ultrabyte on Fri 30 May, 2025 06:05, edited 5 times in total.
Post Reply

Return to “Полезные макросы и скрипты”