Я пытался запустить часть кода в Automator. Он должен переформатировать текст для меня, когда он правильно запущен. Он получает входные данные из буфера обмена, а затем также выводит в виде буфера обмена. Я мог заставить его работать в textedit и chrome, когда применяю сочетание клавиш, которому я его назначил. Однако это не работает, когда я пытаюсь применить его в приложении под названием Anki. Я предполагаю, что это может быть связано с тем фактом, что это ввод текста, но это не имеет особого смысла.
Есть ли решение?
Код (который работает, и для вашего ссылку):
function run(input, parameters) {
var someText = input[0]
someText = someText.replace(/(\r\n|\n|\r)/gm," ");
someText = someText.replace(/\s+/g,' ');
someText = someText.replace(/(\s)([a-z])[.]/g, '\n$1 $2.');
someText = someText.replace(/(\s)([A-Z])([.])/g, '\n$1 $2.');
someText = someText.replace(/(\s)(\d|\d\d|\d\d\d)([.|:|)])(\s)/g, '\n\n$2'+'. ');
//Other features: lines for bracketed letters and numbers
someText = someText.replace(/([(])(\d|\d\d|\d\d\d)([)])/g, '\n$2'+'.');
someText = someText.replace(/([(])([A-Z]|[a-z])([)])/g, '\n $2'+'.');
//Replace the wor- d dash thingy in case onto another line
someText = someText.replace(/([a-z])([-])(\s)([a-z])/g, '$1$4');
let words = someText.split(' ');
input[0] = (words.join(' '));
// consider the modifications for F. etc or 1. 2. 3. as well as a) b) c). Maybe not a. b. because words do end with that
// return (input[0].unwrap);
return input[0];
}
Снимок экрана, на котором показан рабочий процесс, обратите внимание, что выбрано «любое приложение».