Hybrid Structured Editing: Structures for Tools, Text for Users
Tom Beckmann (Hasso Plattner Institute, Germany / University of Potsdam, Germany), Christoph Thiede (Hasso Plattner Institute, Germany / University of Potsdam, Germany), Jens Lincke (Hasso Plattner Institute, Germany / University of Potsdam, Germany)

TL;DR
Hybrid structured editing enhances programming tools by combining structural guarantees with familiar text editing, enabling safer and more consistent tool integration in programming environments.
Contribution
It introduces hybrid structured editing, allowing tool builders to declare structural constraints and ensuring their enforcement while maintaining user-friendly text editing.
Findings
Supports safe extension of programming environments
Provides structural guarantees for tools
Demonstrated effectiveness through case studies
Abstract
In programming, better tools often yield better results. For that, modern programming environments offer mechanisms to allow for their extensibility. The closer those tools are to the code, the easier it is for programmers to map the information provided by a tool to the code this information is about. However, existing extension mechanisms do not facilitate the close integration of tools with textual source code. Tools must be able to track program structures across edits to appear at the right positions but the parsing step of text complicates tracking structures. We propose hybrid structured editing, an approach that supports tool builders by providing structural guarantees while providing tool users with a familiar and consistent text editing interface. Hybrid structured editing allows tool builders to declare constraints on the structure that a program must conform to and ensures…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Logic, programming, and type systems · Usability and User Interface Design
