Ярлык Automator работает только в Textedit, но не в других - PullRequest
0 голосов
/ 06 августа 2020

Я пытался запустить часть кода в 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];
}

Снимок экрана, на котором показан рабочий процесс, обратите внимание, что выбрано «любое приложение».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...