Function: cape-wrap-trigger

cape-wrap-trigger is an autoloaded and byte-compiled function defined in cape.el.

Signature

(cape-wrap-trigger CAPF TRIGGER)

Documentation

Ensure that TRIGGER character occurs before point and then call CAPF.

See also corfu-auto-trigger. Example:
  (setq corfu-auto-trigger "/"
        completion-at-point-functions
        (list (cape-capf-trigger 'cape-abbrev ?/)))

Source Code

;; Defined in ~/.emacs.d/elpa/cape-20260804.2303/cape.el
;;;###autoload
(defun cape-wrap-trigger (capf trigger)
  "Ensure that TRIGGER character occurs before point and then call CAPF.
See also `corfu-auto-trigger'.
Example:
  (setq corfu-auto-trigger \"/\"
        completion-at-point-functions
        (list (cape-capf-trigger \\='cape-abbrev ?/)))"
  (when-let* ((pos (save-excursion (search-backward (char-to-string trigger) (pos-bol) 'noerror)))
              ((save-excursion (not (re-search-backward "\\s-" pos 'noerror)))))
    (pcase
        ;; Treat the trigger character as punctuation.
        (with-syntax-table cape--trigger-syntax-table
          (unless (eq (char-syntax trigger) ?.)
            (modify-syntax-entry trigger "."))
          (funcall capf))
      (`(,beg ,end ,table . ,plist)
       (when (<= pos beg (1+ pos))
         `( ,(1+ pos) ,end ,table
            :company-prefix-length t
            :exit-function
            ,(let ((pos (copy-marker pos))
                   (end (copy-marker (1+ pos))))
               (lambda (str status)
                 (delete-region pos end)
                 (when-let* ((exit (plist-get plist :exit-function)))
                   (funcall exit str status))))
            . ,plist))))))