Настройка с помощью переменных документа

Переменные KatePart представляют собой реализацию переменных документа в KatePart, схожую с моделайнами Emacs и Vi. В KatePart строки имеют следующий формат: kate: ИМЯПЕРЕМЕННОЙ ЗНАЧЕНИЕ; [ ИМЯПЕРЕМЕННОЙ ЗНАЧЕНИЕ; ... ] Конечно, строки могут находиться в комментарии, если формат файла предусматривает комментарии. Имена переменных — это отдельные слова (без пробелов), а текст до следующей точки с запятой является значением. Указание точки с запятой обязательно.

Пример строки переменной для принудительного применения параметров отступа в файле C++, Java™ или JavaScript:

// kate: replace-tabs on; indent-width 4; indent-mode cstyle;

Примечание

Проверка наличия строк переменных выполняется только для первых и последних 10 строк.

Кроме того, переменные документа возможно сохранить в файл .kateconfig в любом каталоге, при этом настроенные параметры будут применяться так, как если бы моделайны были добавлены во все файлы каталога и вложенных каталогов. Для переменных документа в файле .kateconfig используется тот же синтаксис, что и для моделайнов, но с расширенными параметрами.

Существуют переменные для поддержки практически всех вариантов настройки KatePart. Кроме того, переменные могут использоваться модулями (в этом случае в документации модуля должна присутствовать соответствующая информация).

KatePart поддерживает чтение конфигурации из файлов .editorconfig (если установлена библиотека editorconfig). При открытии документа KatePart выполняет автоматический поиск файла .editorconfig. Но приоритет всё же имеют файлы .kateconfig.

Как в KatePart используются переменные

При чтении конфигурации KatePart выполняет поиск в следующих расположениях (в указанном далее порядке):

  • Глобальная конфигурация.

  • Необязательные данные сеанса.

  • Конфигурация «типа файла».

  • Переменные документа в файле .kateconfig.

  • Переменные документа в самом документе.

  • Параметры, настроенные во время редактирования с помощью меню или командной строки.

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

Те переменные, которые не указаны в приведённом далее списке, хранятся в документе и могут запрашиваться для использования другими объектами (такими, как модули). Например, переменные документа используются для конфигурации соответствующего режима расстановки отступов.

Переменные, которые указаны в приведённом далее списке, соответствуют KatePart версии 5.38. В дальнейшем могут быть добавлены и другие переменные. Для переменных существуют 3 возможных типа значений со следующими допустимыми выражениями:

  • BOOL — on|off|true|false|1|0

  • INTEGER — любое целое число

  • STRING — что-либо ещё

Доступные переменные

auto-brackets [BOOL]

Включить автоматическую вставку скобок.

auto-center-lines [INT]

Указать количество строк для автоматического центрирования.

background-color [STRING]

Указать цвет фона документа. Значение должно соответствовать допустимому цвету, например: #ff0000.

backspace-indents [BOOL]

Включить или отключить отмену отступа при нажатии клавиши Backspace.

block-selection [BOOL]

Включить или отключить выделение блоков.

bom | byte-order-mark | byte-order-marker [BOOL]

Включить или отключить отметку о порядке байтов (BOM) при сохранении файлов в формате Юникод (utf8, utf16, utf32).

Работает с версией Kate не ниже 3.4 (KDE 4.4)

bracket-highlight-color [STRING]

Указать цвет подсветки скобок. Значение должно соответствовать допустимому цвету, например: #ff0000.

current-line-color [STRING]

Указать цвет текущей строки. Значение должно соответствовать допустимому цвету, например: #ff0000.

default-dictionary [STRING]

Указать словарь по умолчанию, который будет использоваться для проверки орфографии.

Работает с версией Kate не ниже 3.4 (KDE 4.4)

dynamic-word-wrap [BOOL]

Включить или отключить динамический перенос строк.

eol | end-of-line [STRING]

Указать режим конца строк. Допустимые параметры: unix, mac и dos.

folding-markers [BOOL]

Включить или отключить показ полосы сворачивания блоков кода.

folding-preview [BOOL]

Включить предварительный просмотр свёрнутых блоков кода.

font-size [INT]

Указать размер шрифта документа.

font [STRING]

Указать шрифт документа. Значением должно быть корректное название шрифта, например: courier.

hl | syntax [STRING]

Указать подсветку синтаксиса. Допустимые строки — все названия, доступные в меню. Например, для подсветки C++ следует просто ввести C++.

