Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.51 KB

readme.md

File metadata and controls

43 lines (30 loc) · 1.51 KB

Synless

This whole project is in a pre-alpha stage. Even the design documents are under construction at best. Synless does not yet exist.


Synless is a hypothetical tree editor. It hopes to one day grow up to be a real tree editor. It aims to:

  • Provide better editing commands, that act directly on the structure of the program, rather than on its textual representation.
  • Eliminate the need for weird encoding details like escape sequences (I'm looking at you, quadruple backslashes).
  • Make features and plugins much easier to write, by always knowing the exact structure of the document. (It can do this because it never has to try to parse an incomplete and syntactically invalid program.)
  • Make it easy to design new structured document formats, and to provide an editor for them that can never create an invalid document.
  • End formatting wars by delegating formatting choices to the same status as style files.

Synless is not:

  • A text editor.
  • A tree editor built on top of a text editor. There's no gap buffer. It's really just a tree.
  • A language workbench. Synless will not help you define a language semantics or perform static analysis.

To learn more:

Why Synless? And why "Synless"?

Synless Walkthrough

The Synless Documentation (to come)

The Synless Design Documentation (for developers)

An Incomplete Survey of Tree Editors