如何修复 emacs 的 C++ 缩进初始化器?
Emacs 无法正确缩进具有带冒号的初始值设定项的分配器的 C++ 类定义。我认为这是因为在很多情况下带有冒号的行都是左缩进的。
我想解决这个问题。
这是我正在谈论的一个例子。
EMACS 像这样缩进代码:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
但它实际上应该像这样缩进:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
有没有办法修复此行为?想必我们需要一些 elisp...
谢谢!
Emacs doesn't properly indent C++ class definitions for allocators that have initializers with colons in them. I think that this is because lines with colons are left-indented in many cases.
I would like to fix this.
Here is an example of what I am talking about.
EMACS indents the code like this:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
But it should really indent it like this:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
Is there a way to fix this behavior? Presumably we need some elisp...
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Emacs(至少版本 23)在 C 模式下不会执行此操作,但在 C++ 模式下会执行此操作,因为在 C 中冒号之前的部分只能是标签。确保您处于 C++ 模式 (
Mx c++-mode
)。Emacs (at least version 23) doesn't do this in C mode, but it does in C++ mode since in C the part before the colon can only be a label. Make sure you're in C++ mode (
M-x c++-mode
).