制作新的emacs模式:简单评论dwim

时间:2014-04-10 14:03:14

标签: emacs comments elisp mode

我正在为一种语言编写一个简单的主要模式,并且无法设置注释。我一直在关注这个教程:

http://www.emacswiki.org/emacs/ModeTutorial

然而,我无法弄清楚如何根据我的需要调整他们的示例注释dwim,因为注释的定义方式似乎相当神秘。在这种语言中,只需使用哈希(#)进行注释。这与Perl或Bash相同。我的语法突出显示理解注释,但当我尝试使用该模式时,我可以comment-dwim我得到“无注释语法定义”错误。如何使用hash-marks而不是任何C风格的fanciness来制作相当聪明的(缩进,块,取消注释)comment-dwim?

1 个答案:

答案 0 :(得分:2)

为了让评论-dwim正常工作,你需要至少指定comment-start和comment-end。您可以在模式声明正文中执行此操作。

(setq comment-start "#")
(setq comment-end "")

有关变量的文档:

注释开始:

“要插入以开始新注释的字符串,如果没有注释语法,则为nil。”)

评论端:

“要插入的字符串以结束新评论。 如果注释以行尾结束,则应为空字符串。“

这些变量在newcomment.el中定义了相同的内置包,用于定义comment-dwim等。

要了解更多信息: M-x find-library 输入 newcomment 输入

另外,如果您没有从教程中获取足够的语法表,那么您应该为“<”指定?\#?\n for“>”,这告诉emacs#开始评论,换行结束评论。