Much faster startup through lazy-loading, and much more!
Big release this time thanks to tons of fantastic contributions from @Enselic, this release was basically all him! The headline feature is much faster startup time due to lazy-loading at the syntax level.
- Lazy-load syntaxes to significantly improve startup time
- Remove
ContextId::new()
from public API to support lazy-loading of syntaxes. This is technically a breaking change but I have no idea why I made this API public and I'm pretty sure zero people have used it. - Add
ScopeRangeIterator
- Add CI check for Minimum Supported Rust Version. This is currently Rust 1.51.
- Make 'plist' dependency (used for loading themes) optional via new 'plist-load' feature
- Make looking up a syntax by extension use case-insensitive comparison
- Make from_dump_file() ~15% faster
- Blend alpha value on converting colors to ANSI color sequences
- Fix sample code in documentation to avoid double newlines
- Fix lots of build warnings and lints
- Add Criterion benchmarks for a whole syntect pipeline and for from_dump_file()
- Replace lazycell with once_cell to fix crash on lazy initialization