Releases: trishume/syntect
Releases · trishume/syntect
v5.2.0
v5.1.0
Improvements
- Fix how
syntect::util::split_at()
handles multi-byte characters - Allow case insensitive search for .tmtheme paths
- impl
PartialEq
forTheme
Dependencies
- Upgrade
fancy-regex
to 0.11 - Upgrade
regex-syntax
to 0.7 - Replace
lazy_static
withonce_cell
Other
- Change MSRV policy to "last three stable versions"
- Make
Debug
impl ofsyntect::highlighting::Color
less verbose
Breaking changes for improved startup time and error handling!
Thanks to @Enselic for basically all the work to make this release happen!
Breaking changes
- Lazy-load syntaxes to significantly improve startup time. This changes the binary format of syntax dump files.
- Remove
ContextId::new()
from public API to support lazy-loading of syntaxes - Rename
HighlightLines::highlight()
toHighlightLines::highlight_line()
to make it clear that the function takes one line at a time - Make
plist
dependency (used for loading themes) optional via newplist-load
feature - Remove obsolete
dump-load-rs
anddump-create-rs
features that has been identical todump-load
anddump-create
for two years - Remove deprecated items
ThemeSettings::highlight_foreground
,ThemeSettings::selection_background
,ClassedHTMLGenerator::new
,ClassedHTMLGenerator::parse_html_for_line
,html::css_for_theme
,html::tokens_to_classed_html
andhtml::tokens_to_classed_spans
- Mark all error enums as
#[non_exhaustive]
- These functions have been changed to return a
Result
to allow propagation of errors:html::ClassedHTMLGenerator::parse_html_for_line_which_includes_newline
html::append_highlighted_html_for_styled_line
html::css_for_theme_with_class_style
html::highlighted_html_for_string
html::line_tokens_to_classed_spans
html::styled_line_to_highlighted_html
parsing::ParseState::parse_line
parsing::ScopeStack::apply
parsing::ScopeStack::apply_with_hook
parsing::syntax_definition::Context::match_at
parsing::syntax_definition::ContextReference::id
parsing::syntax_definition::ContextReference::resolve
Other changes
- Fall back to
Plain Text
if a referenced syntax is missing - Add support for
hidden_file_extensions
key in syntaxes. - Implement
Error
andDisplay
for all error enums by usingthiserror
- Replace
lazycell
withonce_cell
to fix crash on lazy initialization - Add
ScopeRangeIterator
- Add CI check for Minimum Supported Rust Version. This is currently Rust 1.53.
- 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()
Patch of v4.7.0 without the semver violations that broke things
See the release notes for v4.7.0, this release removes a new Cargo feature which constituted a semver violation:
- Remove 'plist-load' feature again due to semver violation. #403
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
Fixes and new APIs
- Add
html::line_tokens_to_classed_spans
to also take a mutable ScopeStack, deprecatetokens_to_classed_spans
, to avoid panics and incorrect highlighting. - Derive Hash for Color and Style
- Add
find_unlinked_contexts
toSyntaxSet
- Add
syntaxes
method toSyntaxSetBuilder
- Bump
fancy-regex
to v0.7 andyaml-rust
to v0.4.5
A more correct classed HTML function
- Added a new function for producing classed HTML which handles newlines correctly and deprecated old one. #307
Cross-thread errors (+ feature and html fixes)
New onig and plist versions
- Updates to new versions of
onig
andplist
. The newonig
version doesn't requirebindgen
thus making compilation easier. #293
Fix a bug that could panic with some syntaxes
- Properly handle backreferences in included contexts #288