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

lsp-bridge 现在是文件有变动 0.1s 后向 lsp-server 请求补全。
一个新逻辑不知道会不会更好:capf 补全时候检查当前位置和之前位置是否属于同一个 symbol, 如果是,直接获取 lsp-bridge-completion-items;如果不是,向 lsp-bridge 发送补全请求,lsp-bridge 再找 lsp-server 请求。类似这样:

(defvar lsp-bridge--start nil)
(defun lsp-bridge-capf (&optional arg)
  (let* ((bounds (bounds-of-thing-at-point 'symbol))
         (start (or (car bounds) (point)))
         (end (or (cdr bounds) (point))))
    (if (equal start lsp-bridge--start)
        (list start end
              lsp-bridge-completion-items
              :exclusive 'no)
      (setq lsp-bridge--start start)
      (lsp-bridge-call-async "do_completion" lsp-bridge-filepath (line-number-at-pos) (current-column) (lsp-bridge-char-before)) ;; do_completion 是 py 那边定义的函数,直接调用 `self.completion`。 同时取消 change_file 里面补全部分
      (list start end '())
      )))