What's the correct method for defining multi-line comments in an emacs mode (like C's /* */)? The elisp examples I see are for comments that start with a single delimiter and end at the end of the line (like C++'s // or perl's #).
+7
A:
It's like this:
(define-derived-mode my-mode
awk-mode "my"
"My mode"
(setq comment-multi-line nil) ; maybe
(setq comment-start "/* ")
(setq comment-end "*/"))
But there are subtleties; maybe you want
/* line one */
/* line two */
/* line three */
or maybe you want
/*
line one
line two
line three
*/
This is affected by your comment-style
, which you can customize (M-x customize-variable comment-style
). For something like the first example choose indent
, for the second example, extra-line
.
It's all defined in newcomment.el
, which you can read about if you M-x describe-variable comment-start
.
Tom Dunham
2009-01-31 17:42:01
+2
A:
Tom's answer covers creating comments; if you want your mode to be aware of comments, you need to fixup the syntax table.
Relevant reading:
http://www.gnu.org/software/emacs/elisp/html_node/Syntax-Tables.html#Syntax-Tables
jrockway
2009-02-01 01:01:22