commit 144c6ccea92c1891a7cd46d77fe2592846471d0d parent 18d6e9951de4be585be20f72ae17ace817d159e9 Author: Iqbal Ansari <iqbalansari02@yahoo.com> Date: Mon, 13 Mar 2017 17:37:42 +0530 Add a dedicated mode for emoji description buffer Diffstat:
M | emojify.el | | | 34 | +++++++++++++++++++++++++++++++--- |
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/emojify.el b/emojify.el @@ -1633,6 +1633,35 @@ This respects the `emojify-emoji-styles' variable." (defvar emojify-help-buffer-name "*Emoji Help*") +(defvar-local emojify-described-emoji nil) + +(defun emojify-description-copy-emoji () + "Copy the emoji being displayed at current line in apropos results." + (interactive) + (save-excursion + (kill-new emojify-described-emoji) + (message "Copied emoji (%s) to kill ring!" emojify-described-emoji))) + +(defvar emojify-description-mode-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map emojify-common-mode-map) + (define-key map "c" #'emojify-description-copy-emoji) + (define-key map "w" #'emojify-description-copy-emoji) + map) + "Keymap used in `emojify-description-mode'.") + +(define-derived-mode emojify-description-mode fundamental-mode "Describe Emoji" + "Mode used to display results of description for emojis. + +\\{emojify-description-mode-map}" + (emojify-mode +1) + ;; view mode being a minor mode eats up our bindings avoid it + (let (view-read-only) + (read-only-mode +1)) + (goto-address-mode +1)) + +(put 'emojify-description-mode 'mode-class 'special) + (defun emojify--display-emoji-description-buffer (emoji) "Display description for EMOJI." (with-current-buffer (get-buffer-create emojify-help-buffer-name) @@ -1685,9 +1714,8 @@ This respects the `emojify-emoji-styles' variable." (concat "http://emojipedia.org/" (downcase (emojify--string-join words "-")))) "\n"))) - (emojify-redisplay-emojis-in-region) - (view-mode +1) - (goto-address-mode +1)) + (emojify-description-mode) + (setq emojify-described-emoji (ht-get emoji "emoji"))) (display-buffer (get-buffer emojify-help-buffer-name)) (get-buffer emojify-help-buffer-name))