👉 Support this work via GitHub Sponsors
While extending Emacs is best done in elisp, closer macOS integrations are only possible by using native APIs.
emacs-swift-module enables loading native modules into Emacs, and thus extending with Swift native macOS APIs.
For now, this is mostly an experiment to exercise emacs-swift-module and see where we can take native integrations.
This repo currently includes native Emacs interactive commands to reveal files and share them. For example, AirDrop your current buffer or a selection of dired files.
- Clone this package.
- Load with:
;; Emacs 30+
(use-package macos
:vc (:url "https://github.com/xenodium/EmacsMacOSModule")
:config
(macos-load-module))
(use-package macos
:load-path "path/to/cloned/package/EmacsMacOSModule"
:config
(macos-load-module))| Command | Description |
|---|---|
| macos-rebuild-module-and-reload | Rebuild and reload native module. |
| macos-reveal-in-finder | Reveal file(s) in macOS Finder. |
| macos-share | Share file(s) with other macOS apps. |
| macos-show-emoji-picker | Show macOS emoji picker. |
