Я занимаюсь разработкой в TWIG в последнее время. Это язык шаблонов html, который очень прост и надежный.
Я установил notepad ++ для автоматической обработки файлов .twig как html. Это нормально, но я не вижу подсветки синтаксиса для моих функций твига.
Синтаксис твинов невероятно прост (по дизайну) и будет легко добавить в блокнот ++. Проблема в том, что все, что я нахожу на эту тему, - это либо создание нового определения языка (и я не хочу повторно изобретать определение html), либо изменить цвет существующих битов синтаксиса на языке.
Есть ли способ скопировать определение языка, а затем изменить его в блокноте ++? Если нет, есть ли способ в блокноте ++ добавить дополнительные биты синтаксиса в существующее определение языка?
изменить
TWIG - это язык/движок шаблона html. они синтаксис для него такой же, как html, с добавлением нескольких тегов open/close (в частности {%%}, {{}} и {# #}) для управляющих операторов. вы можете больше узнать об этом на веб-сайте twig
edit # 2
Основываясь на ответе Брайана Дерагона, я изучал 3 файла. Вот что я выяснил/сделал до сих пор:
- \plugins\APIs\html.xml - Кажется, нужно определить ключевые слова для автозаполнения. Я сделал копию файла с именем twig.xml
- langs.model.xml - Опять же, список ключевых слов со всеми языками в 1 файле XML. Я скопировал объект HTML и заменил имя и параметры ext веточкой.
- stylers.model.xml - содержит список разных элементов и информацию о стиле (цвет, цвет, шрифт и т.д.) для каждого. Я скопировал раздел HTML и изменил параметры имени и desc на веточку.
Эти изменения сделаны, я открыл файл twig в блокноте ++, надеясь увидеть его в списке вариантов языка. К сожалению, он не появился, что привело меня к мысли, что некоторые из них жестко закодированы (и, следовательно, я хочу, чтобы это было невозможно).
Интересно, однако, stylers.model.xml. Каждая запись имеет кучу элементов, определенных следующим образом:
<LexerType name="twig" desc="TWIG" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="COMMENT" styleID="9" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAG" styleID="1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TAGEND" styleID="11" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
...
</LexerType>
Кажется, что эти стили определены для разных элементов. Я не могу найти нигде, где эти элементы определены. langs.model.xml имеет определение для начала/конца комментария, но не для каких-либо других разделителей. то, что мне действительно нужно, - это место, где можно сказать блокнот ++ для обработки {} как разделителя, как и для < > сейчас.
edit # 3
Я также рассматриваю этот список пользовательских языков для notepad ++ http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files Языки, определенные пользователем, используют другой движок, но я мог бы найти его там, который достаточно похож на html, чтобы я мог его адаптировать.