На заре разработки, задумывался как просто "-txt-" (он же и "-eng-" и "-rus-") и "-none-". Потом заметил, что в англ.-тексте необходим основной текст был голубоватым (как дефолтный в far'е). И в рус.-тексте - тоже необходим основной текст был голубоватый (как дефолтный в far'е). Для чего? для минимизации мерцании "из голубой в желтый" или "из голубой в белый" -> меньше усталости глаз.buniak_a_h wrote: ↑Sat 24 Jun, 2023 19:42 На самом деле я даже не очень понимаю, что за режимы раскраски; в частности, что такое -eng- и -rus-. Есть режим -code-, похоже на раскраску какого-то программного кода, но какого?
Собственно, пришлось разработать две схемы: "-eng-", где основной англ в голубой, и "-rus-" также основной русский текст в голубой.
Да, стало неудобно, много излишеств, однако, появилась фича: если в -eng- то можно увидеть чужие русские буквы как подчеркивающий черным фоном (удобно для программистов, выделяет "с" от "c").
Для обычного юзера не должно особо волновать, т.к. в ViewColor встроен анализатор экрана: есть русские буквы на экране, тогда включаем "-rus-":)
Ну и дальше пошло поехало:
в html - заметил важность выделяющие скобочных. Хотя по сути, смотреть голый html - мало приятное зрелище. Возможно это было действительно излишне. Если это излишне, то можно, по желанию, переименовать на "-user-", и соответствующую маску файлов под себя..
в -log- заметил важность просмотра отчетов, логов, ini-файлов. Там довольно много синтаксисы и слишком броские расцветки, как циганщина. Приуменьшил разноцветности и немного приблизил под стиль расцветок FarColorer.В "-code-" это любой язык программирования: не стал городить на разделения Pas, C++, lua, и прочее, т.к. у них есть общее: это команды и стиль программирования, поэтому обьединил в одну сущность -code-. Посмотрел сейчас файлы *.pas, и действительно, даже там комментирования такой же знак "//" как у С++. Единственный недостаток: знак комментирования в Lua это "--" . Однако этот же знак "--" портит картину для c++. Если сильно мозолит и не нужен LUA, то можно просто обнулить "--" (искать Comment3 в "-code-" и отключить, или использовать comment3 для знаков /** и */)
И последнее: в "-hex-" добавил из-за режима F4-Hex(или Dump). В этом режиме крайне узкая полоска данных, то визуально лучше отключить все "красоты" (скобо-кавычки и выделенные имена-названия-переменных). Работает также автоматически, если FAR при открытии файла переходит в режим Dump (например, при просмотре EXE/DLL файлы).
Также, в режиме (Dump) добавлены специальные фичи: не раскрашивается бинарные коды, но если хотя бы отдаленно напоминающие куски английских/русских слов, то автоматически выделит их цветами. Так легче углядеть куски текста, например, метаданные в JPG/MP3, или видны краем глазом тексты в EXE/DLL. За это отвечает параметр ViewDumpClean=true. Если переключить в false, то бинарные коды (exe/dll/mp3/jpg) будут раскрашены как новогодняя ёлка

