Как мне получить выходные данные пользовательского скрипта Xcode для автоматического отступа? - PullRequest
1 голос
/ 03 апреля 2010

Проблема

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

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

для многострочного оператора:

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

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

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

#!/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?

1 Ответ

2 голосов
/ 04 апреля 2010

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

Правка> Формат> Повторный отступ

Я не уверен, как вы это делаете с ruby, ни о деталях содержимого appleScript, но я бы поспорил, что это довольно просто ...

...