我刚刚在emacs中使用js2-mode和company-mode运行了ternjs并且非常兴奋 . 从tern获取函数文档的C-c C-d函数带回了相当有限的信息子集 . 我很想学习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 等...