Также для Dump-просмотра есть полезная фича - выделять коды 0xFF. По дефолту Far не выделяет ничем между 0x00, 0x20 (пробел) и 0xFF, то здесь ViewColor находит 0xFF и покажет в черный цвет (изменяемо). Если не нужен или излишне назойливо, то найти параметр ColorCodeFF и переключить в false.
- Определяет скобки (двух-уровневые вложения) и кавычки (одноуровневые) - отключаемо по желанию
- Определяет синтаксисы (названия предмета, переменных, имена) - отключаемо по желанию
- Гибкая настройка цветов и добавления новых схем (требуется "немножко" понимания копипасты в коде).
- F5 - послед., (Alt-F5 обратный) ход выбора - отключаемо или переназначаемо по желанию.
- Сохраняет последние 20-30 файлов в "хранилище" сохраненные текущие цветовые схемы (на каждый файл сохраняет свою схему: -eng- или -code- или -hex- или -none- т.д.). - отключаемо
- При каждом нажатии клавиш (верх-вниз-влево-вправо), программа "мерцает" раскрасками. Это издержки алгоритма, т.к. раскраска живет своей жизнью отдельно от FAR'а и НЕвзаимодействует с FarAPI-Viewer. Единственный способ - это взаимодействовать через консоль. Будем надеяться в скором времени, разработчики FAR'а доделают API-Viewer, как сделали с API-Editor -> FarColorer.
- Если User перенастроил "нестандартные" цвета в FAR'е, то в ViewColor также нужно перенастроить в "нестандартные" цвета, чтобы не так раздражал мерцанием экрана. Например, видел у некоторых FAR-Viewer белый фон на черном, следовательно перенастроить также "белый на черном" в ViewColor. Это перестанет мерцать экран явным образом и глазам будет намного легче и комфортнее.
По дефолту поддержка ConEmu отключена теперь включена. Если ваш Far работает с ConEmu, то следует проверить ниже переключатели:
в Far'е должна быть включена галка в F9->Параметры->Настройка просмотрщика->
╔════════════════════════════ Программа просмотра ════════════════════════════╗ ║ [ ] Запускать внешнюю программу просмотра по F3 вместо Alt+F3 ║ ║ Команда просмотра: ║ ║ _________________________________________________________________↓ ║ ╟────────────────────── Встроенная программа просмотра ───────────────────────╢ ║ [x] Постоянное выделение [x] Показывать стрелки сдвига ║ <-- Обязательно включить ║ 8 Размер табуляции [ ] Показывать '\0' ║ (включена по дефолту) ║ [ ] Показывать полосу прокрутки ║ ╟─────────────────────────────────────────────────────────────────────────────╢ ║ [x] Сохранять позицию файла [x] Сохранять режим просмотра ║ ║ [x] Сохранять кодовую страницу файла [ ] Сохранять режим переноса ║ ║ [x] Сохранять закладки [x] Автовыбор дамп-режима просмотра ║ ║ 10000 Максимальная ширина строки [x] Автоопределение кодовой страницы ║ ║ Кодовая страница по умолчанию: ║ ║ 1251 │ ANSI - кириллица__________________________________________↓ ║ ╟─────────────────────────────────────────────────────────────────────────────╢ ║ { OK } [ Отмена ] ║ ╚═════════════════════════════════════════════════════════════════════════════╝
По дефолту в Far'e галка включена "изкоробки".
В противном случае, ViewColor сообщит о проблеме "Error FarCode", напомнит о настройке про F9->Параметры-> и т.д.
Не видна раскраска на экране, но видна кнопка в F5 "-eng-" (при нажатии меняется -rus- -code-), то найти ConEmuRefreshApiFar переключить в true.
При активации этого режима свидетельствует "прыгающий мячик" в верхнем-правом углу экрана. Значит всё ок, раскраска должна появится.
Недостаток этого режима - тугое управление мышки (клик/колёсико). Фича: если резко двинуть мышкой, то раскраска отключается.
При активации этого режима свидетельствует "прыгающий мячик" в верхнем-правом углу экрана. Значит всё ок, раскраска должна появится.
Недостаток этого режима - тугое управление мышки (клик/колёсико). Фича: если резко двинуть мышкой, то раскраска отключается.
1) Если Far работает в ConEmu, то следует переключить ConEmuZnak в true.
Это крайне важно, т.к. индикаторы "влево" и "вправо" (строка уходящая за экраном) символизирует другим символом: « »
В обычном WinConsole окне Far символизирует простым символом: < >
Поэтому, если видите сдвоенные « » то переключить в true, если одиночные < > то в false
В противном случае, перепутав true/false - анализатор скобо-кавычки заглючит и раскрасит весь экран к едрени-фени
2) Не видна раскраска на экране, но видна кнопка в F5 "-eng-" (при нажатии меняется -rus- -code-), то вероятно Far работает с ConEmu в режиме RGB. Необходимо найти ConEmuRefreshForcibly переключить в true.
Этот режим заставляет раскрашивать принудительно в ConEmu, в ущерб производительности системы/консоля. Поэтому, по возможности, лучше отключить (в false).
Это крайне важно, т.к. индикаторы "влево" и "вправо" (строка уходящая за экраном) символизирует другим символом: « »
В обычном WinConsole окне Far символизирует простым символом: < >
Поэтому, если видите сдвоенные « » то переключить в true, если одиночные < > то в false
В противном случае, перепутав true/false - анализатор скобо-кавычки заглючит и раскрасит весь экран к едрени-фени

2) Не видна раскраска на экране, но видна кнопка в F5 "-eng-" (при нажатии меняется -rus- -code-), то вероятно Far работает с ConEmu в режиме RGB. Необходимо найти ConEmuRefreshForcibly переключить в true.
Этот режим заставляет раскрашивать принудительно в ConEmu, в ущерб производительности системы/консоля. Поэтому, по возможности, лучше отключить (в false).
- Скачать ViewColor.lua
- поместить в \Macros\scripts\
- перезапустить FAR
- должна появится расцветка, как показана на скриншотах
Избирательно проверил на нескольких версиях:
В FAR 5225, 18г. - не работает: ошибка utf8. С версии 0.29 теперь поддерживается.
В FAR 5454, 19г. - не работает: ошибка utf8. С версии 0.29 теперь поддерживается.
В FAR 5511, 19г. - проверено, работает.
В FAR 6161, 23г. - проверено, работает.
Для отключения/включения "мигания" красного/желтого индикатора, то найти RefreshIndicator и поменять на false (выкл) или true (вкл).
В версии 0.26 добавлены цвета:
- красный индикатор - работает TSR по таймеру (в старых версиях - тоже самое).
- желтый индикатор - работает клавиатурный обработчик.
- Зеленый индикатор - работает Хранилище (user нажал F5-AltF5 и после 10 секунд)
- Синий индикатор - запись в Хранилище (user вышел из просмотрщика)