A terminal-based IDE for the Zinter programming language, built with ncurses in C.
Zinter IDE is a lightweight, keyboard-driven code editor that runs entirely in the terminal. It lets you write, edit, save, and execute Zinter source files without ever leaving your shell. No dependencies beyond ncurses — just you and the code.
The IDE is part of a broader toolchain: code written here is saved as .Zinter source files, which still need to be converted to .Zim format before being run by the interpreter. That conversion step is handled separately outside the IDE for now.
- Code editor — write and edit Zinter code directly in the terminal
- Auto-backup — your code is continuously saved to
Zbuffer.Zbakwhile you type - File saving — save your work to a named
.Zinterfile - Run code — execute your Zinter program via
Zinterpreterand see the output in-app - Clear buffer — wipe the current buffer and start fresh
- Settings — configure the output file name
- A Unix-like system (Linux / macOS)
ncurseslibraryZinterpreterbinary in the same directory (for code execution)
gcc main.c -o zinter_ide -lncurses -lm./zinter_ideMake sure Zinterpreter is in the same folder, or execution won't work.
| Key | Action |
|---|---|
↑ / ↓ |
Move through the menu |
Enter |
Select an option |
| Key | Action |
|---|---|
← → ↑ ↓ |
Move cursor |
Enter |
New line |
Backspace |
Delete character (or go back a line) |
( |
Auto-closes to (), cursor placed inside |
{ |
Auto-closes to {}, cursor placed inside |
ESC |
Exit editor and return to menu |
1. write code → open the code editor
2. clear code → reset the buffer
3. save code → save buffer to your .Zinter file
4. execute code → run your code through Zinterpreter
5. settings → set the output filename
6. exit → quit the IDE
| File | Description |
|---|---|
Zbuffer.Zbak |
Auto-save backup, created and updated while editing |
Zstd_name.Zinter |
Default output file name |
*.Zinter |
Zinter source files |
*.Zim |
Compiled/converted format consumed by the interpreter |
When you save from the menu, you'll be asked whether to delete the .Zbak backup.
Note: the IDE currently saves
.Zintersource files. The conversion from.Zinterto.Zimis a separate step not yet integrated into the IDE.
- The editor window is fixed at 80x30 characters — long lines will go off-screen
- No syntax highlighting
- Max 512 lines of code, each up to 256 characters
- No horizontal scrolling
This project started as an exploration of terminal-based graphics with ncurses. The next step in the C graphics journey is Raylib, which will be used to build a medieval-style game — and eventually a proper GUI frontend for the Zinter toolchain itself.
Planned for the IDE:
- Zinter to Zim conversion integrated directly in the IDE
- Syntax highlighting
- Scrollable editor for longer files
- Line numbers
- Raylib-based GUI version
Do whatever you want with it. It's yours.