* Introduce a Theme struct as a new part of the app's settings
* Store on each Language a ThemeMap, which converts the capture ids
from that language's highlight query into StyleIds, which identify
styles in the current Theme.
* Update `highlighted_chunks` methods to provide StyleIds instead of
capture ids.
* Include it, along with settings in `OpenParams` grouped under a new struct called `AppState`
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Version vectors are going to be small most of the time, especially
as soon as we introduce an optimization that will let us only
track concurrent versions, thus preventing the version vector from
growing indefinitely over time in the tree.
* Use the published ignore crate
* Store ignore objects on snapshot, and use them to compute
files' ignored status dynamically, instead of storing the
ignored status on the file.
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.
Still need to add a timeout and completely remove finsih_pending_tasks.