Skip to content

Commit 3b570e3

Browse files
committed
done
1 parent f42f283 commit 3b570e3

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

Eask

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@
1111

1212
(source 'gnu)
1313
(source 'melpa)
14+
(source 'jcs-elpa)
1415

1516
(depends-on "emacs" "27.1")
1617
(depends-on "sideline")
1718
(depends-on "emojify")
19+
(depends-on "ht")
1820

1921
(setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432

sideline-emoji.el

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
;; Maintainer: Shen, Jen-Chieh <[email protected]>
77
;; URL: https://github.com/emacs-sideline/sideline-emoji
88
;; Version: 0.1.0
9-
;; Package-Requires: ((emacs "27.1") (sideline "0.1.0") (emojify "1.2.1"))
9+
;; Package-Requires: ((emacs "27.1") (sideline "0.1.0") (emojify "1.2.1") (ht "2.4"))
1010
;; Keywords: convenience sideline emoji
1111

1212
;; This file is not part of GNU Emacs.
@@ -40,6 +40,7 @@
4040
;;; Code:
4141

4242
(require 'emojify)
43+
(require 'ht)
4344
(require 'sideline)
4445

4546
(defgroup sideline-emoji nil
@@ -48,19 +49,40 @@
4849
:group 'tool
4950
:link '(url-link :tag "Repository" "https://github.com/emacs-sideline/sideline-emoji"))
5051

52+
(defface sideline-emoji
53+
'((t :foreground "#828282"
54+
:background unspecified
55+
:italic t))
56+
"Face for emoji info."
57+
:group 'sideline-emoji)
58+
5159
;;;###autoload
5260
(defun sideline-emoji (command)
5361
"Backend for sideline.
5462
5563
Argument COMMAND is required in sideline backend."
5664
(cl-case command
57-
(`candidates (cons :async #'sideline-emoji--show))))
65+
(`candidates (cons :async #'sideline-emoji--show))
66+
(`face 'sideline-emoji)))
67+
68+
(defun sideline-emoji--display (emoji)
69+
"Return the display text for EMOJI."
70+
(when-let* ((data (ignore-errors (emojify-get-emoji emoji)))
71+
(name (ht-get (emojify-get-emoji emoji) "name"))
72+
(emo (ht-get (emojify-get-emoji emoji) "emoji"))
73+
(style (ht-get (emojify-get-emoji emoji) "style")))
74+
(format "%s %s (%s)" emo name style)))
75+
76+
(defun sideline-emoji--display-char (ch)
77+
"Return the display text for character (CH)."
78+
(when-let* ((emoji (ignore-errors (string ch))))
79+
(sideline-emoji--display emoji)))
5880

5981
(defun sideline-emoji--show (callback &rest _)
6082
"Execute CALLBACK to display with sideline."
61-
(when-let* ((text (sideline-color--thing-at-point 'symbol t))
62-
(color (color-values text))
63-
(display (concat (propertize sideline-color-text 'font-lock-face `(:foreground ,text)) " " text)))
83+
(emojify-create-emojify-emojis)
84+
(when-let* ((display (or (sideline-emoji--display-char (char-after))
85+
(sideline-emoji--display-char (char-before)))))
6486
(funcall callback (list display))))
6587

6688
(provide 'sideline-emoji)

0 commit comments

Comments
 (0)