Skip to main content

Arlecchino.Editing

Classes

TypeSummary
CaretKeysThe keys that take the caret about a field of one line, by a symbol, by a word or to either end. Any of them drops whatever was selected, which is what tells them from the keys with Shift held.
EntryKeysEvery key a line of text answers to, in the order they are read: the clipboard, the selection, the caret, then rubbing out. Whatever is typed into is offered these, so a filter is edited the way a field is.
EraseKeysThe keys that rub text out of a line: a symbol, a word, or everything back to the start. Any of them takes the selection instead while there is one.
PastedTextWhat a block of pasted text comes to where it lands. A line of one row takes the first line of it, since what was on the clipboard does not turn one row into several.
SelectKeysThe keys that take the selection about rather than the caret, which are the moving keys with Shift held. They are read before the moving keys.
SpaceWordsWords told apart by the spaces between them, which is how a line of anything typed reads: the word being finished is what stands between the last space and the caret.
TextCompleterFinishing the word being typed, hung on any line of text. The first press fills in what every candidate agrees on, later presses step through them, and typing on leaves the offer behind.
TextEditingEditing a line of text: where the caret goes and what each edit does to it, apart from whatever holds the line. A symbol is a grapheme cluster rather than a char, so an emoji is rubbed out whole.
TextEntryA line of text held on its own, for whatever is typed into but is not a dialog: a filter in a view, a line an application draws for itself. What each key does to it is TextEditing's.
WholeLineEverything up to the caret as one word, for a field that holds one thing: a path, a host, a name. Nothing in it divides it, spaces included, since a name is allowed to have them.
WordListWords an application already holds: the names of its commands, the hosts it knows. They are read through a delegate, so the list is whatever it is when the word is being finished.

Structs

TypeSummary
CompletionAskThe half-typed word something is being asked to finish, and the line it stands in. The line goes with it because what a word could turn into depends on what stands in front of it.

Interfaces

TypeSummary
ICutsWordsWhich part of a line is the word being finished. A line of shell reaches back to the last space, where a field holding one path is all one word.
ISuggestsWordsWhere the words a half-typed one could turn into come from. It is asked rather than read, since the answer can be a folder on the far side of a network.
ITextEntryA line of text being typed into, which is all the editing needs to know about whatever holds it. A dialog field is one; so is a line an application draws for itself.