icon-bar-color [STRING]

Указать цвет полосы отметок. Значение должно соответствовать допустимому цвету, например: #ff0000.

icon-border [BOOL]

Включить или отключить показ полосы отметок.

indent-mode [STRING]

Указать режим автоматической расстановки отступов. Возможные параметры: none, normal, cstyle, haskell, lilypond, lisp, python, ruby и xml. Подробные сведения: «Использование автоматической расстановки отступов».

indent-pasted-text [BOOL]

Включить или отключить расстановку отступов во вставленном из буфера обмена тексте.

Работает с версией Kate не ниже 3.11 (KDE 4.11)

indent-width [INT]

Указать ширину отступа.

keep-extra-spaces [BOOL]

Указать, следует ли сохранять лишние пробелы при расчёте ширины отступа.

line-numbers [BOOL]

Включить или отключить показ номеров строк.

newline-at-eof [BOOL]

Добавлять пустую строку в конце файла (EOF) при сохранении документа.

Работает с версией Kate не ниже 3.9 (KDE 4.9)

overwrite-mode [BOOL]

Включить или отключить режим перезаписи.

persistent-selection [BOOL]

Включить или отключить постоянное выделение.

replace-tabs-save [BOOL]

Включить или отключить преобразование знаков табуляции в пробелы при сохранении документа.

replace-tabs [BOOL]

Включить или отключить динамическое преобразование знаков табуляции в пробелы.

remove-trailing-spaces [STRING]

Удалять пробелы в конце строк при сохранении документа. Допустимые параметры:

  • none, - или 0: никогда не удалять пробелы в конце строк.

  • modified, mod, + или 1: удалять пробелы в конце только тех строк, которые были изменены. Изменённые строки отмечаются системой изменения строк.

  • all, * или 2: удалять пробелы в конце строк во всём документе.

scrollbar-minimap [BOOL]

Показывать мини-карту в полосе прокрутки.

scrollbar-preview [BOOL]

Показывать предварительный просмотр текста в полосе прокрутки.

scheme [STRING]

Указать цветовую схему. Чтобы команда сработала, строка должна содержать название существующей в конфигурации цветовой схемы.

selection-color [STRING]

Указать цвет выделения. Значение должно соответствовать допустимому цвету, например: #ff0000.

show-tabs [BOOL]

Включить или отключить показ знака табуляции.

smart-home [BOOL]

Включить или отключить интеллектуальную навигацию клавишей «Home».

tab-indents [BOOL]

Включить или отключить создание отступа по нажатию клавиши Tab.

tab-width [INT]

Указать количество пробелов, которые будут показаны вместо знака табуляции.

undo-steps [INT]

Указать количество действий, которые возможно отменить.

Примечание: не используется, начиная с Kate 3 в KDE4. Эта переменная игнорируется. Максимальное количество действий, которые возможно отменить, не ограничено.

word-wrap-column [INT]

Указать длину строки, по достижении которой будет выполняться статический перенос.

word-wrap-marker-color [STRING]

Указать цвет маркера переноса строк. Значение должно соответствовать допустимому цвету, например: #ff0000.

word-wrap [BOOL]

Включить или отключить статический перенос строк.

Расширенные параметры в файлах .kateconfig

KatePart всегда выполняет поиск файла .kateconfig при открытии локальных файлов (не сетевых). Кроме того, возможно указать параметры на основе масок (расширений файлов) следующим образом:

kate: tab-width 4; indent-width 4; replace-tabs on;
kate-wildcard(*.xml): indent-width 2;
kate-wildcard(Makefile): replace-tabs off;

В этом примере для всех файлов используется ширина табуляции, равная 4 пробелам, и знаки табуляции заменяются пробелами. Но для всех файлов с расширением *.xml задана ширина табуляции, равная 2 пробелам. А для файлов Makefile используются знаки табуляции, то есть они не заменяются пробелами.

Маски разделяются точкой с запятой. Возможно указать несколько расширений файлов:

kate-wildcard(*.json;*.xml): indent-width 2;

Более того, возможно использовать тип MIME. Например, чтобы проставить во всех исходных файлах C++ отступы шириной 4 пробела:

kate-mimetype(text/x-c++src): indent-width 4;

Примечание

Переменные документа возможно использовать не только задействуя файлы .kateconfig, маски и типы MIME, но и сам документ (в нём они представлены в виде комментариев).