在Emacs中以双模式模式更好地缩进

Meg*_*gan 15 emacs perl verilog code-formatting

我正在使用Emacs来修改交错Perl和Verilog的代码.我two-mode-mode用来在两者之间切换,按预期工作.问题是perl代码是逐行//;显示的,如下所示:

This is verilog code
// This is a verilog comment
//; This is perl code
//;   This is more perl code
This is verilog code again.
Run Code Online (Sandbox Code Playgroud)

虽然双模式模式识别出它是Perl,但它是逐行进行的,因此缩进等对于线条没有意义.

我想要做的是像往常一样格式化Perl代码,但忽略//;字符(它们应该只留在行的开头,然后像往常一样格式化Perl).有任何简单方法的想法吗?我刚刚开始偷看模式文件,它们是可以理解的复杂,所以任何提示都将不胜感激!

Chr*_*ris 2

使用不同的多模式模式可能会更好:

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

AFAIK,mumamo 是这些天最活跃的一个。