An open API service indexing awesome lists of open source software.

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

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.

![img.png](.github/img.png)

## 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.