sno*_*now 2 emacs macros rust spacemacs rust-macros
参考:rust-cpp
emacs/spacemacs可以在主模式下支持嵌套模式吗?我习惯于对emacs/spacemacs进行vim和new.
您可以访问维基列表,其中列出了一些可以同时运行多种主要模式的解决方案:
在您的情况下,您需要运行2种主要模式才能在同一缓冲区中识别C++和Rust:
c++-mode (默认可用)rust-modemmm-mode我想您的Emacs中已经配置了Rust环境.c++-mode在Rust主模式运行时,以下内容将添加.在您的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)
Run Code Online (Sandbox Code Playgroud)
在Rust代码中,c++-mode当存在以下模式时将激活:
cpp! {
// your C++ code...
}
Run Code Online (Sandbox Code Playgroud)
我会让你微调正则表达式,因为我不知道rust-cpp混合Rust和C++时的规则.