diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2025-01-16 13:30:43 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2025-01-16 13:30:43 +0100 |
| commit | cf0553114f51d8970837423f1b2da4f0980cb1e1 (patch) | |
| tree | 70761473a44d38240433571da3ed20375b0d5d3c | |
| parent | ac3903c9bd986ec763279ffb0c3e5ee16e53747d (diff) | |
Better emoji normalization (Fix #143)
| -rw-r--r-- | cape-char.el | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cape-char.el b/cape-char.el index fc123e4..c301701 100644 --- a/cape-char.el +++ b/cape-char.el @@ -44,12 +44,17 @@ are not included. Hash values are either char or strings." (apply #'quail-use-package method (nthcdr 5 im)) (quail-build-decode-map (list (quail-map)) "" dm 0) (pcase-dolist (`(,name . ,val) (cdr dm)) + (when (equal method "emoji") + (setq name (replace-regexp-in-string + ": " "-" + (replace-regexp-in-string + "[’“”!()]" "" + (replace-regexp-in-string + "[_ &.]+" "-" name)))) + (when (string-match-p "\\`[[:alnum:]-]*\\'" name) + (setq name (format ":%s:" name)))) (when (memq (aref name 0) prefix) - (puthash - (if (equal method "emoji") - (string-replace "_" "-" name) - name) - (if (vectorp val) (aref val 0) val) hash))) + (puthash name (if (vectorp val) (aref val 0) val) hash))) (quail-deactivate) hash)))) |
