Как использовать этот путь в фрагментах textmate? - PullRequest
0 голосов
/ 25 августа 2011

Я хотел бы иметь строку, которая $ TM_PROJECT_DIRECTORY- $ TM_FILEPATH ..... $TM_PROJECT_DIRECTORY равно

/Users/me/Desktop/project/application/app_name

, а $TM_FILEPATH равно /Users/me/Desktop/project/application/app_name/application/models/user_model.php

Результат, который я хочу:

application/models/user_model.php

Ответы [ 3 ]

1 голос
/ 25 августа 2011

Вы не можете сделать это в синтаксисе необработанного фрагмента, но вы можете создавать фрагменты на лету, используя команды.

Итак, чтобы сделать то, что вы хотите, вы должны создать «New Command», а затем создать нужный фрагмент, например, ruby:

#!/usr/bin/env ruby
print ENV['TM_FILEPATH'].gsub(/^#{ENV['TM_PROJECT_DIRECTORY']}\//,'')

затем в Input установить none и в Output установить Insert as Snippet.

На самом деле, используя любой язык программирования TextMate, вы понимаете, что вы можете создавать множество мощных фрагментов на лету.

0 голосов
/ 15 июня 2012

Только что сам столкнулся с этой проблемой.Вот фрагмент кода, который я использовал:

FILEPATH=${TM_FILEPATH/#$TM_PROJECT_DIRECTORY\//}
echo -n "$FILEPATH"

Окружающие обратные кавычки выполняют код оболочки, когда Textmate вставляет фрагмент.

0 голосов
/ 25 августа 2011

${TM_FILEPATH/$TM_PROJECT_DIRECTORY\//}

Подробнее см. Раздел 7.7 «Фрагменты / преобразования» в справке TextMate.

...