Ответ 1
Фон
@MattDMo правильно, что файл .tmTheme
является основным файлом, который контролирует выделение. Это XML файл с серией регулярных выражений и тегов, которые обозначают, какой RegEx соответствует типу синтаксического элемента.
Вы можете искать в GitHub и находить много людей, которые уже создали пакеты Sublime Text, содержащие .tmTheme
файлы. Обратите внимание, что вы можете напрямую использовать пакет, созданный для TextMate, поскольку Sublime Text использует те же соглашения. (Это правда, по крайней мере, поскольку файлы .tmTheme
и .tmPreferences
идут.)
Например, я смог напрямую взять пакет подсветки синтаксиса для языка ChucK, первоначально сделанный для TextMate, и использовать его SublimeText2. .tmTheme
работал немедленно, копируя файл, используемый с TextMate. Я просто удалил дополнительные файлы нежелательной почты, а затем внес несколько изменений в .tmTheme
, а также добавил поддержку диспетчера пакетов.
Смотрите этот проект здесь: https://github.com/nathanleiby/ChucK.tmbundle.
Как установить новые синтаксисы
Управление пакетами
В идеале синтаксис, который вы уже хотите, включен для загрузки в Sublime Text Package Control. Поиск в пакете Управление и установка напрямую. (Если у вас еще нет управления пакетами, вы должны получить его: https://github.com/wbond/package_control_channel/)
В ручном режиме
Если вы загружаете файл .tmTheme
или .tmBundle
напрямую, вы хотите скопировать его в соответствующую папку пакетов в ST. Обратите внимание, что существует папка /Packages
и папка /Packages/User
. Документация ST2 предлагает копирование на последнюю, поскольку она гарантируется, что она будет сохранена, даже если другие пакеты в основной папке будут стерты/изменены во время обновления.
В OSX этот каталог: ~/Library/Application Support/Sublime Text 2/Packages/User/
(Примечание. Вы можете предпочесть git clone
пакет в эту папку, чтобы вы могли легко обновить его.)
Как создать свой собственный
Если вы хотите выкопать и настроить подсветку синтаксиса, вот несколько мест для начала.
- Нарисуйте свои регулярные выражения.
- Документация Sublime Text для определения синтаксиса
-
<ctrl> + <shift> + p
. Всякий раз, когда вы смотрите на файл, выберите любое слово и нажмите эту комбинацию клавиш, затем загляните в нижний колонтитул. Вы должны увидеть серию описаний синтаксиса. Например: я просто выделил слово в файле SQL, на который я смотрю, и ответ был:source.sql string.other.quoted.backtick.sql
. - Вы, вероятно, предпочтете синтаксический анализ вашего синтаксиса с использованием JavaScript/JSON, а не XML. Используйте PackageDev. Вы можете получить это через Управление пакетами. Он имеет команды, которые позволяют вам перемещаться между файлами .json(JSON) и .tmTheme(XML).
- A fooobar.com/questions/124676/....
Caveat
Это может быть очевидным, но полезность подсветки синтаксиса связана с тем, какую цветовую схему вы выбрали в Sublime Text. (Sublime Text 2 → Настройки → Цветовая схема → ...)
У меня еще не было возможности изучить/проверить это подробно, но кажется, что некоторые цветовые схемы могут различать больше/меньше типов синтаксических элементов.
Я очень рекомендую цветовую схему "Monokai" (в частности, вариант "Monokai Soda" ) по этой причине - кажется, "вывести цвета".