How dangit150/jasspa works
Jasspa MicroEmacs is a cross-platform Emacs-like text editor. The principal workflow is to receive user input through a terminal or GUI frontend, execute editing commands against buffers and files, and display the updated editor state. The README also documents macros, incremental capabilities such as syntax highlighting and spell checking, session management, and in-editor hypertext help. The graph emphasizes these product stages; source excerpts are sparse, so documented relationships cite the README and unsampled implementation links are omitted.
Main entry points: main.c Editor command loop · unixterm.c Terminal frontend · winterm.c Windows terminal · MEWindowController.swift Native macOS app
Components 19
Interaction and display
- Terminal frontend
microemacs/src/unixterm.c - Windows terminal
microemacs/src/winterm.c - Native macOS app
microemacs/src/macosnw/MEWindowController.swift - macOS editor view
microemacs/src/macosnw/MEView.swift - Screen display
microemacs/src/display.c
Editing and navigation
- Editor command loop
microemacs/src/main.c - Input handling
microemacs/src/input.c - Buffers and lines
microemacs/src/buffer.c - File operations
microemacs/src/fileio.c - Editor windows
microemacs/src/window.c - Search and regex
microemacs/src/search.c - Incremental search
microemacs/src/isearch.c
Editor capabilities
- Macro language
microemacs/src/macro.c - Syntax highlighting
microemacs/src/hilight.c - Spell checking
microemacs/src/spell.c - Hypertext help
microemacs/src/osd.c - Session management
microemacs/src/registry.c
Platform and support
- LZMA compression
microemacs/3rdparty/tfs/LzmaEnc.c
Other components
- Editor user
Connections 18
- Editor user → Terminal frontend: uses
- Editor user → Windows terminal: uses
- Editor user → Native macOS app: uses
- Terminal frontend → Editor command loop: provides input
- Windows terminal → Editor command loop: provides input
- Native macOS app → macOS editor view: creates view
microemacs/src/macosnw/MEWindowController.swift - macOS editor view → Editor command loop: runs engine
- Editor command loop → Input handling: processes input
- Editor command loop → Buffers and lines: edits buffers
- Editor command loop → File operations: opens files
- Editor command loop → Screen display: updates display
- Editor command loop → Macro language: executes macros
- Editor command loop → Search and regex: supports search
- Incremental search → Search and regex: searches buffers
- Editor command loop → Syntax highlighting: offers highlighting
- Editor command loop → Spell checking: offers spell checking
- Editor command loop → Hypertext help: offers hypertext help
- Editor command loop → Session management: manages sessions