Emacs 在lisp模式下隐藏`(declare)`表单
这实际上是两个问题:Emacs 在lisp模式下隐藏`(declare)`表单,emacs,common-lisp,slime,Emacs,Common Lisp,Slime,这实际上是两个问题: 有谁知道一个emacs特性可以在lisp代码中隐藏(可能表明它已经这样做)选定的表单吗?我已经编写了一些面向性能的通用lisp,并且关键函数确实包含大量的(declare(type…)表单,这些表单会使代码变得混乱 如果没有,是否有人建议在哪里获得灵感/偷点东西,让我自己写 干杯,谢谢 编写一个函数,用于查找要使其不可见的文本的起始位置和结束位置。然后使用(放置文本属性START-END'invisible t)使文本不可见 对于一个快速而肮脏的示例,使用(向前搜索)(声明
(declare(type…)
表单,这些表单会使代码变得混乱干杯,谢谢 编写一个函数,用于查找要使其不可见的文本的起始位置和结束位置。然后使用
(放置文本属性START-END'invisible t)
使文本不可见
对于一个快速而肮脏的示例,使用(向前搜索)(声明(键入“nil t)
(匹配开始0)
是该sexp的开始位置,因此(转到字符(匹配开始0))
,然后执行(向前sexp 1)
到达其结束位置。然后如上所述使用放置文本属性
,将文本从声明
sexp的开始隐藏到其结束。在循环中执行此操作,以隐藏所有此类sexp
为了更加小心,您可能会使用一个regexp,它允许在sexp中使用可变空格(包括换行符),等等。但是上面的内容应该可以让您开始
(要使不可见文本再次可见,只需使用(将文本属性“开始-结束”设置为“不可见零”)
)