Experimental IDE inspired by TurboC++ 3
9
stars
494
commits
Mojo
primary language
Sep 8, 2026
updated
A modern full featured IDE in the style of Borland Turbo C++ 3.0. Based on the modern C++ reference implementation of TurboVision magiblot/tvision.

The project has two layers:
Drawable trait with widgets, windows, menus, dialogs, scroll bars, dropdowns, status bar, and a desktop window manager.The editor runs in any terminal, but ships with an optional native macOS .app wrapper (Swift / AppKit front-end loading the Mojo backend as a dylib) that gives it a real window, system clipboard, font fallback for emoji/CJK, and dock icon.
| Dracula | Solarized Light |
|---|---|
![]() | ![]() |
docs/themes.md for the full list.
./run.sh examples/desktop.mojo # the editor / IDE demo
./run.sh examples/desktop.mojo path/... # ...opening file(s) or a project dir
./run.sh examples/hello.mojo # minimal windowed greeting
./run.sh examples/boxes.mojo # arrow-key-driven draggable frame
scripts/run_tests.sh # pure-data test suites, no TTY needed
If you use pixi:
pixi run desktop
pixi run hello
pixi run test
run.sh does mojo build -I src ... (not mojo run) and execs the resulting native binary, caching it under .build/ keyed by entry-point path. We build instead of JIT-running because mojo run silently ignores -Xlinker, and the editor links against libonig (for TextMate grammar regexes). First build is ~8–12 s; cached re-runs are essentially free.
To build the native wrapper:
./run_swift.sh # restore last session
./run_swift.sh /path/to/project # open a project
./run_swift.sh path/to/file.py # open a file
run_swift.sh builds the Rust shim staticlib (app/turbokod-shim), the Mojo dylib (src/turbokod/native_api.mojo → .build/libturbokod.dylib), and the Swift binary (app/swift/TurboKod.swift → .build/turbokod_swift), then assembles them into .build/TurboKod.app and execs it. Swift owns the AppKit run loop / windows / menus / Core Text rendering; the Mojo dylib is the Desktop model.
The Mojo port is MIT-licensed (see LICENSE). Vendored TextMate grammars under src/turbokod/grammars/ carry their upstream MIT/Apache licenses (per grammars/README.md). The porting from the C++ TurboVision port was done with Claude Code, with that codebase also under MIT license.
494 commits
Hacker News (2)
Mojo
94.8%
Swift
3.1%
Experimental IDE inspired by TurboC++ 3
9
stars
494
commits
Mojo
primary language
Sep 8, 2026
updated
A modern full featured IDE in the style of Borland Turbo C++ 3.0. Based on the modern C++ reference implementation of TurboVision magiblot/tvision.

The project has two layers:
Drawable trait with widgets, windows, menus, dialogs, scroll bars, dropdowns, status bar, and a desktop window manager.The editor runs in any terminal, but ships with an optional native macOS .app wrapper (Swift / AppKit front-end loading the Mojo backend as a dylib) that gives it a real window, system clipboard, font fallback for emoji/CJK, and dock icon.
| Dracula | Solarized Light |
|---|---|
![]() | ![]() |
docs/themes.md for the full list.
./run.sh examples/desktop.mojo # the editor / IDE demo
./run.sh examples/desktop.mojo path/... # ...opening file(s) or a project dir
./run.sh examples/hello.mojo # minimal windowed greeting
./run.sh examples/boxes.mojo # arrow-key-driven draggable frame
scripts/run_tests.sh # pure-data test suites, no TTY needed
If you use pixi:
pixi run desktop
pixi run hello
pixi run test
run.sh does mojo build -I src ... (not mojo run) and execs the resulting native binary, caching it under .build/ keyed by entry-point path. We build instead of JIT-running because mojo run silently ignores -Xlinker, and the editor links against libonig (for TextMate grammar regexes). First build is ~8–12 s; cached re-runs are essentially free.
To build the native wrapper:
./run_swift.sh # restore last session
./run_swift.sh /path/to/project # open a project
./run_swift.sh path/to/file.py # open a file
run_swift.sh builds the Rust shim staticlib (app/turbokod-shim), the Mojo dylib (src/turbokod/native_api.mojo → .build/libturbokod.dylib), and the Swift binary (app/swift/TurboKod.swift → .build/turbokod_swift), then assembles them into .build/TurboKod.app and execs it. Swift owns the AppKit run loop / windows / menus / Core Text rendering; the Mojo dylib is the Desktop model.
The Mojo port is MIT-licensed (see LICENSE). Vendored TextMate grammars under src/turbokod/grammars/ carry their upstream MIT/Apache licenses (per grammars/README.md). The porting from the C++ TurboVision port was done with Claude Code, with that codebase also under MIT license.
Hacker News (2)
494 commits
Mojo
94.8%
Swift
3.1%