Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!11.10.2024
Javascript for Mac Automation (JXA)
Зробив собі сьогодні шорткат Hyper+J
для копіювання поточної задачі з Jira у вигляді AB-123: перезібрати ядро
- бо саме такий формат мені потрібний у тексті коміту, та доводиться його писати щоразу вручну.
В мене вже є AppleScript для витягання вкладки. Та в назві вкладки всі дані є, тільки в вигляді [AB-123] перезібрати ядро - JIRA
. Ніби перетворити в потрібний вигляд тривіально, втім, в самому AppleScript немає регулярних виразів (та перетворення рядків взагалі виглядають дико). На StackOverflow радять викликати sed
. 🥶
Натомість я згадав, що окрім AppleScript, на macOS можна робити автоматизацію звичайнісіньким JavaScript. В якому є звичайнісінькі RegExp
. Залишилося перекласти скрипт, додати регулярку та повісити через BetterTouchTool на комбінацію клавіш в Safari. Успіх!
Щодо автоматизації на JavaScript, її можна запускати хоч з термінала командою osascript -l JavaScript copy_jira_issue.js
. Єдине, чим вона мені не подобається — синтаксис команд доводиться перекладати з документації з AppleScript. Ось, наприклад, в цьому скрипті є команда app.setTheClipboardTo()
. Ніхто в JS так функції не називає — проте це адаптація команди set the clipboard to
з AS, де вона читається “як людська мова”. Бо як я розумію, весь цей API здобувається автоматично з тих самих “словників”.
PS. Також сьогодні знайшов чудову довідку про доступ до вкладок різних браузерів з AppleScript, тож можна й для Chrome зробити версію.