A minimal native macOS text editor built with Swift and AppKit — no Xcode required. Made for work and fun :))
- Scratchpad mode — opens instantly with your last text, no file required
- File mode — open, edit, and save
.txtfiles - Save As — always saves with
.txtextension - Open from Finder — double-click any
.txtfile to open it - Autocorrect toggle — Edit → Autocorrect (persisted between launches)
- Unsaved changes prompt — never lose work by accident
- No Electron, no frameworks, no dependencies
- macOS 13 Ventura or later
- Xcode Command Line Tools
Install CLT if you don't have them:
xcode-select --installgit clone https://github.com/ahtlv/notepad-plus-plus.git
cd notepad-plus-plus
bash build.shThe app is built to build/Notepad.app.
Run directly:
open build/Notepad.appInstall to Applications:
cp -r build/Notepad.app /Applications/Note: The app is unsigned. On first launch, right-click → Open to bypass Gatekeeper.
notepad++/
├── Sources/
│ ├── main.swift # Entry point
│ ├── AppDelegate.swift # App lifecycle, menus, file actions
│ ├── NotepadWindowController.swift # Window, TextView, load/save logic
│ └── ScratchStore.swift # Scratchpad persistence
├── Resources/
│ ├── Info.plist # Bundle metadata
│ └── AppIcon.icns # App icon
├── icns/ # Source icon assets
├── build.sh # Build script
└── Tests/
└── test_scratch_store.swift # ScratchStore unit tests
| Action | Shortcut |
|---|---|
| New | ⌘N |
| Open | ⌘O |
| Save | ⌘S |
| Save As | ⌘⇧S |
| Quit | ⌘Q |
| Undo | ⌘Z |
| Redo | ⌘⇧Z |
| Cut / Copy / Paste | ⌘X / ⌘C / ⌘V |
| Select All | ⌘A |
See CHANGELOG.md.
MIT
