Emacs Module in Rust

crates.io doc.rs Build Status

User Guide | Change Log | Examples

This provides a high-level binding to emacs-module, Emacs's support for dynamic modules.

Code for a minimal module looks like this:

```rust use emacs::{defun, Env, Result, Value};

emacs::pluginisGPL_compatible!();

[emacs::module(name = "greeting")]

fn init(_: &Env) -> Result<()> { Ok(()) }

[defun]

fn say_hello(env: &Env, name: String) -> Result> { env.message(&format!("Hello, {}!", name)) } ```

emacs-lisp (require 'greeting) (greeting-say-hello "Emacs")

Example Modules

Development

On Windows, use PowerShell to run the corresponding .ps1 scripts.