How markedit-app/markedit works
MarkEdit is a native macOS Markdown editor whose principal workflow opens a text document, edits and formats it in an embedded CodeMirror-based editor, and saves it through macOS document handling. The repository separates the native app shell from the TypeScript editor and connects them through bridges. README-described capabilities also include Quick Look, extensions, Shortcuts and AppleScript, text statistics, and automatic updates. Some subsystem links rely on the documented product capabilities and tree; sampled source is limited, so uncertain internal call wiring is omitted.
Main entry points: EditorDocument.swift Editor document · EditorViewController.swift Editor controller · EditorWebView.swift Editor WebView · core.ts Markdown editing
Components 18
Native App
- Document handling
MarkEditMac/Sources/Main/AppDocumentController.swift - Editor document
MarkEditMac/Sources/Editor/Models/EditorDocument.swift - Editor controller
MarkEditMac/Sources/Editor/Controllers/EditorViewController.swift - Editor WebView
MarkEditMac/Sources/Editor/Views/EditorWebView.swift
Markdown Editor
- Markdown editing
CoreEditor/src/core.ts - Editing modules
CoreEditor/src/modules - Editor APIs
CoreEditor/src/api - Native bridge
MarkEditKit/Sources/Bridge/Native/NativeModules.swift - Web bridge
MarkEditKit/Sources/Bridge/Web/WebModuleBridge.swift - Editing history
MarkEditMac/Sources/Editor/EditorHistoryStorage.swift
Extensions And Integrations
- Extension manager
MarkEditMac/Sources/Extension/ExtensionsWindowController.swift - Extension lifecycle
MarkEditMac/Sources/Extension/ExtensionsModel.swift - Shortcuts actions
MarkEditMac/Sources/Shortcuts/Intents
Preview And Utilities
- Quick Look preview
QuickLookMac/QuickLookViewController.swift - Text statistics
MarkEditMac/Modules/Sources/Statistics/StatisticsController.swift - Update service
UpdateInstaller/UpdateService.swift - Update installer
UpdateInstaller/main.swift
Other components
- Mac user
Connections 16
- Mac user → Document handling: opens or saves
- Document handling → Editor document: opens document
- Editor document → Editor controller: presents editor
- Editor controller → Editor WebView: hosts editor
- Editor WebView → Markdown editing: embeds editor
- Markdown editing → Editing modules: uses editing modules
- Markdown editing → Editor APIs: exposes APIs
- Editor controller → Native bridge: invokes native bridge
- Editor WebView → Web bridge: exchanges messages
- Editor document → Editing history: tracks editing state
- Mac user → Extension manager: manages extensions
- Extension manager → Extension lifecycle: controls lifecycle
- Mac user → Shortcuts actions: runs actions
- Mac user → Quick Look preview: previews file
- Mac user → Text statistics: views statistics
- Update service → Update installer: installs update