lsp-bridge -- 速度最快的语法补全插件

先用advice临时解决一下

(defun acm-backend-yas-candidates-advice (keyword)
  (when acm-enable-yas
    (let* ((candidates (list))
           (snippets (cl-mapcan (lambda (table)
                                  (yas--table-all-keys table))
                                (yas--get-snippet-tables)))
           (match-snippets (seq-filter (lambda (s) (acm-candidate-fuzzy-search keyword s)) snippets)))
      (dolist (snippet (cl-subseq match-snippets 0 (min (length match-snippets) acm-backend-yas-candidates-number)))
        (cl-pushnew (list :key snippet
                          :icon "snippet"
                          :label snippet
                          :display-label snippet
                          :annotation "Yas-Snippet"
                          :backend "yas")
                    candidates))
      (acm-candidate-sort-by-prefix keyword candidates))))

(advice-add 'acm-backend-yas-candidates :override #'acm-backend-yas-candidates-advice)

(defun acm-backend-yas-get-snippet-advice (candidate)
  (let* (;; (templates (yas--all-templates (yas--get-snippet-tables)))
         (template (cl-mapcan (lambda (table)
                                (yas--fetch table (plist-get candidate :label)))
                              (yas--get-snippet-tables))))
    (yas--template-content (cdr (car template)))))

(advice-add 'acm-backend-yas-get-snippet :override #'acm-backend-yas-get-snippet-advice)