Feature | macOS | Linux | Windows |
---|---|---|---|
Text System | ✅ (Core Text) | ✅ (Pango) | ✅ (DirectWrite) |
Window creation | ✅ (Cocoa) | ✅ (GTK 4) | ✅ (Win32) |
OpenGL context | ✅ | ✅ | ✅ |
Keyboard/mouse input | ✅ | ✅ | ✅ |
Tabs | ✅ | ✅ | ✅ |
Popups/Dialogs | 🚧 | 🚧 | 🚧 |
This project uses the GN meta-build system. Binaries are available here.
brew install ninja llvm
dnf install gn ninja-build clang llvm lld
gn gen out/Default
ninja -C out/Default
ninja -C out/Default -t compdb cc cxx objc objcxx > compile_commands.json
Note
These are features that are important from my point of view!
Someone who appreciates other features (e.g., AI integration, plugins) would have a different chart.
Editor | GUI? | Native GUI? | Cross-platform? | Fast? | Open source? | Tree-sitter support? | LSP support? | Simple codebase? | Notes |
---|---|---|---|---|---|---|---|---|---|
Simple Text | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Sublime Text | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | N/A | Very nearly perfect! |
Visual Studio Code | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | |
Zed | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | Contains a lot of arguably unnecessary features, such as AI and voice chat |
Lapce | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | GUI doesn't feel super polished, at least on macOS (e.g., blurry fonts) |
Neovim | ❌ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |