2010-04-03 2 views
1

ПроблемаКак получить вывод скрипта пользователя Xcode в автоматический отступ?

Я хочу, чтобы нажать клавишу, когда у меня есть строка выделена и конвертировать из одной строки:

JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1 to:date2 intoMOC:mockRawMOC]; 

к многострочному заявлению:

JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1 
                 to:date2 
                intoMOC:mockRawMOC]; 

Что Я пробовал

У меня есть простой рубиновый скрипт, который меня почти достает.

#!/usr/bin/env ruby 
s = STDIN.read 
s.gsub!(/(:.+?\w) (\w.+?)/,'\1' + "\n\t" +'\2') 
print s 

Когда я поставил вывод «Заменить выбор», я получаю это:

JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1 
    to:date2 
    intoMOC:mockRawMOC]; 

Когда я поставил вывод «Место на буфер обмена», а затем вставьте его, я получаю желаемое результат:

JGLogEntry *logEntry = [JGLogEntry applicationNoWindowsFrom:date1 
                 to:date2 
                intoMOC:mockRawMOC]; 

Однако это два нажатия клавиш, которые неуклюжи.

Любые идеи, как я могу получить замененный текст, чтобы подчиняться правилам автоматического отступа Xcode?

ответ

2

Проверьте установленный сценарий для «Преобразовать вкладки в пробелы» и как он выполняет встроенный аппликатор. Используйте это, чтобы сказать XCode, чтобы выполнить пункт меню

Edit> Формат> Re-Отступ

Я не знаю, как вы делаете это с рубином, ни подробностей о содержании AppleScript, но Я бы сделал ставку довольно прямолинейно.

+0

Спасибо за предложение. Я могу получить Xcode для повторного использования через Applescript, но поскольку он запускается * перед *, выбор заменяется, он не действует. Наверное, сейчас мне придется жить с отбросом. –