Я уже некоторое время использую BBEdit для разработки. Я часто использую BBEdit для его поиска и замены. Иногда я хочу удалить все окончания строк и табуляции из выделенного текста, что я легко сделал с помощью регулярного выражения в BBEdit, поскольку его поиск и замена доступны для сценариев. У Coda есть возможность выполнять поиск и замену grep, но я не думаю, что это можно написать в сценарии. Итак, я подошел к этому двумя способами: 1) посмотреть, могу ли я найти и заменить grep в Coda с помощью Applescript (что я не думаю, что это возможно), или 2) передать мой текст в командную строку и сделать это сюда. Если у кого-то нет примера первого, этот вопрос будет связан с выполнением этого через командную строку.
Я использую один из встроенных скриптов Coda в качестве шаблона в сочетании с некоторыми другими подобными темами по этой проблеме. Я НЕ являюсь экспертом по Applescript или регулярным выражениям, поэтому, пожалуйста, не обращайте на меня внимания, если это простая ошибка.
Текст, который я ввожу, может сильно различаться, но обычно это код HTML и/или JS.
Этот скрипт запустится, но ничего не произойдет. Есть идеи?
-- script settings
on CodaScriptSettings()
return {displayName:"Remove Line Endings", inContextMenu:"yes"}
end CodaScriptSettings
-- actual script
tell application "Coda"
try
tell current split of front document
if selected text is not equal to "" then
set someText to selected text
else
set someText to contents
end if
end tell
on error
beep
return
end try
end tell
set shellscriptString to "echo " & quoted form of someText & "|sed \"s/[\\t\\r\\n\\x]+/ /g\"" as string
set shellresult to do shell script shellscriptString without altering line endings
tell application "Coda"
try
tell current split of document 1
if selected text is not equal to "" then
set selected text to shellresult
else
set contents to shellresult
end if
end tell
on error
beep
end try
end tell