Skip to content

Cioccopesce-Z/Zpl_IDE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Zinter IDE

A terminal-based IDE for the Zinter programming language, built with ncurses in C.


What is this?

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.


Features

  • Code editor — write and edit Zinter code directly in the terminal
  • Auto-backup — your code is continuously saved to Zbuffer.Zbak while you type
  • File saving — save your work to a named .Zinter file
  • Run code — execute your Zinter program via Zinterpreter and see the output in-app
  • Clear buffer — wipe the current buffer and start fresh
  • Settings — configure the output file name

Requirements

  • A Unix-like system (Linux / macOS)
  • ncurses library
  • Zinterpreter binary in the same directory (for code execution)

Building

gcc main.c -o zinter_ide -lncurses -lm

Running

./zinter_ide

Make sure Zinterpreter is in the same folder, or execution won't work.


Navigation

Key Action
/ Move through the menu
Enter Select an option

Inside the editor

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

Menu Options

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 Structure

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 .Zinter source files. The conversion from .Zinter to .Zim is a separate step not yet integrated into the IDE.


Known Limitations

  • 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

Roadmap

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

License

Do whatever you want with it. It's yours.

About

this is an IDE i build just for fun with ncurses for the Zinter PL

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages