https://github.com/wavefnd/lipi
Lipi Text Editor
https://github.com/wavefnd/lipi
cpp editor ide qt6 texteditor
Last synced: 2 months ago
JSON representation
Lipi Text Editor
- Host: GitHub
- URL: https://github.com/wavefnd/lipi
- Owner: wavefnd
- License: apache-2.0
- Created: 2025-12-06T05:20:41.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-12-27T15:04:27.000Z (3 months ago)
- Last Synced: 2025-12-29T11:17:03.976Z (3 months ago)
- Topics: cpp, editor, ide, qt6, texteditor
- Language: C++
- Homepage:
- Size: 266 KB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# lipi
lipi is a lightweight code editor written in C++ using Qt and developed as an open-source project under the Wave Foundation. It is designed to be simple, extensible, and fully controllable at the source level.
The project focuses on providing a clean editing environment without inheriting the complexity or rigid assumptions of large-scale editors and IDEs. lipi is intended to remain understandable, predictable, and adaptable over time.

## Scope
lipi is an editor, not a full integrated development environment. Its scope is intentionally limited to core editing functionality and related tooling.
The editor provides:
- Text editing optimized for source code
- Folder-based file exploration
- Data-driven syntax highlighting
- An integrated terminal panel
Language servers and heavyweight background systems are intentionally not part of the core design.
## File Explorer
lipi includes a built-in file explorer that allows opening a folder and navigating its contents using a tree view. Files and directories can be created, renamed, or deleted directly from the explorer through a context menu.
The explorer can be shown or hidden as needed to keep the workspace focused and uncluttered.
## Syntax Highlighting
Syntax highlighting in lipi is defined entirely through external JSON files. Each language is described declaratively using regular expressions and formatting rules.
This approach allows:
- Adding new languages without recompiling the editor
- Supporting custom and experimental languages
- Iterating on syntax definitions independently of the core codebase
## Editor View
The editor view is optimized for readability and precision. It uses a fixed-width font, displays line numbers, and avoids unnecessary visual elements.
Cursor position and document state are handled explicitly to provide clear and predictable feedback.
## Integrated Terminal
lipi provides an integrated terminal panel inspired by modern editor workflows. The terminal is embedded directly into the editor interface and behaves as a continuous console rather than separating input and output.
The terminal is intended as a practical companion to the editor rather than a full terminal emulator.
## License
lipi is licensed under the Apache License, Version 2.0. See the LICENSE file for details.