Lapis (text editor)

Lapis is an experimental web browser and text editor allowing multiple simultaneous edits of text in a multiple selection.

Lapis is an instance of Programming by example. The multiple items to edit are selected automatically according to the example provided by the user, making this experimental feature unique to Lapis among text editors - though similar features exist in some web scrapers and data munging tools.

To create the selection, LAPIS first determines the more salient properties of the items selected by the user in a process called Feature Generation, detects common features of the user-selected items and groups them to create a hypotheses for the concept that defines the selection, and then applies the generalized concept to the whole text.[1] Lapis also features outliers detection, marking in red those items selected that have a low matching score, thus allowing the user to review the automatic decisions made by the algorithm.

Lapis includes a templates vocabulary to assist editing several kinds of structured languages. One of those languages is HTML. Lapis includes a Web browser view that allows its multiple edit feature to work on web pages in a WYSIWYG way, through automatic matching of the underlying HTML tags.

The software is programmed in various languages, mainly Java, and released under the GPL, with various dependencies provided under other licenses.

See also

References

  1. Miller, R. C., & Myers, B. A. (2001, June). Interactive Simultaneous Editing of Multiple Text Regions. In USENIX Annual Technical Conference, General Track (pp. 161-174).