Пользовательские языки

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

Интернет страница на вики о Пользовательские языки содержит список всех известных языков и позволяет обмениваться новыми собственными файлами.

У Notepad++ есть всегда доступный "User Defined language". Вы можете использовать его для теста ваших введённых данных и позже создать новый язык, сохранив с новым именем. Установки "User Defined language" сбрасывается каждый раз при перезапуске Notepad++, его введённые изменения не будут сохранены. Пользовательские языки доступны в нижней части меню "Синтаксис".

Чтобы создать синтаксис, необходимо открыть диалог настройки пользовательского языка, который доступен в Синтаксис→Создать свой синтаксис... или нажать кнопку   .

Диалог может быть отдельным окном или пристыкован к рабочей области окна Notepad++. Чтобы сделать это нажмите Стыковать или Undock (Отстыковать). Если диалог отстыкован (отдельное окно) вы можете задать его прозрачность: включить флажок прозрачности и задать степень регулятором. Прозрачность доступна только на Windows 2000 и более поздних версий.

Окно диалога имеет раскрывающийся список текущих пользовательских языков. Выберите один из языков, чтобы изменить его параметры. Если есть разрешение для записи файлов на диск, они будут автоматически сохранятся. Чтобы создать новый пользовательский язык на основе текущего состояния "User Defined language", нажмите кнопку Создать..., появится диалоговое окно с запросом имени, Чтобы создать новый пользовательский язык на основе выбранного языка, нажмите Сохран. как... и введите новое имя. Если вы выбрали пользовательский созданный язык, вы можете нажать на кнопку Переименовать чтобы ввести новое имя, если это необходимо, и кнопку Удалить для удаления языка.

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

Если вы хотите, чтобы пользовательский язык не учитывал регистр букв в элементах разметки (ключевых словах, операторах и т.д.), поставьте флажок Без уч. регистра.

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

Большинство элементов разметки имеют определенный стиль текста, связанный с ним. Они работают так же, как "Определение стилей..." (подробно см. Определение стилей...).

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

Стиль по умолчанию и Сворачиваемый блок (Вкладка: Сворачиваемый блок)

Эта вкладка задаёт стиль текста по умолчанию (текст, которому не задан собственный стиль) и теги, которые управляют сворачиванием, а также некоторые более расширенные опции сворачивания. Теги в поле Открывающие теги создают группу сворачивания, которая может быть развёрнута и свёрнута. Теги в поле Закрывающие теги обозначают конец группы сворачивания.


Ключевые слова (Вкладка: Ключевые слова)

Эта вкладка определяет ключевые слова заданные в языке. Вы можете определить до восьми групп ключевых слов, каждый со своим собственным стилем. Если вы отметите флажок Префикс режим для группы, это означает, что эти слова могут быть префиксами целых слов, и таким образом будут захвачены целиком, даже если ключевое слово заканчивается другим текстом. В этом случае весь захваченный текст будет иметь такой же стиль, как ключевое слово (как префикс). Поддерживается использование нескольких слов, воспринимаемых как одно ключевое слово, например "end if". Для этого нужно заключить их в кавычки


Комментарии и числа (Вкладка: Комментарии и числа)

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

Комментарии позволяют вложенные стили. Это позволяет не только (если хотите) вложенные комментарии, но и вводить ключевые слова или строки внутри комментариев.

Числа. Распознаются только числа включающие в себя цифры 0-9. Однако, цифрам могут опционально предшествовать специальные знаки (например "0x", "€" и т.д.). Для чисел с префиксом, дополнительные символы разрешены внутри числа (поле Дополн). Это как если бы вы задали от 'A' до 'F' как шестнадцатеричные цифры и получить необходимую подсветку шестнадцатеричных чисел. Диапазон символов между числами также поддерживаются.


Операторы и разделители (Вкладка: Операторы и разделители)

Эта вкладка определяет операторы и разделители. Символ оператора является символом, разделяющим два слова. Они подобны пробелам, но может быть и иначе.

Некоторые языки могут использовать слова как операторы, например "and" а не "&&". Вторая группа операторов предназначена как раз для таких. Оба вида операторов являются одним и тем же.

Разделители это теги задающиеся парами. Любой текст между двумя разделителями (включая сами разделители) подсвечивается. Хорошим примером является строка, которая заключена в кавычки и подсвечивается другим цветом. Во многих языках, строка между разделителями может содержать сам разделитель со специальным экранирующим префиксом, чтобы воспринимать его не как разделитель, а литерально. Вы можете задать этот префикс, называемый экранирующим символом. Каждый из 8 разделителей позволяет внутри себя делать вложенные стили и комментарии.


Хранение и обмен пользовательскими языками

Настройки всех пользовательских языков хранятся в файле userDefineLang.xml. Это удобно, если вы создали только один язык, или когда вы хотите поделиться всеми пользовательскими языками. Поскольку эта схема слишком груба, вы можете также: Заметьте, что кнопка Сохран. как... не создает нового файла. Это дублирует текущий язык, используя новое имя, которое вы указываете. В действительности Экспорт создает новый файл. Аналогично, Создать... создает новый язык со сбросом всех атрибутов по умолчанию и задаёт имя.

Обратите внимание, что, если вы импортируете язык, который уже имеется, то вы получите двойные записи в раскрывающемся списке и в меню синтаксиса.