Перейти к содержимому

Темы и стили

Тема задаёт цвета редактора и всего окна: вкладок, панелей, меню и диалогов. Выбор — в Опции → Тема, тема при запуске — ключ appearance.theme.

  • Default — цвета Notepad++ по умолчанию.
  • Dark — тёмная тема для текста и интерфейса.

XML-темы Notepad++ работают как есть: положите файл в папку themes рядом с настройками или выберите Опции → Импорт → Импортировать темы…. Цвета стилей Scintilla сопоставляются с подсветкой Birchpad по их названиям. Шрифты из тем пока не берутся.

Опции → Определение стилей… — как в Notepad++: выберите тему и меняйте цвета — глобальные стили редактора, интерфейс и подсветку для всех языков или одного (цвет, фон, жирный, курсив, подчёркивание). Изменения видны сразу. Сохранить и закрыть записывает тему в themes/<имя>.toml; встроенные файлы остаются нетронутыми.

Тема — файл TOML в папке themes. В нём достаточно указать только то, что меняется: остальные цвета берутся из встроенной темы той же яркости. Тема считается тёмной, если в ней dark = true или тёмный фон редактора.

themes/Solarized.toml
dark = true
[editor]
background = "#002b36"
text = "#839496"
selection = "#073642"
caret = "#93a1a1"
[ui]
accent = "#268bd2"
[syntax]
comment = { color = "#586e75", italic = true }
keyword = "#859900"
string = "#2aa198"
"function.method" = "#268bd2"
[language.python]
keyword = { color = "#cb4b16", bold = true }

Цвет пишется как #rrggbb или #rrggbbaa (с прозрачностью). Стиль — строка с цветом или таблица с полями color, background, bold, italic, underline.

text, background, selection, caret, current-line, gutter-background, gutter-text, gutter-border, bookmark, change-modified, change-saved, fold-mark, fold-line, fold-underline, whitespace, eol-box, eol-text, indent-guide, edge, brace-match, brace-bad, smart-highlight, find-mark, incremental-highlight, mark-1 … mark-5 (пять стилей токенов), scrollbar-thumb.

background, surface, border, text, muted, faint, selected, hovered, accent, error, error-background, modified, directory, heading, line-number, match-background.

Стили по именам подсветки: attribute, boolean, character, comment, constant, constant.builtin, constructor, escape, function, function.macro, keyword, keyword.directive, label, module, number, operator, property, string, string.escape, string.regexp, string.special.key, tag, tag.attribute, type, variable.builtin, markup.heading, markup.italic, markup.strong, markup.link, markup.list, markup.quote, markup.raw, diff.plus, diff.minus, diff.delta, error.

Имя с точкой без своего стиля берёт стиль префикса: function.method → function. Стиль, заданный в файле, заменяет более частные стили базовой темы (string заменяет и string.escape), чтобы ваш цвет не перекрывался тем, о чём файл не знает.

Стили одного языка, которые отличаются от общих. Имена языков — как в списке языков.

Полные встроенные темы с комментариями — default.toml и dark.toml — удобно брать за основу.