branch: externals/ergoemacs-mode commit 59c8ab0f5b46eb7552d20997f3972d3b0607cc7f Author: Matthew Fidler <514778+mattfid...@users.noreply.github.com> Commit: Matthew Fidler <514778+mattfid...@users.noreply.github.com>
Remove ergoemacs substitute command keys --- ergoemacs-key-description.el | 294 ------------------------------------------- ergoemacs-mode.el | 2 - 2 files changed, 296 deletions(-) diff --git a/ergoemacs-key-description.el b/ergoemacs-key-description.el index 1ba401c..846ee54 100644 --- a/ergoemacs-key-description.el +++ b/ergoemacs-key-description.el @@ -71,7 +71,6 @@ (declare-function ergoemacs-map--cache-- "ergoemacs-map") (declare-function ergoemacs-map-keymap "ergoemacs-mapkeymap") -(declare-function ergoemacs-advice--real-substitute-command-keys "C") (defvar ergoemacs-key-description--display-char-cache nil "List of characters and fonts and if they display or not.") @@ -349,299 +348,6 @@ KBD is the keyboard code. LAYOUT is the layout that is used." (save-match-data (ergoemacs-key-description (read-kbd-macro code t))))) -(defvar ergoemacs-describe-keymap--ignore - (append '(again - begin - compose-last-chars - copy - cut - delete - delete-frame - deleteline - execute - find - header-line - help - iconify-frame - insertline - language-change - left-fringe - lwindow - make-frame-visible - menu-bar - mode-line - mouse-movement - open - paste - redo - ;; remap - right-fringe - rwindow - select-window - switch-frame - tool-bar - undo - vertical-line - vertical-scroll-bar - XF86Back - XF86Forward) - (if (eq system-type 'windows-nt) '(menu) '(apps))) - "Ignored prefixes of keymaps.") - -(defvar ergoemacs-describe-keymap--column-widths '(18 . 40) - "Column widths for key description tables.") - -(defun ergoemacs-key-description--keymap-item-2 (item) - "Get the description of ITEM for the table." - (cond - ((or (vectorp item) (stringp item)) - (ergoemacs-key-description item)) - ((listp item) - (cond - ((eq (car item) 'lambda) (cons nil "λ" )) - ((eq (car item) 'closure) (cons nil "#<closure>")) - ((eq (car item) 'keymap) (cons nil "#<keymap>")) - (t (format "%s" item)))) - ((symbolp item) - (if (ignore-errors (commandp item t)) - (cons 'help-function (format "%s" item)) - (cons nil (format "%s" item)))) - (t (cons nil (format"#<byte compiled %s>" "λ"))))) - -(defun ergoemacs-key-description--keymap-blame (key map) - "Find the source of KEY in MAP." - (let (composed-list parent ret tmp) - (cond - ((not map) (setq ret "")) - ((not key) (setq ret "")) - ((ergoemacs-keymapp map) - (setq composed-list (ergoemacs :composed-list map) - parent (keymap-parent map)) - (catch 'found-source - (when composed-list - (dolist (cur-map composed-list) - (when (and (ergoemacs-keymapp cur-map) - (setq tmp (lookup-key cur-map key)) - (not (integerp tmp))) - (setq ret (ergoemacs cur-map :map-key)) - (throw 'found-source t))))) - (when (and parent (not composed-list)) - (unwind-protect - (progn - (set-keymap-parent map nil) - (when (and (setq tmp (lookup-key map key)) (not (integerp tmp))) - (setq ret (ergoemacs map :map-key)))) - (set-keymap-parent map parent))) - (when (and (not parent) (not composed-list) (setq tmp (lookup-key map key)) (not (integerp tmp))) - (setq ret (ergoemacs map :map-key))) - (when (and (not ret) parent) - (setq ret (ergoemacs-key-description--keymap-blame key parent))))) - (cond - ((and ret (integerp ret)) - (if (and (setq tmp (ergoemacs ret :map-list)) - (setq tmp (nth 0 tmp))) - (setq ret (cons 'help-variable (format "%s" tmp))) - (setq ret (cons nil "?")))) - ((and ret (consp ret) (consp (cdr ret))) - (setq ret (cons 'ergoemacs-component-help (nth 1 ret))))) - ret)) - -(defun ergoemacs-key-description--keymap-item (&optional elt keymap help) - "Get keymap description for ELT based on KEYMAP. - -When HELP is non-nil, assume this is a help buffer and insert the keymap item. - -Otherwise return the value." - (let* ((column-widths ergoemacs-describe-keymap--column-widths) - (last-column (- 80 (+ (car column-widths) (cdr column-widths) 3))) - (kd (or (and (consp elt) (ergoemacs-key-description (car elt))) - (and (eq elt t) (make-string (- (car column-widths) 2) ?-)) - "Key")) - (item (or (and (consp elt) (ergoemacs-key-description--keymap-item-2 (cdr elt))) - (and (eq elt t) (make-string (- (cdr column-widths) 2) ?-)) - "Command")) - (key-item (format "%s%s%s" kd (make-string (max 1 (- (car column-widths) (length kd))) ? ) - (or (and (consp item) (cdr item)) item))) - (src (or (and (consp elt) (ergoemacs-key-description--keymap-blame (car elt) keymap)) - (and (eq elt t) (make-string (- last-column 2) ?-)) - "Source")) - type item-type) - (when (consp src) - (setq type (car src) - src (format "%s" (cdr src)))) - (when (consp item) - (setq item-type (car item) - item (format "%s" (cdr item)))) - (if (not help) - (format "%s%s%s" key-item (make-string (max 1 (- (+ (car column-widths) (cdr column-widths)) (length key-item))) ? ) src) - (insert key-item) - (when (and item-type (looking-back (regexp-quote item) nil)) - (help-xref-button 0 item-type (intern (match-string 0)))) - (insert (make-string (max 1 (- (+ (car column-widths) (cdr column-widths)) (length key-item))) ? )) - (insert src) - (when (and type (looking-back (regexp-quote src) nil)) - (help-xref-button 0 type (intern (match-string 0))))))) - -(defun ergoemacs-key-description--keymap (map &optional help) - "Describes the keymap MAP. - -When HELP is non-nil, insert and add help cross-refences." - (let ((map (or (and (symbolp map) (symbol-value map)) - (and (consp map) (eq (car map) 'keymap) map))) - ret) - (setq ret - (ergoemacs-cache (intern (format "describe-keymap-ret%s" (mapconcat (lambda(x) (md5 (format "%s" x))) (ergoemacs map :key-hash) "_"))) - (ergoemacs-map-keymap - (lambda (cur-key item) - (unless (eq item 'ergoemacs-prefix) - (cond - ((consp cur-key)) - ((memq (elt cur-key 0) ergoemacs-describe-keymap--ignore)) - ((consp item)) - ((not item)) - (t - (push (cons cur-key item) ret))))) - map) - ret)) - (setq ret (append (list nil t) (sort ret (lambda(e1 e2) (ergoemacs :key-lessp (car e1) (car e2)))))) - (if help - (insert (ergoemacs-cache (intern (format "describe-keymap-help%s" (mapconcat (lambda(x) (md5 (format "%s" x))) (ergoemacs map :key-hash) "_"))) - (with-temp-buffer - (dolist (x ret) - (ergoemacs-key-description--keymap-item x map t) - (insert "\n")) - (buffer-string)))) - (ergoemacs-cache (intern (format "describe-keymap%s" (mapconcat (lambda(x) (md5 (format "%s" x))) (ergoemacs map :key-hash) "_"))) - (concat "\n" (mapconcat (lambda(x) (ergoemacs-key-description--keymap-item x map)) ret "\n")))))) - -(defun ergoemacs-key-description--substitute-command-keys (string) - "Substitute key descriptions for command names in STRING. -A replacement for `substitute-command-keys'." - (if (not (stringp string)) nil - (let (quote-p - slash-p - command-p - command - mapvar-p - mapvar - map-p - current-map - tmp - rep-item - cur-item - ret) - (dolist (elt (append (vconcat string) nil)) - (cond - ((and (boundp 'text-quoting-style) (memq elt '(8216 96))) ;; Left quote - (cond - (quote-p - (setq ret (concat ret (make-string 1 elt)) - quote-p nil)) - ((or (eq text-quoting-style 'curve) - (eq text-quoting-style nil)) - (setq ret (concat ret (make-string 1 8216)))) - ((eq text-quoting-style 'straight) - (setq ret (concat ret "'"))) - ((eq text-quoting-style 'grave) - (setq ret (concat ret "`"))))) - ((and (boundp 'text-quoting-style) (memq elt '(8217 39))) ;; Right quote - (cond - (quote-p - (setq ret (concat ret (make-string 1 elt)) - quote-p nil)) - ((or (eq text-quoting-style 'curve) - (eq text-quoting-style nil)) - (setq ret (concat ret (make-string 1 8217)))) - ((eq text-quoting-style 'straight) - (setq ret (concat ret "'"))) - ((eq text-quoting-style 'grave) - (setq ret (concat ret "'"))))) - ;;\ - ((= ?\\ elt) - (setq slash-p t - mapvar nil - command nil)) - ;;\[ - ((and slash-p (= 91 elt)) - (if quote-p - (setq ret (concat ret "\\[") - slash-p nil - quote-p nil) - (setq command-p t - slash-p nil))) - ;;\{ - ((and slash-p (= 123 elt)) - (if quote-p - (setq ret (concat ret "\\{") - slash-p nil - quote-p nil) - (setq slash-p nil - mapvar-p t))) - ;;\< - ((and slash-p (= ?< elt)) - (if quote-p - (setq ret (concat ret "\\<") - slash-p nil - quote-p nil) - (setq slash-p nil - map-p t))) - ;;\= - ((and slash-p (= ?= elt)) - (if quote-p - (setq ret (concat ret "\\=") - slash-p nil - quote-p nil) - (setq quote-p t - slash-p nil))) - ;;\<...> - ((and map-p (= ?> elt)) - (setq map-p nil - current-map (intern mapvar))) - (map-p - (setq mapvar (or (and mapvar (concat mapvar (make-string 1 elt))) - (make-string 1 elt)))) - ;;\{...} - ((and mapvar-p (= 125 elt)) - (setq mapvar-p nil - mapvar (intern mapvar) - rep-item "") - (and - (boundp mapvar) - (setq rep-item (ergoemacs-key-description--keymap mapvar))) - (setq ret (concat ret rep-item))) - (mapvar-p - (setq mapvar (or (and mapvar (concat mapvar (make-string 1 elt))) - (make-string 1 elt)))) - ;;\[...] - ((and command-p (= 93 elt)) - ;; Completed, look for command. - (setq command-p nil - command (intern command) - rep-item command - cur-item (where-is-internal command (symbol-value current-map) t)) - (if cur-item - (setq rep-item (ergoemacs-key-description cur-item)) - (setq rep-item - (format "%s %s" (or (and (setq tmp (where-is-internal 'execute-extended-command nil t)) (ergoemacs-key-description tmp)) "M-x") - rep-item))) - (setq ret (concat ret rep-item))) - (command-p - (setq command (or (and command (concat command (make-string 1 elt))) - (make-string 1 elt)))) - (t - (when slash-p - (setq slash-p nil - ret (concat ret "\\"))) - (setq quote-p nil - command-p nil - mapvar-p nil - map-p nil - ret (concat ret (make-string 1 elt)))))) - ret) - )) - -(defalias 'ergoemacs-substitute-command-keys 'ergoemacs-key-description--substitute-command-keys) - (provide 'ergoemacs-key-description) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ergoemacs-key-description.el ends here diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el index 56a6b08..e20fccc 100644 --- a/ergoemacs-mode.el +++ b/ergoemacs-mode.el @@ -427,7 +427,6 @@ after initializing ergoemacs-mode. (add-hook 'emulation-mode-map-alists ergoemacs-override-alist) (add-hook 'minor-mode-map-alist ergoemacs-minor-alist) (advice-add 'undefined :around #'ergoemacs-advice-undefined) - (advice-add 'substitute-command-keys :around #'ergoemacs-advice-substitute-command-keys) (advice-add 'handle-shift-selection :before #'ergoemacs-advice-handle-shift-selection) (advice-add 'read-key :before #'ergoemacs-advice-read-key)) @@ -436,7 +435,6 @@ after initializing ergoemacs-mode. (remove-hook 'emulation-mode-map-alists 'ergoemacs-override-alist) (remove-hook 'minor-mode-map-alist ergoemacs-minor-alist) (advice-remove 'undefined #'ergoemacs-advice-undefined) - (advice-remove 'substitute-command-keys #'ergoemacs-advice-substitute-command-keys) (advice-remove 'handle-shift-selection #'ergoemacs-advice-handle-shift-selection) (advice-remove 'read-key #'ergoemacs-advice-read-key))