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.
- 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)
Cpp, Python, JavaScript, TypeScript, Java, Rust, Go, HTML, CSS, JSON, YAML, Markdown, Shell, Make, CMake, Bazel, Meson, Ninja
- C++17 compiler
- CMake 3.16+
- Qt 6 (Core, Widgets, Gui)
- Optional: Qt6Pdf + Qt6PdfWidgets for the PDF viewer
- Disable with
-DENABLE_PDF_SUPPORT=OFF
- Disable with
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 buildRun it:
./build/App/LightpadRun tests (optional):
ctest --test-dir build --output-on-failuremake install
make build
make runbrew 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- Install Qt 6 and CMake.
- Configure and build with CMake (CLI or GUI).
- The binary is produced in the build output directory.
For plugin and startup diagnostics, run:
LIGHTPAD_LOG_LEVEL=debug ./build/App/LightpadLightpad stores project-specific settings in a .lightpad/ directory at the project root:
run_config.jsonfor run template assignmentsformat_config.jsonfor formatter assignmentshighlight_config.jsonfor language overridesdebug/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:
<app>/plugins - User:
AppDataLocation/plugins - Linux system:
/usr/lib/lightpad/plugins,/usr/local/lib/lightpad/plugins
- User manual: docs/USER_MANUAL.md
- Keyboard shortcuts: docs/KEYBOARD_SHORTCUTS.md
- Go to Definition: docs/GO_TO_DEFINITION.md
- Plugin development: docs/PLUGIN_DEVELOPMENT.md
- Syntax plugins: docs/SYNTAX_PLUGINS.md
See CONTRIBUTING.md for the workflow and guidelines.
GPL-3.0. See LICENSE for details.
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
