Minimal iOS app for editing daily org-mode notes with syncthing sync.
- Opens today's daily note (
daily/MM-DD.org) - Regex-based org-mode syntax highlighting (headers, TODO/DONE, links, bold, italic, timestamps)
- Auto-save with 500ms debounce
- External file change detection
- Syncthing sync in foreground only
- Xcode 15+ with iOS SDK
- Go 1.21+
# Ensure full Xcode is selected (not Command Line Tools)
sudo xcode-select -s /Applications/Xcode.app/Contents/Developergo install golang.org/x/mobile/cmd/gomobile@latest
go install golang.org/x/mobile/cmd/gobind@latest
make framework- Open
OMFG.xcodeprojin Xcode - If using syncthing: Add
Syncthing.xcframework(Embed & Sign) - Build and run (Cmd+R)
omfg/
├── go/libsyncthing/ # Go bindings (stub, ready for real syncthing)
├── OMFG/
│ ├── App/ # AppDelegate, SceneDelegate, Bootstrap
│ ├── Editor/ # OrgTextStorage, EditorViewController
│ ├── Sync/ # SyncEngine, FileWatcher
│ ├── DailyNote/ # DailyNoteManager
│ ├── Settings/ # SettingsViewController
│ └── Storage/ # ConfigStore, FileStore
└── OMFG.xcodeproj/
- UIKit + TextKit: NSTextStorage subclass for syntax highlighting
- No storyboards: Programmatic UI
- Foreground sync: Syncthing stops 3s after backgrounding
- Last write wins: Simple conflict resolution