Я создаю пакет для редактора Atom .Я хотел бы вызывать функцию всякий раз, когда пользователь обрезает, копирует или вставляет текст.В идеале у atom.clipboard
должно быть три события, на которые я мог бы подписаться, но это не так.
Я пытался использовать событие copy
, как в:
atom.views.getView(atom.workspace).addEventListener("copy", console.log);
... но это не работает.Событие не запускается-плюс пакет.Это в основном меняет clipboard.write
, так что он запускает часть моего кода всякий раз, когда пользователь что-то копирует.Это работает, но есть несколько проблем:
- Я вижу, что пользователь пишет в буфер обмена, но я не вижу, было ли это вырезкой или копией.Я хотел бы иметь возможность сделать это различие.
- Другие пакеты могут вызывать
clipboard.write
, но я забочусь только об обрезке, копировании и вставке пользователем.
Я мог быПопытайтесь выяснить проблему «вырезать против копии», подписавшись на изменения в документе, но это кажется более сложным и подверженным ошибкам, и я бы предпочел этого не делать.Есть ли лучшее решение?