Как скрыть символы новой строки в Scintilla?

Я создаю темную тему для редактора на основе Scintilla. Мне удалось определить все стили, как я хотел, кроме концов строк. Другими словами, несмотря на то, что весь текст в моем редакторе отображается на темном фоне, в конце каждой строки есть небольшой прямоугольник с белой заливкой.

Я считаю, что этот прямоугольник связан с символом перевода строки, потому что он есть даже у пустых строк. Но никакие другие управляющие символы не отображаются.

Итак, как я могу избавиться от этого белого прямоугольника?

Я пытался изменить ControlCharSymbol на другие значения (ниже или выше 0x20) и не получил никакого результата.

Примечание. Я только что заметил, что то же самое происходит с пробелами и вкладками, если для них установлено значение INVISIBLE. Если они настроены на видимость, Scintilla показывает их как '.' и '--->' с использованием цветов, которые я определил.


person Alex    schedule 10.11.2012    source источник


Ответы (1)


Если вы уже установили фон для всех стилей, определенных лексером, вы также можете попробовать установить фон для STYLE_DEFAULT.

Если это не сработает, фон можно установить глобально для всех пробелов с помощью SCI_SETWHITESPACEBACK.

person ekhumoro    schedule 10.11.2012
comment
SCI_SETWHITESPACEBACK (наряду с SCI_SETWHITESPACEFORE с теми же значениями для фона по умолчанию) работает для скрытия пробелов. Но маленький прямоугольник в конце каждой строки все еще виден. - person Alex; 12.11.2012
comment
@Алекс. Хм, любопытно. Я никак не могу это воспроизвести. Какой лексер используете? Получаете ли вы тот же результат, если используете другой режим eol? - person ekhumoro; 12.11.2012
comment
ты прав. Используя STYLE_DEFAULT, а затем SCI_STYLECLEARALL, установите все стили по умолчанию. Тогда мне просто нужно изменить только те стили, которые я действительно хочу. Спасибо! - person Alex; 13.11.2012