Skip to content

v0.0.22

Pre-release
Pre-release

Choose a tag to compare

@rsdoiel rsdoiel released this 14 Oct 19:42
· 33 commits to main since this release

Search is scoped by a path, in the command and in the interface, / now filters every list, and every row of the interface's menus is built. The decisions are DR-0072 to DR-0074.

Searching. kb search harvey/ "exit codes" searches one project, harvey/records one kind in it, workspace/ the workspace tier only and /records one kind everywhere; kb search TERM is unchanged, and a first word with no slash is still part of the term. Results are grouped by kind with counts, name a record by its qualified reference, show the projects a concept is in, and say showing 50 of N when they were cut. An unknown scope or kind is exit 2; workspace/observations and harvey/projects are exit 1 with the reason. In the interface, Search is a menu of scopes and a prompt that takes the same line, S opens it from any screen with the scope of where you are, and kb search on a terminal opens it.

Filtering. / narrows the list in front of you as you type, on every list; Enter keeps the filter and Esc clears it. / no longer starts the search, S does.

The interface. Check, the Browse lists, Recall, Suggest, Check retractions, Frontmatter (a checklist, written only on y), Enter on a search result, d to delete a concept, source or document, and u to unlink a concept from a project or cut one link of an observation are all on screens now, each with the typed or keyed confirmation its class needs and the command that does the same. kb --json verbs carries the menu fields.

Changed. source check-retractions is classed as a changing write, so : asks first; on the command line nothing changes.

For packagers and harvey: the library gains SearchScoped, SearchKinds, ErrNoMembers and ObservationConcepts, and KBSearchResult carries SourceID and ProjectID; Search is unchanged.

Not checked in this release: the race detector was not run (the machine it runs on was not available), and the new screens were not tried by hand on macOS or Windows. The test suite passes on Linux (Raspberry Pi OS, arm64), and the built binary was driven on a pseudo-terminal there for the filter and the search prompt.

Full Changelog: v0.0.21...v0.0.22