Добавление скрипта в контекстное меню поиска MacOS - PullRequest
10 голосов
/ 18 ноября 2010

Я хочу добавить опцию в контекстное меню поиска, которая вызывает hg add %1, где% 1 - полный путь к выбранному файлу в поиске.
Конечно, есть и другие полезные случаи, которые я могу добавить в контекстное меню.
Есть ли простой способ сделать это, не включающий установку стороннего программного обеспечения или кодирование на скомпилированном языке и создание бинарных плагинов?
Как создать сценарий с помощью редактора сценариев и поместить его в /Library/Contextual Menu Items/?

Ответы [ 3 ]

20 голосов
/ 25 сентября 2012

Изменены шаги для Snow Leopard / 10.6 + с момента правильного ответа @ khachik. Чтобы убедиться, что это ясно, вот шаги:

  • Open Automator
  • Создать новый Service
  • Установите два верхних выпадающих списка в верхней части на «Служба получает выбранный files or folders в Finder.app»
  • Установите для входа Pass значение as arguments
  • Напишите свой сценарий (см. Ниже).
  • Сохраните и выберите название услуги

Ваше окно Automator должно выглядеть так: : screenshot

Теперь вы можете выбрать несколько файлов в Finder и затем запустить свой сервис из подменю Services.

Для вашего сценария, я думаю, вы хотите следующее. Это изменяет каталог каждого аргумента, а затем добавляет его. Я использую цикл for, потому что Finder позволяет вам выбрать несколько файлов в разных папках (которые могут быть в разных репозиториях).

for f in "$@"
do
    cd $(dirname $f); hg add $f 
done

Если вы предполагаете, что они все находятся в одном и том же хранилище, вы можете сделать это:

cd $(dirname $1); hg add $@
15 голосов
/ 18 ноября 2010

Откройте Automator, создайте собственный рабочий процесс. Из Library выберите Utilites, затем перетащите Run shell script в рабочий процесс. Установите Pass input на As arguments. Напишите в своем сценарии: hg add $1. Затем File menu->Save as a Plugin, укажите имя, выберите plugin for Finder, Save. Щелкните правой кнопкой мыши на файле, выберите More->Autamator-><PLUGIN_NAME>.

2 голосов
/ 20 ноября 2010

Да, я знаю, что это программное обеспечение сторонних производителей - но для более полного обзора - http://www.abracode.com/free/cmworkshop/on_my_command.html. Еще один инструмент, который облегчит написание сценария, - это http://wafflesoftware.net/thisservice/ добавление элементов в сервисное меню..

...