Welcome to the site.

Ex.Co. (Extensible Coder) is an extensible text editor written and scriptable in Python.

It uses PyQt and QScintilla libraries with some lexers optionally available in Cython for more efficient text highlighting. On the image to the right you can also see the other software that was used to create or is part of Ex.Co..

I developed it with simplicity of use,  extensibility and modularity in mind. Features are added when they are needed by someone (usually me when I need something at work). Open an issue on Github with the feature tag and it will be added if it's possible.


Quick feature overview:

  • Three window editing system with window spinning, moving, copying, ...
  • All standard text editor functionality (copy, cut, paste, ...)
  • Function wheel for quick access to most of Ex.Co.'s functionality
  • Integrated Python single/multi-line REPL (Read-Eval-Print Loop) for direct access/manipulation of each editor window text and all other functionality
  • Text diffing (also between editor windows)
  • Execute Terminal/Shell commands directly from the REPL
  • Ability to add your custom Python functions
  • Code tree displaying for:
    • Python 3
    • Nim
    • C
    • Many more to come (if you have a special preference, raise an issue on Github and I will add it)
  • Color theme selection and customization
  • Language syntax highlighting: AVS, Ada, Bash, Batch, CMake, CPP, CSS, CSharp, CoffeeScript, Cython, D, Diff, Fortran, Fortran77, HTML, IDL, Java, JavaScript, Lua, Makefile, Matlab, Nim, Oberon, Octave, PO, POV, Pascal, Perl, PostScript, Properties, Python, RouterOS (MikroTik), Ruby, SQL, Spice, TCL, TeX, Text, VHDL, Verilog, XML and YAML
  • Check out Features for more ...

Supported platforms:

  • Windows (precompiled version available)
  • GNU/Linux (tested on Lubuntu, Mint (Rebecca), ZorinOS and Raspbian (Raspberry Pi, Pi2 and Pi3))
  • Mac OS (Many thanks to zenlc2000 for testing this on Mac OS 10.11)
  • And probably any other, that you can get Python 3, PyQt and QScintilla on