https://github.com/djeada/lightpad
Welcome to Lightpad, a powerful and intuitive code editor developed with the Qt framework. Lightpad is designed to make it easy for you to write, edit, and debug code in a variety of languages.
https://github.com/djeada/lightpad
code-editor cross-platform-app qt-widgets qt5 text-editor
Last synced: 4 months ago
JSON representation
Welcome to Lightpad, a powerful and intuitive code editor developed with the Qt framework. Lightpad is designed to make it easy for you to write, edit, and debug code in a variety of languages.
- Host: GitHub
- URL: https://github.com/djeada/lightpad
- Owner: djeada
- License: gpl-3.0
- Created: 2020-08-31T18:24:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2026-02-07T22:03:30.000Z (4 months ago)
- Last Synced: 2026-02-08T04:53:01.549Z (4 months ago)
- Topics: code-editor, cross-platform-app, qt-widgets, qt5, text-editor
- Language: C++
- Homepage:
- Size: 1.82 MB
- Stars: 17
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Lightpad
Lightpad is a Qt 6-based code editor with a modern UI, built-in language tooling, and an extensible plugin system. It targets fast editing, project-level workflows, and developer-friendly features like LSP, Git, and debugging.

## Highlights
- Multi-language syntax highlighting with a plugin-based registry
- Autocompletion with keyword, snippet, and LSP providers
- LSP features: completion, hover, go-to definition, references, rename, and diagnostics
- Debug Adapter Protocol (DAP) client with breakpoints, sessions, watches, and debug console
- Git integration: status, diff gutter, staging, commits, branches, remotes, and stash
- Command palette, file quick open, go to symbol/line
- Multi-cursor editing and split editors (horizontal/vertical)
- Problems panel, breadcrumbs, minimap, and integrated terminal
- Run and format templates with per-project assignments
- Image viewer and optional PDF viewer (Qt6Pdf)
## Supported languages (built-in syntax plugins)
Cpp, Python, JavaScript, TypeScript, Java, Rust, Go, HTML, CSS, JSON, YAML, Markdown, Shell
## Build requirements
- C++17 compiler
- CMake 3.16+
- Qt 6 (Core, Widgets, Gui)
- Optional: Qt6Pdf + Qt6PdfWidgets for the PDF viewer
- Disable with `-DENABLE_PDF_SUPPORT=OFF`
## Build on Linux (Ubuntu/Debian)
```bash
sudo apt-get update
sudo apt-get install -y build-essential cmake qt6-base-dev qt6-pdf-dev libqt6pdf6 libqt6pdfwidgets6
git clone https://github.com/djeada/Lightpad.git
cd Lightpad
cmake -S . -B build -DBUILD_TESTS=ON
cmake --build build
```
Run it:
```bash
./build/App/Lightpad
```
Run tests (optional):
```bash
ctest --test-dir build --output-on-failure
```
## Build with Makefile shortcuts
```bash
make install
make build
make run
```
## Build on macOS
```bash
brew install qt cmake
git clone https://github.com/djeada/Lightpad.git
cd Lightpad
cmake -S . -B build -DBUILD_TESTS=ON
cmake --build build
./build/App/Lightpad.app/Contents/MacOS/Lightpad
```
## Build on Windows
1. Install Qt 6 and CMake.
2. Configure and build with CMake (CLI or GUI).
3. The binary is produced in the build output directory.
## Diagnostics
For plugin and startup diagnostics, run:
```bash
LIGHTPAD_LOG_LEVEL=debug ./build/App/Lightpad
```
## Project configuration
Lightpad stores project-specific settings in a `.lightpad/` directory at the project root:
- `run_config.json` for run template assignments
- `format_config.json` for formatter assignments
- `highlight_config.json` for language overrides
- `debug/launch.json`, `debug/breakpoints.json`, `debug/watches.json`
User settings are stored in:
- Linux: `~/.config/lightpad/settings.json` (fallback: `~/.config/lightpad/`)
- Windows: `%LOCALAPPDATA%/Lightpad/settings.json`
- macOS: `~/Library/Application Support/Lightpad/settings.json`
Plugins are discovered from:
- App dir: `/plugins`
- User: `AppDataLocation/plugins`
- Linux system: `/usr/lib/lightpad/plugins`, `/usr/local/lib/lightpad/plugins`
## Documentation
- User manual: docs/USER_MANUAL.md
- Keyboard shortcuts: docs/KEYBOARD_SHORTCUTS.md
- Plugin development: docs/PLUGIN_DEVELOPMENT.md
- Syntax plugins: docs/SYNTAX_PLUGINS.md
## Contributing
See CONTRIBUTING.md for the workflow and guidelines.
## License
GPL-3.0. See LICENSE for details.
## Third-Party Licenses
This application uses the Qt framework, which is available under LGPLv3.
Qt is a registered trademark of The Qt Company Ltd. and its subsidiaries.
Licensing details: https://www.qt.io/licensing/
Qt source code: https://www.qt.io/download-open-source