Function: cape-char--translation

cape-char--translation is a function defined in cape-char.el.

Signature

(cape-char--translation METHOD PREFIX)

Documentation

Return character translation hash for input method METHOD.

PREFIX are the prefix characters. Names (hash keys) that map to multiple candidates (hash values) in the quail translation map are not included. Hash values are either char or strings.

Source Code

;; Defined in ~/.emacs.d/elpa/cape-20260804.2303/cape-char.el
(eval-and-compile
  (defun cape-char--translation (method prefix)
    "Return character translation hash for input method METHOD.
PREFIX are the prefix characters. Names (hash keys) that map to
multiple candidates (hash values) in the quail translation map
are not included. Hash values are either char or strings."
    (when-let* ((im (assoc method input-method-alist))
                ((eq #'quail-use-package (nth 2 im)))
                (hash (make-hash-table :test #'equal))
                (dm (list 'decode-map)))
      (require 'quail)
      (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 (string-replace
                      ": " "-"
                      (replace-regexp-in-string
                       "[_ &.]+" "-" name)))
          (when (string-match-p "\\`[[:alnum:]-]*\\'" name)
            (setq name (format ":%s:" name))))
        (when (memq (aref name 0) prefix)
          (puthash name (if (vectorp val) (aref val 0) val) hash)))
      (quail-deactivate)
      hash)))