1

我刚刚在 emacs 中使用 js2-mode 和 company-mode 启动并运行 ternjs,并且非常兴奋。从 tern 获取函数文档的 Cc Cd 函数带回了相当有限的信息子集。我很想学习 lisp,但每次看到它都会感到困惑。

我想做的不是在迷你缓冲区中显示函数注释块的第一行,而是在退出或按键时自动关闭的拆分窗口中显示完整的文档块。

这是从 tern 获取文档的函数

(defvar tern-last-docs-url nil)
(defun tern-get-docs ()
  (interactive)
  (if (and tern-last-docs-url (eq last-command 'tern-get-docs))
      (progn
        (browse-url tern-last-docs-url)
        (setf tern-last-docs-url nil))
    (tern-run-query (lambda (data)
                      (let ((url (cdr (assq 'url data))) (doc (cdr (assq 'doc data))))
                    (cond (doc
                           (setf tern-last-docs-url url)
                           (tern-message doc))
                  (url
                   (browse-url url))
                      (t (tern-message "Not found")))))
                "documentation"
                (point))))

但我不知道从哪里开始。我想调试并查看 url 是什么 - 并在 emacs 之外对其进行测试,以首先查看 tern 是否真的返回了完整的文档。

如果是这样,那么我想打开一个拆分缓冲区并加载文档,然后在按键时杀死。

任何人都想要一个迷你 lisp 教程 - 分解它是如何工作的,也许还有关于如何执行上述操作的说明?

实际上,我可以看到该函数的所有完整注释都已显示-我想我寻求帮助的唯一部分是如何在拆分窗口中打开-而且我还想包括其他 jsDoc 注释,例如 @param {字符串}等...

4

0 回答 0