Этот кусок кода реализует основные функции джуйкоплагина от @mad, которые адаптированы для микроблога psto.net юзером @nextus. То, что получилось, адаптировано для point.im юзером @rayslava, в итоге выброшено на мороз юзером @a13 и перепилено с нуля.
Этот плагин добавляет следующие возможности:
- цветные id/username/теги;
- кликабельные id/username/теги:
- Если нажать
RET
на id/username/теге, то оно будет вставлено в буфер ввода;
- Если нажать
Загрузите последнюю версию:
git clone git://github.com/rayslava/emacs-point-el.git
Добавьте следующие строки в ваш инициализационный файл:
(add-to-list 'load-path "path/to/emacs-point-el/")
(require 'point-im)
(point-im-mode t)
Если используются пакеты use-package, quelpa и quelpa-use-package, можно сделать так:
(use-package point-im
:ensure nil
:quelpa
(point-im :repo "rayslava/emacs-point-el" :fetcher github :version original)
:config
(setq point-im-reply-id-add-plus nil)
(add-hook 'jabber-chat-mode-hook #'point-im-mode))
-
Для перемещения по сообщениям можно использовать
M-p
,M-n
; -
Для последовательной вставки в поле редактирования id сообщений
M-RET
;
Интеграция с avy
Все функции для быстрого перехода будучи вызванными с префиксным аргументом активируют найденную сущность. Без - вставляют в поле редактирования.
M-g i
быстрый переход на idM-g u
быстрый переход на имя пользователяM-g t
быстрый переход на тэгM-g p
ищет по всем выбранным сущностям + ссылкам (последние без префиксного аргумента вместо вставки открываются в браузере).
-
s
/u
- подписаться/отписаться на/от пользователя или пост под курсором. -
g
/Левая кнопка мыши
- открыть пост или страницу юзера в веб-интерфейсе. -
d
- удалить -
!
- рекомендовать -
w
- в белый список -
b
- в чёрный список -
C-c C-p
/Правая кнопка мыши
- контекстное меню для id/username/тегов
После того как вы ответили на сообщение т.е. нажали RET
на id, можно нажать
C-u C-SPACE
(стандартное сочетание емакса для навигация по локальным меткам) и
переместиться на позицию где вы были (удобно когда приходит много сообщений и
по мере чтения отвечать на них)
Это дополнение тестировалось на jabber-el 0.8.92. В текстовом интерфейсе работает.
ВНИМАНИЕ
C jabber-el 0.7.1 и ниже плагин не работает!
- Тысячи их (несмотря на размер плагина)
Собственно @mad'у и @nextus'у за плагин. @4DA за функцию ответа на комментарий, @rayslava.
Просьба о багах/фичах/etc писать сюда #oojslq. В самом #oojslq сплошная ложь — мержреквест прислан и принят.