emacs/spacemacs 是否支持嵌套在 Rust 宏中的 C++ 模式?
Does emacs/spacemacs support nested C++ mode embedded in Rust Macro?
参考:rust-cpp
emacs/spacemacs主模式可以支持嵌套模式吗?我习惯了 vim 和新手 emacs/spacemacs。
一般信息
您可以访问 wiki 同时列出 运行 几个主要模式的一些解决方案:
在您的情况下,您需要 运行 2 种主要模式才能在同一缓冲区中识别 C++ 和 Rust:
c++-mode
(默认可用)
rust-mode
mmm-mode
的实际例子
我想你的 Rust 环境已经在你的 Emacs 中配置好了。下面将添加 c++-mode
而 Rust 主要模式是 运行ning。在您的 Emacs 配置文件中,添加以下代码段:
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(mmm-add-classes
'((rust-cpp ; Name of the mmm class
:submode c++-mode ; Additional major mode, here it is C++
:front "^cpp! {[\n\r]+" ; Start tag for c++-mode
:back "^}$"))) ; Stop tag for c++-mode
(mmm-add-mode-ext-class 'rust-mode nil 'rust-cpp)
在您的 Rust 代码中,c++-mode
将在出现以下模式时激活:
cpp! {
// your C++ code...
}
我会让你微调正则表达式,因为在混合使用 Rust 和 C++ 时我不知道 rust-cpp
的规则。
参考:rust-cpp
emacs/spacemacs主模式可以支持嵌套模式吗?我习惯了 vim 和新手 emacs/spacemacs。
一般信息
您可以访问 wiki 同时列出 运行 几个主要模式的一些解决方案:
在您的情况下,您需要 运行 2 种主要模式才能在同一缓冲区中识别 C++ 和 Rust:
c++-mode
(默认可用)rust-mode
mmm-mode
的实际例子
我想你的 Rust 环境已经在你的 Emacs 中配置好了。下面将添加 c++-mode
而 Rust 主要模式是 运行ning。在您的 Emacs 配置文件中,添加以下代码段:
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(mmm-add-classes
'((rust-cpp ; Name of the mmm class
:submode c++-mode ; Additional major mode, here it is C++
:front "^cpp! {[\n\r]+" ; Start tag for c++-mode
:back "^}$"))) ; Stop tag for c++-mode
(mmm-add-mode-ext-class 'rust-mode nil 'rust-cpp)
在您的 Rust 代码中,c++-mode
将在出现以下模式时激活:
cpp! {
// your C++ code...
}
我会让你微调正则表达式,因为在混合使用 Rust 和 C++ 时我不知道 rust-cpp
的规则。