Text editor design
A default text editor for GNOME.
Use cases
- Text editor as fallback - emergencies, boot strapping, support
- Can be used for setup, configuration, making simple fixes
- Quick and simple developer tasks
- Examples include: scripting, editing configuration files, minor documentation changes, editing simple data files
- Use case characteristics:
- Small number of files
- Typically no development environment setup
- The reason people typically use the text editor is that it's fast and doesn't have superfluous UI/features
- Editor as text buffer
- Examples: drafting comments and messages of various kinds; organising, sorting or transforming text-based information; caching text-based information to be stored or shared elsewhere at a future date. Also, as a processing step when moving text from one app to another.
- Key characteristic of these cases is that the text is transient - the note isn't intended to be stored long-term or to be returned to. The speed with which it is possible to bring up a blank space in which to type/paste is important here.
Functional goals
Goals:
- Fast to launch
- Don't burden the user with non-essential UI
- Start with a blank page (historical work should be available, but shouldn't be primary)
- Don't lose work, but don't overwrite files without user consent, either
- Efficient find/replace
- Code highlighting and error detection
- Easy to copy/share the pad to elsewhere (select all & copy, or maybe upload to a pastebin)
- Indicate if the file has changed on disk
- Maybe some git minimal awareness - indicate changes, if the file has been staged, etc
Non-goals:
- Not a notes app
- Not a word processor
- Not an IDE or general purpose editor
- Not for complex projects
Relevant art
Tentative design
Edited by Jakub Steiner