CLIPS和JESS是用于人工智能和规则引擎的Lisp语言。它们的EMACS源自lisp-mode。最重要的格式化正确的形式是defrule,这有助于可读性。默认情况下,使用类似于普通lisp-mode的格式:
(defrule any-foo
"This is a rule for any-foo."
?f <- (foo)
=>
(do-something-to ?f))
期望的格式如下,可选文档在2个字符内,右箭头在2个字符内,其他所有内容都在6个字符内,如下所示:
(defrule any-foo
"This is a rule for any-foo."
?f <- (foo)
=>
(do-something-to ?f))
有很多关于自定义EMACS缩进的资源,但是这个引起了我的注意,因为它让我想知道是否可以拦截匹配右箭头的任何内容的格式化并进行拦截。当我继续阅读时,我更像是理解了您可能会为符号表达式编写自定义格式化函数,但是,右箭头不是那样的。我不想为整个顶层编写格式化函数,也不确定如何做到这一点。
如何以正确的方式获得所需的格式化样式?