EYE is a Qt based text/code editor designed to be customizable/scriptable. It uses Scintilla as the base text widget. It currently supports:
- tabbed, multi-split, multi-window GUI
- syntax coloring
- project/directory level editing preferences
- recursive grep integration
- Python scriptability
By default, EYE provides a basic UI with a tabbed window with one editor. A few widgets and plugins are available but not enabled by default.
At startup, Python scripts contained in the user configuration directory are run. These scripts can use the EYE API to configure the app as you want.
They can:
- enable built-in plugins (like automatic syntax coloring when a file is opened) and features
- create actions on keyboard shortcuts or react on other events
- customize the menus/toolbars or the rest of the UI
- make complete plugins
All of this is doable through the full Python API, the EYE API and the Qt components upon which EYE is based.
- simple recursive grep search
- backward/forward file navigation
- syntax coloring based on file extension
- theming
- macro recording/replay
- "project"-wide indentation style (with support for .editorconfig)
- file-line bookmarks (not saved on quit though)
- autocompletion with YouCompleteMe
- build system launch with error annotations in the source code
- semantic source coloring with clang api
- controlling a debugger
- more features for easing navigation and search
The documentation is built with sphinx in the docs dir and can be consulted online. It is also a work-in-progress.
EYE is currently in alpha state, say 0.0.1. When it's stable, it will use semantic versioning, for better plugins compatibility.