Использование поиска / замены в выводе имени файла в системе сборки - PullRequest
0 голосов
/ 04 ноября 2019

Как я могу найти / заменить имя выходного файла в моей команде системы сборки? Например, если файл, который я редактирую, называется file_src, то я бы хотел, чтобы моя система сборки выводила его как file_build.

"shell_cmd": "my_command ${file} > ${file_name_but_search_replaced}"

1 Ответ

1 голос
/ 04 ноября 2019

Расширения переменных в системах сборки выполняются с использованием того же базового механизма, который используется при заменах фрагментов , а именно:

${var_name/regex/format_string/options}

Как указано в ссылке выше, вфрагменты именованная переменная может быть полями фрагмента или другими специальными переменными, которые применяются только в фрагментах, таких как $SELECTION. Внутри файла sublime-build вместо него используются переменные сборки .

Как вы можете применять, это зависит от ваших потребностей и имен файлов. Например:

{
    "shell_cmd": "echo '${file_path}/${file_name/_src/_build/}'"
}

Следует иметь в виду, что замена будет применяться к первому совпадению в файле (если не указан параметр, который делает его глобальным, и в этом случае он применяется ко всем)здесь расширение - это путь к файлу, за которым следует имя файла с подстановкой только в этом поле.

Это гарантирует, что только имя файла будет изменено в тех случаях, когда путь может также содержать регулярное выражение. В зависимости от вашего варианта использования это может не иметь значения (или быть нежелательным), и в этом случае вы можете применить его к $file.

...