search: stream diff/commits and symbol in PoC
Created by: keegancsmith
We stream the same interface used by our web client for commits. This is just the generic search result interface. This change originally started off trying to use a better API, but ran into two problems:
- There is a lot of potential metadata used to create a commit result. Commit author name/time, message, etc.
- The results we return are markdown files with highlights. Translating this from something more abstract (eg just offsetAndRange) would of been very complicated.
After this work, I realised we probably want to keep a generic interface for better extensibility in the future. So commits will keep using our generic interface for now.