Добавление контекстного меню Finder script в MacOS

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

Ответ 2

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

  • Открыть Automator
  • Создайте новый Service
  • Установите верхние два раскрывающихся списка сверху, чтобы "Сервис получил выбранный files or folders в Finder.app"
  • Задайте ввод ввода as arguments
  • Напишите script (см. ниже).
  • Сохранить и выбрать имя службы

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

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

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

for f in "[email protected]"
do
    cd $(dirname $f); hg add $f 
done

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

cd $(dirname $1); hg add [email protected]

Ответ 3

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