在我的 .emacs 配置中,我有以下内容:
(defun fold-long-comment-lines ()
"This functions allows us to fold long comment lines
automatically in programming modes. Quite handy."
(auto-fill-mode 1)
(set (make-local-variable 'fill-no-break-predicate)
(lambda ()
(not (eq (get-text-property (point) 'face)
'font-lock-comment-face)))))
以上内容作为“c-mode-common-hook”的一部分被调用,并自动正确地提供折叠长注释行。
然而,上面的事情是不分青红皂白的,无论我是使用单行注释,例如描述结构字段,还是使用多行注释描述一些复杂的代码。
所以,基本问题是,只有当它是多行注释时,我怎样才能自动折叠长注释行?
谢谢阿努帕姆
编辑1:多行评论解释当我说“多行评论”时,它基本上意味着这样的评论:
/*
* this following piece of code does something totally funky with client
* state, but it is ok.
*/
code follows
相应地,单行注释将是这样的
struct foo {
char buf_state : 3; // client protocol state
char buf_value : 5; // some value
}
上面的 elisp 代码,尽职尽责地折叠了这两个注释行。我只想折叠前者,而不是后者。