Experimental modal text editor built for extensibility and flexibility

feat(runtime): :grep results in a multibuffer #49

Open amartin.beer
targeting push-uopxpnpuutzs from push-xmpltqpurkvw
Open opened by and assigned to amartin.beer
targeting push-uopxpnpuutzs from push-xmpltqpurkvw

:grep scans the open buffers for lines matching the regex (koa/regex, same engine as / search) and builds a multibuffer with one excerpt per matching line. Edits route to the source buffers as usual; :save writes every excerpted source with a :file-path; :open-excerpt jumps to the source buffer under the cursor. Removes the temporary :multibuffer debug command.

Commits 10

feat(runtime): :grep results in a multibuffer
feat(runtime): virtual multibuffer over excerpts
feat(runtime): cursors at next match / all matches
feat(runtime): incremental live search
feat(runtime): search engine and match highlighting
chore(runtime): vendor spork regex module (MIT licensed)
feat(runtime): move all cursors together
feat(runtime): multi-cursor core (MVP)
feat(runtime): buffer switching commands and open-file reuse
feat(runtime): per-buffer state for multi-buffer