mirror of
https://github.com/sharkdp/bat.git
synced 2024-11-08 17:04:22 +01:00
Replace lazycell with once_cell
We started to use lazycell because syntect already used it. But syntect has changed to use once_cell. So we should also do that to prepare for using the upcoming version of syntect.
This commit is contained in:
parent
d7671fa8e3
commit
dd0925a946
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -102,8 +102,8 @@ dependencies = [
|
|||||||
"globset",
|
"globset",
|
||||||
"grep-cli",
|
"grep-cli",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"lazycell",
|
|
||||||
"nix",
|
"nix",
|
||||||
|
"once_cell",
|
||||||
"path_abs",
|
"path_abs",
|
||||||
"predicates",
|
"predicates",
|
||||||
"semver",
|
"semver",
|
||||||
|
@ -49,7 +49,7 @@ bincode = "1.0"
|
|||||||
console = "0.15.0"
|
console = "0.15.0"
|
||||||
flate2 = "1.0"
|
flate2 = "1.0"
|
||||||
lazy_static = { version = "1.4", optional = true }
|
lazy_static = { version = "1.4", optional = true }
|
||||||
lazycell = "1.0"
|
once_cell = "1.8"
|
||||||
thiserror = "1.0"
|
thiserror = "1.0"
|
||||||
wild = { version = "2.0", optional = true }
|
wild = { version = "2.0", optional = true }
|
||||||
content_inspector = "0.2.4"
|
content_inspector = "0.2.4"
|
||||||
|
@ -2,7 +2,7 @@ use std::ffi::OsStr;
|
|||||||
use std::fs;
|
use std::fs;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
use lazycell::LazyCell;
|
use once_cell::unsync::OnceCell;
|
||||||
|
|
||||||
use syntect::highlighting::{Theme, ThemeSet};
|
use syntect::highlighting::{Theme, ThemeSet};
|
||||||
use syntect::parsing::{SyntaxReference, SyntaxSet};
|
use syntect::parsing::{SyntaxReference, SyntaxSet};
|
||||||
@ -27,7 +27,7 @@ mod serialized_syntax_set;
|
|||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct HighlightingAssets {
|
pub struct HighlightingAssets {
|
||||||
syntax_set_cell: LazyCell<SyntaxSet>,
|
syntax_set_cell: OnceCell<SyntaxSet>,
|
||||||
serialized_syntax_set: SerializedSyntaxSet,
|
serialized_syntax_set: SerializedSyntaxSet,
|
||||||
|
|
||||||
theme_set: ThemeSet,
|
theme_set: ThemeSet,
|
||||||
@ -49,7 +49,7 @@ pub(crate) const COMPRESS_THEMES: bool = true;
|
|||||||
impl HighlightingAssets {
|
impl HighlightingAssets {
|
||||||
fn new(serialized_syntax_set: SerializedSyntaxSet, theme_set: ThemeSet) -> Self {
|
fn new(serialized_syntax_set: SerializedSyntaxSet, theme_set: ThemeSet) -> Self {
|
||||||
HighlightingAssets {
|
HighlightingAssets {
|
||||||
syntax_set_cell: LazyCell::new(),
|
syntax_set_cell: OnceCell::new(),
|
||||||
serialized_syntax_set,
|
serialized_syntax_set,
|
||||||
theme_set,
|
theme_set,
|
||||||
fallback_theme: None,
|
fallback_theme: None,
|
||||||
@ -80,7 +80,7 @@ impl HighlightingAssets {
|
|||||||
|
|
||||||
fn get_syntax_set(&self) -> Result<&SyntaxSet> {
|
fn get_syntax_set(&self) -> Result<&SyntaxSet> {
|
||||||
self.syntax_set_cell
|
self.syntax_set_cell
|
||||||
.try_borrow_with(|| self.serialized_syntax_set.deserialize())
|
.get_or_try_init(|| self.serialized_syntax_set.deserialize())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Use [Self::get_syntaxes] instead
|
/// Use [Self::get_syntaxes] instead
|
||||||
|
Loading…
Reference in New Issue
Block a user