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))))))