First checkbox shows implementation, curly braces indicate test written.
Interface:
- fuzzy bar
- with simple index {fuzzy_buffer_list_displays}
- with advanced index {fuzzy_file_index_displays}
- async
- simple find
- copy/paste support (common model for all windows)
- regex find
- highlight opened
- filter opened
- show keyboard shortcut
- force keyboard shortcut (learning mode)
- all-commands bar
- display {all_commands_bar_displays}
- act
- keyboard shortcuts
- loading files
- single on startup {open_via_startup}
- multiple on startup
- async multiple on startup
- via fuzzy file bar (ctrl-o) {open_via_fuzzy}
- via open file dialog {open_via_dialog}
- error handling
- saving files
- in-place {save_via_ctrls}
- via save-as dialog {save_new_file_via_dialog}
- autosaving (!, MVP!)
- error handling
- escalate to root to save!
- edition
- cursor navigation (written, but with small bug)
- arrows
- pg-up pg-down
- multicursors (as above)
- clipboard
- paste
- copy
- multiline
- selection
- single
- multi
- ctrl-a
- typing
- undo
- basic
- smart (merge insignifficant changes into bigger ones)
- redo
- cursor navigation (written, but with small bug)
- changing buffers
- via bufferlist
- via keyboard next/prev
- bookmarking
- anonymous
- named
- jumping
- updating position on inside changes
- updating position on outside changes
- code navigation
- jump to symbol
- jump back
- cursor history
- colors
- syntax highlighting
- select theme
- language server protocol
- autocompletion
- building references graph
- multiple sources of data
after MVP:
- localized history
- loading files
- big files and load errors
- tinder-like browsing of "similar pages"
- basic
- with mid-processing
- plugin support
- references fetch
- references mid-processing
- symbol navigation