Written in pure C++/Qt6. No any dependencies.
Component has been created for Enki editor
Currently there are no API documentation, but the header is quite clear. See also example application.
All features are configurable
- Syntax highlighting for 196 languages
- Smart indentation algorithms:
- Generic
- Python
- Ruby
- XML
- Lisp
- Scheme
- C, C++
- JavaScript
- Java
- PHP
- Go
- And many others
- Line numbers
- Bracket highlighting
- Visible whitespaces
- Marker for too long lines
- Bookmarks
- Current line highlighting
- Advanced edit operations:
- Delete selection or line
- Duplicate selection or line
- Move selected lines up or down
- Copy-paste current or selected lines
- C++17 compiler (tested under MSVC 2022, GCC 13, Clang17)
- CMake
- Qt6
CMake is suppoorted.
cmake -S . -B build
cmake --build build --parallel
If you want to integrate into your project, the recommended way is using CPM
Add this to your CMakeLists.txt
CPMAddPackage("gh:diegoiast/qutepart-cpp#main")
add_executable(app ...)
target_link_libraries(app PUBLIC ... qutepart ...)
To build the docs see docs
Online documentation is available here
Andrei Kopats Diego Iastrubni
Kate and Katepart (an editor component) is really cool software. The Kate authors and community have created, probably, the biggest set of highlighters and indenters for programming languages.
- Qutepart uses Kate syntax highlighters (XML files)
- Qutepart contains a port from Javascript to C++ of Kate indenters
- Qutepart doesn't contain Katepart code.
Nothing is wrong with Katepart. Qutepart has been created to enable reusing highlighters and indenters in projects where a KDE dependency is not acceptable.
Why not using the syntax highlighter from kate? Because alternatives are better. Now Kate has another implementation. This project's goal is to make a full blown editor component, not only a syntax highlighter.
LGPL v2
I don't mind if you use the code under WTFPL license. But consult you layers if I have right to release it this way.