SMARTedit

SMARTedit is a text editor that lets you program text-editing macros by demonstration. SMARTedit stands for Simple MAcro-Recognition Tool editor.

Macros in ordinary text editors, such as emacs, are difficult to use: they're tricky to get right the first time, hard to debug and visualize, and brittle (they don't always work on new cases).

On the other hand, people faced with repetitive text-editing tasks badly need a way to construct simple programs to automate parts of their work. Yet as soon as the tasks get more complicated than simple search-and-replace, the poor user is faced with learning a programming language such as Visual Basic in order to control the application.

SMARTedit addresses these problems by using robust machine learning technology to allow non-programmers to construct complex text-editing programs without writing a single piece of code, simply by interacting directly with the interface. SMARTedit learns programs in a simple yet expressive programming language with constructs such as "move to the beginning of the string tag" and "insert the string <B>".

Screenshots

Walk through an illustrative session with SMARTedit as we teach it how to delete HTML comments from a text file.

System requirements

SMARTedit is written entirely in Python. It requires Python 1.5.2 or greater, Tcl/Tk 8.0 or greater, and Pmw (Python MegaWidgets).

Download

SMARTedit is only a research prototype, but you are welcome to get the latest snapshot and try it out. We welcome feedback on any bugs you find, ideas you have for enhancing SMARTedit's ability to learn how to do your tasks, and general comments on the system.


Tessa Lau | tlau-www@tlau.org
Last modified on 06/16/04