Function: eca-completion-accept
eca-completion-accept is an interactive and natively compiled function
defined in eca-completion.el.
Signature
(eca-completion-accept)
Documentation
Accept completion.
Key Bindings
eca-completion-map <tab> eca-completion-map TAB
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-completion.el
(defun eca-completion-accept ()
"Accept completion."
(interactive)
(when (eca-completion--overlay-visible)
(let* ((text (overlay-get eca-completion--overlay 'completion))
(start (overlay-get eca-completion--overlay 'start))
(end (- (line-end-position) (overlay-get eca-completion--overlay 'tail-length)))
(completion-start (overlay-get eca-completion--overlay 'completion-start)))
;; If there is extra indentation before the point, delete it and shift the completion
(when (and (< completion-start (point))
;; Region we are about to delete contains only blanks …
(string-blank-p (buffer-substring-no-properties completion-start (point)))
;; … *and* everything from BOL to completion-start is blank
;; as well — i.e. we are really inside the leading indentation.
(string-blank-p (buffer-substring-no-properties (line-beginning-position) completion-start)))
(setq start completion-start)
(setq end (- end (- (point) completion-start)))
(delete-region completion-start (point)))
(eca-completion--clear-overlay)
(if (derived-mode-p 'vterm-mode)
(progn
(vterm-delete-region start end)
(vterm-insert text))
(delete-region start end)
(insert text))
t)))