Почему Sublime не обнаруживает автоматически эту пользовательскую Sublime-сборку с помощью селектора?
Я сохранил следующее node-sass.sublime-build
в моей папке пользователя
{
"shell_cmd": "node-sass.cmd $file",
"selector": "source.scss"
}
у меня есть slideEditor.scss
файл. Если я явно установить систему сборки на node-sass
, Ctrl+ B работает просто отлично, но если я установлю его на "Автоматически", Ctrl+ B ничего не делает, ничего не записываясь в консоль. Что может происходить? По ограниченной документации я все делаю правильно.
1 ответ
Во-первых, краткий ответ на ваш вопрос: изменить "source.scss"
в "source.sass"
и система автоматической сборки должна работать нормально.
Фон и некоторые альтернативы:
Подсветка синтаксиса в Sublime (и TextMate, откуда пришла идея) основана на .tmLanguage
определения синтаксиса для каждого языка. Эти файлы XML/Plist в основном представляют собой серию регулярных выражений, которые присваивают свои совпадения областям. Например, в следующем CSS:
body {
margin: 0;
}
слово body
имеет сферу source.css meta.selector.css entity.name.tag.css
, source.css
является базовой областью или родительской для всех других областей. В файле Python основной областью видимости будет source.python
в HTML это text.html.basic
Яваскрипт source.javascript
и т. д. Эта базовая область "selector"
ищет - это никак не связано с именем файла.
Определение синтаксиса, которое вы используете, имеет базовую область видимости source.sass
Вот почему ваша система сборки не работала, если вы не выбрали ее специально (которая переопределяетselector
атрибуты). Есть два способа обойти это. Первое, как я уже говорил выше, это просто изменить селектор наsource.sass
и у вас все будет готово. Второе, что я предпочитаю, - это использовать подсветку синтаксиса для пакета Sass, доступную в Package Control. Во-первых, у него есть отдельные определения языка для SASS и SCSS, так что вы можете получить правильное выделение для обоих. Базовая область действия для SCSS source.scss
, как и следовало ожидать, в то время как для SASS это source.sass
, так что вы можете иметь отдельные системы сборки, если вы используете оба языка. Кроме того, определение синтаксиса намного богаче, чем пакет, который вы используете, поэтому, если вы используете одну из рекомендуемых цветовых схем, вы получите очень хорошее выделение всех различных элементов, ключевых слов, свойств и т. Д. Наконец, Пакет включает в себя множество дополнений и других дополнений, которые значительно облегчают написание таблиц стилей.