Каков правильный метод определения многострочных комментариев в режиме emacs (например, /* */ в C)? Примеры elisp, которые я вижу, предназначены для комментариев, которые начинаются с одного разделителя и заканчиваются в конце строки (например, // в C++ или # в Perl).
Многострочные комментарии в режиме Emacs
Ответы (3)
Это вот так:
(define-derived-mode my-mode
awk-mode "my"
"My mode"
(setq comment-multi-line nil) ; maybe
(setq comment-start "/* ")
(setq comment-end "*/"))
Но есть тонкости; может ты хочешь
/* line one */
/* line two */
/* line three */
или, может быть, вы хотите
/*
line one
line two
line three
*/
На это влияет ваш comment-style, который вы можете настроить (M-x customize-variable comment-style). Для чего-то вроде первого примера выберите indent, для второго примера extra-line.
Все это определено в newcomment.el, о котором вы можете прочитать, если вы M-x describe-variable comment-start.
person
Tom Dunham
schedule
31.01.2009
Ответ Тома касается создания комментариев; если вы хотите, чтобы ваш режим знал о комментариях, вам нужно исправить синтаксическую таблицу.
Соответствующее чтение:
http://www.gnu.org/software/emacs/elisp/html_node/Syntax-Tables.html#Syntax-Tables
person
jrockway
schedule
01.02.2009
Это отличное руководство по добавлению комментария в режим emacs. http://xahlee.org/emacs/elisp_comment_handling.html
person
josefwells
schedule
28.06.2011