Skip to content
Yasid Ramli
← All projects

MacPad

A native macOS text editor in the spirit of Notepad++, written in Swift.

Tech stack

SwiftSwiftUICodeEditSourceEditorXcodeGen

macOS has no equivalent of Notepad++, the editor that opens instantly and handles whatever you throw at it. MacPad is an attempt at that, built natively rather than wrapped around a web view.

Editor

The editing engine is CodeEditSourceEditor, which brings syntax highlighting through tree-sitter, line numbers, a minimap, multiple cursors, and a find and replace panel.

Build

The Xcode project is generated from project.yml with XcodeGen, so the repository holds the configuration rather than a project file that drifts. Continuous integration runs on GitHub Actions.

Distribution

Set up for release outside the App Store: hardened runtime is enabled, the export options are in the repository, and the steps for Developer ID signing, notarization, and stapling are documented so a build can be handed to someone else and open without warnings.