又有人给emacs开发了一个lsp客户端

你这个问题我以前也提到过。

我现在配置文件基本是这样的:

;; misc.el
(definitfun foo
  :pre
  (progn ...)
  :post
  (progn ...))

解析的时侯原地展开为:

;; misc.el
(defun misc--pre-init-foo ()
  (progn ...))

(defun misc--post-init-foo ()
  (progn ...))

这两个函数仍然在 misc.el 文件中,所以 describe-function 可以跳到 misc.el 文件头。如果我再实现一个跨行匹配 (definitfun pkg\n :pre 的方法,就能准确跳到 :pre 的位置。

然而实际上我并没有实现那个跳转方法(暂时没这个需求),而是给 imenu regex 加了一条规则用来定位整个 (definitfun pkg ...)

1 个赞