Когда я пытаюсь это сделать, я вижу, что он устанавливает синтаксис вкладки, которая была активна до того, как я выполнил команду.
Это говорит нам о том, что команда, указанная в командной строке, выполняется перед файлом загружен, вероятно, потому что ST делает это асинхронно.
Для меня, возможно заставить его работать, используя отдельный вызов:
subl C:\test\README && subl --command "set_file_type { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
Обратите внимание, что я не использую -w
, поскольку это будет ждать закрытия файла перед выполнением команды.
Кроме того, вы можете установить синтаксис нового файла напрямую, используя команду new_file
:
subl --command "new_file { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
Очевидно, , если вы хотите это в новом окне, вы можете оставить аргумент -n
. И если вы хотите, чтобы Sublime Text не возвращал управление оболочке до тех пор, пока вы не закроете файл, то вы также можете сохранить -w
, но, как я вижу, это работает, только если вы открываете файл, а не при создании новый. И если вы используете -w
, вы не сможете изменить синтаксис из командной строки. Возможно, вам лучше использовать такой плагин, как ApplySyntax
, либо самостоятельно написать небольшой скрипт Python, чтобы установить тип файла при открытии файла с путем C:\test\README
et c.
.