BEE-074: bee follows search and symbol anchors — the matcher port, def templates, the hook passes by

Now
OPEN
Sev
MED
Ask
gritzko
Rep
///bee
Sub
BEE-073
On1
QJAB-015
See
BEE-063
See
BEE-071
See
BEE-070
See
SPOT-002
See
SPOT-004
See
BEE-002

With QJAB-015 the lexer fuses file:'text', file:"snippet", file:/re/ and file:name, and bee lands every one of them on the top of the file. Resolve each to a byte span in the current blob, first match wins. The symbol anchor is sugar: per-file-type spot templates with the name bound. The three matchers exist in pure JS in be and port as they are.

Input

Context

Goals

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome

Working tree only, nothing committed. door.js splits every ref through tok.link and resolves a search or symbol anchor to a byte span in the blob; index/match.js is the ported matcher, index/defs.js the def templates; view/grep.js grew scope() over the verb's own run, view/see.js fuses a spaced body and shows a query's hunks; index/lindex.js skips a scope. test/anchor/ (12 + 31) and test/scope/ (7 + 14) are new and green. 77 of 77 suites passed before, 78 of 79 after: the one red is test/perma, on the :k4 expectation DOG-050 already ruled amended.