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:

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 的规则。