我刚刚在 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 {字符串}等...