Function: jinx--correct-menu

jinx--correct-menu is a natively compiled function defined in jinx.el.

Signature

(jinx--correct-menu &rest _)

Documentation

Return popup mouse menu to correct misspelling.

Source Code

;; Defined in /nix/store/b5jnxgwmlp7hh60wfrx7amhrmrpfcqqi-emacs-packages-deps/share/emacs/site-lisp/elpa/jinx-20260926.912/jinx.el
(defun jinx--correct-menu (&rest _)
  "Return popup mouse menu to correct misspelling."
  (when-let* ((posn (event-start last-input-event))
              (pt (posn-point posn))
              (ov (car (jinx--get-overlays pt pt t))))
    (let ((menu nil)
          (word (buffer-substring-no-properties
                 (overlay-start ov) (overlay-end ov))))
      (dolist (dict jinx--dicts)
        (when-let* ((desc (jinx--mod-describe dict))
                    (suggestions (jinx--mod-suggest dict word)))
          (push `[,(concat "── " (car desc) " ─ " (cdr desc) " ──") :active nil] menu)
          (cl-loop for w in suggestions repeat jinx-menu-suggestions do
                   (push `[,w (jinx--correct-replace ,ov ,w)] menu))))
      (when-let* ((suggestions (jinx--session-suggestions word)))
        (push ["── Session ──" :active nil] menu)
        (cl-loop for w in suggestions repeat jinx-menu-suggestions do
                 (push `[,w (jinx--correct-replace ,ov ,w)] menu)))
      (let ((submenu (list "Accept and save")))
        (cl-loop for (key . fun) in jinx--save-keys do
                 (cl-loop for (k w a) in (funcall fun 'format key word) do
                          (push `[,a (jinx-correct-word
                                      ,(overlay-start ov) ,(overlay-end ov)
                                      ,(concat k w))]
                                submenu)))
        (push (nreverse submenu) menu))
      (easy-menu-create-menu (format "Correct \"%s\"" word)
                             (delete-dups (nreverse menu))))))