-
Notifications
You must be signed in to change notification settings - Fork 0
Abyssal
MrChomp edited this page Aug 16, 2026
·
1 revision
A multi-language code editor with syntax highlighting and an integrated terminal — the Nautilus answer to a full IDE, tuned for low resource use.
-
Launch:
python3 apps/Abyssal/main.pyorCtrl+Alt+A - Memory target: ~80 MB
- UI: PySide6
Abyssal provides a familiar IDE layout: a menu bar, activity bar, sidebar, tab bar with breadcrumbs, a split editor/terminal view, a status bar, and a command palette. It is keyboard-first, with ~15 shortcuts wired up across the editor.
-
AbyssalEditor —
QPlainTextEditwith a line-number gutter, active-line highlight, bracket matching, find/replace, and language auto-detection (src/ui/editor.py). -
Syntax highlighting —
QSyntaxHighlighterengine covering ~35 file extensions: Python, JS/TS, C/C++, HTML/XML, CSS, Bash, JSON, YAML, Markdown (src/engines/highlighter.py). -
Integrated terminal — interactive
QProcessshell with prompt and command history (src/ui/terminal.py). - Command palette — quick access to commands via a popup.
-
Kraken chat dock — right-side streaming AI chat (
Ctrl+Shift+C, View menu). A background worker builds aChatClientand streams responses in chunks; the workspace is set to the active file's folder so the coding model gets the project "brain" as context. History capped at 12 messages,max_tokens256, model fallback coding → writing → pentest (src/views/kraken_chat.py). -
File tree —
QFileSystemModel-based tree view (src/ui/file_tree.py).
| Keys | Action |
|---|---|
Ctrl+Shift+C |
Toggle Kraken AI chat panel |
Ctrl+P |
Command palette |
Ctrl+F / Ctrl+Shift+F
|
Find / find in files |
Two generations of the app coexist in the repo:
-
Live app — direct Qt widget composition in
application.py(AbyssalMainWindow, ~580 lines). -
Documented service layer —
src/core/(EventBus, CommandRegistry, DI service container, keybindings),src/models/(TextDocument, EditorGroup), and rich views (file explorer, search panel, full Git client, 5-tab settings panel). Much of this is not yet wired into the running app; the live app currently uses only the highlighter, editor, and terminal from those layers.
-
_build_ui()builds the editor/terminal splitter twice. - Several services, models, LSP, and 8 of 15 views are not wired in.
-
config/workspace.jsonis persisted but only loaded once. -
requirements.txtlists PyQt5 though the code imports PySide6.
Nautilus OS — a weightless, high-density desktop environment built for low-resource performance (Raspberry Pi 500, < 350 MB base RAM).
Nautilus OS · Wiki · Issues · License
Built in Python on PySide6. MIT License.
Home — overview, quick facts, shortcuts