Text editing experience where the unit of change is a logically consistent atom,
and only valid modifications are accepted, hence the file being worked on can
never get into a syntactically invalid state. Editing is achieved by moving a
highlight around the file, and selecting a portion of the text for modification.
For a proof of concept, create the plaintext version, where there are no
syntactic constraints, text is edited line-by-line.
Terminology:
save - each valid edit is persisted, so it refers to a finished editing action
Features:
16 lines by 64 characters view window
Load file / create file (edit('name'))
when a file is opened, the highlight starts at the end, allowing adding new
lines without any navigation action on the part of the user
similarly, when editing is finished, the highlight advances automatically
handles multiline - while only a single line can be selected for editing,
newlines can be inserted in the input, which will be converted to multiple
lines upon saving
scrolling
it's possible to move the visibility window, and leave the highlight behind
focus follows highlight - if the highlight is moved, it's scrolled into view
if it's above the current window, the scroll changes so that the first line visible is selected
if it's below, it moves to the last line visible
word wrap - no horizontal scrolling
input
overflow indicator - if there are more lines off screen, show arrows
Text editing experience where the unit of change is a logically consistent atom, and only valid modifications are accepted, hence the file being worked on can never get into a syntactically invalid state. Editing is achieved by moving a highlight around the file, and selecting a portion of the text for modification.
For a proof of concept, create the plaintext version, where there are no syntactic constraints, text is edited line-by-line.
Terminology:
Features:
16 lines by 64 characters view window
Load file / create file (
edit('name')
)when a file is opened, the highlight starts at the end, allowing adding new lines without any navigation action on the part of the user
similarly, when editing is finished, the highlight advances automatically
handles multiline - while only a single line can be selected for editing, newlines can be inserted in the input, which will be converted to multiple lines upon saving
scrolling
word wrap - no horizontal scrolling
input