emacs-emojify

fork of https://github.com/iqbalansari/emacs-emojify
Log | Files | Refs | LICENSE

commit ec4270188372e41fb083537ccb72fd5ef1ff2bcf
parent 9de398c36331fd42ed576ec7501bd2d14ec48119
Author: Iqbal Ansari <iqbalansari02@yahoo.com>
Date:   Mon,  5 Sep 2016 17:53:54 +0530

Update redisplay emojis after prettify-symbol-mode changes

Diffstat:
Memojify.el | 21++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/emojify.el b/emojify.el @@ -1068,7 +1068,7 @@ of the window. DISPLAY-START corresponds to the new start of the window." ;; Integration with prettify-symbols-mode -(defun emojify-populate-emojis-from-pretty-symbol-mode () +(defun emojify-populate-emojis-from-prettify-symbol-mode () "Populate additional text to display from `prettify-symbols-alist'." (when (and (member 'pretty-symbols emojify-emoji-styles) (bound-and-true-p prettify-symbols-alist)) @@ -1093,6 +1093,12 @@ of the window. DISPLAY-START corresponds to the new start of the window." (let ((re (regexp-opt new-regexps 'symbols))) (setq emojify-regexps (cons re (delete re emojify-regexps)))))))) +(defun emojify-handle-prettify-symbol-mode () + "Redisplay emojis after `prettify-symbol-mode' is enabled/disabled." + (when (bound-and-true-p prettify-symbols-mode) + (emojify-populate-emojis-from-prettify-symbol-mode)) + (emojify-redisplay-emojis-in-region)) + ;; Lazy image downloading @@ -1173,8 +1179,6 @@ run the command `emojify-download-emoji'"))) ;; Download images if not available (emojify-ensure-images) - (emojify-populate-emojis-from-pretty-symbol-mode) - ;; Install our jit-lock function (jit-lock-register #'emojify-redisplay-emojis-in-region) (add-hook 'jit-lock-after-change-extend-region-functions #'emojify-after-change-extend-region-function t t) @@ -1192,8 +1196,12 @@ run the command `emojify-download-emoji'"))) ;; Redisplay visible emojis when emoji style changes (add-hook 'emojify-emoji-style-change-hook #'emojify-redisplay-emojis-in-region) + ;; Add symbols from prettify symbol mode, to displayed emojis and redisplay + ;; emojis when prettify-symbols-mode is activated + (add-hook 'prettify-symbols-mode-hook #'emojify-handle-prettify-symbol-mode) + ;; Repopulate emojis from prettify-symbols-alist when style changes - (add-hook 'emojify-emoji-style-change-hook #'emojify-populate-emojis-from-pretty-symbol-mode))) + (add-hook 'emojify-emoji-style-change-hook #'emojify-handle-prettify-symbol-mode))) (defun emojify-turn-off-emojify-mode () "Turn off `emojify-mode' in current buffer." @@ -1211,9 +1219,12 @@ run the command `emojify-download-emoji'"))) (remove-hook 'deactivate-mark-hook #'emojify-update-visible-emojis-background-after-command t) (remove-hook 'window-scroll-functions #'emojify-update-visible-emojis-background-after-window-scroll t) + ;; Disable display of symbols + (remove-hook 'prettify-symbols-mode-hook #'emojify-handle-prettify-symbol-mode) + ;; Remove style change hooks (remove-hook 'emojify-emoji-style-change-hook #'emojify-redisplay-emojis-in-region) - (remove-hook 'emojify-emoji-style-change-hook #'emojify-populate-emojis-from-pretty-symbol-mode)) + (remove-hook 'emojify-emoji-style-change-hook #'emojify-handle-prettify-symbol-mode)) ;;;###autoload (define-minor-mode emojify-mode