Каждый, кто часто работает с текстами и оперирует такими понятиями, как «количество знаков» или «количество слов», ощущает острую необходимость в редакторе с текстовым счетчиком. Программы Pages, Word, Byword и им подобные оснащены таким средством.
Но не пропускать же через эти приложения любой текстовый фрагмент, когда нужно выяснить его объем — это не всегда удобно. Чтобы счетчик знаков, слов и абзацев был всегда под рукой, можно воспользоваться «Автоматором», создав в нем очень простую службу.
Запускайте Automator и в списке новых процессов выберите тип Служба. С самого начала настроим нашу будущую службу: в заголовке области конструктора выберите в верхних двух выпадающих списках пункты текст (text) и любой программе (any application), соответственно.
Теперь из бокового меню, из раздела Библиотеки > Утилиты, перетащите в область конструктора действие Запустить AppleScript (Run AppleScript). В области кода этого действия уже будет стандартная заготовка — замените ее на следующий код:
on run {input, parameters}
try
--Перевод входного текстового массива в строковый формат
set MyText to input as string
--Определение и запись в переменные числа знаков, слов и абзацев
set CharactersNumber to the number of characters of MyText
set WordsNumber to the number of words of MyText
set ParagraphsNumber to the number of paragraphs of MyText
--Формирование внешнего вида диалогового окна
set DialogIcon to ("///System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingText.icns") as POSIX file
set DialogTitle to "В выбранном текстовом фрагменте:"
set ResultString to "Знаков: " & CharactersNumber ¬
& return & "Слов: " & WordsNumber ¬
& return & "Абзацев: " & ParagraphsNumber
--Отображение диалогового окна с определенными выше значениями
using terms from application "Finder"
display dialog ResultString ¬
with icon DialogIcon ¬
buttons {"OK"} default button 1 ¬
with title DialogTitle
end using terms from
--Обработчик ошибочной ситуации
on error errmsg number errnum
display dialog errmsg & " [" & errnum & "] " ¬
buttons {"OK"} default button 1 with icon stop
end try
return input
end run
Собственно, и все. Остается только сохранить эту службу под названием, например, Статистика и проверить ее на деле — хотя бы на примере веб-браузера.
Загрузите какую-нибудь веб-страницу с более-менее объемным текстом, выделите произвольный фрагмент и щелкните на нем правой кнопкой мыши — в контекстном меню должна появиться команда Статистика (она может находиться в группе Службы). Нажав ее, вы увидите результат работы службы — маленький диалог с требуемой информацией о выделенном тексте: