Future Plans

As of this writing, PySci is a fairly minimal wrapper around the existing QsciScintilla widget. It provides a few convenience features, but nothing earth-shattering. Here are some features that may appear in the future:

  • Support for choosing syntax highlighting for any of the language lexers that QsciScintilla supports
  • Direct attribute-based wrappers around the getter/setter methods
  • Loading and saving of files, with auto-detection of syntax highlighting based on filename extension
  • Loading and saving of PySci configuration preferences
  • Built-in docstrings for the standard QsciScintilla methods

Missing methods

QsciScintilla provides several “setter” methods with no “getter” counterpart. For example, many of the methods for specifying colors:

  • setMarginsBackgroundColor
  • setMarginsForegroundColor
  • setCaretLineBackgroundColor
  • etc.

Once a color is set, there’s no way to retrieve it later. In other words, these are write-only attributes.

Another feature that is lacking from QsciScintilla is the ability to easily retrieve geometry information. For instance, what if you need to know the Y-coordinate in screen pixels of a given line in your editor widget? Or a bounding rectangle around the text in a given line? Many of the other PyQt4 widgets provide such methods, but QsciScintilla doesn’t. PySci aims to remedy this, making the widget fit more closely with its Qt counterparts.