emacs-emojify

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

commit 1fdb3a0240d42a30e9904ae43b9d7a27046dd73d
parent 553303dda9e1b68b03cf612efceef7fc88fe6e0b
Author: Iqbal Ansari <iqbal.ansari@ignitesol.com>
Date:   Thu, 19 Nov 2015 17:30:31 +0530

First attempt at implementing electric backspace/delete

Diffstat:
Memojify.el | 17+++++++++++++++++
1 file changed, 17 insertions(+), 0 deletions(-)

diff --git a/emojify.el b/emojify.el @@ -531,6 +531,11 @@ mark the start and end of region containing the text." (when display (list 'display display)))) +(defvar emojify-emoji-keymap (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-d") #'emojify-delete-emoji-forward) + (define-key map (kbd "DEL") #'emojify-delete-emoji-backward) + map)) + (defmacro emojify-with-saved-buffer-state (&rest forms) "Execute FORMS saving current buffer state. @@ -593,6 +598,7 @@ TODO: Skip emojifying if region is already emojified." 'emojify-text match 'emojify-start match-beginning 'emojify-end match-end + 'keymap emojify-emoji-keymap 'point-entered #'emojify-point-entered-function 'help-echo #'emojify-help-function))))))))))) @@ -628,10 +634,21 @@ BEG and END are the beginning and end of the region respectively" 'emojify-text t 'emojify-start t 'emojify-end t + 'keymap t 'help-echo t)))) ;; Setup the next iteration (setq beg emoji-end))))) +(defun emojify-delete-emoji-forward () + (interactive) + (delete-region (get-text-property (point) 'emojify-start) + (get-text-property (point) 'emojify-end))) + +(defun emojify-delete-emoji-backward () + (interactive) + (delete-region (get-text-property (1- (point)) 'emojify-start) + (get-text-property (1- (point)) 'emojify-end))) + (defun emojify-redisplay-emojis (&optional beg end) "Redisplay emojis in region between BEG and END.