暗无天日

=============>DarkSun的个人博客

使用org-lint对Org文件进行检查

今天才知道原来Org中居然自带了一个Org检查器: org-lint. 它的使用方法非常简单,在任意Org buffer中运行 M-x org-lint 就会弹出一个名为“*Org Lint*”的新窗口,其中列出检查结果。

在这个“*Org Lint*” buffer中按下 TAB 就能看到检查有问题的那个行,但光标不做跳转;而按下 RET 则会把光标跳转到Org文件中有问题的那个行。 此外按下 h 可以隐藏相同类型的报告, i 可以忽略该类报告.

org-lint 的检查项由变量 org-lint--checkers 所决定,但是你不应该自己去修改它,因为其名称中的 -- 说明了它是一个私有变量,而且变量中的entry是自定义的新结构: org-lint-checker 的列表.

不过如果你想编写自己的检查器,那么可以先定义一个名为 org-lint-NAME 的检查函数,这个函数接受一个当前Org buffer解析后的树作为参数,且返回一个(POSITION MESSAGE)列表,POSITION为出错位置,MESSAGE是描述错误的字符串. 然后使用 (make-org-lint-checker &key NAME DESCRIPTION CATEGORIES TRUST) 来创建一个检查器结构体。

从这个构造函数的参数可以看出 org-lint-checker 结构包括以下部分:

NAME
唯一的标识符,是一个非-开头的符号. 这个符号对应的一个 org-lint-NAME 的检查函数
DESCRIPTION
检查摘要的字符串
CATEGORIES
检查的列表,为一个符号组成的列表
TRUST
信任程度,可选值为 `low' 和 `high'