EditorColor используется в функции EditorControl для того, чтобы
установить или получить информацию о цветовых областях строк во внутреннем редакторе.
struct EditorColor
{
size_t StructSize;
intptr_t StringNumber;
intptr_t ColorItem;
intptr_t StartPos;
intptr_t EndPos;
uintptr_t Priority;
EDITORCOLORFLAGS Flags;
struct FarColor Color;
GUID Owner;
};
EditorColor. Перед использованием структуры плагин должен заполнить поле.-1 для текущей строки.ColorItem = 0 для получения информации о первой цветовой области, 1 - о второй и т.д.StartPos до EndPos, независимо от существовавших там ранее различных цветовых областей.0,
т.к. он обеспечивает "базовую" раскраску. Для ANSI-плагинов значение установлено в EDITOR_COLOR_NORMAL_PRIORITY.| Флаг | Описание |
|---|---|
| ECF_TABMARKFIRST | если в диапазоне цветовой области встречается символ табуляции, то раскрасить его как один символ |
| ECF_TABMARKCURRENT | если в диапазоне цветовой области встречается символ табуляции, то раскрасить не первый символ табуляции, а тот, который совпадает с текущей горизонтальной позицией курсора |
| ECF_AUTODELETE | Far Manager автоматически удалит данную цветовую область непосредственно перед очередной посылкой плагинам события EE_REDRAW |
Far Manager раскрашивает символ табуляции на всю длину, на которую расширяется табуляция. Если необходимо, чтобы символ табуляции для
цветовой области занимал одно знакоместо, то в дополнении к цвету, необходимо выставить флаг ECF_TABMARKFIRST или ECF_TABMARKCURRENT.
Через параметр Color вы можете задать и цвет фона. Более того, вне зависимости от длины строки вы можете установить область начиная с
первой видимой позиции и кончая самой правой - при этом вы как бы замените цвет фона в редакторе. Хотя этот метод не сработает на файлах, у которых
число строк меньше размера экрана :(