Repository navigation
Releases: VxidDev/Codus
Release list
More Plugin Events
🚀 Codus v0.1.2 — Plugin Events Update
This update introduces new plugin lifecycle events, giving developers more control and flexibility when extending Codus.
🧩 Added
New Plugin Events
onStart — triggered when Codus launches
onSave — triggered after a successful file save
onSaveAborted — triggered when a save operation is canceled or fails
onLoad — triggered after a file is successfully loaded
onLoadAborted — triggered when a file load is canceled or fails
⚙️ Improvements
-
Enhanced plugin API for better integration and modular development
-
Minor optimizations and internal cleanup for smoother startup
💡 Notes
These events open the door for advanced automation, custom workflows, and smart plugin interactions inside Codus. Plugin developers can now easily hook into save/load cycles or initialize behaviors on launch.
v0.1.1: Refactor syntax highlighting and line number features
Codus v0.1.1 – Plugin System & Syntax Highlighting Improvements
This update introduces the first basic plugin system and some internal improvements to syntax highlighting.
✅ New Features
-
Basic Plugin System
-
Dynamically load plugins from the plugins/ folder.
-
Plugins can define an onRun function to execute custom code when running scripts.
-
Each plugin includes a project.json for metadata (name, function, event).
⚡ Enhancements
-
Code refactor for readability and maintainability.
-
Dynamic function calling from plugin modules using getattr and importlib.
-
Better error handling when plugins or functions are missing.
EXAMPLE PLUGIN
Structure:
plugins
|- INeedThis
| |- __init__.py (empty)
| |- ineedthis.py (with function)
| |- project.json
JSON:
{
"name": "INeedThis",
"exec-file": "ineedthis",
"exec": "main",
"event": "onRun"
}ineedthis.py
import pygame , pathlib
pygame.init()
def main(): pygame.mixer.Sound(pathlib.Path(__file__).resolve().parent / "ineedthis.mp3").play()(PLUGIN IS IN SOURCE FILES)
And this plugin runs "ineedthis.mp3" after clicking the "run" button.
For now, plugin system is limited to only "onRun" event.
v0.1.0
🚀 Codus v0.1.0 — Syntax Rework & Layout Refactor
This update brings a complete rework of the syntax highlighting system and a cleaner, more modular app structure.
Codus is now faster to extend, easier to maintain, and better organized — paving the way for future features.
🧱 Core Changes
Modular syntax highlighting:
Added SyntaxHighlight and SyntaxHighlighter classes for scalable and organized color rules.
Centralized color system:
All syntax colors are stored in a dictionary (self.formats) for easy customization or theming.
Dynamic rule handling:
Syntax rules are now defined as reusable data passed into the highlighter.
🧹 Code Quality
Refactored code to follow OOP design principles.
Removed layout misuse (addLayout → setLayout).
Clearer method structure and comments.
v0.0.2
Codus – New Release 🚀🐍
This update makes coding in Python smoother, faster, and more fun!
✨ Highlights:
Dynamic Line Numbers 📝 – Auto-update as you type, with gutter resizing for any number of lines.
Enhanced Syntax Highlighting 🎨 – Keywords, imports, strings, functions, classes, decorators, and comments color-coded.
File Loading 📂 - Now able to load files!
Synced Scrolling 🔄 – Line numbers stay perfectly aligned with your code.
Codus now feels more like a professional Python IDE while staying beginner-friendly and lightweight.
v0.0.1 - Initial release
🧠 Codus — Code with Focus
Codus is a lightweight Python IDE built for developers who value simplicity, performance, and focus. Designed with PyQt6, it offers a distraction-free workspace that lets you write, run, and test your Python code efficiently — all in one place.
✨ Features
🟦 Syntax Highlighting — Smart coloring for keywords, strings, imports, comments, and decorators.
💻 Integrated Terminal — Run Python code directly inside Codus with a built-in QTermWidget console.
⚡ Quick Run — Execute scripts instantly with one click
📁 Save & Load — Simple file dialogs for managing your Python files.
🎨 Customizable Interface — Dark-themed editor, clean font rendering, and focus-driven design.
🧩 Extensible Core — Built with PyQt6, easy to expand with plugins or custom scripts.
🧰 Requirements
-
Python 3.10+
-
PyQt6
-
QTermWidget