Руководство по определению стиля пользователем
PDF версия
Первый вопрос, который вы спросите : Что вообще такое система определения стиля пользователя?
Объясняю, некоторые языки программирования (и не только языки программирования) не поддерживаются в Notepad++, и эта система может помочь вам в этом случае. Данная система позволяет пользователю определить синтаксис для любого языка программирования, а так же ключевые слова, комментарии и перечень директив.
Например, пользователь определяет язык программирования и называет его My Language (то бишь мой язык) :
Как вы можете видеть, синтаксис выделений применяется к документу userDefineLang.myl (слева) благодаря определению в диалоге Определения стиля (справа).
1. Краткий обзор диалога Определение стилей
Он состоит из двух частей : глобальные функциональные возможности и определения.
Глобальные функциональные возможности, например : выбор / создание / переименование / удаление определенного пользователем языка.
По умолчанию определяемый пользователем язык называется User Define Language.
Вы можете определить ключевые слова, сворачиваемые блоки и комментарии под User Define Language. Для вступления в силу изменений, вы должны определить текущий документ как User Define Language документ (иначе программа не поймет какой язык у документа).
Все определения которые вы сделали, будут временными (!!!) для User Define Language (т.е. они будут сброшены при следующем запуске программы). Если вы хотите сохранить эти определения, вам нужно их сохранить нажав Сохранить как... кнопку. Один раз назвав и сохранив, вы можете использовать и модифицировать стиль в будущем.
Вы так же можете ассоциировать ваш стиль с расширением файла - таким образом каждый раз, при загрузке файла с указанным расширением, ваш стиль будет применяться автоматически. 
Конечно, вы можете переименовать ваш язык, использовав (Сохранить как...), или удалить его.
2. Группа по умолчанию
Эта панель позволяет пользователям определять стиль по умолчанию.
По умолчанию, при запуске программы, стиль не определен (не будет подсветки синтаксиса и других возможностей так или иначе привязанных к какому-то языку).
Определение сворачиваемого блока содержит две части : определения открытия блока и определение закрытие блока. Они должны работать вместе, как пара (иначе программа не поймет какой участок можно свернуть и не отображать).
На рисунке выше, два блока определены ключевыми словами : blockBegin, blockEnd, if и fi. С определение ключевых слов, User Language Define System получает возможность формировать блоки которые пользователь может свернуть или развернуть. Заметьте что если вы определяете несколько ключевых слов для открытия и/или закрытия блока, все символы закрытия будут закрывать вне зависимости, открывали вы блок или нет (т.е. есть ли символ открытия). В приведенном примере, blockBegin и fi вероятно сформируют блок если вы укажите их как пару.
3. Список ключевых слов
Есть 4 группы ключевых слов : это значит доступно 4 стиля.
В любом случае, это не обязывает вас использовать все 4 стиля.
4. Комментарии & Числа
В этой панели, пользователь может определить стиль чисел и стиль комментариев (так же как и символы комментариев) .
Есть 2 типа комментирования которые вы можете определить в User Language Define System - комментирование строки и комментирование блока. В отличии от других стилей, стиль комментирования определяется не только символом, а и самим блоком или строкой комментирования.
5. Панель операторов
Есть два правила в User Language Define System которые вы должны помнить :
- Элементарная единица (минимум символ) всегда ограниченная пробелом, TAB'ом ('\t'), символом новой строки ('\n') или оператором который вы определили.
- Все символы это часть элементарной еденицы, если они не определены как операторы.
С этими двумя принципами мы легко сможем понять следующий пример : 
Надпись "INTEGER" определяется благодаря определению ключевых слов (т.е. "INTEGER" в списке ключевых слов). Если '(' не определен как оператор, второй "INTEGER" не будет распознан, потому что "(INTEGER" не будет отслежен как еденица языка программирования, ведь его нет в списке ключевых слов. |