Emacs Module in Rust
This provides a high-level binding to emacs-module
, Emacs's support for dynamic modules.
Code for a minimal module looks like this:
use ;
plugin_is_GPL_compatible!;
(require 'greeting)
(greeting-say-hello "Emacs")
Live Reloading
Emacs does not support unloading modules. Live reloading thus requires a custom module loader. rs-module is one such loader (which itself is a module that must be loaded by Emacs's normal loading mechanism). See load.sh.
Note: This doesn't work on macOS 10.13+ (High Sierra and up). See Rust's issue #28794.
Sample Modules
- test-module.
- emacs-rs-examples.
- magit-libgit2 is an experimental attempt to speed up magit using libgit2.
Development
- Building:
cargo build --all
- Testing:
bin/test.sh
- Continuous testing (requires
cargo-watch
):cargo watch -x 'build --all' -s bin/test.sh