Home

Awesome

Build Status

Code editor component for PyQt5

Component has been created for Enki editor as replacement for QScintilla

API documentation

Features

Building and installation on Linux

Qutepart depends on:

Versions up to 2.2.3 used to work on Python 2 and PyQt4.

1. Install pcre and development files

On Debian, Ubuntu and other Linuxes install package libpcreX-dev, where X is available in your distribution pcre version. For other OSes - see instructions on pcre website

2. Install Python development files

On Debian, Ubuntu and other Linuxes install package python3-dev, on other systems - see Python website

3. Install C compiler

It will probably be gcc

4. Build and install the package

python3 setup.py install

Building and installation on Windows

Make pcre

cd <pcre-8.37 source>
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS:BOOL=OFF -DPCRE_SUPPORT_UTF:BOOL=ON -DPCRE_SUPPORT_JIT:BOOL=ON -G "Visual Studio 10 2010"
cmake --build . --config Release

Build/install Python modules

cd qutepart
python3 setup.py build_ext --include-dir=../pcre-8.37/build --lib-dir=../pcre-8.37/build/Release
python3 -m pip install -e .

Tests status

Qutepart contains a lot of tests. See tests/ directory. This tests are very useful to verify correctness of highlighting, indentation, Vim mode, etc. The tests often fail on CI because of hard-to-track PyQt bugs. Many issues were workarounded, but new issues appear on new OSes and software envinronments. If we try to run tests on CI, more time are spent on finding workarounds than saved by tests. It is not recommended to run the tests automatically now, hovewer the tests still live in the repository for manual execution by developers.

Qutepart and Katepart

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.

Nothing is wrong with Katepart. Qutepart has been created to enable reusing highlighters and indenters in projects where a KDE dependency is not acceptable.

Releasing new version

    make bump-version  # Set next version number. Commit the changes
    make changelog-update  # Edit and commit 3 changelog files
    git tag vx.x.x
    git push
    git push --tags
    make push-obs  # upload the version to Open Suse build service
    # make pip release TODO document this step

Author

Andrei Kopats andrei.kopats@gmail.com

Bug reports, patches

Github page

License

LGPL v2