Catch `phpinspect-parse-interrupted' in function `phpinspect-complete-at-point'

WIP-cache
Hugo Thunnissen 9 months ago
parent 44e109a5ac
commit a40731aa3d

@ -275,38 +275,38 @@ Returns list of `phpinspect--completion'."
(defun phpinspect-complete-at-point () (defun phpinspect-complete-at-point ()
(let ((comp-list (phpinspect-completion-query-execute (phpinspect--get-completion-query))) (catch 'phpinspect-parse-interrupted
strings) (let ((comp-list (phpinspect-completion-query-execute (phpinspect--get-completion-query)))
(obarray-map (lambda (sym) (push (symbol-name sym) strings)) (phpinspect--completion-list-completions comp-list)) strings)
(and (phpinspect--completion-list-has-candidates comp-list) (obarray-map (lambda (sym) (push (symbol-name sym) strings)) (phpinspect--completion-list-completions comp-list))
(list (phpinspect--completion-list-completion-start comp-list) (and (phpinspect--completion-list-has-candidates comp-list)
(phpinspect--completion-list-completion-end comp-list) (list (phpinspect--completion-list-completion-start comp-list)
strings (phpinspect--completion-list-completion-end comp-list)
:affixation-function strings
(lambda (completions) :affixation-function
(let (affixated completion) (lambda (completions)
(dolist (comp completions) (let (affixated completion)
(setq completion (phpinspect--completion-list-get-metadata comp-list comp)) (dolist (comp completions)
(push (list comp (phpinspect--prefix-for-completion completion) (setq completion (phpinspect--completion-list-get-metadata comp-list comp))
(phpinspect--completion-meta completion)) (push (list comp (phpinspect--prefix-for-completion completion)
affixated)) (phpinspect--completion-meta completion))
(nreverse affixated))) affixated))
:exit-function (nreverse affixated)))
(lambda (comp-name state) :exit-function
(let ((comp (phpinspect--completion-list-get-metadata (lambda (comp-name state)
phpinspect--last-completion-list (let ((comp (phpinspect--completion-list-get-metadata
comp-name))) phpinspect--last-completion-list
(when (and (eq 'finished state) comp-name)))
(eq 'function (phpinspect--completion-kind comp))) (when (and (eq 'finished state)
(insert "(") (eq 'function (phpinspect--completion-kind comp)))
(when (= 0 (length (phpinspect--function-arguments (insert "(")
(phpinspect--completion-target comp)))) (when (= 0 (length (phpinspect--function-arguments
(insert ")"))))) (phpinspect--completion-target comp))))
:company-kind (lambda (comp-name) (insert ")")))))
(phpinspect--completion-kind :company-kind (lambda (comp-name)
(phpinspect--completion-list-get-metadata (phpinspect--completion-kind
phpinspect--last-completion-list (phpinspect--completion-list-get-metadata
comp-name))))))) phpinspect--last-completion-list
comp-name))))))))
(provide 'phpinspect-completion) (provide 'phpinspect-completion)

Loading…
Cancel
Save