From 3ce715178bb0420ef1a602839c1f68182cba9add Mon Sep 17 00:00:00 2001 From: extrawurst Date: Mon, 15 Aug 2022 12:50:10 +0200 Subject: [PATCH] upgrade syntact to get rid of plist and #1275 --- Cargo.lock | 69 ++++--------------------------------------- Cargo.toml | 2 +- src/ui/syntax_text.rs | 9 +++++- 3 files changed, 15 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3efa4d1c..0a26cd74 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ "bit-vec", ] @@ -657,12 +657,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.121" @@ -709,21 +703,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" - [[package]] name = "lock_api" version = "0.4.6" @@ -989,20 +968,6 @@ version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" -[[package]] -name = "plist" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38d026d73eeaf2ade76309d0c65db5a35ecf649e3cec428db316243ea9d6711" -dependencies = [ - "base64", - "chrono", - "indexmap", - "line-wrap", - "serde", - "xml-rs", -] - [[package]] name = "pprof" version = "0.6.1" @@ -1187,12 +1152,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -1391,9 +1350,9 @@ dependencies = [ [[package]] name = "syntect" -version = "4.6.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b20815bbe80ee0be06e6957450a841185fcf690fe0178f14d77a05ce2caa031" +checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" dependencies = [ "bincode", "bitflags", @@ -1401,14 +1360,13 @@ dependencies = [ "flate2", "fnv", "lazy_static", - "lazycell", - "plist", + "once_cell", "regex-syntax", "serde", "serde_derive", "serde_json", + "thiserror", "walkdir", - "yaml-rust", ] [[package]] @@ -1716,18 +1674,3 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "xml-rs" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] diff --git a/Cargo.toml b/Cargo.toml index f6ca5f0d..1caea38c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ scopeguard = "1.1" scopetime = { path = "./scopetime", version = "0.1" } serde = "1.0" simplelog = { version = "0.11", default-features = false } -syntect = { version = "4.6", default-features = false, features = ["metadata", "default-fancy"] } +syntect = { version = "5.0", default-features = false, features = ["parsing", "default-syntaxes", "default-themes", "html", "regex-fancy"] } textwrap = "0.14" tui = { version = "0.16", default-features = false, features = ['crossterm', 'serde'] } unicode-segmentation = "1.9" diff --git a/src/ui/syntax_text.rs b/src/ui/syntax_text.rs index 70283067..5c6271aa 100644 --- a/src/ui/syntax_text.rs +++ b/src/ui/syntax_text.rs @@ -118,7 +118,14 @@ impl SyntaxText { ))?; for (number, line) in text.lines().enumerate() { - let ops = state.parse_line(line, &SYNTAX_SET); + let ops = state + .parse_line(line, &SYNTAX_SET) + .map_err(|e| { + log::error!("syntax error: {:?}", e); + asyncgit::Error::Generic( + "syntax error".to_string(), + ) + })?; let iter = RangedHighlightIterator::new( &mut highlight_state, &ops[..],