# EditorColor

Структура `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;
    };

### Элементы

StructSize
Это поле должно содержать размер структуры `EditorColor`. Перед использованием структуры плагин должен заполнить поле.
StringNumber
Номер строки для обработки или `-1` для текущей строки.
ColorItem
Номер цветовой области, о которой вы хотите получить информацию. Строка может содержать несколько цветовых областей. Установите `ColorItem = 0` для получения информации о первой цветовой области, `1` - о второй и т.д.
Это поле не используется в ECTL_ADDCOLOR. Новый цвет всегда применяется ко всей области от `StartPos` до `EndPos`, независимо от существовавших там ранее различных цветовых областей.
StartPos, EndPos
Область строки для установки цвета.
Входной параметр для ECTL_ADDCOLOR и выходной для ECTL_GETCOLOR.
Priority
Приоритет наложения цветовых областей.
Параметр указывает Far Manager'у, в какой последовательности накладывать цвета от разных плагинов. Например, для плагина Colorer значение должно быть установлено в `0`, т.к. он обеспечивает "базовую" раскраску. Для ANSI-плагинов значение установлено в `EDITOR_COLOR_NORMAL_PRIORITY`.
Flags
Флаги (тип EDITORCOLORFLAGS):

Флаг | Описание
--- | ---
ECF_TABMARKFIRST | если в диапазоне цветовой области встречается символ табуляции, то раскрасить его как один символ
ECF_TABMARKCURRENT | если в диапазоне цветовой области встречается символ табуляции, то раскрасить не первый символ табуляции, а тот, который совпадает с текущей горизонтальной позицией курсора
ECF_AUTODELETE | Far Manager автоматически удалит данную цветовую область непосредственно перед очередной посылкой плагинам события `EE_REDRAW`

Color
Установленный или устанавливаемый цвет, структура типа FarColor.
Входной параметр для ECTL_ADDCOLOR и выходной для ECTL_GETCOLOR.

Far Manager раскрашивает символ табуляции на всю длину, на которую расширяется табуляция. Если необходимо, чтобы символ табуляции для цветовой области занимал одно знакоместо, то в дополнении к цвету, необходимо выставить флаг `ECF_TABMARKFIRST` или `ECF_TABMARKCURRENT`.

Owner
GUID плагина-владельца цветовой области.

### Замечания

Через параметр `Color` вы можете задать и цвет фона. Более того, вне зависимости от длины строки вы можете установить область начиная с первой видимой позиции и кончая самой правой - при этом вы как бы замените цвет фона в редакторе. Хотя этот метод не сработает на файлах, у которых число строк меньше размера экрана :(

Смотрите также:
структуры, EditorDeleteColor