fix: downgrade treesitter to 0.20

This commit is contained in:
Maciej Jur 2024-05-02 10:07:26 +02:00
parent fdb2d01136
commit 4446ca744d
Signed by: kamov
GPG key ID: 191CBFF5F72ECAFD
4 changed files with 186 additions and 175 deletions

118
Cargo.lock generated
View file

@ -521,12 +521,6 @@ dependencies = [
"hashbrown 0.13.2", "hashbrown 0.13.2",
] ]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.153" version = "0.2.153"
@ -561,16 +555,6 @@ version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "npezza93-tree-sitter-haskell"
version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd44dfc09a37bafbed1c28622c662be9b8fb1aaaad0444688370eae11e3d54b0"
dependencies = [
"cc",
"tree-sitter",
]
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.18" version = "0.2.18"
@ -899,19 +883,23 @@ dependencies = [
"hayagriva", "hayagriva",
"hypertext", "hypertext",
"katex", "katex",
"npezza93-tree-sitter-haskell",
"once_cell", "once_cell",
"pulldown-cmark", "pulldown-cmark",
"regex", "regex",
"serde", "serde",
"tree-sitter", "tree-sitter",
"tree-sitter-astro",
"tree-sitter-css",
"tree-sitter-haskell",
"tree-sitter-highlight", "tree-sitter-highlight",
"tree-sitter-html",
"tree-sitter-javascript", "tree-sitter-javascript",
"tree-sitter-md", "tree-sitter-md",
"tree-sitter-python", "tree-sitter-python",
"tree-sitter-query", "tree-sitter-regex",
"tree-sitter-rust", "tree-sitter-rust",
"tree-sitter-scss", "tree-sitter-toml",
"tree-sitter-typescript",
] ]
[[package]] [[package]]
@ -1022,31 +1010,68 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tree-sitter" name = "tree-sitter"
version = "0.22.5" version = "0.20.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "688200d842c76dd88f9a7719ecb0483f79f5a766fb1c100756d5d8a059abc71b" checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d"
dependencies = [ dependencies = [
"cc", "cc",
"regex", "regex",
] ]
[[package]] [[package]]
name = "tree-sitter-highlight" name = "tree-sitter-astro"
version = "0.22.5" version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/virchau13/tree-sitter-astro.git?rev=e924787e12e8a03194f36a113290ac11d6dc10f3#e924787e12e8a03194f36a113290ac11d6dc10f3"
checksum = "9442daef896b114ed618a5e11c9ba9663796ab3600e544d57f2dc980fa0d2d78" dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-css"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3306ddefa1d2681adda2613d11974ffabfbeb215e23235da6c862f3493a04fd"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-haskell"
version = "0.14.0"
source = "git+https://github.com/tree-sitter/tree-sitter-haskell?rev=1da347c88599faad7964e63facead5d163ac7dba#1da347c88599faad7964e63facead5d163ac7dba"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-highlight"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "042342584c5a7a0b833d9fc4e2bdab3f9868ddc6c4b339a1e01451c6720868bc"
dependencies = [ dependencies = [
"lazy_static",
"regex", "regex",
"thiserror", "thiserror",
"tree-sitter", "tree-sitter",
] ]
[[package]] [[package]]
name = "tree-sitter-javascript" name = "tree-sitter-html"
version = "0.21.0" version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26eca1925fd9518f9439ea122e3f3395abb3fcfc4b0841ef94eeef934871ec59" checksum = "017822b6bd42843c4bd67fabb834f61ce23254e866282dd93871350fd6b7fa1d"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-javascript"
version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d015c02ea98b62c806f7329ff71c383286dfc3a7a7da0cc484f6e42922f73c2c"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",
@ -1054,9 +1079,9 @@ dependencies = [
[[package]] [[package]]
name = "tree-sitter-md" name = "tree-sitter-md"
version = "0.2.3" version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c3cfd068f2527250bbd8ff407431164e12b17863e7eafb76e311dd3f96965a" checksum = "3c20d3ef8d202430b644a307e6299d84bf8ed87fa1b796e4638f8805a595060c"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",
@ -1064,18 +1089,19 @@ dependencies = [
[[package]] [[package]]
name = "tree-sitter-python" name = "tree-sitter-python"
version = "0.21.0" version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4066c6cf678f962f8c2c4561f205945c84834cce73d981e71392624fdc390a9" checksum = "e6c93b1b1fbd0d399db3445f51fd3058e43d0b4dcff62ddbdb46e66550978aa5"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",
] ]
[[package]] [[package]]
name = "tree-sitter-query" name = "tree-sitter-regex"
version = "0.2.1" version = "0.20.0"
source = "git+https://github.com/tree-sitter-grammars/tree-sitter-query?rev=608c01187fb9f525a1e4cf585bb63d73dea280b7#608c01187fb9f525a1e4cf585bb63d73dea280b7" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efb5a53e9c990757895476216796b170fd81e4d173d08f8b082279c4e6ff8c5c"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",
@ -1083,19 +1109,29 @@ dependencies = [
[[package]] [[package]]
name = "tree-sitter-rust" name = "tree-sitter-rust"
version = "0.21.2" version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "277690f420bf90741dea984f3da038ace46c4fe6047cba57a66822226cde1c93" checksum = "b0832309b0b2b6d33760ce5c0e818cb47e1d72b468516bfe4134408926fa7594"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",
] ]
[[package]] [[package]]
name = "tree-sitter-scss" name = "tree-sitter-toml"
version = "1.0.0" version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33909a9ca86390ebbf3461e9949c4bbe2767d2d024b486306d27616641d4ba24" checksum = "ca517f578a98b23d20780247cc2688407fa81effad5b627a5a364ec3339b53e8"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-typescript"
version = "0.20.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8bc1d2c24276a48ef097a71b56888ac9db63717e8f8d0b324668a27fd619670"
dependencies = [ dependencies = [
"cc", "cc",
"tree-sitter", "tree-sitter",

View file

@ -21,20 +21,18 @@ serde = { version = "1.0.197", features = ["derive"] }
pulldown-cmark = { git = "https://github.com/pulldown-cmark/pulldown-cmark.git", branch = "branch_0.11" } pulldown-cmark = { git = "https://github.com/pulldown-cmark/pulldown-cmark.git", branch = "branch_0.11" }
# Treesitter # Treesitter
tree-sitter = "0.22" tree-sitter = "0.20"
tree-sitter-highlight = "0.22" tree-sitter-highlight = "0.20"
# Treesitter languages # Treesitter languages
# tree-sitter-astro = { git = "https://github.com/virchau13/tree-sitter-astro.git", rev = "e924787e12e8a03194f36a113290ac11d6dc10f3" } tree-sitter-astro = { git = "https://github.com/virchau13/tree-sitter-astro.git", rev = "e924787e12e8a03194f36a113290ac11d6dc10f3" }
# tree-sitter-css = "0.20.0" tree-sitter-css = "0.20.0"
# tree-sitter-haskell = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "1da347c88599faad7964e63facead5d163ac7dba" } tree-sitter-haskell = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "1da347c88599faad7964e63facead5d163ac7dba" }
npezza93-tree-sitter-haskell = "0.15.1" tree-sitter-html = "0.20"
tree-sitter-javascript = "0.21" tree-sitter-javascript = "0.20"
tree-sitter-md = "0.2" tree-sitter-md = "0.1"
tree-sitter-python = "0.21" tree-sitter-python = "0.20"
tree-sitter-query = { git = "https://github.com/tree-sitter-grammars/tree-sitter-query", rev = "608c01187fb9f525a1e4cf585bb63d73dea280b7" } tree-sitter-regex = "0.20"
# tree-sitter-regex = "0.20.0" tree-sitter-rust = "0.20"
tree-sitter-rust = "0.21" tree-sitter-toml = "0.20"
tree-sitter-scss = "1" tree-sitter-typescript = "0.20"
# tree-sitter-toml = "0.20.0"
# tree-sitter-typescript = "0.20.5"

View file

@ -185,7 +185,6 @@ fn to_index<T>(item: PipelineItem) -> PipelineItem
// FIXME: clean this up // FIXME: clean this up
let dir = meta.path.parent().unwrap(); let dir = meta.path.parent().unwrap();
let ext = meta.path.extension().unwrap();
let dir = dir.strip_prefix("content").unwrap(); let dir = dir.strip_prefix("content").unwrap();
let dir = match meta.path.file_stem().unwrap() { let dir = match meta.path.file_stem().unwrap() {
"index" => dir.to_owned(), "index" => dir.to_owned(),
@ -193,8 +192,8 @@ fn to_index<T>(item: PipelineItem) -> PipelineItem
}; };
let path = dir.join("index.html"); let path = dir.join("index.html");
match ext { match meta.path.extension() {
"md" | "mdx" | "lhs" => { Some("md" | "mdx" | "lhs") => {
let data = fs::read_to_string(&meta.path).unwrap(); let data = fs::read_to_string(&meta.path).unwrap();
let (fm, md) = md::preflight::<T>(&data); let (fm, md) = md::preflight::<T>(&data);
let link = T::as_link(&fm, Utf8Path::new("/").join(dir)); let link = T::as_link(&fm, Utf8Path::new("/").join(dir));
@ -227,16 +226,20 @@ fn to_bundle(item: PipelineItem) -> PipelineItem {
let dirs = meta.path.strip_prefix("content").unwrap().parent().unwrap(); let dirs = meta.path.strip_prefix("content").unwrap().parent().unwrap();
let path = dirs.join(meta.path.file_name().unwrap()).to_owned(); let path = dirs.join(meta.path.file_name().unwrap()).to_owned();
match meta.path.extension().unwrap() { match meta.path.extension() {
"jpg" | "png" | "gif" => Output { // any image
kind: Asset { Some("jpg" | "png" | "gif") => {
kind: AssetKind::Image, Output {
meta, kind: Asset {
}.into(), kind: AssetKind::Image,
path, meta,
link: None, }.into(),
}.into(), path,
"bib" => { link: None,
}.into()
},
// bibliography
Some("bib") => {
let data = fs::read_to_string(&meta.path).unwrap(); let data = fs::read_to_string(&meta.path).unwrap();
let data = hayagriva::io::from_biblatex_str(&data).unwrap(); let data = hayagriva::io::from_biblatex_str(&data).unwrap();
@ -262,7 +265,7 @@ fn main() {
fs::create_dir("dist").unwrap(); fs::create_dir("dist").unwrap();
let assets: Vec<Output> = vec![ let assets: Vec<Output> = [
gen::gather("content/about.md", &["md"].into()) gen::gather("content/about.md", &["md"].into())
.into_iter() .into_iter()
.map(to_index::<md::Post> as fn(PipelineItem) -> PipelineItem), .map(to_index::<md::Post> as fn(PipelineItem) -> PipelineItem),

View file

@ -34,60 +34,57 @@ pub static EXTENSIONS: Lazy<HashMap<&'static str, &'static str>> = Lazy::new(||
fn config_for( fn config_for(
lang: Language, lang: Language,
name: &str,
highlights: &str, highlights: &str,
injections: &str, injections: &str,
locals: &str, locals: &str,
) -> HighlightConfiguration { ) -> HighlightConfiguration {
let mut config = HighlightConfiguration::new(lang, name, highlights, injections, locals).unwrap(); let mut config = HighlightConfiguration::new(lang, highlights, injections, locals).unwrap();
config.configure(captures::NAMES); config.configure(captures::NAMES);
config config
} }
pub static CONFIGS: Lazy<HashMap<&'static str, HighlightConfiguration>> = Lazy::new(|| { pub static CONFIGS: Lazy<HashMap<&'static str, HighlightConfiguration>> = Lazy::new(|| {
HashMap::from([ HashMap::from([
// ( (
// "astro", "astro",
// config_for( config_for(
// tree_sitter_astro::language(), tree_sitter_astro::language(),
// query!("astro/highlights"), query!("astro/highlights"),
// query!("astro/injections"), query!("astro/injections"),
// "", "",
// ) )
// ), ),
// ( (
// "css", "css",
// config_for( config_for(
// tree_sitter_css::language(), tree_sitter_css::language(),
// query!("css/highlights"), query!("css/highlights"),
// "", "",
// "", "",
// ) )
// ), ),
( (
"haskell", "haskell",
config_for( config_for(
npezza93_tree_sitter_haskell::language(), tree_sitter_haskell::language(),
"haskell", tree_sitter_haskell::HIGHLIGHTS_QUERY,
npezza93_tree_sitter_haskell::HIGHLIGHTS_QUERY, "",
tree_sitter_haskell::LOCALS_QUERY,
)
),
(
"html",
config_for(
tree_sitter_html::language(),
tree_sitter_html::HIGHLIGHTS_QUERY,
tree_sitter_html::INJECTIONS_QUERY,
"", "",
npezza93_tree_sitter_haskell::LOCALS_QUERY,
) )
), ),
// (
// "html",
// config_for(
// tree_sitter_html::language(),
// tree_sitter_html::HIGHLIGHTS_QUERY,
// tree_sitter_html::INJECTIONS_QUERY,
// "",
// )
// ),
( (
"javascript", "javascript",
config_for( config_for(
tree_sitter_javascript::language(), tree_sitter_javascript::language(),
"javascript",
&format!("{} {}", &format!("{} {}",
query!("ecma/highlights"), query!("ecma/highlights"),
tree_sitter_javascript::HIGHLIGHT_QUERY, tree_sitter_javascript::HIGHLIGHT_QUERY,
@ -100,7 +97,6 @@ pub static CONFIGS: Lazy<HashMap<&'static str, HighlightConfiguration>> = Lazy::
"jsx", "jsx",
config_for( config_for(
tree_sitter_javascript::language(), tree_sitter_javascript::language(),
"jsx",
&format!("{} {} {}", &format!("{} {} {}",
query!("ecma/highlights"), query!("ecma/highlights"),
tree_sitter_javascript::HIGHLIGHT_QUERY, tree_sitter_javascript::HIGHLIGHT_QUERY,
@ -114,7 +110,6 @@ pub static CONFIGS: Lazy<HashMap<&'static str, HighlightConfiguration>> = Lazy::
"markdown", "markdown",
config_for( config_for(
tree_sitter_md::language(), tree_sitter_md::language(),
"markdown",
tree_sitter_md::HIGHLIGHT_QUERY_BLOCK, tree_sitter_md::HIGHLIGHT_QUERY_BLOCK,
tree_sitter_md::INJECTION_QUERY_BLOCK, tree_sitter_md::INJECTION_QUERY_BLOCK,
"", "",
@ -124,92 +119,71 @@ pub static CONFIGS: Lazy<HashMap<&'static str, HighlightConfiguration>> = Lazy::
"python", "python",
config_for( config_for(
tree_sitter_python::language(), tree_sitter_python::language(),
"python", tree_sitter_python::HIGHLIGHT_QUERY,
tree_sitter_python::HIGHLIGHTS_QUERY,
"", "",
"", "",
) )
), ),
( (
"query", "regex",
config_for( config_for(
tree_sitter_query::language(), tree_sitter_regex::language(),
"query", query!("regex/highlights"),
tree_sitter_query::HIGHLIGHTS_QUERY, "",
tree_sitter_query::INJECTIONS_QUERY,
"", "",
) )
), ),
// (
// "regex",
// config_for(
// tree_sitter_regex::language(),
// query!("regex/highlights"),
// "",
// "",
// )
// ),
( (
"rust", "rust",
config_for( config_for(
tree_sitter_rust::language(), tree_sitter_rust::language(),
"rust", tree_sitter_rust::HIGHLIGHT_QUERY,
tree_sitter_rust::HIGHLIGHTS_QUERY,
tree_sitter_rust::INJECTIONS_QUERY, tree_sitter_rust::INJECTIONS_QUERY,
"", "",
) )
), ),
// ( (
// "scheme", "toml",
// config_for( config_for(
// tree_sitter_scheme::language(), tree_sitter_toml::language(),
// tree_sitter_scheme::HIGHLIGHTS_QUERY, tree_sitter_toml::HIGHLIGHT_QUERY,
// "", "",
// "", "",
// ) )
// ), ),
// ( (
// "toml", "typescript",
// config_for( config_for(
// tree_sitter_toml::language(), tree_sitter_typescript::language_typescript(),
// tree_sitter_toml::HIGHLIGHT_QUERY, &format!("{} {} {}",
// "", query!("ecma/highlights"),
// "", tree_sitter_javascript::HIGHLIGHT_QUERY,
// ) tree_sitter_typescript::HIGHLIGHT_QUERY,
// ), ),
// ( tree_sitter_javascript::INJECTION_QUERY,
// "tsx", &format!("{} {}",
// config_for( tree_sitter_javascript::LOCALS_QUERY,
// tree_sitter_typescript::language_tsx(), tree_sitter_typescript::LOCALS_QUERY
// &format!("{} {} {} {}", ),
// query!("ecma/highlights"), )
// tree_sitter_javascript::HIGHLIGHT_QUERY, ),
// tree_sitter_javascript::JSX_HIGHLIGHT_QUERY, (
// tree_sitter_typescript::HIGHLIGHT_QUERY, "tsx",
// ), config_for(
// tree_sitter_javascript::INJECTION_QUERY, tree_sitter_typescript::language_tsx(),
// &format!("{} {}", &format!("{} {} {} {}",
// tree_sitter_javascript::LOCALS_QUERY, query!("ecma/highlights"),
// tree_sitter_typescript::LOCALS_QUERY tree_sitter_javascript::HIGHLIGHT_QUERY,
// ) tree_sitter_javascript::JSX_HIGHLIGHT_QUERY,
// ) tree_sitter_typescript::HIGHLIGHT_QUERY,
// ), ),
// ( tree_sitter_javascript::INJECTION_QUERY,
// "typescript", &format!("{} {}",
// config_for( tree_sitter_javascript::LOCALS_QUERY,
// tree_sitter_typescript::language_typescript(), tree_sitter_typescript::LOCALS_QUERY
// &format!("{} {} {}", )
// query!("ecma/highlights"), )
// tree_sitter_javascript::HIGHLIGHT_QUERY, ),
// tree_sitter_typescript::HIGHLIGHT_QUERY,
// ),
// tree_sitter_javascript::INJECTION_QUERY,
// &format!("{} {}",
// tree_sitter_javascript::LOCALS_QUERY,
// tree_sitter_typescript::LOCALS_QUERY
// ),
// )
// ),
]) ])
}); });