diff --git a/Cargo.lock b/Cargo.lock index 349023eb..ed03de1f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,9 +173,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", @@ -221,19 +221,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "biblatex" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35a7317fcbdbef94b60d0dd0a658711a936accfce4a631fea4bf8e527eff3c2" -dependencies = [ - "numerals", - "paste", - "strum 0.26.3", - "unicode-normalization", - "unscanny", -] - [[package]] name = "biblatex" version = "0.11.0" @@ -242,7 +229,7 @@ checksum = "53d0c374feba1b9a59042a7c1cf00ce7c34b977b9134fe7c42b08e5183729f66" dependencies = [ "paste", "roman-numerals-rs", - "strum 0.27.2", + "strum", "unic-langid", "unicode-normalization", "unscanny", @@ -479,7 +466,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -1305,20 +1292,6 @@ dependencies = [ "roxmltree", ] -[[package]] -name = "fontdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37be9fc20d966be438cd57a45767f73349477fb0f85ce86e000557f787298afb" -dependencies = [ - "fontconfig-parser", - "log", - "memmap2", - "slotmap", - "tinyvec", - "ttf-parser 0.24.1", -] - [[package]] name = "fontdb" version = "0.23.0" @@ -1330,7 +1303,7 @@ dependencies = [ "memmap2", "slotmap", "tinyvec", - "ttf-parser 0.25.1", + "ttf-parser", ] [[package]] @@ -1539,7 +1512,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.10.0", + "indexmap 2.12.0", "slab", "tokio", "tokio-util", @@ -1576,9 +1549,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "hashlink" @@ -1595,10 +1568,10 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cb69425736f184173b3ca6e27fcba440a61492a790c786b1c6af7e06a03e575" dependencies = [ - "biblatex 0.11.0", + "biblatex", "ciborium", "citationberg", - "indexmap 2.10.0", + "indexmap 2.12.0", "paste", "roman-numerals-rs", "serde", @@ -1805,9 +1778,9 @@ dependencies = [ [[package]] name = "hyper-tungstenite" -version = "0.15.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426356dc8c52c5a18c5a6c12226c03362f98e4723716074f8010051934cb451c" +checksum = "bc778da281a749ed28d2be73a9f2cd13030680a1574bc729debd1195e44f00e9" dependencies = [ "http-body-util", "hyper", @@ -1820,9 +1793,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ "base64", "bytes", @@ -2046,23 +2019,13 @@ dependencies = [ "byteorder-lite", "color_quant", "gif", - "image-webp 0.2.4", + "image-webp", "num-traits", "png", "zune-core", "zune-jpeg", ] -[[package]] -name = "image-webp" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904" -dependencies = [ - "byteorder-lite", - "quick-error", -] - [[package]] name = "image-webp" version = "0.2.4" @@ -2098,13 +2061,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.16.0", "serde", + "serde_core", ] [[package]] @@ -2159,17 +2123,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "io-uring" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" -dependencies = [ - "bitflags 2.9.1", - "cfg-if", - "libc", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -2331,14 +2284,14 @@ dependencies = [ "float-cmp 0.10.0", "gif", "hayro-write", - "image-webp 0.2.4", + "image-webp", "imagesize 0.14.0", "once_cell", "pdf-writer", "png", "rayon", "rustc-hash 2.1.1", - "rustybuzz 0.20.1", + "rustybuzz", "siphasher", "skrifa", "smallvec", @@ -2356,12 +2309,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d3eec075c9507dfdbfb4b9bc3b2aeac074ed422b61bcfd93517616d6b3d19c3" dependencies = [ "flate2", - "fontdb 0.23.0", + "fontdb", "krilla", "png", - "resvg 0.45.1", + "resvg", "tiny-skia", - "usvg 0.45.1", + "usvg", ] [[package]] @@ -2650,12 +2603,6 @@ dependencies = [ "libc", ] -[[package]] -name = "numerals" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25be21376a772d15f97ae789845340a9651d3c4246ff5ebb6a2b35f9c37bd31" - [[package]] name = "object" version = "0.36.7" @@ -2892,7 +2839,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c1106193bc18a4b840eb075ff6664c8a0b0270f0531bb12a7e9c803e53b55c5" dependencies = [ - "ttf-parser 0.25.1", + "ttf-parser", ] [[package]] @@ -2902,7 +2849,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" dependencies = [ "base64", - "indexmap 2.10.0", + "indexmap 2.12.0", "quick-xml", "serde", "time", @@ -3172,8 +3119,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", - "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -3212,9 +3157,6 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", -] [[package]] name = "rand_core" @@ -3227,9 +3169,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -3237,9 +3179,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -3342,7 +3284,7 @@ dependencies = [ "ecow", "futures", "fxhash", - "indexmap 2.10.0", + "indexmap 2.12.0", "js-sys", "log", "nohash-hasher", @@ -3385,7 +3327,7 @@ dependencies = [ "svgtypes", "tiny-skia", "tiny-skia-path", - "ttf-parser 0.25.1", + "ttf-parser", "typst", "typst-html", "typst-svg", @@ -3407,9 +3349,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -3419,9 +3361,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -3490,23 +3432,6 @@ dependencies = [ "webpki-roots", ] -[[package]] -name = "resvg" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7314563c59c7ce31c18e23ad3dd092c37b928a0fa4e1c0a1a6504351ab411d1" -dependencies = [ - "gif", - "image-webp 0.1.3", - "log", - "pico-args", - "rgb", - "svgtypes", - "tiny-skia", - "usvg 0.43.0", - "zune-jpeg", -] - [[package]] name = "resvg" version = "0.45.1" @@ -3514,13 +3439,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" dependencies = [ "gif", - "image-webp 0.2.4", + "image-webp", "log", "pico-args", "rgb", "svgtypes", "tiny-skia", - "usvg 0.45.1", + "usvg", "zune-jpeg", ] @@ -3718,24 +3643,6 @@ version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" -[[package]] -name = "rustybuzz" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85d1ccd519e61834798eb52c4e886e8c2d7d698dd3d6ce0b1b47eb8557f1181" -dependencies = [ - "bitflags 2.9.1", - "bytemuck", - "core_maths", - "log", - "smallvec", - "ttf-parser 0.24.1", - "unicode-bidi-mirroring 0.3.0", - "unicode-ccc 0.3.0", - "unicode-properties", - "unicode-script", -] - [[package]] name = "rustybuzz" version = "0.20.1" @@ -3747,9 +3654,9 @@ dependencies = [ "core_maths", "log", "smallvec", - "ttf-parser 0.25.1", - "unicode-bidi-mirroring 0.4.0", - "unicode-ccc 0.4.0", + "ttf-parser", + "unicode-bidi-mirroring", + "unicode-ccc", "unicode-properties", "unicode-script", ] @@ -3816,10 +3723,11 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -3835,10 +3743,19 @@ dependencies = [ ] [[package]] -name = "serde_derive" -version = "1.0.219" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3816,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.10.0", + "indexmap 2.12.0", "schemars 0.9.0", "schemars 1.0.4", "serde", @@ -3927,7 +3844,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.12.0", "itoa", "ryu", "serde", @@ -4095,35 +4012,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - [[package]] name = "strum" version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.27.2", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.104", + "strum_macros", ] [[package]] @@ -4488,7 +4383,7 @@ dependencies = [ "serde-wasm-bindgen", "serde_json", "serde_yaml", - "strum 0.26.3", + "strum", "sync-ls", "temp-env", "tinymist-assets 0.13.29-rc1", @@ -4503,7 +4398,7 @@ dependencies = [ "tokio", "tokio-util", "toml", - "ttf-parser 0.25.1", + "ttf-parser", "typlite", "typst", "typst-ansi-hl", @@ -4541,7 +4436,7 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_yaml", - "strum 0.26.3", + "strum", "tinymist-derive", "tinymist-std", "tinymist-world", @@ -4613,7 +4508,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "strum 0.26.3", + "strum", "sync-ls", "temp-env", "tinymist", @@ -4629,7 +4524,7 @@ dependencies = [ "tokio", "tokio-util", "toml", - "ttf-parser 0.25.1", + "ttf-parser", "typlite", "typst", "typst-ansi-hl", @@ -4750,11 +4645,12 @@ dependencies = [ name = "tinymist-preview" version = "0.13.30" dependencies = [ + "bytes", "clap", "comemo", "env_logger", "futures", - "indexmap 2.10.0", + "indexmap 2.12.0", "log", "parking_lot", "reflexo-typst", @@ -4806,7 +4702,7 @@ version = "0.13.30" dependencies = [ "anyhow", "base64", - "biblatex 0.10.0", + "biblatex", "comemo", "dashmap", "dirs", @@ -4814,7 +4710,7 @@ dependencies = [ "ena", "hayagriva", "hex", - "indexmap 2.10.0", + "indexmap 2.12.0", "itertools 0.13.0", "log", "lsp-types", @@ -4831,7 +4727,7 @@ dependencies = [ "serde_yaml", "sha2", "siphasher", - "strum 0.26.3", + "strum", "tinymist-analysis", "tinymist-derive", "tinymist-l10n", @@ -4841,7 +4737,7 @@ dependencies = [ "tinymist-tests", "tinymist-world", "toml", - "ttf-parser 0.25.1", + "ttf-parser", "typlite", "typst", "typst-assets", @@ -4901,7 +4797,7 @@ dependencies = [ "typst-shim", "wasm-bindgen", "web-time", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4956,7 +4852,7 @@ version = "0.14.0-rc1" dependencies = [ "comemo", "ecow", - "indexmap 2.10.0", + "indexmap 2.12.0", "js-sys", "log", "nohash-hasher", @@ -4980,7 +4876,7 @@ dependencies = [ "dirs", "ecow", "flate2", - "fontdb 0.23.0", + "fontdb", "hex", "js-sys", "log", @@ -4994,12 +4890,12 @@ dependencies = [ "serde_json", "serde_with", "sha2", - "strum 0.26.3", + "strum", "tar", "tinymist-package", "tinymist-std", "tinymist-vfs", - "ttf-parser 0.25.1", + "ttf-parser", "typst", "typst-assets", "wasm-bindgen", @@ -5054,29 +4950,26 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio 1.0.4", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", "socket2 0.6.0", "tokio-macros", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", @@ -5095,9 +4988,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.24.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", @@ -5107,9 +5000,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -5146,7 +5039,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.12.0", "serde", "serde_spanned", "toml_datetime", @@ -5248,15 +5141,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "ttf-parser" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be21190ff5d38e8b4a2d3b6a3ae57f612cc39c96e83cedeaf7abc338a8bac4a" -dependencies = [ - "core_maths", -] - [[package]] name = "ttf-parser" version = "0.25.1" @@ -5268,19 +5152,18 @@ dependencies = [ [[package]] name = "tungstenite" -version = "0.24.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.5", + "rand 0.9.2", "sha1", - "thiserror 1.0.69", + "thiserror 2.0.17", "utf-8", ] @@ -5322,7 +5205,7 @@ dependencies = [ "insta", "log", "regex", - "resvg 0.43.0", + "resvg", "tinymist-derive", "tinymist-project", "tinymist-std", @@ -5379,7 +5262,7 @@ source = "git+https://github.com/Myriad-Dreamin/typst.git?rev=4a3335c4a1ec26aa0c dependencies = [ "comemo", "ecow", - "indexmap 2.10.0", + "indexmap 2.12.0", "rustc-hash 2.1.1", "stacker", "toml", @@ -5431,9 +5314,9 @@ dependencies = [ "kurbo 0.12.0", "memchr", "rustc-hash 2.1.1", - "rustybuzz 0.20.1", + "rustybuzz", "smallvec", - "ttf-parser 0.25.1", + "ttf-parser", "typst-assets", "typst-library", "typst-macros", @@ -5461,7 +5344,7 @@ dependencies = [ "csv", "ecow", "flate2", - "fontdb 0.23.0", + "fontdb", "glidesort", "hayagriva", "hayro-syntax", @@ -5469,7 +5352,7 @@ dependencies = [ "icu_provider", "icu_provider_blob", "image", - "indexmap 2.10.0", + "indexmap 2.12.0", "kamadak-exif", "kurbo 0.12.0", "lipsum", @@ -5484,7 +5367,7 @@ dependencies = [ "roxmltree", "rust_decimal", "rustc-hash 2.1.1", - "rustybuzz 0.20.1", + "rustybuzz", "serde", "serde_json", "serde_yaml", @@ -5493,7 +5376,7 @@ dependencies = [ "syntect", "time", "toml", - "ttf-parser 0.25.1", + "ttf-parser", "two-face", "typed-arena", "typst-assets", @@ -5505,7 +5388,7 @@ dependencies = [ "unicode-normalization", "unicode-segmentation", "unscanny", - "usvg 0.45.1", + "usvg", "utf8_iter", "wasmi", "xmlwriter", @@ -5532,7 +5415,7 @@ dependencies = [ "comemo", "ecow", "image", - "indexmap 2.10.0", + "indexmap 2.12.0", "infer", "krilla", "krilla-svg", @@ -5574,9 +5457,9 @@ dependencies = [ "hayro", "image", "pixglyph", - "resvg 0.45.1", + "resvg", "tiny-skia", - "ttf-parser 0.25.1", + "ttf-parser", "typst-assets", "typst-library", "typst-macros", @@ -5607,7 +5490,7 @@ dependencies = [ "hayro-svg", "image", "rustc-hash 2.1.1", - "ttf-parser 0.25.1", + "ttf-parser", "typst-assets", "typst-library", "typst-macros", @@ -5788,24 +5671,12 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" -[[package]] -name = "unicode-bidi-mirroring" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64af057ad7466495ca113126be61838d8af947f41d93a949980b2389a118082f" - [[package]] name = "unicode-bidi-mirroring" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe" -[[package]] -name = "unicode-ccc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260bc6647b3893a9a90668360803a15f96b85a5257b1c3a0c3daf6ae2496de42" - [[package]] name = "unicode-ccc" version = "0.4.0" @@ -5899,33 +5770,6 @@ dependencies = [ "serde", ] -[[package]] -name = "usvg" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6803057b5cbb426e9fb8ce2216f3a9b4ca1dd2c705ba3cbebc13006e437735fd" -dependencies = [ - "base64", - "data-url", - "flate2", - "fontdb 0.21.0", - "imagesize 0.13.0", - "kurbo 0.11.3", - "log", - "pico-args", - "roxmltree", - "rustybuzz 0.18.0", - "simplecss", - "siphasher", - "strict-num", - "svgtypes", - "tiny-skia-path", - "unicode-bidi", - "unicode-script", - "unicode-vo", - "xmlwriter", -] - [[package]] name = "usvg" version = "0.45.1" @@ -5935,13 +5779,13 @@ dependencies = [ "base64", "data-url", "flate2", - "fontdb 0.23.0", + "fontdb", "imagesize 0.13.0", "kurbo 0.11.3", "log", "pico-args", "roxmltree", - "rustybuzz 0.20.1", + "rustybuzz", "simplecss", "siphasher", "strict-num", @@ -6233,7 +6077,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", - "windows-link", + "windows-link 0.1.3", "windows-result", "windows-strings", ] @@ -6266,13 +6110,19 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -6281,7 +6131,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -6320,6 +6170,15 @@ dependencies = [ "windows-targets 0.53.3", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6357,7 +6216,7 @@ version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "windows-link", + "windows-link 0.1.3", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -6531,7 +6390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "886614b5ce857341226aa091f3c285e450683894acaaa7887f366c361efef79d" dependencies = [ "font-types", - "indexmap 2.10.0", + "indexmap 2.12.0", "kurbo 0.12.0", "log", "read-fonts", diff --git a/Cargo.toml b/Cargo.toml index c8977d46..738f9da7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,21 +21,21 @@ anyhow = "1" itertools = "0.13" paste = "1.0" cfg-if = "1.0" -strum = { version = "0.26.2", features = ["derive"] } +strum = { version = "0.27.2", features = ["derive"] } quote = "1" syn = "2" triomphe = { version = "0.1.10", default-features = false, features = ["std"] } # Asynchoronous and Multi-threading -async-trait = "0.1.77" +async-trait = "0.1.89" futures = "0.3" -rayon = "1.10.0" -tokio = { version = "1.44.0", features = ["macros"] } -tokio-util = { version = "0.7.14", features = ["compat"] } +rayon = "1.11.0" +tokio = { version = "1.48.0", features = ["macros"] } +tokio-util = { version = "0.7.16", features = ["compat"] } # System -temp-env = "0.3.0" -open = { version = "5.1.3" } +temp-env = "0.3.6" +open = { version = "5.3.2" } parking_lot = "0.12.1" walkdir = "2" chrono = { version = "0.4", default-features = false } @@ -44,7 +44,7 @@ dirs = "6" fontdb = { version = "0.23", default-features = false } notify = "6" path-clean = "1.0.1" -windows-sys = "0.59" +windows-sys = "0.61.2" tempfile = "3.19.1" same-file = "1.0.6" libc = "0.2.155" @@ -62,24 +62,24 @@ console_error_panic_hook = { version = "0.1.7" } # Networking hyper = { version = "1", features = ["full"] } -hyper-util = { version = "0.1.7", features = ["tokio"] } -hyper-tungstenite = "0.15.0" +hyper-util = { version = "0.1.17", features = ["tokio"] } +hyper-tungstenite = "0.19.0" reqwest = { version = "^0.12", default-features = false, features = [ "rustls-tls", "blocking", "multipart", ] } -http-body-util = "0.1.2" +http-body-util = "0.1.3" # Algorithms base64 = "0.22" -regex = "1.10.5" +regex = "1.12.2" # Cryptography and data processing rustc-hash = { version = "2", features = ["std"] } siphasher = "1" fxhash = "0.2.1" -sha2 = "0.10.6" +sha2 = "0.10.9" nohash-hasher = "0.2.0" fastrand = "2.3.0" @@ -88,16 +88,17 @@ bitvec = "1" comemo = "0.5.0" # We need to freeze the version of the crate, as the raw-api feature is considered unstable dashmap = { version = "=5.5.3", features = ["raw-api"] } -ecow = "0.2.3" -ena = "0.14.2" +ecow = "0.2.6" +ena = "0.14.3" hashbrown = { version = "0.14", features = [ "inline-more", ], default-features = false } -indexmap = "2.7.0" +indexmap = "2.12.0" rpds = "1" # Data/Text Format and Processing -biblatex = "0.10" +biblatex = "0.11" +bytes = "1" cmark-writer = { version = "0.9.0", features = [ "gfm", ], path = "crates/cmark-writer" } @@ -106,7 +107,7 @@ hayagriva = "0.9.1" hex = "0.4.3" flate2 = "1" # typst can only support these formats. -image = { version = "0.25.6", default-features = false, features = [ +image = { version = "0.25.5", default-features = false, features = [ "png", "jpeg", "gif", @@ -115,7 +116,7 @@ pathdiff = "0.2" percent-encoding = "2" rust_iso639 = "0.0.3" rust_iso3166 = "0.1.4" -resvg = { version = "0.43.0" } +resvg = { version = "0.45" } rkyv = "0.7.42" semver = "1" serde = { version = "1", features = ["derive"] } @@ -162,7 +163,7 @@ typst-ansi-hl = "0.4.0" typstyle-core = { version = "=0.13.17", default-features = false } # LSP -crossbeam-channel = "0.5.12" +crossbeam-channel = "0.5.15" lsp-types = { version = "=0.95.0", features = ["proposed"] } dapts = "0.0.6" @@ -183,7 +184,7 @@ vergen = { version = "8.3.1", features = [ # Testing dhat = "0.3.3" -divan = "0.1.14" +divan = "0.1.21" insta = { version = "1.43", features = ["glob", "filters"] } insta-cmd = "0.6.0" diff --git a/crates/tinymist-cli/src/cmd/preview.rs b/crates/tinymist-cli/src/cmd/preview.rs index 4e001323..1ed73498 100644 --- a/crates/tinymist-cli/src/cmd/preview.rs +++ b/crates/tinymist-cli/src/cmd/preview.rs @@ -90,7 +90,7 @@ pub async fn preview_main(args: PreviewCliArgs) -> Result<()> { tokio::select! { Some(resp) = lsp_rx.resp_rx.recv() => { let r = ws - .send(Message::Text(serde_json::to_string(&resp).unwrap())) + .send(Message::text(serde_json::to_string(&resp).unwrap())) .await; let Err(err) = r else { continue; diff --git a/crates/tinymist/src/tool/preview.rs b/crates/tinymist/src/tool/preview.rs index 8bb2845a..af3f9924 100644 --- a/crates/tinymist/src/tool/preview.rs +++ b/crates/tinymist/src/tool/preview.rs @@ -623,7 +623,9 @@ pub fn bind_streams( previewer.start_data_plane( websocket_rx, |conn: Result| { - let conn = conn.map_err(error_once_map_string!("cannot receive websocket"))?; + let conn: hyper_tungstenite::WebSocketStream< + hyper_util::rt::TokioIo, + > = conn.map_err(error_once_map_string!("cannot receive websocket"))?; Ok(conn .sink_map_err(|e| error_once!("cannot serve_with websocket", err: e.to_string())) @@ -631,14 +633,14 @@ pub fn bind_streams( .with(|msg| { Box::pin(async move { let msg = match msg { - WsMessage::Text(msg) => Message::Text(msg), + WsMessage::Text(msg) => Message::text(msg), WsMessage::Binary(msg) => Message::Binary(msg), }; Ok(msg) }) }) .map_ok(|msg| match msg { - Message::Text(msg) => WsMessage::Text(msg), + Message::Text(msg) => WsMessage::Text(msg.as_str().to_owned()), Message::Binary(msg) => WsMessage::Binary(msg), _ => WsMessage::Text("unsupported message".to_owned()), })) diff --git a/crates/typst-preview/Cargo.toml b/crates/typst-preview/Cargo.toml index 8d22d300..7d5ea4e5 100644 --- a/crates/typst-preview/Cargo.toml +++ b/crates/typst-preview/Cargo.toml @@ -11,24 +11,25 @@ include = ["src/**/*", "/LICENSE", "/README.md"] rust-version.workspace = true [dependencies] -typst.workspace = true -typst-macros.workspace = true -typst-timing.workspace = true -tinymist-assets.workspace = true -tinymist-std.workspace = true -typst-assets.workspace = true -comemo.workspace = true -reflexo-vec2svg.workspace = true -reflexo-typst.workspace = true -tokio.workspace = true +bytes.workspace = true +comemo.workspace = true env_logger.workspace = true -log.workspace = true -serde_json.workspace = true futures.workspace = true indexmap.workspace = true -serde.workspace = true +log.workspace = true parking_lot.workspace = true +reflexo-vec2svg.workspace = true +reflexo-typst.workspace = true +serde_json.workspace = true +serde.workspace = true +tokio.workspace = true +typst.workspace = true +tinymist-assets.workspace = true +tinymist-std.workspace = true +typst-macros.workspace = true +typst-timing.workspace = true +typst-assets.workspace = true clap = { workspace = true, optional = true } diff --git a/crates/typst-preview/src/actor/webview.rs b/crates/typst-preview/src/actor/webview.rs index e68e81ab..876a7c63 100644 --- a/crates/typst-preview/src/actor/webview.rs +++ b/crates/typst-preview/src/actor/webview.rs @@ -89,12 +89,12 @@ where match msg { WebviewActorRequest::SrcToDocJump(jump_info) => { let msg = positions_req("jump", jump_info); - self.webview_websocket_conn.send(WsMessage::Binary(msg.into_bytes())) + self.webview_websocket_conn.send(WsMessage::Binary(msg.into())) .await.log_error("WebViewActor"); } WebviewActorRequest::ViewportPosition(jump_info) => { let msg = position_req("viewport", jump_info); - self.webview_websocket_conn.send(WsMessage::Binary(msg.into_bytes())) + self.webview_websocket_conn.send(WsMessage::Binary(msg.into())) .await.log_error("WebViewActor"); } // WebviewActorRequest::CursorPosition(jump_info) => { @@ -104,7 +104,7 @@ where WebviewActorRequest::CursorPaths(jump_info) => { let json = serde_json::to_string(&jump_info).unwrap(); let msg = format!("cursor-paths,{json}"); - self.webview_websocket_conn.send(WsMessage::Binary(msg.into_bytes())) + self.webview_websocket_conn.send(WsMessage::Binary(msg.into())) .await.log_error("WebViewActor"); } } @@ -112,7 +112,7 @@ where Some(svg) = self.svg_receiver.recv() => { log::trace!("WebviewActor: received svg from renderer"); let _scope = typst_timing::TimingScope::new("webview_actor_send_svg"); - self.webview_websocket_conn.send(WsMessage::Binary(svg)) + self.webview_websocket_conn.send(WsMessage::Binary(svg.into())) .await.log_error("WebViewActor"); } Some(msg) = self.webview_websocket_conn.next() => { diff --git a/crates/typst-preview/src/lib.rs b/crates/typst-preview/src/lib.rs index 29a477e7..f355b0e2 100644 --- a/crates/typst-preview/src/lib.rs +++ b/crates/typst-preview/src/lib.rs @@ -14,6 +14,7 @@ pub use crate::outline::Outline; use std::sync::{Arc, OnceLock}; use std::{collections::HashMap, future::Future, path::PathBuf, pin::Pin}; +use bytes::Bytes; use futures::sink::SinkExt; use reflexo_typst::Error; use reflexo_typst::args::TaskWhen; @@ -313,7 +314,7 @@ pub enum WsMessage { /// A text WebSocket message Text(String), /// A binary WebSocket message - Binary(Vec), + Binary(Bytes), } pub type SourceLocation = reflexo_typst::debug_loc::SourceLocation;