diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e812696..df60063 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: python-version: "3.12" - name: Configure Git for test repositories run: | - git config --global user.name "native-diff CI" + git config --global user.name "diffs-rs CI" git config --global user.email "ci@example.invalid" git config --global init.defaultBranch main - name: Format diff --git a/CURRENT_STATE.md b/CURRENT_STATE.md index f71f08a..af6e789 100644 --- a/CURRENT_STATE.md +++ b/CURRENT_STATE.md @@ -22,6 +22,8 @@ These correctness fixes landed after the 2026-10-03 checkpoint below: - The footer source status describes the cursor's file instead of any file visible on screen. - Host calls into the syntax worker recover a poisoned mailbox lock instead of panicking; a dead worker surfaces through the existing `Engine::poll` error. - The vendored, patched `libgit2-sys` is gone; the build uses the published crate with its bundled libgit2. Stock libgit2 cuts unquoted `rename`/`copy` names at whitespace, so the parser now receives those names in Git's quoted form and line offsets map back to the supplied bytes. `LIBGIT2_NO_VENDOR` is still rejected at build time. +- The crate is renamed `diffs-rs` (library `diffs_rs`, executable `diffs`). The viewer title bar and the `NATIVE_DIFF_*` environment variables keep the old name for now, so preserved-executable comparisons and measurement tools still match. +- The patched Syntect and Fancy Regex move from `vendor/` to `crates/` as the workspace members `diffs-syntect` and `diffs-fancy-regex`, with `diffs-two-face` (a two-face fork built against `diffs-syntect`, with only its acknowledgement URL changed). `diffs-rs` depends on them through `package =` renames, so the `[patch.crates-io]` section is gone and the crates can be published to crates.io. See [RELEASE_READINESS.md](RELEASE_READINESS.md#cratesio-publishing). - Unnamed temporary files (patch spool, Git helper output, clipboard input) are created owner-only. On Linux they previously took the umask-derived mode, usually 0644. Linux CI found this. Canonical source output is byte-identical to the 2026-10-03 build for the five DiffsHub corpus patches and the repository fixtures. diff --git a/Cargo.lock b/Cargo.lock index b4f1f06..44493ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,6 +23,15 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +dependencies = [ + "winapi", +] + [[package]] name = "anstream" version = "1.0.0" @@ -295,6 +304,31 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" + [[package]] name = "crossterm" version = "0.29.0" @@ -323,6 +357,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "darling" version = "0.24.1" @@ -385,6 +429,87 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "difference" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" + +[[package]] +name = "diffs-fancy-regex" +version = "0.1.0" +dependencies = [ + "bit-set", + "matches", + "quickcheck", + "regex", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "diffs-rs" +version = "0.1.0" +dependencies = [ + "anyhow", + "arboard", + "clap", + "crossterm", + "diffs-fancy-regex", + "diffs-syntect", + "diffs-two-face", + "git2", + "hashbrown 0.16.1", + "libc", + "memchr", + "nix", + "palette", + "portable-pty", + "ratatui", + "serde", + "serde_json", + "signal-hook", + "similar", + "tempfile", + "unicode-segmentation", + "unicode-width", + "vt100", +] + +[[package]] +name = "diffs-syntect" +version = "0.1.0" +dependencies = [ + "bincode", + "diffs-fancy-regex", + "flate2", + "fnv", + "getopts", + "once_cell", + "onig", + "plist", + "pretty_assertions", + "rayon", + "regex", + "regex-syntax", + "serde", + "serde_derive", + "serde_json", + "thiserror 2.0.20", + "walkdir", + "yaml-rust", +] + +[[package]] +name = "diffs-two-face" +version = "0.1.0" +dependencies = [ + "diffs-syntect", + "serde", + "serde_derive", + "strum", +] + [[package]] name = "dispatch2" version = "0.3.1" @@ -416,6 +541,26 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" +[[package]] +name = "env_filter" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6" +dependencies = [ + "env_filter", + "log", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -438,15 +583,6 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b5343afd4a8365a643ac588dab4cf234a190c7f6c88c9f6dd6ffe00837661b7" -[[package]] -name = "fancy-regex" -version = "0.16.2" -dependencies = [ - "bit-set", - "regex-automata", - "regex-syntax", -] - [[package]] name = "fastrand" version = "2.5.0" @@ -503,6 +639,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "getopts" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.4.3" @@ -512,6 +657,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", + "rand_core", ] [[package]] @@ -727,6 +873,12 @@ dependencies = [ "hashbrown 0.17.1", ] +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + [[package]] name = "memchr" version = "2.8.3" @@ -755,35 +907,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "native-diff" -version = "0.1.0" -dependencies = [ - "anyhow", - "arboard", - "clap", - "crossterm", - "fancy-regex", - "git2", - "hashbrown 0.16.1", - "libc", - "memchr", - "nix", - "palette", - "portable-pty", - "ratatui", - "serde", - "serde_json", - "signal-hook", - "similar", - "syntect", - "tempfile", - "two-face", - "unicode-segmentation", - "unicode-width", - "vt100", -] - [[package]] name = "nix" version = "0.28.0" @@ -905,6 +1028,37 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +[[package]] +name = "onig" +version = "6.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2" +dependencies = [ + "bitflags 2.13.2", + "libc", + "once_cell", + "onig_sys", +] + +[[package]] +name = "onig_sys" +version = "69.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "output_vt100" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" +dependencies = [ + "winapi", +] + [[package]] name = "palette" version = "0.7.7" @@ -1038,6 +1192,18 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +[[package]] +name = "pretty_assertions" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427" +dependencies = [ + "ansi_term", + "ctor", + "difference", + "output_vt100", +] + [[package]] name = "proc-macro2" version = "1.0.107" @@ -1056,6 +1222,17 @@ dependencies = [ "memchr", ] +[[package]] +name = "quickcheck" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c589f335db0f6aaa168a7cd27b1fc6920f5e1470c804f814d9cd6e62a0f70b" +dependencies = [ + "env_logger", + "log", + "rand", +] + [[package]] name = "quote" version = "1.0.47" @@ -1071,6 +1248,22 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "rand" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" +dependencies = [ + "getrandom", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "ratatui" version = "0.30.2" @@ -1137,6 +1330,26 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "rayon" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1146,6 +1359,18 @@ dependencies = [ "bitflags 2.13.2", ] +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + [[package]] name = "regex-automata" version = "0.4.18" @@ -1387,9 +1612,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.119" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -1398,9 +1623,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.5" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -1408,22 +1633,14 @@ dependencies = [ ] [[package]] -name = "syntect" -version = "5.3.0" +name = "syn" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" dependencies = [ - "bincode", - "fancy-regex", - "flate2", - "fnv", - "once_cell", - "plist", - "regex-syntax", - "serde", - "serde_derive", - "serde_json", - "thiserror 2.0.20", - "walkdir", - "yaml-rust", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] @@ -1511,17 +1728,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "two-face" -version = "0.5.2+bat-0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915be7adc2ff6f4338acbf71f3eda0a146f46003b992a1669c674308610efdac" -dependencies = [ - "serde", - "serde_derive", - "syntect", -] - [[package]] name = "unicode-ident" version = "1.0.24" diff --git a/Cargo.toml b/Cargo.toml index fc90c37..257e3a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "native-diff" +name = "diffs-rs" version = "0.1.0" edition = "2024" rust-version = "1.88" @@ -9,12 +9,12 @@ repository = "https://github.com/plannotator/diffs-rs" readme = "README.md" keywords = ["diff", "patch", "terminal", "tui", "ratatui"] categories = ["command-line-utilities", "development-tools", "text-processing"] -# Publishing stays off until the crate no longer needs the [patch.crates-io] -# overrides below. crates.io ignores [patch], so a published build would -# silently use unpatched upstream syntect and fancy-regex. +# Publishing stays off until the forks in crates/ are published first and the +# repository is public. See RELEASE_READINESS.md for the publish order. publish = false # Ship only what the library and binary need to build, plus the docs a reader -# of the crate needs. Tests, fixtures, tools, reports and vendor/ stay in Git. +# of the crate needs. Tests, fixtures, tools, reports and the forked crates in +# crates/ (published separately) stay out of this package. include = [ "/src/**/*.rs", "/build.rs", @@ -39,9 +39,15 @@ delivery-trace = ["syntect/syntax-timing"] regex-census = ["syntect/regex-census"] owner-census = ["regex-census", "syntect/owner-census"] -[patch.crates-io] -syntect = { path = "vendor/syntect" } -fancy-regex = { path = "vendor/fancy-regex" } +# The patched dependencies are forks published as their own crates from +# crates/. Each keeps its upstream dependency name, so `syntect::`, +# `two_face::` and `fancy_regex::` paths in this crate resolve to the forks. +[workspace] +members = ["crates/diffs-fancy-regex", "crates/diffs-syntect", "crates/diffs-two-face"] + +[[bin]] +name = "diffs" +path = "src/main.rs" [dependencies] anyhow = "1.0" @@ -58,9 +64,9 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" signal-hook = "0.3" similar = "3.2" -syntect = { version = "5.3", default-features = false, features = ["default-fancy", "shared-engines"] } +syntect = { package = "diffs-syntect", version = "0.1.0", path = "crates/diffs-syntect", default-features = false, features = ["default-fancy", "shared-engines"] } tempfile = "3" -two-face = { version = "0.5", default-features = false, features = ["syntect-fancy"] } +two-face = { package = "diffs-two-face", version = "0.1.0", path = "crates/diffs-two-face", default-features = false, features = ["syntect-fancy"] } unicode-segmentation = "1.13" unicode-width = "0.2" @@ -68,7 +74,7 @@ unicode-width = "0.2" arboard = { version = "3.6.1", default-features = false, optional = true } [dev-dependencies] -fancy-regex = "0.16.2" +fancy-regex = { package = "diffs-fancy-regex", version = "0.1.0", path = "crates/diffs-fancy-regex" } portable-pty = "0.9" vt100 = "0.16" diff --git a/EMBEDDING.md b/EMBEDDING.md index 3ce1577..900f1e7 100644 --- a/EMBEDDING.md +++ b/EMBEDDING.md @@ -1,6 +1,6 @@ # Embed the local diff engine -`native_diff::engine::Engine` owns one review, its view state, source storage, and background workers. +`diffs_rs::engine::Engine` owns one review, its view state, source storage, and background workers. The standalone viewer and `examples/embedded_viewer.rs` use this same implementation. This API is a local integration candidate, not a stable published crate API. [CURRENT_STATE.md](CURRENT_STATE.md) separates the completed local-engine milestone from the current candidate. @@ -10,23 +10,18 @@ Native clipboard, physical-terminal acceptance, and the final package remain pen ## Dependency setup Use a path dependency on the source package. The host must use Ratatui 0.30. -Cargo does not inherit dependency patches from a dependency's manifest. -The consuming workspace root therefore needs both patches: ```toml [dependencies] -native-diff = { path = "../native-diff" } +diffs-rs = { path = "../diffs-rs" } ratatui = { version = "0.30.2", default-features = false, features = ["crossterm"] } - -[patch.crates-io] -syntect = { path = "../native-diff/vendor/syntect" } -fancy-regex = { path = "../native-diff/vendor/fancy-regex" } ``` -Adjust these paths for the host's workspace. Retain the vendor directories and their notices. -The patches provide required syntax-engine behavior. +Adjust the path for the host's workspace. +The patched syntax engine comes from the forked crates `diffs-syntect`, `diffs-fancy-regex` and `diffs-two-face` in `crates/`. They are ordinary dependencies of `diffs-rs`, so the host needs no `[patch]` section. +Their library names stay `syntect`, `fancy_regex` and `two_face`. A host that also depends on upstream Syntect gets a second, separate copy whose types do not interoperate with the fork's. The Git patch parser is the stock `libgit2-sys` crate. The build fails if `LIBGIT2_NO_VENDOR` asks it to link a system libgit2. -Do not substitute registry or system versions to make dependency resolution succeed. +Do not substitute upstream Syntect, Fancy Regex or two-face, or a system libgit2, to make dependency resolution succeed. Keep the host's generated lockfile and use `--locked` for subsequent builds. Diagnostic crate features are not required for embedding. The default `dev-tty` feature makes Crossterm read keyboard input from `/dev/tty`, which the standalone viewer needs when a patch arrives on stdin. diff --git a/EXACT_SOURCE_CONTEXT_SPEC.md b/EXACT_SOURCE_CONTEXT_SPEC.md index 34f2b33..a4a13f8 100644 --- a/EXACT_SOURCE_CONTEXT_SPEC.md +++ b/EXACT_SOURCE_CONTEXT_SPEC.md @@ -67,9 +67,9 @@ Existing measurements do not describe this proposed feature or a future executab These local commands are implemented: ```text -native-diff patch change.patch -native-diff files OLD NEW -native-diff git --repo PATH --base REV --head REV +diffs patch change.patch +diffs files OLD NEW +diffs git --repo PATH --base REV --head REV ``` The GitHub milestone adds a supported PR-URL entry point. Its final command spelling remains part of adapter design. diff --git a/NOTICE.md b/NOTICE.md index f057705..fdf550b 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -8,7 +8,17 @@ The assets retain their Apache-2.0 license and upstream notice. The viewer uses the theme's TextMate token rules through Syntect. The split-alignment policy is informed by Pierre's bounded offset comparison, with a separately implemented prefix/suffix score. -`vendor/syntect/` contains Syntect 5.3.0 with a local compiled-pattern ownership patch. -Its MIT license is retained in `vendor/syntect/LICENSE.txt`. -The [patch note](vendor/syntect/NATIVE_DIFF_PATCH.md) records the exact source revision, changes, and restored upstream test inputs. -Those test inputs retain their included licenses and are not replacement runtime grammars. +## Forked dependencies + +`crates/` contains forks of three MIT-licensed or dual-licensed crates, built and published as separate packages for diffs-rs. +Each keeps its upstream license file and copyright notice unchanged. Changes in each fork are distributed under that fork's upstream license. + +- `crates/diffs-syntect/` is Syntect 5.3.0 with local regex ownership, search, and accounting patches. + Its MIT license is retained in `crates/diffs-syntect/LICENSE.txt`. + The [patch note](crates/diffs-syntect/PATCHES.md) records the exact source revision, changes, and restored upstream test inputs. + Those test inputs (`crates/diffs-syntect/testdata/`) retain their included licenses, are not replacement runtime grammars, and are not part of the published package. +- `crates/diffs-fancy-regex/` is Fancy Regex 0.16.2 with search-scratch, engine-sharing, and required-byte patches. + Its MIT license is retained in `crates/diffs-fancy-regex/LICENSE`. The [patch note](crates/diffs-fancy-regex/PATCHES.md) records the changes. +- `crates/diffs-two-face/` is two-face 0.5.2+bat-0.26.1, built against `diffs-syntect`. Apart from its manifest, only the acknowledgement URL changes, to name the upstream release. + Its MIT and Apache-2.0 licenses are retained in `crates/diffs-two-face/LICENSE-MIT` and `crates/diffs-two-face/LICENSE-APACHE`. + The bundled syntax and theme definitions carry their own licenses, listed by its `acknowledgement` module. diff --git a/README.md b/README.md index 4e106e3..74fc9f5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# Native diff viewer +# diffs-rs -A read-only Rust terminal diff viewer. `native-diff` is a working name. +A read-only Rust terminal diff viewer and embeddable diff engine. +The crate is `diffs-rs` (library `diffs_rs`) and the executable is `diffs`. +The project was previously called `native-diff`. That name remains in the viewer's title bar, in the `NATIVE_DIFF_*` diagnostic and test environment variables, and in historical reports and evidence paths. Status, 2026-10-03: local macOS arm64 candidate with one engine for standalone and embedded use. The standalone includes literal search, source-line selection, exact-byte save, and explicit clipboard copy. @@ -16,7 +18,7 @@ The final notice inventory covers all 194 locked packages. Its upstream licensin This is not the complete v0.1 viewer in the [spec](SPEC.md). The [current project state](CURRENT_STATE.md) records capabilities, evidence, deferred work, and next steps. -The [embedding guide](EMBEDDING.md) documents the engine, host-owned terminal lifecycle, and dependency patches. +The [embedding guide](EMBEDDING.md) documents the engine, host-owned terminal lifecycle, and the forked dependencies. The [pre-cleanup README](evidence/clean-baseline-v1/before/documents/README.md) preserves the earlier checkpoint narrative. ## Run the viewer @@ -27,7 +29,7 @@ Build from the repository root: cargo build --release --locked ``` -The output is `target/release/native-diff`. +The output is `target/release/diffs`. If all dependencies are cached locally, add `--offline`. The current resource record (external record `native-diff-production-hardening/RESOURCE_RESULTS.md`, not in this repository) identifies the measured viewer and host, target misses, and interpretation limits. The installation record (external record `native-diff-production-hardening/INSTALLATION_RESULTS.md`, not in this repository) identifies the separate normal and minimum-compiler builds. Different executable hashes do not inherit timings. @@ -38,10 +40,15 @@ The build compiles the libgit2 source bundled with the published `libgit2-sys` c If `LIBGIT2_NO_VENDOR` is set to a nonzero value, unset it before building. The build rejects an override that would select a system library. +The syntax engine needs patched Syntect and Fancy Regex. They are separate crates built from [`crates/`](crates/) in this repository: +`diffs-fancy-regex` (Fancy Regex 0.16.2), `diffs-syntect` (Syntect 5.3.0), and `diffs-two-face` (two-face 0.5.2, built against `diffs-syntect` and otherwise essentially unchanged). +Each keeps its upstream library name, so the source still uses `fancy_regex::`, `syntect::` and `two_face::`. +Each fork's README and patch notes list its changes. The forks exist only for diffs-rs; other projects should use the upstream crates. + In an existing Ghostty window, open the sample patch: ```sh -target/release/native-diff patch fixtures/review.patch +target/release/diffs patch fixtures/review.patch ``` The viewer uses the current terminal. It does not open windows or tabs, or change terminal preferences. @@ -52,17 +59,17 @@ The minimum usable size is 40 columns by 10 rows. If `NO_COLOR` is set, remove it for this invocation to inspect the colors: ```sh -env -u NO_COLOR target/release/native-diff patch fixtures/review.patch +env -u NO_COLOR target/release/diffs patch fixtures/review.patch ``` Other supported invocations: ```sh -target/release/native-diff --layout unified --theme light patch fixtures/review.patch -git --no-pager diff --no-ext-diff --no-textconv --no-color | target/release/native-diff patch - -git --no-pager log -p -3 --no-color | target/release/native-diff patch - -git format-patch --stdout -3 | target/release/native-diff patch - -target/release/native-diff inspect fixtures/review.patch --summary +target/release/diffs --layout unified --theme light patch fixtures/review.patch +git --no-pager diff --no-ext-diff --no-textconv --no-color | target/release/diffs patch - +git --no-pager log -p -3 --no-color | target/release/diffs patch - +git format-patch --stdout -3 | target/release/diffs patch - +target/release/diffs inspect fixtures/review.patch --summary ``` `patch` reads Git patch text, including `git show`, `git log -p`, `git format-patch`, and `--stat -p` output. @@ -79,8 +86,8 @@ The interactive viewer requires terminal stdout and a controlling terminal for k These commands require Git 2.50 or newer. Qualification currently covers Git 2.50.1 on macOS arm64. ```sh -target/release/native-diff files OLD NEW -target/release/native-diff git --repo PATH --base REV --head REV +target/release/diffs files OLD NEW +target/release/diffs git --repo PATH --base REV --head REV ``` The file command captures two regular files before comparison. It compares content, not original permission bits. @@ -110,8 +117,8 @@ The original `patch` command never guesses a repository or loads full source. For a noninteractive source report, add `--check`: ```sh -target/release/native-diff files OLD NEW --check -target/release/native-diff git --repo PATH --base REV --head REV --check +target/release/diffs files OLD NEW --check +target/release/diffs git --repo PATH --base REV --head REV --check ``` This mode checks all textual file entries, not only visible files. It emits JSON with pinned identities, source states, and byte/line counts. @@ -384,8 +391,8 @@ Pass the pinned corpus paths to the same command for complete large-patch row, s To retain diagnostic terminal-cell previews, set a capture directory: ```sh -native_diff_capture=$(mktemp -d) -NATIVE_DIFF_CAPTURE_DIR="$native_diff_capture" cargo test --release --locked -- --test-threads=1 +diffs_capture=$(mktemp -d) +NATIVE_DIFF_CAPTURE_DIR="$diffs_capture" cargo test --release --locked -- --test-threads=1 ``` These SVG/ANSI previews come from actual PTY output. They are not Ghostty screenshots or proof of display timing. @@ -400,9 +407,9 @@ The corpus bodies and independent source references must already exist at their The commands use the existing local Python environment with [measurement requirements](tools/measurement-requirements.txt). ```sh -cargo build --release --locked --bin native-diff --example sequential_style_reference +cargo build --release --locked --bin diffs --example sequential_style_reference corpus_run=$(mktemp -d) -.measurement-venv/bin/python tools/corpus_acceptance.py target/release/native-diff target/release/examples/sequential_style_reference "$corpus_run/rehearsal" --fixture pierre-0800fb +.measurement-venv/bin/python tools/corpus_acceptance.py target/release/diffs target/release/examples/sequential_style_reference "$corpus_run/rehearsal" --fixture pierre-0800fb .measurement-venv/bin/python tools/corpus_measure.py "$corpus_run/rehearsal/trace.json.gz" "$corpus_run/freeze" --prepare-only .measurement-venv/bin/python tools/corpus_measure.py "$corpus_run/rehearsal/trace.json.gz" "$corpus_run/results" --freeze "$corpus_run/freeze/freeze.json" ``` diff --git a/RELEASE_READINESS.md b/RELEASE_READINESS.md index 9d70e84..8aae2e5 100644 --- a/RELEASE_READINESS.md +++ b/RELEASE_READINESS.md @@ -4,6 +4,36 @@ Checkpoint: 2026-10-03. No public release is authorized or complete. The [current project state](CURRENT_STATE.md) owns the overall status. This page records local build and distribution preparation, not performance acceptance. +## crates.io publishing + +Prepared 2026-10-27; nothing is published. All four packages keep `publish = false`, and the repository stays private until the first publish. + +| Package | Source | Version | Upstream base | +| --- | --- | --- | --- | +| `diffs-fancy-regex` | `crates/diffs-fancy-regex/` | 0.1.0 | fancy-regex 0.16.2 | +| `diffs-syntect` | `crates/diffs-syntect/` | 0.1.0 | syntect 5.3.0 | +| `diffs-two-face` | `crates/diffs-two-face/` | 0.1.0 | two-face 0.5.2+bat-0.26.1 | +| `diffs-rs` | repository root | 0.1.0 | | + +The forks are workspace members. Fork versions are independent of upstream: crates.io ignores build metadata when it compares versions, so a fork cannot carry the upstream version plus its own suffix. Each fork records its upstream base in its description, README, and `[package.metadata.diffs-rs.upstream]`. +`diffs-rs` depends on each fork with a `package =` rename and both `path` and `version`, so local builds use the workspace sources and the published package uses the registry versions. + +To publish, in this order: + +1. Remove `publish = false` from the four manifests and commit. +2. Make the repository public. +3. Run from the repository root, waiting for each command to finish: + +```sh +cargo publish --locked -p diffs-fancy-regex +cargo publish --locked -p diffs-syntect +cargo publish --locked -p diffs-two-face +cargo publish --locked -p diffs-rs +``` + +`cargo publish --locked --workspace` performs the same four steps in dependency order. +Each step verifies the package against the crates already published by the previous steps. + ## Current local candidate The local candidate qualifies macOS arm64, not other platforms or a stable published library API. @@ -76,8 +106,8 @@ The inventory records each changed and added file separately. | Vendored crate | Existing maintenance record | Remaining work | | --- | --- | --- | -| Syntect 5.3.0 | [Patch note](vendor/syntect/NATIVE_DIFF_PATCH.md), source provenance, standalone checks | Summary updated 2026-09-22 for required-byte rejection, retained-heap APIs, and affected files. Keep the documented checks during updates. | -| Fancy Regex 0.16.2 | [Patch note](vendor/fancy-regex/NATIVE_DIFF_PATCH.md), source provenance, standalone checks | Summary updated 2026-09-22 for required-byte metadata, public error behavior, and affected files. Keep the documented checks during updates. | +| Syntect 5.3.0 | [Patch note](crates/diffs-syntect/PATCHES.md), source provenance, standalone checks | Summary updated 2026-09-22 for required-byte rejection, retained-heap APIs, and affected files. Keep the documented checks during updates. | +| Fancy Regex 0.16.2 | [Patch note](crates/diffs-fancy-regex/PATCHES.md), source provenance, standalone checks | Summary updated 2026-09-22 for required-byte metadata, public error behavior, and affected files. Keep the documented checks during updates. | | libgit2-sys 0.18.8+1.9.7 | Parser correction, unchanged notices | Removed 2026-10-27. The stock crate is used; `src/model/rename_names.rs` quotes rename and copy names before parsing. Retain the parser regression checks during updates. | The bundled grammar package supplies notices in addition to its crate license. diff --git a/SPEC.md b/SPEC.md index 6cccb5c..3f694f5 100644 --- a/SPEC.md +++ b/SPEC.md @@ -230,10 +230,10 @@ It is not an implementation-status claim. `CURRENT_STATE.md` identifies the curr The proposed commands are not installed commands yet: ```text -native-diff patch change.patch -git diff --no-ext-diff --no-textconv --no-color | native-diff patch - -native-diff files OLD NEW -native-diff git --repo PATH --base REV --head REV +diffs patch change.patch +git diff --no-ext-diff --no-textconv --no-color | diffs patch - +diffs files OLD NEW +diffs git --repo PATH --base REV --head REV ``` The initial Git command compares two explicit commit revisions. It does not change the index or working tree. diff --git a/build.rs b/build.rs index 7cf8242..80eda85 100644 --- a/build.rs +++ b/build.rs @@ -6,7 +6,7 @@ fn main() { println!("cargo:rerun-if-env-changed=LIBGIT2_NO_VENDOR"); if std::env::var_os("LIBGIT2_NO_VENDOR").is_some_and(|value| value != "0") { panic!( - "native-diff requires the libgit2 source vendored by libgit2-sys. \ + "diffs-rs requires the libgit2 source vendored by libgit2-sys. \ Unset LIBGIT2_NO_VENDOR or set it to 0." ); } diff --git a/vendor/fancy-regex/.gitignore b/crates/diffs-fancy-regex/.gitignore similarity index 100% rename from vendor/fancy-regex/.gitignore rename to crates/diffs-fancy-regex/.gitignore diff --git a/vendor/fancy-regex/AUTHORS b/crates/diffs-fancy-regex/AUTHORS similarity index 100% rename from vendor/fancy-regex/AUTHORS rename to crates/diffs-fancy-regex/AUTHORS diff --git a/vendor/fancy-regex/CHANGELOG.md b/crates/diffs-fancy-regex/CHANGELOG.md similarity index 100% rename from vendor/fancy-regex/CHANGELOG.md rename to crates/diffs-fancy-regex/CHANGELOG.md diff --git a/vendor/fancy-regex/CONTRIBUTING.md b/crates/diffs-fancy-regex/CONTRIBUTING.md similarity index 100% rename from vendor/fancy-regex/CONTRIBUTING.md rename to crates/diffs-fancy-regex/CONTRIBUTING.md diff --git a/crates/diffs-fancy-regex/Cargo.toml b/crates/diffs-fancy-regex/Cargo.toml new file mode 100644 index 0000000..60ee1ff --- /dev/null +++ b/crates/diffs-fancy-regex/Cargo.toml @@ -0,0 +1,76 @@ +[package] +name = "diffs-fancy-regex" +# Fork version, independent of upstream. The upstream base is fancy-regex 0.16.2; +# see README.md and PATCHES.md. +version = "0.1.0" +authors = ["Raph Levien ", "Robin Stocker ", "Keith Hall "] +edition = "2018" +license = "MIT" +description = "Fork of fancy-regex 0.16.2 maintained only for diffs-rs: adds caller-owned search scratch, scoped engine sharing, and required-byte metadata. Use upstream fancy-regex (https://github.com/fancy-regex/fancy-regex) instead." +readme = "README.md" +repository = "https://github.com/plannotator/diffs-rs" +homepage = "https://github.com/plannotator/diffs-rs/tree/main/crates/diffs-fancy-regex" +categories = ["text-processing"] +# Upstream declares 1.66; this fork is only built and tested with diffs-rs. +rust-version = "1.88" +include = [ + "/src/**/*.rs", + "/Cargo.toml", + "/README.md", + "/PATCHES.md", + "/UPSTREAM_README.md", + "/CHANGELOG.md", + "/AUTHORS", + "/LICENSE", +] +# Not published yet. RELEASE_READINESS.md in diffs-rs gives the publish order. +publish = false + +[package.metadata.diffs-rs.upstream] +crate = "fancy-regex" +version = "0.16.2" +repository = "https://github.com/fancy-regex/fancy-regex" +revision = "68d300b2853cfb390a99020719114c22254878e5" +crate-sha256 = "998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f" + +# The library keeps its upstream name, so `use fancy_regex::...` in the fork's own +# tests, examples and doctests is unchanged. Dependents rename the package: +# `fancy-regex = { package = "diffs-fancy-regex", ... }`. +[lib] +name = "fancy_regex" + +[features] +shared-engines = ["std"] +owner-census = [] +default = ["unicode", "perf", "std"] +# Enable #[track_caller] in unit tests. +track_caller = [] +perf = ["regex-automata/perf"] +unicode = ["regex-automata/unicode", "regex-syntax/unicode"] +std = ["regex-automata/std", "regex-syntax/std", "bit-set/std"] + +[dependencies.regex-automata] +version = "0.4" +default-features = false +features = ["alloc", "syntax", "meta", "nfa", "dfa", "hybrid"] + +[dependencies.regex-syntax] +version = "0.8" +default-features = false + +[dependencies.bit-set] +version = "0.8" +default-features = false + +[dev-dependencies] +matches = "0.1.10" +quickcheck = "1.0" +regex = "1.10" + +# Upstream code keeps upstream's lint state. diffs-rs CI runs clippy with +# `-D warnings`, which would otherwise apply to this workspace member too. +[lints.rust] +mismatched_lifetime_syntaxes = "allow" + +[lints.clippy] +all = { level = "allow", priority = -1 } diff --git a/vendor/fancy-regex/LICENSE b/crates/diffs-fancy-regex/LICENSE similarity index 100% rename from vendor/fancy-regex/LICENSE rename to crates/diffs-fancy-regex/LICENSE diff --git a/vendor/fancy-regex/NATIVE_DIFF_PATCH.md b/crates/diffs-fancy-regex/PATCHES.md similarity index 72% rename from vendor/fancy-regex/NATIVE_DIFF_PATCH.md rename to crates/diffs-fancy-regex/PATCHES.md index ddf92d7..48872e1 100644 --- a/vendor/fancy-regex/NATIVE_DIFF_PATCH.md +++ b/crates/diffs-fancy-regex/PATCHES.md @@ -1,6 +1,6 @@ -# Scoped engine sharing, search scratch, and required-byte metadata +# diffs-fancy-regex: scoped engine sharing, search scratch, and required-byte metadata -This is `fancy-regex 0.16.2` with local patches. The published archive SHA-256 is +This is `fancy-regex 0.16.2` with local patches, packaged as `diffs-fancy-regex` for diffs-rs. The published archive SHA-256 is `998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f`. The upstream MIT license remains in `LICENSE`. @@ -33,8 +33,8 @@ summing strategy estimates. Syntect does not clone inner handles during parsing. Search-buffer bytes are unavailable: the private pool has no safe inspection API that leaves its state unchanged. -The standalone test lockfile pins its engine/syntax dependencies to the versions -in native-diff's root lockfile. Native-diff builds use only the root lockfile. +The fork is a member of the diffs-rs workspace. Its own tests +(`cargo test -p diffs-fancy-regex`) use the workspace's root lockfile. ## Required-byte metadata @@ -55,15 +55,28 @@ Syntect separately uses the mask to skip searches that cannot match its complete This metadata is available in ordinary builds and is independent of the inspection features. The change adds `src/required_bytes.rs` and modifies `src/lib.rs`. -The application tests in `tests/required_bytes.rs` check real captures at each character boundary, lookarounds, Unicode, conservative fallback, and public errors. +The diffs-rs tests in the repository's `tests/required_bytes.rs` check real captures at each character boundary, lookarounds, Unicode, conservative fallback, and public errors. Standalone Fancy Regex tests alone do not cover that application contract. ## Changed files and maintenance The local runtime changes affect `src/lib.rs`, `src/compile.rs`, and `src/vm.rs`. They add `src/engine_cache.rs`, `src/owner_census.rs`, and `src/required_bytes.rs`. -Both manifests and the standalone lockfile also differ from the published crate. The original license and notice files remain unchanged. -Dependency updates need the upstream suite and the application's required-byte, search-scratch, engine-sharing, and full-source coloring checks. +Dependency updates need the upstream suite and the diffs-rs required-byte, search-scratch, engine-sharing, and full-source coloring checks. Capture equivalence and error behavior remain requirements even when the application rejects an impossible search before calling the matcher. + +## Packaging changes + +These affect only how the fork is built and published, not its library code. + +- The package is renamed and versioned independently (see `README.md`). The library + keeps its upstream name, so `use` paths, tests, examples and doctests are unchanged. +- The manifest is the upstream `Cargo.toml.orig` with the fork's name, version, + description, repository, `include` list and `rust-version`. Dependents rename the + package back to the upstream dependency name with `package = "..."`. +- Upstream lints are allowed in the manifest, because diffs-rs runs Clippy with + `-D warnings` across its workspace and the upstream code is not changed to satisfy it. +- Upstream benchmarks and their `criterion` dev-dependency are removed. +- Upstream's `codecov.yml` is removed. diff --git a/vendor/fancy-regex/PERFORMANCE.md b/crates/diffs-fancy-regex/PERFORMANCE.md similarity index 100% rename from vendor/fancy-regex/PERFORMANCE.md rename to crates/diffs-fancy-regex/PERFORMANCE.md diff --git a/crates/diffs-fancy-regex/README.md b/crates/diffs-fancy-regex/README.md new file mode 100644 index 0000000..51affca --- /dev/null +++ b/crates/diffs-fancy-regex/README.md @@ -0,0 +1,44 @@ +# diffs-fancy-regex + +A fork of [fancy-regex](https://github.com/fancy-regex/fancy-regex) maintained only +for [diffs-rs](https://github.com/plannotator/diffs-rs). +**Use upstream `fancy-regex` in your own projects.** This crate follows the needs of +diffs-rs and may change or stop being updated without notice. + +- Upstream base: `fancy-regex` 0.16.2, revision + [`68d300b`](https://github.com/fancy-regex/fancy-regex/commit/68d300b2853cfb390a99020719114c22254878e5). + The published upstream archive has SHA-256 + `998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f`. +- Fork version: `diffs-fancy-regex` 0.1.0. Fork versions are independent of upstream versions. +- Library name: `fancy_regex`, as upstream. Depend on it under the upstream name: + + ```toml + [dependencies] + fancy-regex = { package = "diffs-fancy-regex", version = "0.1.0" } + ``` + +## Changes from upstream + +All additions are opt-in or additive. Default features, matching behavior, compiled +programs, and errors are unchanged. + +1. **Caller-owned search scratch.** `SearchScratch` and + `Regex::captures_from_pos_with_scratch` let a caller reuse the VM's temporary + branch, save-history, and delegated-slot buffers across searches. +2. **Scoped engine sharing** (feature `shared-engines`). `EngineCache` and + `RegexBuilder::build_with_cache` let equal expressions with equal settings share one + compiled inner engine within a caller-chosen scope. +3. **Required-byte metadata.** `Regex::required_ascii_bytes()` returns a conservative + mask of ASCII bytes that every match needs somewhere in the input. Callers can skip + searches that cannot match. +4. **Owner inspection** (feature `owner-census`). A borrowed visitor over existing inner + engines, for memory diagnostics. + +[PATCHES.md](PATCHES.md) describes each change, the changed files, packaging changes, +and the checks that updates need. The upstream README is in +[UPSTREAM_README.md](UPSTREAM_README.md). + +## License + +MIT, as upstream. See [LICENSE](LICENSE) and [AUTHORS](AUTHORS). The upstream +copyright notice is unchanged, and the fork's changes are distributed under the same license. diff --git a/vendor/fancy-regex/README.md b/crates/diffs-fancy-regex/UPSTREAM_README.md similarity index 100% rename from vendor/fancy-regex/README.md rename to crates/diffs-fancy-regex/UPSTREAM_README.md diff --git a/vendor/fancy-regex/examples/toy.rs b/crates/diffs-fancy-regex/examples/toy.rs similarity index 100% rename from vendor/fancy-regex/examples/toy.rs rename to crates/diffs-fancy-regex/examples/toy.rs diff --git a/vendor/fancy-regex/src/analyze.rs b/crates/diffs-fancy-regex/src/analyze.rs similarity index 100% rename from vendor/fancy-regex/src/analyze.rs rename to crates/diffs-fancy-regex/src/analyze.rs diff --git a/vendor/fancy-regex/src/compile.rs b/crates/diffs-fancy-regex/src/compile.rs similarity index 100% rename from vendor/fancy-regex/src/compile.rs rename to crates/diffs-fancy-regex/src/compile.rs diff --git a/vendor/fancy-regex/src/engine_cache.rs b/crates/diffs-fancy-regex/src/engine_cache.rs similarity index 100% rename from vendor/fancy-regex/src/engine_cache.rs rename to crates/diffs-fancy-regex/src/engine_cache.rs diff --git a/vendor/fancy-regex/src/error.rs b/crates/diffs-fancy-regex/src/error.rs similarity index 100% rename from vendor/fancy-regex/src/error.rs rename to crates/diffs-fancy-regex/src/error.rs diff --git a/vendor/fancy-regex/src/expand.rs b/crates/diffs-fancy-regex/src/expand.rs similarity index 100% rename from vendor/fancy-regex/src/expand.rs rename to crates/diffs-fancy-regex/src/expand.rs diff --git a/vendor/fancy-regex/src/lib.rs b/crates/diffs-fancy-regex/src/lib.rs similarity index 100% rename from vendor/fancy-regex/src/lib.rs rename to crates/diffs-fancy-regex/src/lib.rs diff --git a/vendor/fancy-regex/src/optimize.rs b/crates/diffs-fancy-regex/src/optimize.rs similarity index 100% rename from vendor/fancy-regex/src/optimize.rs rename to crates/diffs-fancy-regex/src/optimize.rs diff --git a/vendor/fancy-regex/src/owner_census.rs b/crates/diffs-fancy-regex/src/owner_census.rs similarity index 100% rename from vendor/fancy-regex/src/owner_census.rs rename to crates/diffs-fancy-regex/src/owner_census.rs diff --git a/vendor/fancy-regex/src/parse.rs b/crates/diffs-fancy-regex/src/parse.rs similarity index 100% rename from vendor/fancy-regex/src/parse.rs rename to crates/diffs-fancy-regex/src/parse.rs diff --git a/vendor/fancy-regex/src/parse_flags.rs b/crates/diffs-fancy-regex/src/parse_flags.rs similarity index 100% rename from vendor/fancy-regex/src/parse_flags.rs rename to crates/diffs-fancy-regex/src/parse_flags.rs diff --git a/vendor/fancy-regex/src/replacer.rs b/crates/diffs-fancy-regex/src/replacer.rs similarity index 100% rename from vendor/fancy-regex/src/replacer.rs rename to crates/diffs-fancy-regex/src/replacer.rs diff --git a/vendor/fancy-regex/src/required_bytes.rs b/crates/diffs-fancy-regex/src/required_bytes.rs similarity index 100% rename from vendor/fancy-regex/src/required_bytes.rs rename to crates/diffs-fancy-regex/src/required_bytes.rs diff --git a/vendor/fancy-regex/src/vm.rs b/crates/diffs-fancy-regex/src/vm.rs similarity index 100% rename from vendor/fancy-regex/src/vm.rs rename to crates/diffs-fancy-regex/src/vm.rs diff --git a/vendor/fancy-regex/tests/captures.rs b/crates/diffs-fancy-regex/tests/captures.rs similarity index 100% rename from vendor/fancy-regex/tests/captures.rs rename to crates/diffs-fancy-regex/tests/captures.rs diff --git a/vendor/fancy-regex/tests/common/mod.rs b/crates/diffs-fancy-regex/tests/common/mod.rs similarity index 100% rename from vendor/fancy-regex/tests/common/mod.rs rename to crates/diffs-fancy-regex/tests/common/mod.rs diff --git a/vendor/fancy-regex/tests/finding.rs b/crates/diffs-fancy-regex/tests/finding.rs similarity index 100% rename from vendor/fancy-regex/tests/finding.rs rename to crates/diffs-fancy-regex/tests/finding.rs diff --git a/vendor/fancy-regex/tests/matching.rs b/crates/diffs-fancy-regex/tests/matching.rs similarity index 100% rename from vendor/fancy-regex/tests/matching.rs rename to crates/diffs-fancy-regex/tests/matching.rs diff --git a/vendor/fancy-regex/tests/oniguruma.rs b/crates/diffs-fancy-regex/tests/oniguruma.rs similarity index 100% rename from vendor/fancy-regex/tests/oniguruma.rs rename to crates/diffs-fancy-regex/tests/oniguruma.rs diff --git a/vendor/fancy-regex/tests/oniguruma/.gitattributes b/crates/diffs-fancy-regex/tests/oniguruma/.gitattributes similarity index 100% rename from vendor/fancy-regex/tests/oniguruma/.gitattributes rename to crates/diffs-fancy-regex/tests/oniguruma/.gitattributes diff --git a/vendor/fancy-regex/tests/oniguruma/README.md b/crates/diffs-fancy-regex/tests/oniguruma/README.md similarity index 100% rename from vendor/fancy-regex/tests/oniguruma/README.md rename to crates/diffs-fancy-regex/tests/oniguruma/README.md diff --git a/vendor/fancy-regex/tests/oniguruma/test_utf8.c b/crates/diffs-fancy-regex/tests/oniguruma/test_utf8.c similarity index 100% rename from vendor/fancy-regex/tests/oniguruma/test_utf8.c rename to crates/diffs-fancy-regex/tests/oniguruma/test_utf8.c diff --git a/vendor/fancy-regex/tests/oniguruma/test_utf8_ignore.c b/crates/diffs-fancy-regex/tests/oniguruma/test_utf8_ignore.c similarity index 100% rename from vendor/fancy-regex/tests/oniguruma/test_utf8_ignore.c rename to crates/diffs-fancy-regex/tests/oniguruma/test_utf8_ignore.c diff --git a/vendor/fancy-regex/tests/regex_options.rs b/crates/diffs-fancy-regex/tests/regex_options.rs similarity index 100% rename from vendor/fancy-regex/tests/regex_options.rs rename to crates/diffs-fancy-regex/tests/regex_options.rs diff --git a/vendor/fancy-regex/tests/replace.rs b/crates/diffs-fancy-regex/tests/replace.rs similarity index 100% rename from vendor/fancy-regex/tests/replace.rs rename to crates/diffs-fancy-regex/tests/replace.rs diff --git a/vendor/fancy-regex/tests/splitting.rs b/crates/diffs-fancy-regex/tests/splitting.rs similarity index 100% rename from vendor/fancy-regex/tests/splitting.rs rename to crates/diffs-fancy-regex/tests/splitting.rs diff --git a/vendor/syntect/.git-blame-ignore-revs b/crates/diffs-syntect/.git-blame-ignore-revs similarity index 100% rename from vendor/syntect/.git-blame-ignore-revs rename to crates/diffs-syntect/.git-blame-ignore-revs diff --git a/vendor/syntect/.gitattributes b/crates/diffs-syntect/.gitattributes similarity index 100% rename from vendor/syntect/.gitattributes rename to crates/diffs-syntect/.gitattributes diff --git a/vendor/syntect/.gitignore b/crates/diffs-syntect/.gitignore similarity index 100% rename from vendor/syntect/.gitignore rename to crates/diffs-syntect/.gitignore diff --git a/vendor/syntect/CHANGELOG.md b/crates/diffs-syntect/CHANGELOG.md similarity index 100% rename from vendor/syntect/CHANGELOG.md rename to crates/diffs-syntect/CHANGELOG.md diff --git a/vendor/syntect/Cargo.toml.orig b/crates/diffs-syntect/Cargo.toml similarity index 52% rename from vendor/syntect/Cargo.toml.orig rename to crates/diffs-syntect/Cargo.toml index a41fa17..77ddd4d 100644 --- a/vendor/syntect/Cargo.toml.orig +++ b/crates/diffs-syntect/Cargo.toml @@ -1,30 +1,60 @@ [package] -name = "syntect" -description = "library for high quality syntax highlighting and code intelligence using Sublime Text's grammars" -documentation = "https://docs.rs/syntect" -repository = "https://github.com/trishume/syntect" -keywords = ["syntax", "highlighting", "highlighter", "colouring", "parsing"] -categories = ["parser-implementations", "parsing", "text-processing"] -readme = "Readme.md" -license = "MIT" -version = "5.3.0" # remember to update html_root_url +name = "diffs-syntect" +# Fork version, independent of upstream. The upstream base is syntect 5.3.0; +# see README.md and PATCHES.md. +version = "0.1.0" authors = ["Tristan Hume "] edition = "2021" -exclude = [ - "testdata/*", - "/scripts/*", - "/Makefile", - "/codecov.yml" +license = "MIT" +description = "Fork of syntect 5.3.0 maintained only for diffs-rs: shares compiled regexes within a syntax set, reuses search scratch, skips impossible searches, and reports parser-state memory. Use upstream syntect (https://github.com/trishume/syntect) instead." +readme = "README.md" +repository = "https://github.com/plannotator/diffs-rs" +homepage = "https://github.com/plannotator/diffs-rs/tree/main/crates/diffs-syntect" +keywords = ["syntax", "highlighting", "highlighter"] +categories = ["parser-implementations", "parsing", "text-processing"] +# Upstream declares no minimum; this fork is only built and tested with diffs-rs. +rust-version = "1.88" +# testdata/ holds upstream test inputs (about 8 MB); it stays in Git only. +include = [ + "/src/**/*.rs", + "/src/**/*.md", + "/assets/default.themedump", + "/assets/default_metadata.packdump", + "/assets/default_newlines.packdump", + "/assets/default_nonewlines.packdump", + "/Cargo.toml", + "/README.md", + "/PATCHES.md", + "/UPSTREAM_README.md", + "/CHANGELOG.md", + "/LICENSE.txt", ] +# Not published yet. RELEASE_READINESS.md in diffs-rs gives the publish order. +publish = false + +[package.metadata.diffs-rs.upstream] +crate = "syntect" +version = "5.3.0" +repository = "https://github.com/trishume/syntect" +revision = "e4670846ecf16d8832db6c43d531bec466214e27" +crate-sha256 = "656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925" [package.metadata.docs.rs] # Toggle on extra features that aren't on by default features = ["metadata"] +# The library keeps its upstream name, so `use syntect::...` in the fork's own +# tests, examples and doctests is unchanged. Dependents rename the package: +# `syntect = { package = "diffs-syntect", ... }`. +[lib] +name = "syntect" + [dependencies] yaml-rust = { version = "0.4.5", optional = true } onig = { version = "6.5.1", optional = true, default-features = false } -fancy-regex = { version = "0.16.2", optional = true } +# The patched fork; the dependency keeps the `fancy-regex` name, so the +# `fancy-regex/...` features and `fancy_regex::` paths below resolve to it. +fancy-regex = { package = "diffs-fancy-regex", version = "0.1.0", path = "../diffs-fancy-regex", optional = true } walkdir = "2.0" regex-syntax = { version = "0.8", optional = true } plist = { version = "1.3", optional = true } @@ -38,14 +68,10 @@ once_cell = "1.8" thiserror = "2.0.12" [dev-dependencies] -criterion = { version = "0.3", features = [ "html_reports" ] } rayon = "1.0.0" regex = "1.0" getopts = "0.2" pretty_assertions = "0.6" -rustup-toolchain = "0.1.5" -rustdoc-json = "0.9.7" -public-api = "0.50.1" serde_json = "1.0" [features] @@ -83,30 +109,11 @@ default-onig = ["parsing", "default-syntaxes", "default-themes", "html", "plist- default-fancy = ["parsing", "default-syntaxes", "default-themes", "html", "plist-load", "yaml-load", "dump-load", "dump-create", "regex-fancy"] default = ["default-onig"] -# [profile.release] -# debug = true - -[profile.dev.package] -aho-corasick.opt-level = 2 -fancy-regex.opt-level = 2 -regex-automata.opt-level = 2 -regex-syntax.opt-level = 2 - -[lib] -bench = false - -[[bench]] -name = "highlighting" -harness = false - -[[bench]] -name = "load_and_highlight" -harness = false -[[bench]] -name = "loading" -harness = false +# Upstream code keeps upstream's lint state. diffs-rs CI runs clippy with +# `-D warnings`, which would otherwise apply to this workspace member too. +[lints.rust] +mismatched_lifetime_syntaxes = "allow" -[[bench]] -name = "parsing" -harness = false +[lints.clippy] +all = { level = "allow", priority = -1 } diff --git a/vendor/syntect/DESIGN.md b/crates/diffs-syntect/DESIGN.md similarity index 100% rename from vendor/syntect/DESIGN.md rename to crates/diffs-syntect/DESIGN.md diff --git a/vendor/syntect/LICENSE.txt b/crates/diffs-syntect/LICENSE.txt similarity index 100% rename from vendor/syntect/LICENSE.txt rename to crates/diffs-syntect/LICENSE.txt diff --git a/vendor/syntect/NATIVE_DIFF_PATCH.md b/crates/diffs-syntect/PATCHES.md similarity index 80% rename from vendor/syntect/NATIVE_DIFF_PATCH.md rename to crates/diffs-syntect/PATCHES.md index d840823..253dc82 100644 --- a/vendor/syntect/NATIVE_DIFF_PATCH.md +++ b/crates/diffs-syntect/PATCHES.md @@ -1,6 +1,6 @@ -# Native-diff parser ownership and search patches +# diffs-syntect: parser ownership and search patches -This is Syntect 5.3.0 with local ownership, search, and accounting changes. +This is Syntect 5.3.0 with local ownership, search, and accounting changes, packaged as `diffs-syntect` for diffs-rs. The patches retain the existing regex engine, compilation options, grammar data, rule order, and match results. The package retains its original MIT license in `LICENSE.txt`. @@ -8,15 +8,14 @@ The package retains its original MIT license in `LICENSE.txt`. - Published crate SHA-256: `656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925`. - Upstream revision: `e4670846ecf16d8832db6c43d531bec466214e27` in `trishume/syntect`. -- `testdata/` comes from that revision. The published crate omits it, but upstream library tests require it. -- Its `testdata/Packages` submodule is restored at the recorded `sublimehq/Packages` revision `fa6b8629c95041bf262d4c1dab95c456a0530122`. These are test inputs, not replacement runtime grammars. Other upstream test submodules are not restored. -- The local standalone `Cargo.lock` supports dependency tests. Native-diff builds use the root lockfile, not this test lockfile. +- `testdata/` comes from that revision. The published crate omits it, and so does `diffs-syntect`, but upstream library tests require it. +- Its `testdata/Packages` submodule is restored at the recorded `sublimehq/Packages` revision `fa6b8629c95041bf262d4c1dab95c456a0530122`. These are test inputs, not replacement runtime grammars. Other upstream test submodules are not restored. Without the `testdata/spacegray` theme submodule, the upstream unit test `highlighting::theme_set::tests::can_parse_common_themes` fails; the other library, integration and doc tests pass. +- The fork is a member of the diffs-rs workspace. Its own tests (`cargo test -p diffs-syntect`) use the workspace's root lockfile. The ownership patch changes `src/parsing/regex.rs` and `src/parsing/syntax_set.rs`. The former also contains ownership and admission tests. Family propagation also changes `src/parsing/syntax_definition.rs`. -The manifests and `src/parsing/mod.rs` declare the local features and modules. -The standalone lockfile differs from the published lockfile. +The manifest and `src/parsing/mod.rs` declare the local features and modules. The line-local search patch also changes `src/parsing/parser.rs`. Its non-cloneable `LineSearch` groups the existing match cache and region with @@ -116,3 +115,23 @@ Source-derived expressions, such as heredoc closing delimiters, are created afte Check real captures, concurrent searches, distinct rule actions, clone/serialization behavior, and final-owner release. Check viewer source and terminal-cell contracts, including different heredoc terminators on old and new sides. Compare large-patch cells to the preserved, unpatched sequential highlighter. Measure allocation attribution separately from ordinary release performance. Grammar initialization now pays for temporary string hashing and reference-counted cells. Accept the patch only if real workload memory falls without a correctness failure or a material responsiveness regression. This change does not establish a total-memory bound. + +## Packaging changes + +These affect only how the fork is built and published, not its library code. + +- The package is renamed and versioned independently (see `README.md`). The library + keeps its upstream name, so `use` paths, tests, examples and doctests are unchanged. +- The manifest is the upstream `Cargo.toml.orig` with the fork's name, version, + description, repository, `include` list and `rust-version`. Dependents rename the + package back to the upstream dependency name with `package = "..."`. +- Upstream lints are allowed in the manifest, because diffs-rs runs Clippy with + `-D warnings` across its workspace and the upstream code is not changed to satisfy it. +- Upstream benchmarks and their `criterion` dev-dependency are removed. +- The Fancy Regex dependency is `diffs-fancy-regex`, renamed to `fancy-regex`, so the + `fancy-regex/...` features and `fancy_regex::` paths resolve to the fork. +- The upstream `public_api` test, its snapshot, and its `public-api`, `rustdoc-json` + and `rustup-toolchain` dev-dependencies are removed. The fork's public API + intentionally differs from the snapshot, and the test installs a nightly toolchain. +- Upstream's GitHub workflows, `.gitmodules` and `[profile]` settings are removed. + Workspace members cannot set profiles. diff --git a/crates/diffs-syntect/README.md b/crates/diffs-syntect/README.md new file mode 100644 index 0000000..c930486 --- /dev/null +++ b/crates/diffs-syntect/README.md @@ -0,0 +1,48 @@ +# diffs-syntect + +A fork of [syntect](https://github.com/trishume/syntect) maintained only for +[diffs-rs](https://github.com/plannotator/diffs-rs). +**Use upstream `syntect` in your own projects.** This crate follows the needs of +diffs-rs and may change or stop being updated without notice. + +- Upstream base: `syntect` 5.3.0, revision + [`e467084`](https://github.com/trishume/syntect/commit/e4670846ecf16d8832db6c43d531bec466214e27). + The published upstream archive has SHA-256 + `656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925`. +- Fork version: `diffs-syntect` 0.1.0. Fork versions are independent of upstream versions. +- Library name: `syntect`, as upstream. Depend on it under the upstream name: + + ```toml + [dependencies] + syntect = { package = "diffs-syntect", version = "0.1.0", default-features = false, features = ["default-fancy"] } + ``` + +- Fancy Regex backend: [`diffs-fancy-regex`](../diffs-fancy-regex), the matching fork. + Its types are not interchangeable with upstream `fancy-regex` or upstream `syntect`. + +## Changes from upstream + +Grammar data, rule order, compilation options, and match results are unchanged. + +1. **Shared compiled patterns.** Each regex owns its lazily compiled cell through an + `Arc`. A syntax set interns equal static patterns, so its grammars share compiled + regexes. Cloning a regex shares its compiled cell instead of recompiling. +2. **Line-local search scratch.** The parser reuses Fancy Regex search buffers within one + `parse_line` call. +3. **Required-byte rejection.** The parser skips a capture search when the line lacks a + byte that every match requires. +4. **Scoped engine sharing** (feature `shared-engines`). Static rules in one syntax-set + family share Fancy Regex inner engines. +5. **Memory accounting.** `ParseState::owned_heap_bytes()` and + `ScopeStack::owned_heap_bytes()` report owned parser-state capacity. +6. **Diagnostics** (features `regex-census`, `owner-census`, `syntax-timing`). Borrowed + inspection of compiled regexes and initialization timing. Off by default. + +[PATCHES.md](PATCHES.md) describes each change, the changed files, packaging changes, +and the checks that updates need. The upstream README is in +[UPSTREAM_README.md](UPSTREAM_README.md). + +## License + +MIT, as upstream. See [LICENSE.txt](LICENSE.txt). The upstream copyright notice is +unchanged, and the fork's changes are distributed under the same license. diff --git a/vendor/syntect/Readme.md b/crates/diffs-syntect/UPSTREAM_README.md similarity index 100% rename from vendor/syntect/Readme.md rename to crates/diffs-syntect/UPSTREAM_README.md diff --git a/vendor/syntect/assets/default.themedump b/crates/diffs-syntect/assets/default.themedump similarity index 100% rename from vendor/syntect/assets/default.themedump rename to crates/diffs-syntect/assets/default.themedump diff --git a/vendor/syntect/assets/default_metadata.packdump b/crates/diffs-syntect/assets/default_metadata.packdump similarity index 100% rename from vendor/syntect/assets/default_metadata.packdump rename to crates/diffs-syntect/assets/default_metadata.packdump diff --git a/vendor/syntect/assets/default_newlines.packdump b/crates/diffs-syntect/assets/default_newlines.packdump similarity index 100% rename from vendor/syntect/assets/default_newlines.packdump rename to crates/diffs-syntect/assets/default_newlines.packdump diff --git a/vendor/syntect/assets/default_nonewlines.packdump b/crates/diffs-syntect/assets/default_nonewlines.packdump similarity index 100% rename from vendor/syntect/assets/default_nonewlines.packdump rename to crates/diffs-syntect/assets/default_nonewlines.packdump diff --git a/vendor/syntect/examples/gendata.rs b/crates/diffs-syntect/examples/gendata.rs similarity index 100% rename from vendor/syntect/examples/gendata.rs rename to crates/diffs-syntect/examples/gendata.rs diff --git a/vendor/syntect/examples/latex-demo.rs b/crates/diffs-syntect/examples/latex-demo.rs similarity index 100% rename from vendor/syntect/examples/latex-demo.rs rename to crates/diffs-syntect/examples/latex-demo.rs diff --git a/vendor/syntect/examples/parsyncat.rs b/crates/diffs-syntect/examples/parsyncat.rs similarity index 100% rename from vendor/syntect/examples/parsyncat.rs rename to crates/diffs-syntect/examples/parsyncat.rs diff --git a/vendor/syntect/examples/syncat.rs b/crates/diffs-syntect/examples/syncat.rs similarity index 100% rename from vendor/syntect/examples/syncat.rs rename to crates/diffs-syntect/examples/syncat.rs diff --git a/vendor/syntect/examples/synhtml-css-classes.rs b/crates/diffs-syntect/examples/synhtml-css-classes.rs similarity index 100% rename from vendor/syntect/examples/synhtml-css-classes.rs rename to crates/diffs-syntect/examples/synhtml-css-classes.rs diff --git a/vendor/syntect/examples/synhtml.rs b/crates/diffs-syntect/examples/synhtml.rs similarity index 100% rename from vendor/syntect/examples/synhtml.rs rename to crates/diffs-syntect/examples/synhtml.rs diff --git a/vendor/syntect/examples/synstats.rs b/crates/diffs-syntect/examples/synstats.rs similarity index 100% rename from vendor/syntect/examples/synstats.rs rename to crates/diffs-syntect/examples/synstats.rs diff --git a/vendor/syntect/examples/syntest.rs b/crates/diffs-syntect/examples/syntest.rs similarity index 100% rename from vendor/syntect/examples/syntest.rs rename to crates/diffs-syntect/examples/syntest.rs diff --git a/vendor/syntect/src/dumps.rs b/crates/diffs-syntect/src/dumps.rs similarity index 100% rename from vendor/syntect/src/dumps.rs rename to crates/diffs-syntect/src/dumps.rs diff --git a/vendor/syntect/src/easy.rs b/crates/diffs-syntect/src/easy.rs similarity index 100% rename from vendor/syntect/src/easy.rs rename to crates/diffs-syntect/src/easy.rs diff --git a/vendor/syntect/src/escape.rs b/crates/diffs-syntect/src/escape.rs similarity index 100% rename from vendor/syntect/src/escape.rs rename to crates/diffs-syntect/src/escape.rs diff --git a/vendor/syntect/src/highlighting/Readme.md b/crates/diffs-syntect/src/highlighting/Readme.md similarity index 100% rename from vendor/syntect/src/highlighting/Readme.md rename to crates/diffs-syntect/src/highlighting/Readme.md diff --git a/vendor/syntect/src/highlighting/highlighter.rs b/crates/diffs-syntect/src/highlighting/highlighter.rs similarity index 100% rename from vendor/syntect/src/highlighting/highlighter.rs rename to crates/diffs-syntect/src/highlighting/highlighter.rs diff --git a/vendor/syntect/src/highlighting/mod.rs b/crates/diffs-syntect/src/highlighting/mod.rs similarity index 100% rename from vendor/syntect/src/highlighting/mod.rs rename to crates/diffs-syntect/src/highlighting/mod.rs diff --git a/vendor/syntect/src/highlighting/selector.rs b/crates/diffs-syntect/src/highlighting/selector.rs similarity index 100% rename from vendor/syntect/src/highlighting/selector.rs rename to crates/diffs-syntect/src/highlighting/selector.rs diff --git a/vendor/syntect/src/highlighting/settings.rs b/crates/diffs-syntect/src/highlighting/settings.rs similarity index 100% rename from vendor/syntect/src/highlighting/settings.rs rename to crates/diffs-syntect/src/highlighting/settings.rs diff --git a/vendor/syntect/src/highlighting/style.rs b/crates/diffs-syntect/src/highlighting/style.rs similarity index 100% rename from vendor/syntect/src/highlighting/style.rs rename to crates/diffs-syntect/src/highlighting/style.rs diff --git a/vendor/syntect/src/highlighting/theme.rs b/crates/diffs-syntect/src/highlighting/theme.rs similarity index 100% rename from vendor/syntect/src/highlighting/theme.rs rename to crates/diffs-syntect/src/highlighting/theme.rs diff --git a/vendor/syntect/src/highlighting/theme_load.rs b/crates/diffs-syntect/src/highlighting/theme_load.rs similarity index 100% rename from vendor/syntect/src/highlighting/theme_load.rs rename to crates/diffs-syntect/src/highlighting/theme_load.rs diff --git a/vendor/syntect/src/highlighting/theme_set.rs b/crates/diffs-syntect/src/highlighting/theme_set.rs similarity index 100% rename from vendor/syntect/src/highlighting/theme_set.rs rename to crates/diffs-syntect/src/highlighting/theme_set.rs diff --git a/vendor/syntect/src/html.rs b/crates/diffs-syntect/src/html.rs similarity index 100% rename from vendor/syntect/src/html.rs rename to crates/diffs-syntect/src/html.rs diff --git a/vendor/syntect/src/lib.rs b/crates/diffs-syntect/src/lib.rs similarity index 100% rename from vendor/syntect/src/lib.rs rename to crates/diffs-syntect/src/lib.rs diff --git a/vendor/syntect/src/parsing/metadata.rs b/crates/diffs-syntect/src/parsing/metadata.rs similarity index 100% rename from vendor/syntect/src/parsing/metadata.rs rename to crates/diffs-syntect/src/parsing/metadata.rs diff --git a/vendor/syntect/src/parsing/mod.rs b/crates/diffs-syntect/src/parsing/mod.rs similarity index 100% rename from vendor/syntect/src/parsing/mod.rs rename to crates/diffs-syntect/src/parsing/mod.rs diff --git a/vendor/syntect/src/parsing/owner_census.rs b/crates/diffs-syntect/src/parsing/owner_census.rs similarity index 100% rename from vendor/syntect/src/parsing/owner_census.rs rename to crates/diffs-syntect/src/parsing/owner_census.rs diff --git a/vendor/syntect/src/parsing/parser.rs b/crates/diffs-syntect/src/parsing/parser.rs similarity index 100% rename from vendor/syntect/src/parsing/parser.rs rename to crates/diffs-syntect/src/parsing/parser.rs diff --git a/vendor/syntect/src/parsing/regex.rs b/crates/diffs-syntect/src/parsing/regex.rs similarity index 100% rename from vendor/syntect/src/parsing/regex.rs rename to crates/diffs-syntect/src/parsing/regex.rs diff --git a/vendor/syntect/src/parsing/regex_census.rs b/crates/diffs-syntect/src/parsing/regex_census.rs similarity index 100% rename from vendor/syntect/src/parsing/regex_census.rs rename to crates/diffs-syntect/src/parsing/regex_census.rs diff --git a/vendor/syntect/src/parsing/scope.rs b/crates/diffs-syntect/src/parsing/scope.rs similarity index 100% rename from vendor/syntect/src/parsing/scope.rs rename to crates/diffs-syntect/src/parsing/scope.rs diff --git a/vendor/syntect/src/parsing/syntax_definition.rs b/crates/diffs-syntect/src/parsing/syntax_definition.rs similarity index 100% rename from vendor/syntect/src/parsing/syntax_definition.rs rename to crates/diffs-syntect/src/parsing/syntax_definition.rs diff --git a/vendor/syntect/src/parsing/syntax_set.rs b/crates/diffs-syntect/src/parsing/syntax_set.rs similarity index 100% rename from vendor/syntect/src/parsing/syntax_set.rs rename to crates/diffs-syntect/src/parsing/syntax_set.rs diff --git a/vendor/syntect/src/parsing/syntax_timing.rs b/crates/diffs-syntect/src/parsing/syntax_timing.rs similarity index 100% rename from vendor/syntect/src/parsing/syntax_timing.rs rename to crates/diffs-syntect/src/parsing/syntax_timing.rs diff --git a/vendor/syntect/src/parsing/yaml_load.rs b/crates/diffs-syntect/src/parsing/yaml_load.rs similarity index 100% rename from vendor/syntect/src/parsing/yaml_load.rs rename to crates/diffs-syntect/src/parsing/yaml_load.rs diff --git a/vendor/syntect/src/util.rs b/crates/diffs-syntect/src/util.rs similarity index 100% rename from vendor/syntect/src/util.rs rename to crates/diffs-syntect/src/util.rs diff --git a/vendor/syntect/src/utils.rs b/crates/diffs-syntect/src/utils.rs similarity index 100% rename from vendor/syntect/src/utils.rs rename to crates/diffs-syntect/src/utils.rs diff --git a/vendor/syntect/testdata/DefaultPackage/Indentation Rules - Comments.tmPreferences b/crates/diffs-syntect/testdata/DefaultPackage/Indentation Rules - Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/DefaultPackage/Indentation Rules - Comments.tmPreferences rename to crates/diffs-syntect/testdata/DefaultPackage/Indentation Rules - Comments.tmPreferences diff --git a/vendor/syntect/testdata/DefaultPackage/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/DefaultPackage/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/DefaultPackage/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/DefaultPackage/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/JSON.sublime-syntax b/crates/diffs-syntect/testdata/JSON.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/JSON.sublime-syntax rename to crates/diffs-syntect/testdata/JSON.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ASP/ASP.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ASP/ASP.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/ASP.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ASP/ASP.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ASP/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/ASP/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ASP/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ASP/HTML-ASP.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ASP/HTML-ASP.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/HTML-ASP.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ASP/HTML-ASP.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ASP/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/ASP/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ASP/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ASP/Indexed Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/ASP/Indexed Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/Indexed Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ASP/Indexed Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ASP/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/ASP/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ASP/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ASP/syntax_test_asp.asp b/crates/diffs-syntect/testdata/Packages/ASP/syntax_test_asp.asp similarity index 100% rename from vendor/syntect/testdata/Packages/ASP/syntax_test_asp.asp rename to crates/diffs-syntect/testdata/Packages/ASP/syntax_test_asp.asp diff --git a/vendor/syntect/testdata/Packages/ActionScript/ActionScript.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ActionScript/ActionScript.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ActionScript/ActionScript.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ActionScript/ActionScript.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/AppleScript/AppleScript.sublime-syntax b/crates/diffs-syntect/testdata/Packages/AppleScript/AppleScript.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/AppleScript/AppleScript.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/AppleScript/AppleScript.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/AppleScript/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/AppleScript/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/AppleScript/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/AppleScript/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Batch File/Batch File.sublime-settings b/crates/diffs-syntect/testdata/Packages/Batch File/Batch File.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/Batch File/Batch File.sublime-settings rename to crates/diffs-syntect/testdata/Packages/Batch File/Batch File.sublime-settings diff --git a/vendor/syntect/testdata/Packages/Batch File/Batch File.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Batch File/Batch File.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Batch File/Batch File.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Batch File/Batch File.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Batch File/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Batch File/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Batch File/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Batch File/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Batch File/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Batch File/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Batch File/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Batch File/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Batch File/syntax_test_batch_file.bat b/crates/diffs-syntect/testdata/Packages/Batch File/syntax_test_batch_file.bat similarity index 100% rename from vendor/syntect/testdata/Packages/Batch File/syntax_test_batch_file.bat rename to crates/diffs-syntect/testdata/Packages/Batch File/syntax_test_batch_file.bat diff --git a/vendor/syntect/testdata/Packages/C#/Build.sublime-syntax b/crates/diffs-syntect/testdata/Packages/C#/Build.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Build.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/C#/Build.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/C#/C#.sublime-syntax b/crates/diffs-syntect/testdata/Packages/C#/C#.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/C#/C#.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/C#/C#.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/C#/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Indentation.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Indentation.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Indentation.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Indentation.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Constructors.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Constructors.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Constructors.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Constructors.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Enums.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Enums.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Enums.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Enums.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Index Constructors.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Index Constructors.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Index Constructors.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Index Constructors.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Inner Function.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Inner Function.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Inner Function.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Inner Function.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Interfaces.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Interfaces.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Interfaces.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Interfaces.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Namespace.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Namespace.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Namespace.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Namespace.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/Symbol List Region.tmPreferences b/crates/diffs-syntect/testdata/Packages/C#/Symbol List Region.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C#/Symbol List Region.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C#/Symbol List Region.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C#/doc_params.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C#/doc_params.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C#/doc_params.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C#/doc_params.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C#/doc_see.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C#/doc_see.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C#/doc_see.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C#/doc_see.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C#/doc_summary.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C#/doc_summary.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C#/doc_summary.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C#/doc_summary.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C#/syntax_test_c#.cs b/crates/diffs-syntect/testdata/Packages/C#/syntax_test_c#.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/syntax_test_c#.cs rename to crates/diffs-syntect/testdata/Packages/C#/syntax_test_c#.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_C#7.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_C#7.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_C#7.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_C#7.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_Comments.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Comments.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_Comments.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Comments.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_GeneralStructure.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_GeneralStructure.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_GeneralStructure.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_GeneralStructure.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_Generics.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Generics.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_Generics.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Generics.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_HelloWorld.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_HelloWorld.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_HelloWorld.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_HelloWorld.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_Operators.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Operators.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_Operators.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Operators.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_PreprocessorDirectives.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_PreprocessorDirectives.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_PreprocessorDirectives.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_PreprocessorDirectives.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_Strings.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Strings.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_Strings.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Strings.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_Using.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Using.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_Using.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_Using.cs diff --git a/vendor/syntect/testdata/Packages/C#/tests/syntax_test_query.cs b/crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_query.cs similarity index 100% rename from vendor/syntect/testdata/Packages/C#/tests/syntax_test_query.cs rename to crates/diffs-syntect/testdata/Packages/C#/tests/syntax_test_query.cs diff --git a/vendor/syntect/testdata/Packages/C++/C Standard Includes.sublime-completions b/crates/diffs-syntect/testdata/Packages/C++/C Standard Includes.sublime-completions similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C Standard Includes.sublime-completions rename to crates/diffs-syntect/testdata/Packages/C++/C Standard Includes.sublime-completions diff --git a/vendor/syntect/testdata/Packages/C++/C++ Single File.sublime-build b/crates/diffs-syntect/testdata/Packages/C++/C++ Single File.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C++ Single File.sublime-build rename to crates/diffs-syntect/testdata/Packages/C++/C++ Single File.sublime-build diff --git a/vendor/syntect/testdata/Packages/C++/C++ Standard Includes.sublime-completions b/crates/diffs-syntect/testdata/Packages/C++/C++ Standard Includes.sublime-completions similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C++ Standard Includes.sublime-completions rename to crates/diffs-syntect/testdata/Packages/C++/C++ Standard Includes.sublime-completions diff --git a/vendor/syntect/testdata/Packages/C++/C++.sublime-settings b/crates/diffs-syntect/testdata/Packages/C++/C++.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C++.sublime-settings rename to crates/diffs-syntect/testdata/Packages/C++/C++.sublime-settings diff --git a/vendor/syntect/testdata/Packages/C++/C++.sublime-syntax b/crates/diffs-syntect/testdata/Packages/C++/C++.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C++.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/C++/C++.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/C++/C.sublime-syntax b/crates/diffs-syntect/testdata/Packages/C++/C.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/C++/C.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/C++/C.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/C++/Comments (C++).tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Comments (C++).tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Comments (C++).tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Comments (C++).tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Default.sublime-keymap b/crates/diffs-syntect/testdata/Packages/C++/Default.sublime-keymap similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Default.sublime-keymap rename to crates/diffs-syntect/testdata/Packages/C++/Default.sublime-keymap diff --git a/vendor/syntect/testdata/Packages/C++/Indentation Rules Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Indentation Rules Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Indentation Rules Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Indentation Rules Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/#ifndef-#define-#endif.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/#ifndef-#define-#endif.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/#ifndef-#define-#endif.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/#ifndef-#define-#endif.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/#include-(#inc angle).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(#inc angle).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/#include-(#inc angle).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(#inc angle).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/#include-(#inc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(#inc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/#include-(#inc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(#inc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/#include-(inc angle).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(inc angle).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/#include-(inc angle).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(inc angle).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/#include-(inc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(inc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/#include-(inc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/#include-(inc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/$1.begin()-$1.end()-(beginend).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/$1.begin()-$1.end()-(beginend).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/$1.begin()-$1.end()-(beginend).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/$1.begin()-$1.end()-(beginend).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/030-for-int-loop-(fori).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/030-for-int-loop-(fori).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/030-for-int-loop-(fori).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/030-for-int-loop-(fori).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/Enumeration.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/Enumeration.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/Enumeration.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/Enumeration.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/Typedef.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/Typedef.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/Typedef.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/Typedef.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/class-..-(class).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/class-..-(class).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/class-..-(class).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/class-..-(class).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/do...while-loop-(do).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/do...while-loop-(do).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/do...while-loop-(do).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/do...while-loop-(do).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/forv.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/forv.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/forv.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/forv.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/fprintf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/fprintf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/fprintf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/fprintf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/if-..-(if).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/if-..-(if).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/if-..-(if).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/if-..-(if).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/main()-(int main).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/main()-(int main).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/main()-(int main).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/main()-(int main).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/main()-(main).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/main()-(main).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/main()-(main).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/main()-(main).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/namespace-..-(namespace).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/namespace-..-(namespace).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/namespace-..-(namespace).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/namespace-..-(namespace).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/printf-..-(printf).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/printf-..-(printf).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/printf-..-(printf).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/printf-..-(printf).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/read-file-(readF).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/read-file-(readF).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/read-file-(readF).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/read-file-(readF).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/std-map-(map).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/std-map-(map).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/std-map-(map).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/std-map-(map).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/std-vector-(v).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/std-vector-(v).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/std-vector-(v).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/std-vector-(v).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/struct.sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/struct.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/struct.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/struct.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Snippets/template-typename-..-(template).sublime-snippet b/crates/diffs-syntect/testdata/Packages/C++/Snippets/template-typename-..-(template).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Snippets/template-typename-..-(template).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/C++/Snippets/template-typename-..-(template).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/C++/Symbol Index Hide Ctors.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol Index Hide Ctors.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol Index Hide Ctors.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol Index Hide Ctors.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol Index Include Constants.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol Index Include Constants.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol Index Include Constants.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol Index Include Constants.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol Index.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol Index.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol Index.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol Index.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol List - Indent Class Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol List - Indent Class Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol List - Indent Class Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol List - Indent Class Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol List - Namespace Spacing.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol List - Namespace Spacing.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol List - Namespace Spacing.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol List - Namespace Spacing.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol List - Prefix Banner Items.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol List - Prefix Banner Items.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol List - Prefix Banner Items.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol List - Prefix Banner Items.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol List Hide Forward Decls.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol List Hide Forward Decls.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol List Hide Forward Decls.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol List Hide Forward Decls.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/C++/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/C++/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/C++/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/C++/syntax_test_accessor.c b/crates/diffs-syntect/testdata/Packages/C++/syntax_test_accessor.c similarity index 100% rename from vendor/syntect/testdata/Packages/C++/syntax_test_accessor.c rename to crates/diffs-syntect/testdata/Packages/C++/syntax_test_accessor.c diff --git a/vendor/syntect/testdata/Packages/C++/syntax_test_accessor.cpp b/crates/diffs-syntect/testdata/Packages/C++/syntax_test_accessor.cpp similarity index 100% rename from vendor/syntect/testdata/Packages/C++/syntax_test_accessor.cpp rename to crates/diffs-syntect/testdata/Packages/C++/syntax_test_accessor.cpp diff --git a/vendor/syntect/testdata/Packages/C++/syntax_test_c.c b/crates/diffs-syntect/testdata/Packages/C++/syntax_test_c.c similarity index 100% rename from vendor/syntect/testdata/Packages/C++/syntax_test_c.c rename to crates/diffs-syntect/testdata/Packages/C++/syntax_test_c.c diff --git a/vendor/syntect/testdata/Packages/C++/syntax_test_cpp.cpp b/crates/diffs-syntect/testdata/Packages/C++/syntax_test_cpp.cpp similarity index 100% rename from vendor/syntect/testdata/Packages/C++/syntax_test_cpp.cpp rename to crates/diffs-syntect/testdata/Packages/C++/syntax_test_cpp.cpp diff --git a/vendor/syntect/testdata/Packages/CSS/CSS.sublime-syntax b/crates/diffs-syntect/testdata/Packages/CSS/CSS.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/CSS.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/CSS/CSS.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/CSS/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/CSS/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/CSS/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/CSS/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/CSS/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/CSS/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/CSS/Default.sublime-keymap b/crates/diffs-syntect/testdata/Packages/CSS/Default.sublime-keymap similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Default.sublime-keymap rename to crates/diffs-syntect/testdata/Packages/CSS/Default.sublime-keymap diff --git a/vendor/syntect/testdata/Packages/CSS/Symbol Index.tmPreferences b/crates/diffs-syntect/testdata/Packages/CSS/Symbol Index.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Symbol Index.tmPreferences rename to crates/diffs-syntect/testdata/Packages/CSS/Symbol Index.tmPreferences diff --git a/vendor/syntect/testdata/Packages/CSS/Symbol List Group.tmPreferences b/crates/diffs-syntect/testdata/Packages/CSS/Symbol List Group.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Symbol List Group.tmPreferences rename to crates/diffs-syntect/testdata/Packages/CSS/Symbol List Group.tmPreferences diff --git a/vendor/syntect/testdata/Packages/CSS/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/CSS/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/CSS/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/CSS/css_completions.py b/crates/diffs-syntect/testdata/Packages/CSS/css_completions.py similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/css_completions.py rename to crates/diffs-syntect/testdata/Packages/CSS/css_completions.py diff --git a/vendor/syntect/testdata/Packages/CSS/syntax_test_css.css b/crates/diffs-syntect/testdata/Packages/CSS/syntax_test_css.css similarity index 100% rename from vendor/syntect/testdata/Packages/CSS/syntax_test_css.css rename to crates/diffs-syntect/testdata/Packages/CSS/syntax_test_css.css diff --git a/vendor/syntect/testdata/Packages/Clojure/Clojure.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Clojure/Clojure.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Clojure/Clojure.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Clojure/Clojure.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Clojure/Comment.tmPreferences b/crates/diffs-syntect/testdata/Packages/Clojure/Comment.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Clojure/Comment.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Clojure/Comment.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Clojure/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Clojure/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Clojure/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Clojure/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Clojure/syntax_test_clojure.clj b/crates/diffs-syntect/testdata/Packages/Clojure/syntax_test_clojure.clj similarity index 100% rename from vendor/syntect/testdata/Packages/Clojure/syntax_test_clojure.clj rename to crates/diffs-syntect/testdata/Packages/Clojure/syntax_test_clojure.clj diff --git a/vendor/syntect/testdata/Packages/D/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/D/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/D/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/D/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/D/D.sublime-build b/crates/diffs-syntect/testdata/Packages/D/D.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/D/D.sublime-build rename to crates/diffs-syntect/testdata/Packages/D/D.sublime-build diff --git a/vendor/syntect/testdata/Packages/D/D.sublime-syntax b/crates/diffs-syntect/testdata/Packages/D/D.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/D/D.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/D/D.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/D/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/D/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/D/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/D/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/D/Snippets/class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/constant.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/constant.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/constant.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/constant.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/critical.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/critical.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/critical.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/critical.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/debugm.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/debugm.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/debugm.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/debugm.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/enum.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/enum.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/enum.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/enum.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/error-format.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/error-format.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/error-format.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/error-format.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/error.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/error.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/error.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/error.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/fatal.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/fatal.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/fatal.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/fatal.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/foreach-reverse.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/foreach-reverse.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/foreach-reverse.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/foreach-reverse.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/foreach.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/foreach.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/foreach.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/foreach.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/if-else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/if-else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/if-else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/if-else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/import.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/import.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/import.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/import.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/info.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/info.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/info.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/info.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/log-format.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/log-format.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/log-format.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/log-format.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/log.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/log.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/log.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/log.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/main-with-args.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/main-with-args.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/main-with-args.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/main-with-args.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/main.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/main.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/main.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/main.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/return.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/return.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/return.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/return.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/struct.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/struct.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/struct.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/struct.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/trace.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/trace.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/trace.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/trace.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/try-catch-finally.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/try-catch-finally.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/try-catch-finally.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/try-catch-finally.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/try-catch.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/try-catch.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/try-catch.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/try-catch.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/try-finally.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/try-finally.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/try-finally.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/try-finally.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/unittest.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/unittest.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/unittest.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/unittest.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/version.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/version.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/version.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/version.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/warning.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/warning.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/warning.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/warning.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/D/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/D/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/D/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/D/Symbol List-Method-Constructor.tmPreferences b/crates/diffs-syntect/testdata/Packages/D/Symbol List-Method-Constructor.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/D/Symbol List-Method-Constructor.tmPreferences rename to crates/diffs-syntect/testdata/Packages/D/Symbol List-Method-Constructor.tmPreferences diff --git a/vendor/syntect/testdata/Packages/D/syntax_test_d.d b/crates/diffs-syntect/testdata/Packages/D/syntax_test_d.d similarity index 100% rename from vendor/syntect/testdata/Packages/D/syntax_test_d.d rename to crates/diffs-syntect/testdata/Packages/D/syntax_test_d.d diff --git a/vendor/syntect/testdata/Packages/Diff/Context.sublime-menu b/crates/diffs-syntect/testdata/Packages/Diff/Context.sublime-menu similarity index 100% rename from vendor/syntect/testdata/Packages/Diff/Context.sublime-menu rename to crates/diffs-syntect/testdata/Packages/Diff/Context.sublime-menu diff --git a/vendor/syntect/testdata/Packages/Diff/Diff.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Diff/Diff.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Diff/Diff.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Diff/Diff.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Diff/Side Bar.sublime-menu b/crates/diffs-syntect/testdata/Packages/Diff/Side Bar.sublime-menu similarity index 100% rename from vendor/syntect/testdata/Packages/Diff/Side Bar.sublime-menu rename to crates/diffs-syntect/testdata/Packages/Diff/Side Bar.sublime-menu diff --git a/vendor/syntect/testdata/Packages/Diff/diff.py b/crates/diffs-syntect/testdata/Packages/Diff/diff.py similarity index 100% rename from vendor/syntect/testdata/Packages/Diff/diff.py rename to crates/diffs-syntect/testdata/Packages/Diff/diff.py diff --git a/vendor/syntect/testdata/Packages/Diff/syntax_test_diff.diff b/crates/diffs-syntect/testdata/Packages/Diff/syntax_test_diff.diff similarity index 100% rename from vendor/syntect/testdata/Packages/Diff/syntax_test_diff.diff rename to crates/diffs-syntect/testdata/Packages/Diff/syntax_test_diff.diff diff --git a/vendor/syntect/testdata/Packages/Erlang/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/Erlang.sublime-build b/crates/diffs-syntect/testdata/Packages/Erlang/Erlang.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Erlang.sublime-build rename to crates/diffs-syntect/testdata/Packages/Erlang/Erlang.sublime-build diff --git a/vendor/syntect/testdata/Packages/Erlang/Erlang.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Erlang/Erlang.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Erlang.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Erlang/Erlang.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Erlang/Function Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Function Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Function Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Function Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/HTML (Erlang).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Erlang/HTML (Erlang).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/HTML (Erlang).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Erlang/HTML (Erlang).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Erlang/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/Macro Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Macro Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Macro Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Macro Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/Module Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Module Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Module Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Module Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/Record Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Record Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Record Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Record Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Behaviour-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Behaviour-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Behaviour-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Behaviour-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Case-Expression.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Case-Expression.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Case-Expression.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Case-Expression.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Define-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Define-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Define-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Define-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Export-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Export-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Export-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Export-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Fun-Expression.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Fun-Expression.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Fun-Expression.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Fun-Expression.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/If-Expression.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/If-Expression.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/If-Expression.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/If-Expression.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Ifdef-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Ifdef-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Ifdef-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Ifdef-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Ifndef-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Ifndef-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Ifndef-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Ifndef-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Import-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Import-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Import-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Import-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Include-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Include-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Include-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Include-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Module-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Module-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Module-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Module-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Receive-Expression.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Receive-Expression.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Receive-Expression.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Receive-Expression.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Record-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Record-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Record-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Record-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Try-Expression.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Try-Expression.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Try-Expression.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Try-Expression.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Snippets/Undef-Directive.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Undef-Directive.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Snippets/Undef-Directive.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Erlang/Snippets/Undef-Directive.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Erlang/Symbol Overrides.tmPreferences b/crates/diffs-syntect/testdata/Packages/Erlang/Symbol Overrides.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/Symbol Overrides.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Erlang/Symbol Overrides.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Erlang/syntax_test_erlang.erl b/crates/diffs-syntect/testdata/Packages/Erlang/syntax_test_erlang.erl similarity index 100% rename from vendor/syntect/testdata/Packages/Erlang/syntax_test_erlang.erl rename to crates/diffs-syntect/testdata/Packages/Erlang/syntax_test_erlang.erl diff --git a/vendor/syntect/testdata/Packages/Go/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Go/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Go/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Go/Go.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Go/Go.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Go.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Go/Go.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Go/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Go/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Go/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/For Loop.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/For Loop.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/For Loop.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/For Loop.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/If Statement.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/If Statement.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/If Statement.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/If Statement.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/Struct.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/Struct.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/Struct.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/Struct.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/Type Function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/Type Function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/Type Function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/Type Function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/func.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/func.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/func.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/func.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/go func().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/go func().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/go func().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/go func().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/import.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/import.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/import.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/import.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/main().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/main().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/main().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/main().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Snippets/type.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Go/Snippets/type.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Snippets/type.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Go/Snippets/type.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Go/Symbol Index.tmPreferences b/crates/diffs-syntect/testdata/Packages/Go/Symbol Index.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Symbol Index.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Go/Symbol Index.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Go/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Go/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Go/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Go/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Go/syntax_test_go.go b/crates/diffs-syntect/testdata/Packages/Go/syntax_test_go.go similarity index 100% rename from vendor/syntect/testdata/Packages/Go/syntax_test_go.go rename to crates/diffs-syntect/testdata/Packages/Go/syntax_test_go.go diff --git a/vendor/syntect/testdata/Packages/Graphviz/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Graphviz/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Graphviz/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Graphviz/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Graphviz/DOT.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Graphviz/DOT.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Graphviz/DOT.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Graphviz/DOT.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Graphviz/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Graphviz/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Graphviz/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Graphviz/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Graphviz/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Graphviz/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Graphviz/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Graphviz/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Graphviz/syntax_test_dot.dot b/crates/diffs-syntect/testdata/Packages/Graphviz/syntax_test_dot.dot similarity index 100% rename from vendor/syntect/testdata/Packages/Graphviz/syntax_test_dot.dot rename to crates/diffs-syntect/testdata/Packages/Graphviz/syntax_test_dot.dot diff --git a/vendor/syntect/testdata/Packages/Groovy/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Groovy/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Groovy/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Groovy/Groovy.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Groovy/Groovy.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Groovy.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Groovy/Groovy.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/#!-usr-local-bin-groovy-w.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/#!-usr-local-bin-groovy-w.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/#!-usr-local-bin-groovy-w.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/#!-usr-local-bin-groovy-w.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Ant-__-replace.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Ant-__-replace.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Ant-__-replace.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Ant-__-replace.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Block-Comment.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Block-Comment.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Block-Comment.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Block-Comment.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Constructor.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Constructor.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Constructor.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Constructor.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Hash-Pair.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Hash-Pair.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Hash-Pair.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Hash-Pair.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Thread_start-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Thread_start-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Thread_start-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Thread_start-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/Thread_startDaemon-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Thread_startDaemon-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/Thread_startDaemon-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/Thread_startDaemon-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/all{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/all{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/all{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/all{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/any{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/any{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/any{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/any{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-BigDecimal.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-BigDecimal.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-BigDecimal.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-BigDecimal.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-BigInteger.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-BigInteger.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-BigInteger.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-BigInteger.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Double.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Double.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Double.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Double.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Float.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Float.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Float.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Float.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Immutable.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Immutable.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Immutable.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Immutable.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Set.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Set.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Set.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Set.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-String.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-String.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-String.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-String.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Synchronized.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Synchronized.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Synchronized.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Synchronized.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/as-Writable.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Writable.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/as-Writable.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/as-Writable.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assert(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assert(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assert(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assert(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertEquals(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertEquals(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertEquals(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertEquals(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertFalse.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertFalse.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertFalse.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertFalse.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertNotEquals(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNotEquals(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertNotEquals(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNotEquals(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertNotNull(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNotNull(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertNotNull(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNotNull(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertNull(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNull(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertNull(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertNull(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertSame.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertSame.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertSame.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertSame.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/assertTrue.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertTrue.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/assertTrue.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/assertTrue.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/class-__-singleton.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-__-singleton.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/class-__-singleton.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-__-singleton.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/class-__.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-__.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/class-__.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-__.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/class-___-TestCase.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-___-TestCase.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/class-___-TestCase.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/class-___-TestCase.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/collect-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/collect-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/collect-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/collect-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-file.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-file.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-file.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-file.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-fileset-include-exclude.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-fileset-include-exclude.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-fileset-include-exclude.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-fileset-include-exclude.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-fileset.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-fileset.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/copy__-fileset.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/copy__-fileset.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/def-__-closure-=-{__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/def-__-closure-=-{__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/def-__-closure-=-{__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/def-__-closure-=-{__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/def-__-method()-{__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/def-__-method()-{__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/def-__-method()-{__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/def-__-method()-{__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/downto(num)-{-n-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/downto(num)-{-n-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/downto(num)-{-n-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/downto(num)-{-n-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/each-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/each-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/each-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/each-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachByte-{-byte-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachByte-{-byte-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachByte-{-byte-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachByte-{-byte-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachDir-{-dir-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDir-{-dir-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachDir-{-dir-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDir-{-dir-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachDirMatch.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDirMatch.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachDirMatch.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDirMatch.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachDirRecurse.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDirRecurse.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachDirRecurse.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachDirRecurse.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachFile-{-file-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFile-{-file-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachFile-{-file-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFile-{-file-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachFileMatch-{-file-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFileMatch-{-file-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachFileMatch-{-file-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFileMatch-{-file-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachFileRecurse-{-file-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFileRecurse-{-file-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachFileRecurse-{-file-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachFileRecurse-{-file-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachKey-{-key-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachKey-{-key-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachKey-{-key-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachKey-{-key-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachLine-{-line-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachLine-{-line-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachLine-{-line-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachLine-{-line-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachMatch(regex)-{-match-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachMatch(regex)-{-match-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachMatch(regex)-{-match-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachMatch(regex)-{-match-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachObject-{-obj-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachObject-{-obj-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachObject-{-obj-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachObject-{-obj-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachValue-{-val-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachValue-{-val-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachValue-{-val-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachValue-{-val-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/eachWithIndex-{-e-i-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachWithIndex-{-e-i-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/eachWithIndex-{-e-i-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/eachWithIndex-{-e-i-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/elseif-___.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/elseif-___.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/elseif-___.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/elseif-___.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/every-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/every-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/every-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/every-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/final-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/final-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/final-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/final-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/final-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/final-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/final-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/final-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/find-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/find-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/find-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/find-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/findAll-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/findAll-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/findAll-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/findAll-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/for-in.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/for-in.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/for-in.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/for-in.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/grep(-pattern-)-{-match-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/grep(-pattern-)-{-match-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/grep(-pattern-)-{-match-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/grep(-pattern-)-{-match-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/if-else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/if-else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/if-else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/if-else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/import.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/import.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/import.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/import.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/mkdir.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/mkdir.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/mkdir.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/mkdir.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/new-File(__)_eachLine-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/new-File(__)_eachLine-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/new-File(__)_eachLine-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/new-File(__)_eachLine-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/package.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/package.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/package.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/package.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/print.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/print.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/print.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/print.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/println.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/println.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/println.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/println.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-final-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-final-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-final-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-final-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-final-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-final-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-final-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-final-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-final-String.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-final-String.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-final-String.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-final-String.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-final-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-final-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-final-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-final-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-static-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-static-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/private-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/private-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/private-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/replaceAll(regex)-{-match-__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/replaceAll(regex)-{-match-__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/replaceAll(regex)-{-match-__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/replaceAll(regex)-{-match-__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/reverseEach-{-e-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/reverseEach-{-e-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/reverseEach-{-e-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/reverseEach-{-e-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/run-after.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/run-after.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/run-after.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/run-after.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/setUp().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/setUp().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/setUp().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/setUp().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/shouldFail(__)-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/shouldFail(__)-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/shouldFail(__)-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/shouldFail(__)-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/sleep(secs)-{-__-on-interrupt-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sleep(secs)-{-__-on-interrupt-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/sleep(secs)-{-__-on-interrupt-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sleep(secs)-{-__-on-interrupt-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/sleep(secs).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sleep(secs).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/sleep(secs).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sleep(secs).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/sort-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sort-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/sort-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/sort-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/splitEachLine(separator)-{-line-__-}-copy.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/splitEachLine(separator)-{-line-__-}-copy.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/splitEachLine(separator)-{-line-__-}-copy.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/splitEachLine(separator)-{-line-__-}-copy.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/static-final-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-final-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/static-final-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-final-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/static-final-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-final-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/static-final-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-final-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/static-main-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-main-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/static-main-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-main-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/static-method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/static-method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/static-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/static-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/static-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/step(to-amount)-{-n-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/step(to-amount)-{-n-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/step(to-amount)-{-n-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/step(to-amount)-{-n-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/switch__case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/switch__case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/switch__case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/switch__case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/switch__case__default.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/switch__case__default.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/switch__case__default.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/switch__case__default.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/tearDown().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/tearDown().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/tearDown().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/tearDown().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/test-case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/test-case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/test-case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/test-case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/times-{-n-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/times-{-n-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/times-{-n-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/times-{-n-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Array.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Array.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Array.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Array.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-BigDecimal.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-BigDecimal.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-BigDecimal.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-BigDecimal.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-BigInteger.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-BigInteger.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-BigInteger.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-BigInteger.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Boolean.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Boolean.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Boolean.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Boolean.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Character.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Character.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Character.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Character.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Double.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Double.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Double.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Double.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Float.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Float.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Float.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Float.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-Integer.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Integer.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-Integer.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-Integer.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-List.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-List.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-List.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-List.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-String.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-String.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-String.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-String.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-URI.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-URI.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-URI.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-URI.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/to-URL.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-URL.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/to-URL.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/to-URL.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/try-__-catch__-finally.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/try-__-catch__-finally.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/try-__-catch__-finally.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/try-__-catch__-finally.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/try-__-catch__.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/try-__-catch__.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/try-__-catch__.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/try-__-catch__.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/upto(num)-{-n-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/upto(num)-{-n-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/upto(num)-{-n-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/upto(num)-{-n-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/while-___-{___}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/while-___-{___}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/while-___-{___}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/while-___-{___}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withInputStream-{-in-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withInputStream-{-in-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withInputStream-{-in-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withInputStream-{-in-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withOutputStream-{-out-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withOutputStream-{-out-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withOutputStream-{-out-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withOutputStream-{-out-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withPrintWriter-{-pw-__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withPrintWriter-{-pw-__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withPrintWriter-{-pw-__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withPrintWriter-{-pw-__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withReader-{-r-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withReader-{-r-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withReader-{-r-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withReader-{-r-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withStream-{-in-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withStream-{-in-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withStream-{-in-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withStream-{-in-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withStreams-{-Socket-s-__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withStreams-{-Socket-s-__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withStreams-{-Socket-s-__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withStreams-{-Socket-s-__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withWriter(charset)-{-w-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriter(charset)-{-w-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withWriter(charset)-{-w-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriter(charset)-{-w-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withWriter-{-w-__}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriter-{-w-__}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withWriter-{-w-__}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriter-{-w-__}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Snippets/withWriterAppend(charset)-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriterAppend(charset)-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Snippets/withWriterAppend(charset)-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Groovy/Snippets/withWriterAppend(charset)-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Class Variables.tmPreferences b/crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Class Variables.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Class Variables.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Class Variables.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Variables.tmPreferences b/crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Variables.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/Symbol List%3A Variables.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Groovy/Symbol List%3A Variables.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Groovy/syntax_test_groovy.groovy b/crates/diffs-syntect/testdata/Packages/Groovy/syntax_test_groovy.groovy similarity index 100% rename from vendor/syntect/testdata/Packages/Groovy/syntax_test_groovy.groovy rename to crates/diffs-syntect/testdata/Packages/Groovy/syntax_test_groovy.groovy diff --git a/vendor/syntect/testdata/Packages/HTML/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/HTML/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/HTML/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/HTML/HTML.sublime-syntax b/crates/diffs-syntect/testdata/Packages/HTML/HTML.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/HTML.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/HTML/HTML.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/HTML/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/HTML/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/HTML/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/HTML/Snippets/html (begin tag).sublime-snippet b/crates/diffs-syntect/testdata/Packages/HTML/Snippets/html (begin tag).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/Snippets/html (begin tag).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/HTML/Snippets/html (begin tag).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/HTML/Snippets/html.sublime-snippet b/crates/diffs-syntect/testdata/Packages/HTML/Snippets/html.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/Snippets/html.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/HTML/Snippets/html.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/HTML/Symbol List - ID.tmPreferences b/crates/diffs-syntect/testdata/Packages/HTML/Symbol List - ID.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/Symbol List - ID.tmPreferences rename to crates/diffs-syntect/testdata/Packages/HTML/Symbol List - ID.tmPreferences diff --git a/vendor/syntect/testdata/Packages/HTML/encode_html_entities.py b/crates/diffs-syntect/testdata/Packages/HTML/encode_html_entities.py similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/encode_html_entities.py rename to crates/diffs-syntect/testdata/Packages/HTML/encode_html_entities.py diff --git a/vendor/syntect/testdata/Packages/HTML/html_completions.py b/crates/diffs-syntect/testdata/Packages/HTML/html_completions.py similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/html_completions.py rename to crates/diffs-syntect/testdata/Packages/HTML/html_completions.py diff --git a/vendor/syntect/testdata/Packages/HTML/syntax_test_html.html b/crates/diffs-syntect/testdata/Packages/HTML/syntax_test_html.html similarity index 100% rename from vendor/syntect/testdata/Packages/HTML/syntax_test_html.html rename to crates/diffs-syntect/testdata/Packages/HTML/syntax_test_html.html diff --git a/vendor/syntect/testdata/Packages/Haskell/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Haskell/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Haskell/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Haskell/Haskell.sublime-build b/crates/diffs-syntect/testdata/Packages/Haskell/Haskell.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Haskell.sublime-build rename to crates/diffs-syntect/testdata/Packages/Haskell/Haskell.sublime-build diff --git a/vendor/syntect/testdata/Packages/Haskell/Haskell.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Haskell/Haskell.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Haskell.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Haskell/Haskell.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Haskell/Indent Patterns.tmPreferences b/crates/diffs-syntect/testdata/Packages/Haskell/Indent Patterns.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Indent Patterns.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Haskell/Indent Patterns.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Haskell/Literate Haskell.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Haskell/Literate Haskell.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Literate Haskell.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Haskell/Literate Haskell.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Haskell/Snippets/Case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Snippets/Case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Haskell/Snippets/Instance.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Instance.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Snippets/Instance.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Instance.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Haskell/Snippets/Lambda.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Lambda.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Snippets/Lambda.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Lambda.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Haskell/Snippets/Main.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Main.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Snippets/Main.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Haskell/Snippets/Main.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Haskell/Snippets/module.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Haskell/Snippets/module.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Snippets/module.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Haskell/Snippets/module.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Haskell/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Haskell/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Haskell/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Haskell/syntax_test_haskell.hs b/crates/diffs-syntect/testdata/Packages/Haskell/syntax_test_haskell.hs similarity index 100% rename from vendor/syntect/testdata/Packages/Haskell/syntax_test_haskell.hs rename to crates/diffs-syntect/testdata/Packages/Haskell/syntax_test_haskell.hs diff --git a/vendor/syntect/testdata/Packages/Java/Ant.sublime-build b/crates/diffs-syntect/testdata/Packages/Java/Ant.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Ant.sublime-build rename to crates/diffs-syntect/testdata/Packages/Java/Ant.sublime-build diff --git a/vendor/syntect/testdata/Packages/Java/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Indentation Rules Annex.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Indentation Rules Annex.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Indentation Rules Annex.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Indentation Rules Annex.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Indexed Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Indexed Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Indexed Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Indexed Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Java Server Pages (JSP).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Java/Java Server Pages (JSP).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Java Server Pages (JSP).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Java/Java Server Pages (JSP).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Java/Java.sublime-completions b/crates/diffs-syntect/testdata/Packages/Java/Java.sublime-completions similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Java.sublime-completions rename to crates/diffs-syntect/testdata/Packages/Java/Java.sublime-completions diff --git a/vendor/syntect/testdata/Packages/Java/Java.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Java/Java.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Java.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Java/Java.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Java/JavaC.sublime-build b/crates/diffs-syntect/testdata/Packages/Java/JavaC.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Java/JavaC.sublime-build rename to crates/diffs-syntect/testdata/Packages/Java/JavaC.sublime-build diff --git a/vendor/syntect/testdata/Packages/Java/JavaDoc.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Java/JavaDoc.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Java/JavaDoc.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Java/JavaDoc.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Java/JavaProperties.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Java/JavaProperties.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Java/JavaProperties.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Java/JavaProperties.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/abstract.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/abstract.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/abstract.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/abstract.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/assert.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/assert.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/assert.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/assert.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/break.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/break.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/break.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/break.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/catch.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/catch.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/catch.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/catch.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/constant-string.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/constant-string.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/constant-string.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/constant-string.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/constant.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/constant.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/constant.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/constant.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/default.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/default.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/default.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/default.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/else-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/else-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/else-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/else-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/final.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/final.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/final.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/final.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/for-(each).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/for-(each).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/for-(each).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/for-(each).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/for.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/for.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/for.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/for.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/import-junit_framework_TestCase;.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/import-junit_framework_TestCase;.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/import-junit_framework_TestCase;.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/import-junit_framework_TestCase;.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/import.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/import.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/import.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/import.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/interface.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/interface.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/interface.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/interface.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/java_beans_.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/java_beans_.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/java_beans_.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/java_beans_.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/java_io.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/java_io.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/java_io.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/java_io.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/java_math.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/java_math.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/java_math.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/java_math.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/java_net_.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/java_net_.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/java_net_.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/java_net_.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/java_util_.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/java_util_.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/java_util_.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/java_util_.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/method-(main).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/method-(main).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/method-(main).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/method-(main).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/package.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/package.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/package.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/package.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/print.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/print.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/print.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/print.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/println.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/println.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/println.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/println.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/private.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/private.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/private.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/private.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/protected.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/protected.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/protected.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/protected.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/public.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/public.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/public.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/public.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/return.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/return.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/return.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/return.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/static.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/static.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/static.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/static.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/switch.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/switch.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/switch.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/switch.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/synchronized.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/synchronized.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/synchronized.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/synchronized.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/test-case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/test-case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/test-case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/test-case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/test.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/test.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/test.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/test.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/throw.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/throw.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/throw.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/throw.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/variable.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/variable.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/variable.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/variable.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Java/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Java/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Constants.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Constants.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Constants.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Constants.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Class Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Class Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Class Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Class Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Class Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Class Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Class Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Class Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Inner Inner Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/Symbol List%3A Method.tmPreferences b/crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Method.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Java/Symbol List%3A Method.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Java/Symbol List%3A Method.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Java/syntax_test_java.java b/crates/diffs-syntect/testdata/Packages/Java/syntax_test_java.java similarity index 100% rename from vendor/syntect/testdata/Packages/Java/syntax_test_java.java rename to crates/diffs-syntect/testdata/Packages/Java/syntax_test_java.java diff --git a/vendor/syntect/testdata/Packages/Java/syntax_test_jsp.jsp b/crates/diffs-syntect/testdata/Packages/Java/syntax_test_jsp.jsp similarity index 100% rename from vendor/syntect/testdata/Packages/Java/syntax_test_jsp.jsp rename to crates/diffs-syntect/testdata/Packages/Java/syntax_test_jsp.jsp diff --git a/vendor/syntect/testdata/Packages/JavaScript/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/Indexed Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/Indexed Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Indexed Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/Indexed Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/JSON Indent.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/JSON Indent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/JSON Indent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/JSON Indent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/JSON.sublime-syntax b/crates/diffs-syntect/testdata/Packages/JavaScript/JSON.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/JSON.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/JavaScript/JSON.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/JavaScript/JavaScript Indent.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/JavaScript Indent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/JavaScript Indent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/JavaScript Indent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/JavaScript.sublime-syntax b/crates/diffs-syntect/testdata/Packages/JavaScript/JavaScript.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/JavaScript.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/JavaScript/JavaScript.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/JavaScript/Regular Expressions (JavaScript).sublime-syntax b/crates/diffs-syntect/testdata/Packages/JavaScript/Regular Expressions (JavaScript).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Regular Expressions (JavaScript).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/JavaScript/Regular Expressions (JavaScript).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/Get-Elements.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Get-Elements.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/Get-Elements.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Get-Elements.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-Method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-Method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-Method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-Method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-Value-JS.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-Value-JS.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-Value-JS.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-Value-JS.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-key-key-value.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-key-key-value.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/Object-key-key-value.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Object-key-key-value.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/Prototype-(proto).sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Prototype-(proto).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/Prototype-(proto).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/Prototype-(proto).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/for-()-{}-(faster).sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/for-()-{}-(faster).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/for-()-{}-(faster).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/for-()-{}-(faster).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/for-()-{}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/for-()-{}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/for-()-{}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/for-()-{}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/function-(fun).sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/function-(fun).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/function-(fun).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/function-(fun).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/if-___-else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/if-___-else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/if-___-else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/if-___-else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Snippets/setTimeout-function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/setTimeout-function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Snippets/setTimeout-function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/JavaScript/Snippets/setTimeout-function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/JavaScript/Symbol List Banned.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/Symbol List Banned.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Symbol List Banned.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/Symbol List Banned.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/Symbol List Function.tmPreferences b/crates/diffs-syntect/testdata/Packages/JavaScript/Symbol List Function.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/Symbol List Function.tmPreferences rename to crates/diffs-syntect/testdata/Packages/JavaScript/Symbol List Function.tmPreferences diff --git a/vendor/syntect/testdata/Packages/JavaScript/syntax_test_js.js b/crates/diffs-syntect/testdata/Packages/JavaScript/syntax_test_js.js similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/syntax_test_js.js rename to crates/diffs-syntect/testdata/Packages/JavaScript/syntax_test_js.js diff --git a/vendor/syntect/testdata/Packages/JavaScript/syntax_test_json.json b/crates/diffs-syntect/testdata/Packages/JavaScript/syntax_test_json.json similarity index 100% rename from vendor/syntect/testdata/Packages/JavaScript/syntax_test_json.json rename to crates/diffs-syntect/testdata/Packages/JavaScript/syntax_test_json.json diff --git a/vendor/syntect/testdata/Packages/LICENSE b/crates/diffs-syntect/testdata/Packages/LICENSE similarity index 100% rename from vendor/syntect/testdata/Packages/LICENSE rename to crates/diffs-syntect/testdata/Packages/LICENSE diff --git a/vendor/syntect/testdata/Packages/LaTeX/Bibtex.sublime-syntax b/crates/diffs-syntect/testdata/Packages/LaTeX/Bibtex.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Bibtex.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/LaTeX/Bibtex.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/LaTeX/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/LaTeX/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/LaTeX/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/LaTeX/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/LaTeX/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/LaTeX/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/LaTeX/LaTeX Log.sublime-syntax b/crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX Log.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/LaTeX Log.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX Log.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/LaTeX/LaTeX.sublime-settings b/crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/LaTeX.sublime-settings rename to crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX.sublime-settings diff --git a/vendor/syntect/testdata/Packages/LaTeX/LaTeX.sublime-syntax b/crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/LaTeX.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/LaTeX/LaTeX.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Cases.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Cases.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Cases.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Cases.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Chapter.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Chapter.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Chapter.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Chapter.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Description.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Description.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Description.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Description.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Displaymath-($$).sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Displaymath-($$).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Displaymath-($$).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Displaymath-($$).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Enumerate.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Enumerate.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Enumerate.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Enumerate.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Equation.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Equation.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Equation.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Equation.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Figure.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Figure.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Figure.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Figure.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Item[description].sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Item[description].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Item[description].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Item[description].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Itemize.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Itemize.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Itemize.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Itemize.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Listing.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Listing.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Listing.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Listing.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Matrix.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Matrix.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Matrix.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Matrix.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Page.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Page.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Page.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Page.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Paragraph.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Paragraph.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Paragraph.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Paragraph.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Part.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Part.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Part.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Part.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Section.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Section.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Section.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Section.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Split.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Split.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Split.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Split.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Sub-Paragraph.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Sub-Paragraph.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Sub-Paragraph.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Sub-Paragraph.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Table.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Table.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Table.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Table.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/Tabular.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Tabular.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/Tabular.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/Tabular.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/begin{}-end{}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/begin{}-end{}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/begin{}-end{}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/begin{}-end{}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/section-..-(section).sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/section-..-(section).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/section-..-(section).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/section-..-(section).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/subsection-..-(sub).sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/subsection-..-(sub).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/subsection-..-(sub).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/subsection-..-(sub).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Snippets/subsubsection-..-(ssub).sublime-snippet b/crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/subsubsection-..-(ssub).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Snippets/subsubsection-..-(ssub).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/LaTeX/Snippets/subsubsection-..-(ssub).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/LaTeX/Symbol List - Commands.tmPreferences b/crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Commands.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Symbol List - Commands.tmPreferences rename to crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Commands.tmPreferences diff --git a/vendor/syntect/testdata/Packages/LaTeX/Symbol List - Labels.tmPreferences b/crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Labels.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Symbol List - Labels.tmPreferences rename to crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Labels.tmPreferences diff --git a/vendor/syntect/testdata/Packages/LaTeX/Symbol List - Sections.tmPreferences b/crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Sections.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/Symbol List - Sections.tmPreferences rename to crates/diffs-syntect/testdata/Packages/LaTeX/Symbol List - Sections.tmPreferences diff --git a/vendor/syntect/testdata/Packages/LaTeX/TeX.sublime-syntax b/crates/diffs-syntect/testdata/Packages/LaTeX/TeX.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/TeX.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/LaTeX/TeX.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/LaTeX/syntax_test_latex.tex b/crates/diffs-syntect/testdata/Packages/LaTeX/syntax_test_latex.tex similarity index 100% rename from vendor/syntect/testdata/Packages/LaTeX/syntax_test_latex.tex rename to crates/diffs-syntect/testdata/Packages/LaTeX/syntax_test_latex.tex diff --git a/vendor/syntect/testdata/Packages/Lisp/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Lisp/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Lisp/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Lisp/Lisp.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Lisp/Lisp.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Lisp.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Lisp/Lisp.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/'(.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/'(.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/'(.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/'(.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/defconstant.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defconstant.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/defconstant.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defconstant.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/defmacro.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defmacro.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/defmacro.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defmacro.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/defparameter.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defparameter.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/defparameter.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defparameter.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/defun.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defun.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/defun.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defun.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/defvar.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defvar.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/defvar.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/defvar.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/let.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/let.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/let.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/let.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/let1.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/let1.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/let1.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/let1.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/Snippets/setf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lisp/Snippets/setf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/Snippets/setf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lisp/Snippets/setf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lisp/syntax_test_lisp.lisp b/crates/diffs-syntect/testdata/Packages/Lisp/syntax_test_lisp.lisp similarity index 100% rename from vendor/syntect/testdata/Packages/Lisp/syntax_test_lisp.lisp rename to crates/diffs-syntect/testdata/Packages/Lisp/syntax_test_lisp.lisp diff --git a/vendor/syntect/testdata/Packages/Lua/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Lua/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Lua/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Lua/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Lua/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Lua/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Lua/Indent.tmPreferences b/crates/diffs-syntect/testdata/Packages/Lua/Indent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Indent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Lua/Indent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Lua/Lua.sublime-build b/crates/diffs-syntect/testdata/Packages/Lua/Lua.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Lua.sublime-build rename to crates/diffs-syntect/testdata/Packages/Lua/Lua.sublime-build diff --git a/vendor/syntect/testdata/Packages/Lua/Lua.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Lua/Lua.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Lua.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Lua/Lua.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/for-i-v-in-ipairs().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-i-v-in-ipairs().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/for-i-v-in-ipairs().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-i-v-in-ipairs().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/for-i=1-10.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-i=1-10.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/for-i=1-10.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-i=1-10.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/for-k-v-in-pairs().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-k-v-in-pairs().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/for-k-v-in-pairs().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/for-k-v-in-pairs().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/function-(fun).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/function-(fun).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/function-(fun).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/function-(fun).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/function-(function).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/function-(function).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/function-(function).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/function-(function).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/local-x-=-1.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/local-x-=-1.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/local-x-=-1.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/local-x-=-1.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/table.concat.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/table.concat.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/table.concat.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/table.concat.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Lua/Snippets/table.sort.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Lua/Snippets/table.sort.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Lua/Snippets/table.sort.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Lua/Snippets/table.sort.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Makefile/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Makefile/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Makefile/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Makefile/Make Output.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Makefile/Make Output.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Make Output.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Makefile/Make Output.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Makefile/Make.sublime-build b/crates/diffs-syntect/testdata/Packages/Makefile/Make.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Make.sublime-build rename to crates/diffs-syntect/testdata/Packages/Makefile/Make.sublime-build diff --git a/vendor/syntect/testdata/Packages/Makefile/Makefile.sublime-settings b/crates/diffs-syntect/testdata/Packages/Makefile/Makefile.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Makefile.sublime-settings rename to crates/diffs-syntect/testdata/Packages/Makefile/Makefile.sublime-settings diff --git a/vendor/syntect/testdata/Packages/Makefile/Makefile.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Makefile/Makefile.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Makefile.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Makefile/Makefile.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Makefile/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Makefile/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Makefile/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Makefile/syntax_test_makefile.mak b/crates/diffs-syntect/testdata/Packages/Makefile/syntax_test_makefile.mak similarity index 100% rename from vendor/syntect/testdata/Packages/Makefile/syntax_test_makefile.mak rename to crates/diffs-syntect/testdata/Packages/Makefile/syntax_test_makefile.mak diff --git a/vendor/syntect/testdata/Packages/Markdown/Indent%3A Raw.tmPreferences b/crates/diffs-syntect/testdata/Packages/Markdown/Indent%3A Raw.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/Indent%3A Raw.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Markdown/Indent%3A Raw.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Markdown/Markdown.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Markdown/Markdown.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/Markdown.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Markdown/Markdown.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Markdown/MultiMarkdown.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Markdown/MultiMarkdown.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/MultiMarkdown.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Markdown/MultiMarkdown.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Markdown/Symbol List - Heading.tmPreferences b/crates/diffs-syntect/testdata/Packages/Markdown/Symbol List - Heading.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/Symbol List - Heading.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Markdown/Symbol List - Heading.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Markdown/Symbol List - Reference Link.tmPreferences b/crates/diffs-syntect/testdata/Packages/Markdown/Symbol List - Reference Link.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/Symbol List - Reference Link.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Markdown/Symbol List - Reference Link.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Markdown/syntax_test_markdown.md b/crates/diffs-syntect/testdata/Packages/Markdown/syntax_test_markdown.md similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/syntax_test_markdown.md rename to crates/diffs-syntect/testdata/Packages/Markdown/syntax_test_markdown.md diff --git a/vendor/syntect/testdata/Packages/Markdown/syntax_test_multimarkdown.md b/crates/diffs-syntect/testdata/Packages/Markdown/syntax_test_multimarkdown.md similarity index 100% rename from vendor/syntect/testdata/Packages/Markdown/syntax_test_multimarkdown.md rename to crates/diffs-syntect/testdata/Packages/Markdown/syntax_test_multimarkdown.md diff --git a/vendor/syntect/testdata/Packages/Matlab/Indent.tmPreferences b/crates/diffs-syntect/testdata/Packages/Matlab/Indent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Indent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Matlab/Indent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Matlab/Matlab.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Matlab/Matlab.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Matlab.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Matlab/Matlab.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Matlab/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Matlab/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Matlab/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/Octave-function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/Octave-function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/Octave-function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/Octave-function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/^.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/^.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/^.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/^.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/clear.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/clear.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/clear.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/clear.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/disp-sprintf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/disp-sprintf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/disp-sprintf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/disp-sprintf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/disp.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/disp.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/disp.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/disp.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/dlmwrite.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/dlmwrite.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/dlmwrite.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/dlmwrite.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/elseif.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/elseif.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/elseif.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/elseif.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/error.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/error.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/error.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/error.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/exp.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/exp.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/exp.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/exp.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/fprintf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/fprintf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/fprintf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/fprintf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/get.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/get.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/get.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/get.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/griddata.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/griddata.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/griddata.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/griddata.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/if-elseif.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/if-elseif.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/if-elseif.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/if-elseif.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/line.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/line.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/line.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/line.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/set.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/set.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/set.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/set.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/small-function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/small-function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/small-function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/small-function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/sprintf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/sprintf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/sprintf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/sprintf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/switch___case___otherwise___end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/switch___case___otherwise___end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/switch___case___otherwise___end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/switch___case___otherwise___end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/title.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/title.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/title.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/title.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/unix.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/unix.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/unix.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/unix.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/unwind_protect-cleanup-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/unwind_protect-cleanup-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/unwind_protect-cleanup-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/unwind_protect-cleanup-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/warning.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/warning.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/warning.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/warning.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/xlabel.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/xlabel.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/xlabel.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/xlabel.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/xtick.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/xtick.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/xtick.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/xtick.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/ylabel.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/ylabel.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/ylabel.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/ylabel.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/ytick.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/ytick.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/ytick.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/ytick.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Snippets/zlabel.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Matlab/Snippets/zlabel.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Snippets/zlabel.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Matlab/Snippets/zlabel.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Matlab/Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Matlab/Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Matlab/Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Matlab/syntax_test_matlab.m b/crates/diffs-syntect/testdata/Packages/Matlab/syntax_test_matlab.m similarity index 100% rename from vendor/syntect/testdata/Packages/Matlab/syntax_test_matlab.m rename to crates/diffs-syntect/testdata/Packages/Matlab/syntax_test_matlab.m diff --git a/vendor/syntect/testdata/Packages/OCaml/Indent rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Indent rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Indent rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Indent rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/OCaml.sublime-syntax b/crates/diffs-syntect/testdata/Packages/OCaml/OCaml.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/OCaml.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/OCaml/OCaml.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/OCaml/OCamllex.sublime-syntax b/crates/diffs-syntect/testdata/Packages/OCaml/OCamllex.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/OCamllex.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/OCaml/OCamllex.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/OCaml/OCamlyacc.sublime-syntax b/crates/diffs-syntect/testdata/Packages/OCaml/OCamlyacc.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/OCamlyacc.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/OCaml/OCamlyacc.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/Document.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/Document.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/Document.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/Document.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/For-Loop.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/For-Loop.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/For-Loop.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/For-Loop.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/While-Loop.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/While-Loop.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/While-Loop.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/While-Loop.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/begin.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/begin.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/begin.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/begin.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/fun.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/fun.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/fun.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/fun.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/func.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/func.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/func.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/func.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/function-label.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/function-label.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/function-label.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/function-label.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/let-in.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/let-in.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/let-in.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/let-in.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/let.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/let.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/let.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/let.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/match-pattern.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/match-pattern.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/match-pattern.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/match-pattern.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/match.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/match.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/match.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/match.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/method-(method).sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/method-(method).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/method-(method).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/method-(method).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/module-signature.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module-signature.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/module-signature.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module-signature.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/module-type.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module-type.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/module-type.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module-type.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/module.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/module.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/module.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/try.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/try.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/try.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/try.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/type-(type).sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/type-(type).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/type-(type).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/type-(type).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Snippets/untitled.sublime-snippet b/crates/diffs-syntect/testdata/Packages/OCaml/Snippets/untitled.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Snippets/untitled.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/OCaml/Snippets/untitled.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Exceptions.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Exceptions.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Exceptions.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Exceptions.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern references.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern references.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern references.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex pattern references.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamllex rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal reference.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal reference.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal reference.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc non-terminal reference.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token reference.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token reference.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token reference.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Ocamlyacc token reference.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Types.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Types.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Types.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Types.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Variants.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Variants.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List%3A Variants.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List%3A Variants.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Classes.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Classes.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Classes.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Classes.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Exceptions.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Exceptions.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Exceptions.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Exceptions.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern references.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern references.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern references.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex pattern references.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamllex rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal reference.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal reference.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal reference.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc non-terminal reference.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token definition.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token definition.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token definition.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token definition.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token reference.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token reference.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token reference.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Ocamlyacc token reference.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Types.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Types.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Types.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Types.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/Symbol List_ Variants.tmPreferences b/crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Variants.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/Symbol List_ Variants.tmPreferences rename to crates/diffs-syntect/testdata/Packages/OCaml/Symbol List_ Variants.tmPreferences diff --git a/vendor/syntect/testdata/Packages/OCaml/camlp4.sublime-syntax b/crates/diffs-syntect/testdata/Packages/OCaml/camlp4.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/camlp4.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/OCaml/camlp4.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/OCaml/syntax_test_ml.ml b/crates/diffs-syntect/testdata/Packages/OCaml/syntax_test_ml.ml similarity index 100% rename from vendor/syntect/testdata/Packages/OCaml/syntax_test_ml.ml rename to crates/diffs-syntect/testdata/Packages/OCaml/syntax_test_ml.ml diff --git a/vendor/syntect/testdata/Packages/Objective-C/Default.sublime-keymap b/crates/diffs-syntect/testdata/Packages/Objective-C/Default.sublime-keymap similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/Default.sublime-keymap rename to crates/diffs-syntect/testdata/Packages/Objective-C/Default.sublime-keymap diff --git a/vendor/syntect/testdata/Packages/Objective-C/Objective-C++.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Objective-C/Objective-C++.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/Objective-C++.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Objective-C/Objective-C++.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Objective-C/Objective-C.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Objective-C/Objective-C.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/Objective-C.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Objective-C/Objective-C.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Objective-C/Symbol Index Include Constants.tmPreferences b/crates/diffs-syntect/testdata/Packages/Objective-C/Symbol Index Include Constants.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/Symbol Index Include Constants.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Objective-C/Symbol Index Include Constants.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Objective-C/Symbol Index.tmPreferences b/crates/diffs-syntect/testdata/Packages/Objective-C/Symbol Index.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/Symbol Index.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Objective-C/Symbol Index.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Objective-C/syntax_test_accessor.m b/crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_accessor.m similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/syntax_test_accessor.m rename to crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_accessor.m diff --git a/vendor/syntect/testdata/Packages/Objective-C/syntax_test_accessor.mm b/crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_accessor.mm similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/syntax_test_accessor.mm rename to crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_accessor.mm diff --git a/vendor/syntect/testdata/Packages/Objective-C/syntax_test_objc++.mm b/crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_objc++.mm similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/syntax_test_objc++.mm rename to crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_objc++.mm diff --git a/vendor/syntect/testdata/Packages/Objective-C/syntax_test_objc.m b/crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_objc.m similarity index 100% rename from vendor/syntect/testdata/Packages/Objective-C/syntax_test_objc.m rename to crates/diffs-syntect/testdata/Packages/Objective-C/syntax_test_objc.m diff --git a/vendor/syntect/testdata/Packages/PHP/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/Indentation Rules - heredoc end.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules - heredoc end.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Indentation Rules - heredoc end.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules - heredoc end.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/Indentation Rules Annex.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules Annex.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Indentation Rules Annex.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules Annex.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/PHP Source.sublime-syntax b/crates/diffs-syntect/testdata/Packages/PHP/PHP Source.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/PHP Source.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/PHP/PHP Source.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/PHP/PHP.sublime-completions b/crates/diffs-syntect/testdata/Packages/PHP/PHP.sublime-completions similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/PHP.sublime-completions rename to crates/diffs-syntect/testdata/Packages/PHP/PHP.sublime-completions diff --git a/vendor/syntect/testdata/Packages/PHP/PHP.sublime-syntax b/crates/diffs-syntect/testdata/Packages/PHP/PHP.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/PHP.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/PHP/PHP.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$GLOBALS[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$GLOBALS[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$GLOBALS[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$GLOBALS[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_COOKIE[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_COOKIE[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_COOKIE[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_COOKIE[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_ENV[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_ENV[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_ENV[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_ENV[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_FILES[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_FILES[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_FILES[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_FILES[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_GET[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_GET[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_GET[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_GET[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_POST[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_POST[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_POST[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_POST[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_REQUEST[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_REQUEST[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_REQUEST[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_REQUEST[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_SERVER[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_SERVER[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_SERVER[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_SERVER[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/$_SESSION[''].sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_SESSION[''].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/$_SESSION[''].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/$_SESSION[''].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/Constructor.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/Constructor.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/Constructor.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/Constructor.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-class-var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-class-var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-class-var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-class-var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-constant-definition.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-constant-definition.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-constant-definition.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-constant-definition.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-function-signature.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-function-signature.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-function-signature.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-function-signature.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-interface.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-interface.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/PHPDoc-interface.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/PHPDoc-interface.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/Start-Docblock.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/Start-Docblock.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/Start-Docblock.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/Start-Docblock.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/class-{-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/class-{-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/class-{-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/class-{-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/define(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/define(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/define(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/define(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/defined(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/defined(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/defined(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/defined(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/do-while(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/do-while(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/do-while(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/do-while(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/echo-___.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/echo-___.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/echo-___.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/echo-___.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/elseif(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/elseif(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/elseif(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/elseif(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/for(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/for(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/for(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/for(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/foreach(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/foreach(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/foreach(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/foreach(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/function-xx(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/function-xx(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/function-xx(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/function-xx(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/if(-)-else(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/if(-)-else(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/if(-)-else(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/if(-)-else(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/if(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/if(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/if(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/if(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/if-a-b;.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/if-a-b;.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/if-a-b;.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/if-a-b;.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/include(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/include(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/include(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/include(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/include_once(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/include_once(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/include_once(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/include_once(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/new-array(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/new-array(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/new-array(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/new-array(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-$this.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-$this.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-$this.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-$this.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-$this.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-$this.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-$this.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-$this.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-___.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-___.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-___.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-___.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-htmlentities(___).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-htmlentities(___).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-echo-htmlentities(___).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-echo-htmlentities(___).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-foreach-(___)-___-php-endforeach.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-foreach-(___)-___-php-endforeach.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-foreach-(___)-___-php-endforeach.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-foreach-(___)-___-php-endforeach.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-else-___-php-endif.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-else-___-php-endif.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-else-___-php-endif.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-else-___-php-endif.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-endif.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-endif.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-endif.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php-if-(___)-___-php-endif.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/php.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/php.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/php.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/php.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/require(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/require(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/require(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/require(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/require_once(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/require_once(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/require_once(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/require_once(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/return-$retVal;.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-$retVal;.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/return-$retVal;.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-$retVal;.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/return-FALSE;.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-FALSE;.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/return-FALSE;.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-FALSE;.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/return-TRUE;.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-TRUE;.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/return-TRUE;.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/return-TRUE;.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/switch(-)-case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/switch(-)-case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/switch(-)-case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/switch(-)-case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/switch(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/switch(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/switch(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/switch(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/throw.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/throw.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/throw.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/throw.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/try-{-___-}-catch-(___)-{-___-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/try-{-___-}-catch-(___)-{-___-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/try-{-___-}-catch-(___)-{-___-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/try-{-___-}-catch-(___)-{-___-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Snippets/while(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/PHP/Snippets/while(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Snippets/while(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/PHP/Snippets/while(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/PHP/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/PHP/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/PHP/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/PHP/syntax_test_php.php b/crates/diffs-syntect/testdata/Packages/PHP/syntax_test_php.php similarity index 100% rename from vendor/syntect/testdata/Packages/PHP/syntax_test_php.php rename to crates/diffs-syntect/testdata/Packages/PHP/syntax_test_php.php diff --git a/vendor/syntect/testdata/Packages/Pascal/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Pascal/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Pascal/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Pascal/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Pascal/Pascal.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Pascal/Pascal.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Pascal/Pascal.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Pascal/Pascal.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Pascal/syntax_test.pas b/crates/diffs-syntect/testdata/Packages/Pascal/syntax_test.pas similarity index 100% rename from vendor/syntect/testdata/Packages/Pascal/syntax_test.pas rename to crates/diffs-syntect/testdata/Packages/Pascal/syntax_test.pas diff --git a/vendor/syntect/testdata/Packages/Perl/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Perl/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Perl/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Perl/Perl.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Perl/Perl.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Perl.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Perl/Perl.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-if..else-(ife).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-if..else-(ife).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-if..else-(ife).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-if..else-(ife).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-if..elsif..else-(ifee).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-if..elsif..else-(ifee).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-if..elsif..else-(ifee).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-if..elsif..else-(ifee).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(unless).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(unless).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(unless).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(unless).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(xif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(xif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(xif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Conditional-one-line-(xif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Function-(sub).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Function-(sub).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Function-(sub).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Function-(sub).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xforeach).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xforeach).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xforeach).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xforeach).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xwhile).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xwhile).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xwhile).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Loop-one-line-(xwhile).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/Test.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/Test.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/Test.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/Test.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/eval.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/eval.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/eval.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/eval.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/for.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/for.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/for.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/for.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/foreach.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/foreach.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/foreach.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/foreach.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/slurp.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/slurp.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/slurp.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/slurp.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/unless.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/unless.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/unless.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/unless.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Perl/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Perl/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Perl/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Perl/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Python/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Python/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Python/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Python/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Python/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Python/Python.sublime-build b/crates/diffs-syntect/testdata/Packages/Python/Python.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Python.sublime-build rename to crates/diffs-syntect/testdata/Packages/Python/Python.sublime-build diff --git a/vendor/syntect/testdata/Packages/Python/Python.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Python/Python.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Python.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Python/Python.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Python/Regular Expressions (Python).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Python/Regular Expressions (Python).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Regular Expressions (Python).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Python/Regular Expressions (Python).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/New-Class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/New-Class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/New-Class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/New-Class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/New-Property.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/New-Property.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/New-Property.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/New-Property.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Else-Finally.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Else-Finally.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Else-Finally.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Else-Finally.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Finally.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Finally.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/Try-Except-Finally.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except-Finally.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/Try-Except.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/Try-Except.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/Try-Except.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/__magic__.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/__magic__.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/__magic__.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/__magic__.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/for.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/for.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/for.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/for.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/if-__name__-==-'__main__'.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/if-__name__-==-'__main__'.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/if-__name__-==-'__main__'.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/if-__name__-==-'__main__'.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/method.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/method.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/method.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/method.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Python/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Python/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Python/Symbol Index.tmPreferences b/crates/diffs-syntect/testdata/Packages/Python/Symbol Index.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Symbol Index.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Python/Symbol Index.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Python/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/Python/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Python/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Python/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Python/syntax_test_python.py b/crates/diffs-syntect/testdata/Packages/Python/syntax_test_python.py similarity index 100% rename from vendor/syntect/testdata/Packages/Python/syntax_test_python.py rename to crates/diffs-syntect/testdata/Packages/Python/syntax_test_python.py diff --git a/vendor/syntect/testdata/Packages/Python/syntax_test_python_strings.py b/crates/diffs-syntect/testdata/Packages/Python/syntax_test_python_strings.py similarity index 100% rename from vendor/syntect/testdata/Packages/Python/syntax_test_python_strings.py rename to crates/diffs-syntect/testdata/Packages/Python/syntax_test_python_strings.py diff --git a/vendor/syntect/testdata/Packages/R/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/R/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/R/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/R/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/R/Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/R/Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/R/Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/R/Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/R/R Console.sublime-syntax b/crates/diffs-syntect/testdata/Packages/R/R Console.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/R/R Console.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/R/R Console.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/R/R.sublime-build b/crates/diffs-syntect/testdata/Packages/R/R.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/R/R.sublime-build rename to crates/diffs-syntect/testdata/Packages/R/R.sublime-build diff --git a/vendor/syntect/testdata/Packages/R/R.sublime-settings b/crates/diffs-syntect/testdata/Packages/R/R.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/R/R.sublime-settings rename to crates/diffs-syntect/testdata/Packages/R/R.sublime-settings diff --git a/vendor/syntect/testdata/Packages/R/R.sublime-syntax b/crates/diffs-syntect/testdata/Packages/R/R.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/R/R.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/R/R.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/R/Rd (R Documentation).sublime-syntax b/crates/diffs-syntect/testdata/Packages/R/Rd (R Documentation).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/R/Rd (R Documentation).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/R/Rd (R Documentation).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Add-Tick-Marks.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Add-Tick-Marks.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Add-Tick-Marks.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Add-Tick-Marks.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Attach.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Attach.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Attach.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Attach.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Cummulative.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Cummulative.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Cummulative.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Cummulative.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Density.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Density.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Density.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Density.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Detach.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Detach.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Detach.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Detach.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Divide-Into-Intervals.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Divide-Into-Intervals.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Divide-Into-Intervals.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Divide-Into-Intervals.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Factor.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Factor.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Factor.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Factor.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/For-Loop.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/For-Loop.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/For-Loop.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/For-Loop.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Function.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Function.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Function.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Function.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Ifelse.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Ifelse.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Ifelse.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Ifelse.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Length.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Length.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Length.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Length.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Load-Dataset.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Load-Dataset.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Load-Dataset.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Load-Dataset.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Polygonal-Line.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Polygonal-Line.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Polygonal-Line.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Polygonal-Line.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Read-From-File.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Read-From-File.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Read-From-File.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Read-From-File.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Sequence-(from-to-by).sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Sequence-(from-to-by).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Sequence-(from-to-by).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Sequence-(from-to-by).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Sort.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Sort.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Sort.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Sort.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/Source.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/Source.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/Source.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/Source.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Snippets/na_omit.sublime-snippet b/crates/diffs-syntect/testdata/Packages/R/Snippets/na_omit.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/R/Snippets/na_omit.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/R/Snippets/na_omit.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/R/Symbol List (Rd Documentation).tmPreferences b/crates/diffs-syntect/testdata/Packages/R/Symbol List (Rd Documentation).tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/R/Symbol List (Rd Documentation).tmPreferences rename to crates/diffs-syntect/testdata/Packages/R/Symbol List (Rd Documentation).tmPreferences diff --git a/vendor/syntect/testdata/Packages/R/syntax_test_r.R b/crates/diffs-syntect/testdata/Packages/R/syntax_test_r.R similarity index 100% rename from vendor/syntect/testdata/Packages/R/syntax_test_r.R rename to crates/diffs-syntect/testdata/Packages/R/syntax_test_r.R diff --git a/vendor/syntect/testdata/Packages/README.md b/crates/diffs-syntect/testdata/Packages/README.md similarity index 100% rename from vendor/syntect/testdata/Packages/README.md rename to crates/diffs-syntect/testdata/Packages/README.md diff --git a/vendor/syntect/testdata/Packages/Rails/HTML (Rails).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rails/HTML (Rails).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/HTML (Rails).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rails/HTML (Rails).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rails/JavaScript (Rails).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rails/JavaScript (Rails).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/JavaScript (Rails).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rails/JavaScript (Rails).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rails/Ruby Haml Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Rails/Ruby Haml Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Ruby Haml Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rails/Ruby Haml Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rails/Ruby Haml.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rails/Ruby Haml.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Ruby Haml.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rails/Ruby Haml.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rails/Ruby on Rails.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rails/Ruby on Rails.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Ruby on Rails.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rails/Ruby on Rails.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rails/SQL (Rails).sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rails/SQL (Rails).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/SQL (Rails).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rails/SQL (Rails).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/$LABEL.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/$LABEL.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/$LABEL.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/$LABEL.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/%3C%=-Fixtures_identify(%3Asymbol)-%%3E.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/%3C%=-Fixtures_identify(%3Asymbol)-%%3E.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/%3C%=-Fixtures_identify(%3Asymbol)-%%3E.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/%3C%=-Fixtures_identify(%3Asymbol)-%%3E.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/180-rails-form_tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/180-rails-form_tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/180-rails-form_tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/180-rails-form_tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-binary-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-binary-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-binary-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-binary-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-boolean-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-boolean-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-boolean-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-boolean-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-controller-class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-controller-class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-controller-class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-controller-class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-date-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-date-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-date-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-date-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-datetime-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-datetime-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-datetime-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-datetime-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-decimal-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-decimal-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-decimal-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-decimal-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-float-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-float-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-float-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-float-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-functional-test-class.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-functional-test-class.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-functional-test-class.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-functional-test-class.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-integer-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-integer-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-integer-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-integer-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-lock_version-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-lock_version-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-lock_version-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-lock_version-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-references-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-references-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-references-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-references-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-string-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-string-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-string-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-string-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-text-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-text-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-text-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-text-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-time-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-time-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-time-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-time-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-timestamp-column.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-timestamp-column.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-timestamp-column.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-timestamp-column.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Create-timestamps-columns.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-timestamps-columns.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Create-timestamps-columns.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Create-timestamps-columns.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-(mcc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-(mcc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-(mcc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-(mcc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-Continue-(mccc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-Continue-(mccc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-Continue-(mccc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Create-Column-Continue-(mccc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Drop-Create-Table-(mdct).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Drop-Create-Table-(mdct).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Drop-Create-Table-(mdct).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Drop-Create-Table-(mdct).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Remove-and-Add-Column-(mrac).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Remove-and-Add-Column-(mrac).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Migration-Remove-and-Add-Column-(mrac).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Migration-Remove-and-Add-Column-(mrac).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/RAILS_DEFAULT_LOGGER.debug-(rdb).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/RAILS_DEFAULT_LOGGER.debug-(rdb).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/RAILS_DEFAULT_LOGGER.debug-(rdb).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/RAILS_DEFAULT_LOGGER.debug-(rdb).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Table-column(s)-rename.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Table-column(s)-rename.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Table-column(s)-rename.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Table-column(s)-rename.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Test-Assert-Redirected-To-(art).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Test-Assert-Redirected-To-(art).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Test-Assert-Redirected-To-(art).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Test-Assert-Redirected-To-(art).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/Test-Assert-Response-(are).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/Test-Assert-Response-(are).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/Test-Assert-Response-(are).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/Test-Assert-Response-(are).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_create.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_create.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_create.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_create.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_destroy.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_destroy.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_destroy.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_destroy.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_save.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_save.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_save.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_save.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_update.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_update.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_update.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_update.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_validation.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_validation.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_validation_on_create.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation_on_create.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_validation_on_create.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation_on_create.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/after_validation_on_update.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation_on_update.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/after_validation_on_update.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/after_validation_on_update.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert(var-=-assigns(%3Avar)).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert(var-=-assigns(%3Avar)).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert(var-=-assigns(%3Avar)).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert(var-=-assigns(%3Avar)).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_difference.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_difference.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_difference.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_difference.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_no_difference.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_no_difference.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_no_difference.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_no_difference.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(nested-path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_redirected_to-(path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/assert_select.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_select.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/assert_select.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/assert_select.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_create.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_create.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_create.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_create.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_destroy.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_destroy.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_destroy.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_destroy.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_save.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_save.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_save.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_save.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_update.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_update.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_update.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_update.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_validation.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_validation.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_validation_on_create.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation_on_create.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_validation_on_create.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation_on_create.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/before_validation_on_update.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation_on_update.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/before_validation_on_update.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/before_validation_on_update.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/belongs_to-(bt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/belongs_to-(bt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/belongs_to-(bt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/belongs_to-(bt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/cattr_accessor.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/cattr_accessor.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/cattr_accessor.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/cattr_accessor.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/def-create-resource.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-create-resource.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/def-create-resource.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-create-resource.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/def-get-request.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-get-request.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/def-get-request.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-get-request.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/def-post-request.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-post-request.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/def-post-request.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/def-post-request.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/find(id).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/find(id).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/find(id).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/find(id).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/for-loop-erb.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/for-loop-erb.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/for-loop-erb.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/for-loop-erb.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-check_box.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-check_box.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-check_box.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-check_box.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-checkbox.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-checkbox.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-checkbox.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-checkbox.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-file_field-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-file_field-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-file_field-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-file_field-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-file_field.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-file_field.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-file_field.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-file_field.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-hidden_field.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-label-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-label-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-label-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-label-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-label.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-label.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-label.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-label.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-password_field-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-password_field-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-password_field-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-password_field-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-password_field.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-password_field.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-password_field.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-password_field.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-radio_box-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-radio_box-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-radio_box-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-radio_box-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-radio_box.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-radio_box.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-radio_box.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-radio_box.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-submit-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-submit-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-submit-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-submit-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-submit.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-submit.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-submit.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-submit.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_area-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_area-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_area-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_area-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_area.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_area.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_area.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_area.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_field-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_field-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_field-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_field-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_field.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_field.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-text_field.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-text_field.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for-with-errors.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-with-errors.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for-with-errors.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for-with-errors.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/form_for.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/form_for.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/form_for.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/has_and_belongs_to_many-(habtm).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_and_belongs_to_many-(habtm).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/has_and_belongs_to_many-(habtm).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_and_belongs_to_many-(habtm).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/has_many-(hm).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-(hm).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/has_many-(hm).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-(hm).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/has_many-(through).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-(through).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/has_many-(through).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-(through).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/has_many-dependent-=-destroy.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-dependent-=-destroy.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/has_many-dependent-=-destroy.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_many-dependent-=-destroy.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/has_one-(ho).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_one-(ho).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/has_one-(ho).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/has_one-(ho).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/image_submit_tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/image_submit_tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/image_submit_tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/image_submit_tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/javascript_include_tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/javascript_include_tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/javascript_include_tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/javascript_include_tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/lia.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/lia.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/lia.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/lia.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/liai.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/liai.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/liai.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/liai.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/lic.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/lic.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/lic.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/lic.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/lica.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/lica.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/lica.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/lica.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/licai.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/licai.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/licai.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/licai.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(nested-path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/link_to-(path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-(path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/link_to-model.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-model.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/link_to-model.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/link_to-model.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/logger_debug.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_debug.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/logger_debug.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_debug.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/logger_error.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_error.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/logger_error.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_error.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/logger_fatal.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_fatal.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/logger_fatal.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_fatal.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/logger_info.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_info.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/logger_info.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_info.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/logger_warn.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_warn.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/logger_warn.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/logger_warn.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map(-%3Asym_proc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map(-%3Asym_proc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map(-%3Asym_proc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map(-%3Asym_proc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map_catch_all.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_catch_all.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map_catch_all.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_catch_all.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map_named_route.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_named_route.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map_named_route.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_named_route.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map_resource.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_resource.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map_resource.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_resource.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map_resources.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_resources.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map_resources.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_resources.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/map_with_options.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_with_options.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/map_with_options.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/map_with_options.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/mattr_accessor.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/mattr_accessor.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/mattr_accessor.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/mattr_accessor.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/named_scope-lambda.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/named_scope-lambda.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/named_scope-lambda.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/named_scope-lambda.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/named_scope.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/named_scope.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/named_scope.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/named_scope.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/rails-flash.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/rails-flash.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/rails-flash.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/rails-flash.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/rea.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/rea.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/rea.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/rea.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/reai.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/reai.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/reai.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/reai.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/rec.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/rec.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/rec.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/rec.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/reca.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/reca.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/reca.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/reca.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/recai.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/recai.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/recai.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/recai.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(nested-path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(path).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(path).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(path).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(path).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(path-plural).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(path-plural).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/redirect_to-(path-plural).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/redirect_to-(path-plural).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(action)...-(ra).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(action)...-(ra).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(action)...-(ra).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(action)...-(ra).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(action-layout)-(ral).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(action-layout)-(ral).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(action-layout)-(ral).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(action-layout)-(ral).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(file)-(rf).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(file)-(rf).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(file)-(rf).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(file)-(rf).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(file-use_full_path)-(rfu).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(file-use_full_path)-(rfu).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(file-use_full_path)-(rfu).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(file-use_full_path)-(rfu).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline)-(ri).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline)-(ri).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline)-(ri).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline)-(ri).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline-locals)-(ril).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline-locals)-(ril).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline-locals)-(ril).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline-locals)-(ril).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline-type)-(rit).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline-type)-(rit).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(inline-type)-(rit).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(inline-type)-(rit).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(layout)-(rl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(layout)-(rl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(layout)-(rl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(layout)-(rl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(nothing)-(rn).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(nothing)-(rn).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(nothing)-(rn).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(nothing)-(rn).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(nothing-status)-(rns).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(nothing-status)-(rns).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(nothing-status)-(rns).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(nothing-status)-(rns).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial)-(rp).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial)-(rp).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial)-(rp).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial)-(rp).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-collection)-(rpc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-collection)-(rpc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-collection)-(rpc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-collection)-(rpc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-locals)-(rpl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-locals)-(rpl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-locals)-(rpl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-locals)-(rpl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-object)-(rpo).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-object)-(rpo).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-object)-(rpo).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-object)-(rpo).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-status)-(rps).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-status)-(rps).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(partial-status)-(rps).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(partial-status)-(rps).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(text)-(rt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text)-(rt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(text)-(rt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text)-(rt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-layout)-(rtl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-layout)-(rtl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-layout)-(rtl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-layout)-(rtl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-layout=%3Etrue)-(rtlt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-layout=%3Etrue)-(rtlt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-layout=%3Etrue)-(rtlt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-layout=%3Etrue)-(rtlt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-status)-(rts).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-status)-(rts).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(text-status)-(rts).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(text-status)-(rts).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/render-(update).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(update).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/render-(update).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/render-(update).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/respond_to.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/respond_to.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/respond_to.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/respond_to.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/returning-do-%7Cvariable%7C-%E2%80%A6-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/returning-do-%7Cvariable%7C-%E2%80%A6-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/returning-do-%7Cvariable%7C-%E2%80%A6-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/returning-do-%7Cvariable%7C-%E2%80%A6-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/stylesheet_link_tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/stylesheet_link_tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/stylesheet_link_tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/stylesheet_link_tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/submit_tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/submit_tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/submit_tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/submit_tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_binary-(tcbi).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_binary-(tcbi).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_binary-(tcbi).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_binary-(tcbi).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_boolean-(tcb).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_boolean-(tcb).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_boolean-(tcb).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_boolean-(tcb).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_date-(tcda).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_date-(tcda).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_date-(tcda).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_date-(tcda).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_datetime-(tcdt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_datetime-(tcdt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_datetime-(tcdt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_datetime-(tcdt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_decimal-(tcd).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_decimal-(tcd).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_decimal-(tcd).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_decimal-(tcd).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_float-(tcf).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_float-(tcf).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_float-(tcf).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_float-(tcf).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_integer-(tci).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_integer-(tci).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_integer-(tci).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_integer-(tci).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_lock_version-(tcl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_lock_version-(tcl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_lock_version-(tcl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_lock_version-(tcl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_references-(tcr).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_references-(tcr).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_references-(tcr).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_references-(tcr).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_rename-(tre).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_rename-(tre).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_rename-(tre).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_rename-(tre).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_string-(tcs).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_string-(tcs).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_string-(tcs).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_string-(tcs).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_text-(tct).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_text-(tct).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_text-(tct).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_text-(tct).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_time-(tcti).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_time-(tcti).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_time-(tcti).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_time-(tcti).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_timestamp-(tcts).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_timestamp-(tcts).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_timestamp-(tcts).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_timestamp-(tcts).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/t_timestamps-(tctss).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_timestamps-(tctss).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/t_timestamps-(tctss).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/t_timestamps-(tctss).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_acceptance_of.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_associated-(va).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_associated-(va).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_associated-(va).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_associated-(va).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_associated-if-(vaif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_associated-if-(vaif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_associated-if-(vaif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_associated-if-(vaif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-(vc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-(vc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-(vc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-(vc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-if-(vcif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-if-(vcif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-if-(vcif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_confirmation_of-if-(vcif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-(ve).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-(ve).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-(ve).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-(ve).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-if-(veif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-if-(veif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-if-(veif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_exclusion_of-if-(veif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_format_of-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_format_of-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_format_of-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_format_of-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_format_of.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_format_of.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_format_of.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_format_of.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_inclusion_of.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_length_of-(vl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_length_of-(vl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_length_of-(vl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_length_of-(vl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_length_of-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_length_of-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_length_of-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_length_of-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_numericality_of-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_numericality_of-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_numericality_of-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_numericality_of-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_numericality_of.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_numericality_of.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_numericality_of.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_numericality_of.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_presence_of-(vp).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_presence_of-(vp).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_presence_of-(vp).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_presence_of-(vp).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_presence_of-if-(vpif)-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_presence_of-if-(vpif)-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_presence_of-if-(vpif)-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_presence_of-if-(vpif)-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-(vu).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-(vu).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-(vu).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-(vu).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-if-(vuif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-if-(vuif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-if-(vuif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/validates_uniqueness_of-if-(vuif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/verify-(verify).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/verify-(verify).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/verify-(verify).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/verify-(verify).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/verify-redirect-(verify).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/verify-redirect-(verify).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/verify-redirect-(verify).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/verify-redirect-(verify).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/wants_format.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/wants_format.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/wants_format.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/wants_format.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/xhr-delete.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-delete.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/xhr-delete.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-delete.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/xhr-get.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-get.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/xhr-get.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-get.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/xhr-post.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-post.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/xhr-post.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-post.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Snippets/xhr-put.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-put.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Snippets/xhr-put.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rails/Snippets/xhr-put.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rails/Template (ERB).tmPreferences b/crates/diffs-syntect/testdata/Packages/Rails/Template (ERB).tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Template (ERB).tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rails/Template (ERB).tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rails/Template (Haml).tmPreferences b/crates/diffs-syntect/testdata/Packages/Rails/Template (Haml).tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/Template (Haml).tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rails/Template (Haml).tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rails/syntax_test_html_rails.html.erb b/crates/diffs-syntect/testdata/Packages/Rails/syntax_test_html_rails.html.erb similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/syntax_test_html_rails.html.erb rename to crates/diffs-syntect/testdata/Packages/Rails/syntax_test_html_rails.html.erb diff --git a/vendor/syntect/testdata/Packages/Rails/syntax_test_rails.rb b/crates/diffs-syntect/testdata/Packages/Rails/syntax_test_rails.rb similarity index 100% rename from vendor/syntect/testdata/Packages/Rails/syntax_test_rails.rb rename to crates/diffs-syntect/testdata/Packages/Rails/syntax_test_rails.rb diff --git a/vendor/syntect/testdata/Packages/Regular Expressions/RegExp.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Regular Expressions/RegExp.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Regular Expressions/RegExp.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Regular Expressions/RegExp.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Regular Expressions/syntax_test_regexp.re b/crates/diffs-syntect/testdata/Packages/Regular Expressions/syntax_test_regexp.re similarity index 100% rename from vendor/syntect/testdata/Packages/Regular Expressions/syntax_test_regexp.re rename to crates/diffs-syntect/testdata/Packages/Regular Expressions/syntax_test_regexp.re diff --git a/vendor/syntect/testdata/Packages/RestructuredText/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/RestructuredText/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/RestructuredText/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/RestructuredText/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/RestructuredText/reStructuredText.sublime-syntax b/crates/diffs-syntect/testdata/Packages/RestructuredText/reStructuredText.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/RestructuredText/reStructuredText.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/RestructuredText/reStructuredText.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/RestructuredText/syntax_test_restructuredtext.rst b/crates/diffs-syntect/testdata/Packages/RestructuredText/syntax_test_restructuredtext.rst similarity index 100% rename from vendor/syntect/testdata/Packages/RestructuredText/syntax_test_restructuredtext.rst rename to crates/diffs-syntect/testdata/Packages/RestructuredText/syntax_test_restructuredtext.rst diff --git a/vendor/syntect/testdata/Packages/Ruby/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Ruby/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Ruby/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Ruby/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Ruby/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Ruby/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Ruby/Default.sublime-keymap b/crates/diffs-syntect/testdata/Packages/Ruby/Default.sublime-keymap similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Default.sublime-keymap rename to crates/diffs-syntect/testdata/Packages/Ruby/Default.sublime-keymap diff --git a/vendor/syntect/testdata/Packages/Ruby/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/Ruby/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Ruby/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Ruby/Ruby.sublime-build b/crates/diffs-syntect/testdata/Packages/Ruby/Ruby.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Ruby.sublime-build rename to crates/diffs-syntect/testdata/Packages/Ruby/Ruby.sublime-build diff --git a/vendor/syntect/testdata/Packages/Ruby/Ruby.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Ruby/Ruby.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Ruby.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Ruby/Ruby.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/#!;usr;local;bin;ruby-w.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/#!;usr;local;bin;ruby-w.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/#!;usr;local;bin;ruby-w.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/#!;usr;local;bin;ruby-w.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/060-ruby-if-else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/060-ruby-if-else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/060-ruby-if-else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/060-ruby-if-else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/070-ruby-if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/070-ruby-if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/070-ruby-if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/070-ruby-if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/080-ruby-case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/080-ruby-case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/080-ruby-case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/080-ruby-case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Add-'#-=-'-Marker.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Add-'#-=-'-Marker.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Add-'#-=-'-Marker.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Add-'#-=-'-Marker.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Array.new(10)-{-i-..-}-(Arr).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Array.new(10)-{-i-..-}-(Arr).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Array.new(10)-{-i-..-}-(Arr).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Array.new(10)-{-i-..-}-(Arr).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Benchmark_bmbm(__)-do-__-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Benchmark_bmbm(__)-do-__-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Benchmark_bmbm(__)-do-__-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Benchmark_bmbm(__)-do-__-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Dir.glob(-..-)-do-file-..-end-(Dir).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Dir.glob(-..-)-do-file-..-end-(Dir).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Dir.glob(-..-)-do-file-..-end-(Dir).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Dir.glob(-..-)-do-file-..-end-(Dir).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Dir[-__-].sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Dir[-__-].sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Dir[-__-].sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Dir[-__-].sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/File.foreach-(-..-)-do-line-..-end-(File).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File.foreach-(-..-)-do-line-..-end-(File).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/File.foreach-(-..-)-do-line-..-end-(File).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File.foreach-(-..-)-do-line-..-end-(File).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/File_open(-__-)-{-file-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File_open(-__-)-{-file-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/File_open(-__-)-{-file-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File_open(-__-)-{-file-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/File_read(-__-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File_read(-__-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/File_read(-__-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/File_read(-__-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Hash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Hash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Hash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Hash.new-{-hash-key-hash[key]-=-..-}-(Has).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Marshal.dump(obj-file)-(Md).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Marshal.dump(obj-file)-(Md).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Marshal.dump(obj-file)-(Md).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Marshal.dump(obj-file)-(Md).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Marshal.load(obj)-(Ml).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Marshal.load(obj)-(Ml).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Marshal.load(obj)-(Ml).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Marshal.load(obj)-(Ml).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/PStore_new(-__-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/PStore_new(-__-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/PStore_new(-__-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/PStore_new(-__-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/RDoc-documentation-block.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/RDoc-documentation-block.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/RDoc-documentation-block.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/RDoc-documentation-block.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/Wrap-in-Begin-Rescue-End.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Wrap-in-Begin-Rescue-End.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/Wrap-in-Begin-Rescue-End.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/Wrap-in-Begin-Rescue-End.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/YAML.dump(..-file)-(Yd-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/YAML.dump(..-file)-(Yd-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/YAML.dump(..-file)-(Yd-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/YAML.dump(..-file)-(Yd-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/YAML.load(file)-(Yl-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/YAML.load(file)-(Yl-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/YAML.load(file)-(Yl-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/YAML.load(file)-(Yl-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/alias_method-..-(am).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/alias_method-..-(am).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/alias_method-..-(am).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/alias_method-..-(am).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/all-{-e-..-}-(all).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/all-{-e-..-}-(all).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/all-{-e-..-}-(all).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/all-{-e-..-}-(all).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/any-{-e-..-}-(any).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/any-{-e-..-}-(any).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/any-{-e-..-}-(any).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/any-{-e-..-}-(any).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/application_code-..-(app).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/application_code-..-(app).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/application_code-..-(app).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/application_code-..-(app).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert(..)-(as).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert(..)-(as).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert(..)-(as).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert(..)-(as).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_equal.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_equal.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_equal.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_equal.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_in_delta(..)-(asid).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_in_delta(..)-(asid).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_in_delta(..)-(asid).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_in_delta(..)-(asid).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_instance_of(..)-(asio).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_instance_of(..)-(asio).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_instance_of(..)-(asio).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_instance_of(..)-(asio).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_kind_of(..)-(asko).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_kind_of(..)-(asko).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_kind_of(..)-(asko).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_kind_of(..)-(asko).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_match(..)-(asm).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_match(..)-(asm).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_match(..)-(asm).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_match(..)-(asm).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nil(..)-(asn).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nil(..)-(asn).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nil(..)-(asn).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nil(..)-(asn).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_no_match(..)-(asnm).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_no_match(..)-(asnm).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_no_match(..)-(asnm).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_no_match(..)-(asnm).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_equal(..)-(asne).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_equal(..)-(asne).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_equal(..)-(asne).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_equal(..)-(asne).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_nil(..)-(asnn).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_nil(..)-(asnn).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_nil(..)-(asnn).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_nil(..)-(asnn).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_same(..)-(asns).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_same(..)-(asns).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_not_same(..)-(asns).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_not_same(..)-(asns).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nothing_raised(..)-{-..-}-(asnr).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nothing_thrown-{-..-}-(asnt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nothing_thrown-{-..-}-(asnt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_nothing_thrown-{-..-}-(asnt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_nothing_thrown-{-..-}-(asnt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_operator(..)-(aso).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_operator(..)-(aso).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_operator(..)-(aso).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_operator(..)-(aso).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_raise(..)-{-..-}-(asr).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_raise(..)-{-..-}-(asr).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_raise(..)-{-..-}-(asr).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_raise(..)-{-..-}-(asr).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_respond_to(..)-(asrt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_respond_to(..)-(asrt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_respond_to(..)-(asrt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_respond_to(..)-(asrt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_same(..)-(ass).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_same(..)-(ass).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_same(..)-(ass).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_same(..)-(ass).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_send(..)-(ass).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_send(..)-(ass).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_send(..)-(ass).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_send(..)-(ass).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/assert_throws(..)-{-..-}-(ast).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_throws(..)-{-..-}-(ast).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/assert_throws(..)-{-..-}-(ast).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/assert_throws(..)-{-..-}-(ast).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/attr_accessor-..-(rw).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_accessor-..-(rw).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/attr_accessor-..-(rw).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_accessor-..-(rw).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/attr_reader-..-(r).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_reader-..-(r).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/attr_reader-..-(r).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_reader-..-(r).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/attr_writer-..-(w).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_writer-..-(w).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/attr_writer-..-(w).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/attr_writer-..-(w).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-DelegateClass-..-initialize-..-end-(class).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-DelegateClass-..-initialize-..-end-(class).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-DelegateClass-..-initialize-..-end-(class).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-DelegateClass-..-initialize-..-end-(class).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-ParentClass-..-initialize-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-ParentClass-..-initialize-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-ParentClass-..-initialize-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-ParentClass-..-initialize-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-Struct-..-initialize-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-Struct-..-initialize-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-Struct-..-initialize-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-Struct-..-initialize-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-Test;;Unit;;TestCase-..-end-(tc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-end-(cla).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-end-(cla).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-end-(cla).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-end-(cla).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-initialize-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-initialize-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-initialize-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-initialize-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-..-instance_methods-..-undef-..-initialize-..-end-(class).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class-self-__-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-self-__-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class-self-__-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class-self-__-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/class_from_name()-(clafn).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class_from_name()-(clafn).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/class_from_name()-(clafn).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/class_from_name()-(clafn).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/classify-{-e-..-}-(clas).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/classify-{-e-..-}-(clas).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/classify-{-e-..-}-(clas).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/classify-{-e-..-}-(clas).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/collect-{-e-..-}-(col).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/collect-{-e-..-}-(col).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/collect-{-e-..-}-(col).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/collect-{-e-..-}-(col).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/deep_copy(..)-(dee).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/deep_copy(..)-(dee).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/deep_copy(..)-(dee).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/deep_copy(..)-(dee).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def-method_missing-..-end-(mm).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-method_missing-..-end-(mm).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def-method_missing-..-end-(mm).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-method_missing-..-end-(mm).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def-self-..-end-(defs).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-self-..-end-(defs).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def-self-..-end-(defs).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-self-..-end-(defs).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def-test_-..-end-(t).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-test_-..-end-(t).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def-test_-..-end-(t).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def-test_-..-end-(t).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def_delegator-..-(defd).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_delegator-..-(defd).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def_delegator-..-(defd).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_delegator-..-(defd).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def_delegators-..-(defds).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_delegators-..-(defds).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def_delegators-..-(defds).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_delegators-..-(defds).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/def_initialize.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_initialize.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/def_initialize.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/def_initialize.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/delete_if-{-e-..-}-(deli).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/delete_if-{-e-..-}-(deli).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/delete_if-{-e-..-}-(deli).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/delete_if-{-e-..-}-(deli).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/detect-{-e-..-}-(det).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/detect-{-e-..-}-(det).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/detect-{-e-..-}-(det).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/detect-{-e-..-}-(det).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/directory().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/directory().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/directory().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/directory().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/do-obj-..-end-(doo).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/do-obj-..-end-(doo).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/do-obj-..-end-(doo).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/do-obj-..-end-(doo).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/downto(0)-{-n-..-}-(dow).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/downto(0)-{-n-..-}-(dow).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/downto(0)-{-n-..-}-(dow).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/downto(0)-{-n-..-}-(dow).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each-{-e-..-}-(ea).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each-{-e-..-}-(ea).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each-{-e-..-}-(ea).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each-{-e-..-}-(ea).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_byte-{-byte-..-}-(eab).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_byte-{-byte-..-}-(eab).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_byte-{-byte-..-}-(eab).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_byte-{-byte-..-}-(eab).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_char-{-chr-..-}-(eac-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_char-{-chr-..-}-(eac-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_char-{-chr-..-}-(eac-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_char-{-chr-..-}-(eac-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_cons(..)-{-group-..-}-(eac-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_cons(..)-{-group-..-}-(eac-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_cons(..)-{-group-..-}-(eac-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_cons(..)-{-group-..-}-(eac-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_index-{-i-..-}-(eai).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_index-{-i-..-}-(eai).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_index-{-i-..-}-(eai).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_index-{-i-..-}-(eai).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_key-{-key-..-}-(eak).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_key-{-key-..-}-(eak).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_key-{-key-..-}-(eak).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_key-{-key-..-}-(eak).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_line-{-line-..-}-(eal).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_line-{-line-..-}-(eal).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_line-{-line-..-}-(eal).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_line-{-line-..-}-(eal).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_pair-{-name-val-..-}-(eap).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_pair-{-name-val-..-}-(eap).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_pair-{-name-val-..-}-(eap).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_pair-{-name-val-..-}-(eap).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_slice-{-group-..-}-(eas).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_slice-{-group-..-}-(eas).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_slice-{-group-..-}-(eas).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_slice-{-group-..-}-(eas).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_value-{-val-..-}-(eav).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_value-{-val-..-}-(eav).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_value-{-val-..-}-(eav).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_value-{-val-..-}-(eav).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/each_with_index-{-e-i-..-}-(eawi).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_with_index-{-e-i-..-}-(eawi).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/each_with_index-{-e-i-..-}-(eawi).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/each_with_index-{-e-i-..-}-(eawi).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/elsif-___.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/elsif-___.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/elsif-___.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/elsif-___.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/extend-Forwardable-(Forw).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/extend-Forwardable-(Forw).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/extend-Forwardable-(Forw).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/extend-Forwardable-(Forw).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/fetch(name)-{-key-..-}-(fet).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/fetch(name)-{-key-..-}-(fet).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/fetch(name)-{-key-..-}-(fet).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/fetch(name)-{-key-..-}-(fet).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/fill(range)-{-i-..-}-(fil).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/fill(range)-{-i-..-}-(fil).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/fill(range)-{-i-..-}-(fil).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/fill(range)-{-i-..-}-(fil).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/find-{-e-..-}-(fin).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/find-{-e-..-}-(fin).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/find-{-e-..-}-(fin).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/find-{-e-..-}-(fin).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/find_all-{-e-..-}-(fina).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/find_all-{-e-..-}-(fina).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/find_all-{-e-..-}-(fina).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/find_all-{-e-..-}-(fina).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/flatten_once-(fla).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/flatten_once-(fla).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/flatten_once-(fla).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/flatten_once-(fla).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/flunk(..)-(fl).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/flunk(..)-(fl).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/flunk(..)-(fl).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/flunk(..)-(fl).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/grep(;pattern;)-{-match-..-}-(gre).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/grep(;pattern;)-{-match-..-}-(gre).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/grep(;pattern;)-{-match-..-}-(gre).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/grep(;pattern;)-{-match-..-}-(gre).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/gsub(;..;)-{-match-..-}-(gsu).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/gsub(;..;)-{-match-..-}-(gsu).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/gsub(;..;)-{-match-..-}-(gsu).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/gsub(;..;)-{-match-..-}-(gsu).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/hash-pair-(-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/hash-pair-(-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/hash-pair-(-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/hash-pair-(-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/include-Comparable-..-(Comp).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/include-Comparable-..-(Comp).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/include-Comparable-..-(Comp).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/include-Comparable-..-(Comp).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/include-Enumerable-..-(Enum).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/include-Enumerable-..-(Enum).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/include-Enumerable-..-(Enum).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/include-Enumerable-..-(Enum).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/inject(init)-{-mem-var-..-}-(inj).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/inject(init)-{-mem-var-..-}-(inj).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/inject(init)-{-mem-var-..-}-(inj).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/inject(init)-{-mem-var-..-}-(inj).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/lambda-{-args-..-}-(lam).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/lambda-{-args-..-}-(lam).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/lambda-{-args-..-}-(lam).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/lambda-{-args-..-}-(lam).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/loop-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/loop-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/loop-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/loop-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/map-{-e-..-}-(map).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/map-{-e-..-}-(map).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/map-{-e-..-}-(map).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/map-{-e-..-}-(map).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/map_with_index-{-e-i-..-}-(mapwi).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/map_with_index-{-e-i-..-}-(mapwi).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/map_with_index-{-e-i-..-}-(mapwi).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/map_with_index-{-e-i-..-}-(mapwi).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/max-{-a-b-..-}-(max).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/max-{-a-b-..-}-(max).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/max-{-a-b-..-}-(max).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/max-{-a-b-..-}-(max).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/min-{-a-b-..-}-(min).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/min-{-a-b-..-}-(min).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/min-{-a-b-..-}-(min).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/min-{-a-b-..-}-(min).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-ClassMethods-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-ClassMethods-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-ClassMethods-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-ClassMethods-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-module_function-..-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-module_function-..-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/module-..-module_function-..-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/module-..-module_function-..-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/namespace-__-do-__-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/namespace-__-do-__-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/namespace-__-do-__-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/namespace-__-do-__-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/open(-path;or;url-w-)-do-doc-..-end-(ope).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/open-yield-block-({).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/open-yield-block-({).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/open-yield-block-({).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/open-yield-block-({).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/option_parse-{-..-}-(optp).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/option_parse-{-..-}-(optp).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/option_parse-{-..-}-(optp).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/option_parse-{-..-}-(optp).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/partition-{-e-..-}-(par).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/partition-{-e-..-}-(par).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/partition-{-e-..-}-(par).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/partition-{-e-..-}-(par).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/path_from_here(-__-).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/path_from_here(-__-).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/path_from_here(-__-).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/path_from_here(-__-).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/randomize-(ran).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/randomize-(ran).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/randomize-(ran).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/randomize-(ran).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/reject-{-e-..-}-(rej).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/reject-{-e-..-}-(rej).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/reject-{-e-..-}-(rej).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/reject-{-e-..-}-(rej).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/require-..-(req).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require-..-(req).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/require-..-(req).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require-..-(req).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/require-tc_..-..-(ts).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require-tc_..-..-(ts).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/require-tc_..-..-(ts).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require-tc_..-..-(ts).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/require_gem-__.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require_gem-__.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/require_gem-__.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/require_gem-__.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/results_report(__)-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/results_report(__)-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/results_report(__)-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/results_report(__)-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/reverse_each-{-e-..-}-(rea).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/reverse_each-{-e-..-}-(rea).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/reverse_each-{-e-..-}-(rea).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/reverse_each-{-e-..-}-(rea).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/scan(;..;)-{-match-..-}-(sca).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/scan(;..;)-{-match-..-}-(sca).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/scan(;..;)-{-match-..-}-(sca).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/scan(;..;)-{-match-..-}-(sca).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/select-{-e-..-}-(sel).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/select-{-e-..-}-(sel).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/select-{-e-..-}-(sel).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/select-{-e-..-}-(sel).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/service_object.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/service_object.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/service_object.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/service_object.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/singleton_class().sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/singleton_class().sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/singleton_class().sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/singleton_class().sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/sort-{-a-b-..-}-(sor).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sort-{-a-b-..-}-(sor).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/sort-{-a-b-..-}-(sor).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sort-{-a-b-..-}-(sor).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/sort_by-{-e-..-}-(sorb).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sort_by-{-e-..-}-(sorb).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/sort_by-{-e-..-}-(sorb).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sort_by-{-e-..-}-(sorb).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/step(2)-{-e-..-}-(ste).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/step(2)-{-e-..-}-(ste).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/step(2)-{-e-..-}-(ste).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/step(2)-{-e-..-}-(ste).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/sub(;..;)-{-match-..-}-(sub).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sub(;..;)-{-match-..-}-(sub).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/sub(;..;)-{-match-..-}-(sub).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/sub(;..;)-{-match-..-}-(sub).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/task-task_name-=-[-dependent-tasks]-do-__-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/times-{-n-..-}-(tim).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/times-{-n-..-}-(tim).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/times-{-n-..-}-(tim).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/times-{-n-..-}-(tim).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/transaction(-__-)-do-__-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/transaction(-__-)-do-__-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/transaction(-__-)-do-__-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/transaction(-__-)-do-__-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/unix_filter-..-(uni).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/unix_filter-..-(uni).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/unix_filter-..-(uni).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/unix_filter-..-(uni).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/unless-(unless).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/unless-(unless).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/unless-(unless).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/unless-(unless).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/until-___-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/until-___-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/until-___-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/until-___-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/untitled.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/untitled.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/untitled.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/untitled.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/upto(1.0;0.0)-{-n-..-}-(upt).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/upto(1.0;0.0)-{-n-..-}-(upt).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/upto(1.0;0.0)-{-n-..-}-(upt).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/upto(1.0;0.0)-{-n-..-}-(upt).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/usage_if()-(usai).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/usage_if()-(usai).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/usage_if()-(usai).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/usage_if()-(usai).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/usage_unless()-(usau).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/usage_unless()-(usau).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/usage_unless()-(usau).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/usage_unless()-(usau).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/when.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/when.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/when.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/when.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/while-___-end.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/while-___-end.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/while-___-end.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/while-___-end.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/xmlread(__).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/xmlread(__).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/xmlread(__).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/xmlread(__).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/xpath(__)-{-__-}.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/xpath(__)-{-__-}.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/xpath(__)-{-__-}.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/xpath(__)-{-__-}.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/yields-RDoc-comment.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/yields-RDoc-comment.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/yields-RDoc-comment.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/yields-RDoc-comment.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Snippets/zip(enums)-{-row-..-}-(zip).sublime-snippet b/crates/diffs-syntect/testdata/Packages/Ruby/Snippets/zip(enums)-{-row-..-}-(zip).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Snippets/zip(enums)-{-row-..-}-(zip).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Ruby/Snippets/zip(enums)-{-row-..-}-(zip).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Ruby/Symbols - Classes - Modules.tmPreferences b/crates/diffs-syntect/testdata/Packages/Ruby/Symbols - Classes - Modules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Symbols - Classes - Modules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Ruby/Symbols - Classes - Modules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Ruby/Symbols - Methods.tmPreferences b/crates/diffs-syntect/testdata/Packages/Ruby/Symbols - Methods.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/Symbols - Methods.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Ruby/Symbols - Methods.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Ruby/syntax_test_ruby.rb b/crates/diffs-syntect/testdata/Packages/Ruby/syntax_test_ruby.rb similarity index 100% rename from vendor/syntect/testdata/Packages/Ruby/syntax_test_ruby.rb rename to crates/diffs-syntect/testdata/Packages/Ruby/syntax_test_ruby.rb diff --git a/vendor/syntect/testdata/Packages/Rust/Cargo.sublime-build b/crates/diffs-syntect/testdata/Packages/Rust/Cargo.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Cargo.sublime-build rename to crates/diffs-syntect/testdata/Packages/Rust/Cargo.sublime-build diff --git a/vendor/syntect/testdata/Packages/Rust/Cargo.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rust/Cargo.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Cargo.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rust/Cargo.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rust/Default.sublime-keymap b/crates/diffs-syntect/testdata/Packages/Rust/Default.sublime-keymap similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Default.sublime-keymap rename to crates/diffs-syntect/testdata/Packages/Rust/Default.sublime-keymap diff --git a/vendor/syntect/testdata/Packages/Rust/LICENSE.txt b/crates/diffs-syntect/testdata/Packages/Rust/LICENSE.txt similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/LICENSE.txt rename to crates/diffs-syntect/testdata/Packages/Rust/LICENSE.txt diff --git a/vendor/syntect/testdata/Packages/Rust/Rust.sublime-build b/crates/diffs-syntect/testdata/Packages/Rust/Rust.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Rust.sublime-build rename to crates/diffs-syntect/testdata/Packages/Rust/Rust.sublime-build diff --git a/vendor/syntect/testdata/Packages/Rust/Rust.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Rust/Rust.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Rust.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Rust/Rust.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Rust/RustComment.tmPreferences b/crates/diffs-syntect/testdata/Packages/Rust/RustComment.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/RustComment.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rust/RustComment.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rust/RustIndent.tmPreferences b/crates/diffs-syntect/testdata/Packages/Rust/RustIndent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/RustIndent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rust/RustIndent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rust/RustSymbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Rust/RustSymbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/RustSymbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Rust/RustSymbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/Err.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/Err.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/Err.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/Err.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/Ok.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/Ok.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/Ok.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/Ok.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/Some.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/Some.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/Some.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/Some.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/assert.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/assert.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/assert.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/assert.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/assert_eq.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/assert_eq.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/assert_eq.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/assert_eq.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/bench.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/bench.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/bench.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/bench.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/const.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/const.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/const.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/const.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/else.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/else.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/else.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/else.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/enum.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/enum.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/enum.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/enum.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/extern-crate.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-crate.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/extern-crate.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-crate.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/extern-fn.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-fn.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/extern-fn.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-fn.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/extern-mod.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-mod.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/extern-mod.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/extern-mod.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/fmt.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/fmt.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/fmt.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/fmt.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/fn.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/fn.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/fn.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/fn.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/for.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/for.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/for.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/for.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/if-let.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/if-let.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/if-let.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/if-let.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/if.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/if.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/if.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/if.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/impl-trait.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/impl-trait.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/impl-trait.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/impl-trait.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/impl.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/impl.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/impl.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/impl.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/let.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/let.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/let.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/let.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/loop.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/loop.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/loop.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/loop.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/macro_rules.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/macro_rules.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/macro_rules.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/macro_rules.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/main.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/main.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/main.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/main.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/match.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/match.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/match.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/match.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/mod.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/mod.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/mod.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/mod.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/panic.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/panic.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/panic.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/panic.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/print.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/print.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/print.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/print.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/println.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/println.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/println.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/println.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/static.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/static.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/static.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/static.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/struct-tuple.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct-tuple.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/struct-tuple.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct-tuple.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/struct-unit.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct-unit.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/struct-unit.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct-unit.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/struct.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/struct.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/struct.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/test.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/test.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/test.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/test.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/trait.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/trait.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/trait.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/trait.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/type.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/type.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/type.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/type.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/while-let.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/while-let.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/while-let.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/while-let.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/Snippets/while.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Rust/Snippets/while.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/Snippets/while.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Rust/Snippets/while.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Rust/syntax_test_rust.rs b/crates/diffs-syntect/testdata/Packages/Rust/syntax_test_rust.rs similarity index 100% rename from vendor/syntect/testdata/Packages/Rust/syntax_test_rust.rs rename to crates/diffs-syntect/testdata/Packages/Rust/syntax_test_rust.rs diff --git a/vendor/syntect/testdata/Packages/SQL/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/SQL/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/SQL/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/SQL/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/SQL/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/SQL/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/SQL/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/SQL/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/SQL/SQL.sublime-syntax b/crates/diffs-syntect/testdata/Packages/SQL/SQL.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/SQL/SQL.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/SQL/SQL.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/SQL/syntax_test_sql.sql b/crates/diffs-syntect/testdata/Packages/SQL/syntax_test_sql.sql similarity index 100% rename from vendor/syntect/testdata/Packages/SQL/syntax_test_sql.sql rename to crates/diffs-syntect/testdata/Packages/SQL/syntax_test_sql.sql diff --git a/vendor/syntect/testdata/Packages/Scala/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Dedent-case.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Dedent-case.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Dedent-case.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Dedent-case.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Indent-case.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Indent-case.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Indent-case.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Indent-case.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Indent.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Indent.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Indent.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Indent.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Scala.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Scala/Scala.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Scala.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Scala/Scala.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/adt.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/adt.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/adt.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/adt.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/app.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/app.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/app.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/app.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/case.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/case.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/case.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/case.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/cc.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/cc.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/cc.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/cc.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/co.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/co.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/co.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/co.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/def.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/def.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/def.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/def.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/match.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/match.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/match.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/match.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/p.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/p.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/p.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/p.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/try.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/try.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/try.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/try.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/tryf.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/tryf.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/tryf.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/tryf.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/val.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/val.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/val.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/val.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Snippets/var.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Scala/Snippets/var.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Snippets/var.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Scala/Snippets/var.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-class.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-class.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-class.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-class.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-def.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-def.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-def.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-def.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-namespace.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-namespace.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-namespace.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-namespace.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-type.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-type.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-type.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-type.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-val.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-val.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-val.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-val.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols-var.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols-var.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols-var.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols-var.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/Symbols.tmPreferences b/crates/diffs-syntect/testdata/Packages/Scala/Symbols.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/Symbols.tmPreferences rename to crates/diffs-syntect/testdata/Packages/Scala/Symbols.tmPreferences diff --git a/vendor/syntect/testdata/Packages/Scala/info.plist b/crates/diffs-syntect/testdata/Packages/Scala/info.plist similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/info.plist rename to crates/diffs-syntect/testdata/Packages/Scala/info.plist diff --git a/vendor/syntect/testdata/Packages/Scala/syntax_test_scala.scala b/crates/diffs-syntect/testdata/Packages/Scala/syntax_test_scala.scala similarity index 100% rename from vendor/syntect/testdata/Packages/Scala/syntax_test_scala.scala rename to crates/diffs-syntect/testdata/Packages/Scala/syntax_test_scala.scala diff --git a/vendor/syntect/testdata/Packages/ShellScript/Bash.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ShellScript/Bash.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Bash.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ShellScript/Bash.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ShellScript/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Completion Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Completion Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Completion Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Completion Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Indentation.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Indentation.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Indentation.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Indentation.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Makefile b/crates/diffs-syntect/testdata/Packages/ShellScript/Makefile similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Makefile rename to crates/diffs-syntect/testdata/Packages/ShellScript/Makefile diff --git a/vendor/syntect/testdata/Packages/ShellScript/Shell-Unix-Generic.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ShellScript/Shell-Unix-Generic.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Shell-Unix-Generic.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ShellScript/Shell-Unix-Generic.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ShellScript/ShellScript.py b/crates/diffs-syntect/testdata/Packages/ShellScript/ShellScript.py similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/ShellScript.py rename to crates/diffs-syntect/testdata/Packages/ShellScript/ShellScript.py diff --git a/vendor/syntect/testdata/Packages/ShellScript/ShellScript.sublime-build b/crates/diffs-syntect/testdata/Packages/ShellScript/ShellScript.sublime-build similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/ShellScript.sublime-build rename to crates/diffs-syntect/testdata/Packages/ShellScript/ShellScript.sublime-build diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/#!-usr-bin-env-(!env).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/#!-usr-bin-env-(!env).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/#!-usr-bin-env-(!env).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/#!-usr-bin-env-(!env).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/case-..-esac-(case).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/case-..-esac-(case).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/case-..-esac-(case).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/case-..-esac-(case).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/elif-..-(elif).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/elif-..-(elif).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/elif-..-(elif).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/elif-..-(elif).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/for-...-done-(for).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/for-...-done-(for).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/for-...-done-(for).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/for-...-done-(for).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/for-in-done-(forin).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/for-in-done-(forin).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/for-in-done-(forin).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/for-in-done-(forin).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/if-...-then-(if).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/if-...-then-(if).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/if-...-then-(if).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/if-...-then-(if).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/until-(done).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/until-(done).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/until-(done).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/until-(done).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Snippets/while-(done).sublime-snippet b/crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/while-(done).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Snippets/while-(done).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/ShellScript/Snippets/while-(done).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/ShellScript/Symbol List - Aliases.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Aliases.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Symbol List - Aliases.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Aliases.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Symbol List - Expansions.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Expansions.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Symbol List - Expansions.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Expansions.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Symbol List - Functions.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Functions.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Symbol List - Functions.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Functions.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/Symbol List - Variables.tmPreferences b/crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Variables.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/Symbol List - Variables.tmPreferences rename to crates/diffs-syntect/testdata/Packages/ShellScript/Symbol List - Variables.tmPreferences diff --git a/vendor/syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.sublime-syntax b/crates/diffs-syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.yml b/crates/diffs-syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.yml similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.yml rename to crates/diffs-syntect/testdata/Packages/ShellScript/commands-builtin-shell-bash.yml diff --git a/vendor/syntect/testdata/Packages/ShellScript/test/syntax_test_bash.sh b/crates/diffs-syntect/testdata/Packages/ShellScript/test/syntax_test_bash.sh similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/test/syntax_test_bash.sh rename to crates/diffs-syntect/testdata/Packages/ShellScript/test/syntax_test_bash.sh diff --git a/vendor/syntect/testdata/Packages/ShellScript/tools/update-commands.py b/crates/diffs-syntect/testdata/Packages/ShellScript/tools/update-commands.py similarity index 100% rename from vendor/syntect/testdata/Packages/ShellScript/tools/update-commands.py rename to crates/diffs-syntect/testdata/Packages/ShellScript/tools/update-commands.py diff --git a/vendor/syntect/testdata/Packages/TCL/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/TCL/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/TCL/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/TCL/HTML (Tcl).sublime-syntax b/crates/diffs-syntect/testdata/Packages/TCL/HTML (Tcl).sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/HTML (Tcl).sublime-syntax rename to crates/diffs-syntect/testdata/Packages/TCL/HTML (Tcl).sublime-syntax diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/for...-(for).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/for...-(for).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/for...-(for).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/for...-(for).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/foreach...-(foreach).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/foreach...-(foreach).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/foreach...-(foreach).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/foreach...-(foreach).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/if...-(if).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/if...-(if).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/if...-(if).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/if...-(if).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/proc...-(proc).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/proc...-(proc).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/proc...-(proc).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/proc...-(proc).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/switch...-(switch).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/switch...-(switch).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/switch...-(switch).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/switch...-(switch).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Snippets/while...-(while).sublime-snippet b/crates/diffs-syntect/testdata/Packages/TCL/Snippets/while...-(while).sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Snippets/while...-(while).sublime-snippet rename to crates/diffs-syntect/testdata/Packages/TCL/Snippets/while...-(while).sublime-snippet diff --git a/vendor/syntect/testdata/Packages/TCL/Symbol List Indent NS Proc.tmPreferences b/crates/diffs-syntect/testdata/Packages/TCL/Symbol List Indent NS Proc.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Symbol List Indent NS Proc.tmPreferences rename to crates/diffs-syntect/testdata/Packages/TCL/Symbol List Indent NS Proc.tmPreferences diff --git a/vendor/syntect/testdata/Packages/TCL/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/TCL/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/TCL/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/TCL/Tcl.sublime-syntax b/crates/diffs-syntect/testdata/Packages/TCL/Tcl.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/Tcl.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/TCL/Tcl.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/TCL/syntax_test_tcl.tcl b/crates/diffs-syntect/testdata/Packages/TCL/syntax_test_tcl.tcl similarity index 100% rename from vendor/syntect/testdata/Packages/TCL/syntax_test_tcl.tcl rename to crates/diffs-syntect/testdata/Packages/TCL/syntax_test_tcl.tcl diff --git a/vendor/syntect/testdata/Packages/Text/Plain text.tmLanguage b/crates/diffs-syntect/testdata/Packages/Text/Plain text.tmLanguage similarity index 100% rename from vendor/syntect/testdata/Packages/Text/Plain text.tmLanguage rename to crates/diffs-syntect/testdata/Packages/Text/Plain text.tmLanguage diff --git a/vendor/syntect/testdata/Packages/Text/Snippets/lorem.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Text/Snippets/lorem.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Text/Snippets/lorem.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Text/Snippets/lorem.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Acronym.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Acronym.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Acronym.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Acronym.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Block-Quotes.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Block-Quotes.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Block-Quotes.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Block-Quotes.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-1.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-1.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-1.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-1.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-2.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-2.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-2.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-2.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-3.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-3.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-3.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-3.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-4.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-4.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-4.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-4.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-5.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-5.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-5.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-5.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Heading-6.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-6.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Heading-6.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Heading-6.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Image.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Image.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Image.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Image.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Snippets/Linked-Image.sublime-snippet b/crates/diffs-syntect/testdata/Packages/Textile/Snippets/Linked-Image.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Snippets/Linked-Image.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/Textile/Snippets/Linked-Image.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/Textile/Textile.sublime-syntax b/crates/diffs-syntect/testdata/Packages/Textile/Textile.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/Textile.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/Textile/Textile.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/Textile/syntax_test_textile.textile b/crates/diffs-syntect/testdata/Packages/Textile/syntax_test_textile.textile similarity index 100% rename from vendor/syntect/testdata/Packages/Textile/syntax_test_textile.textile rename to crates/diffs-syntect/testdata/Packages/Textile/syntax_test_textile.textile diff --git a/vendor/syntect/testdata/Packages/XML/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/XML/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/XML/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/XML/Miscellaneous.tmPreferences b/crates/diffs-syntect/testdata/Packages/XML/Miscellaneous.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Miscellaneous.tmPreferences rename to crates/diffs-syntect/testdata/Packages/XML/Miscellaneous.tmPreferences diff --git a/vendor/syntect/testdata/Packages/XML/Snippets/XML-Processing-Instruction.sublime-snippet b/crates/diffs-syntect/testdata/Packages/XML/Snippets/XML-Processing-Instruction.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Snippets/XML-Processing-Instruction.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/XML/Snippets/XML-Processing-Instruction.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/XML/Snippets/cdata.sublime-snippet b/crates/diffs-syntect/testdata/Packages/XML/Snippets/cdata.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Snippets/cdata.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/XML/Snippets/cdata.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/XML/Snippets/comment.sublime-snippet b/crates/diffs-syntect/testdata/Packages/XML/Snippets/comment.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Snippets/comment.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/XML/Snippets/comment.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/XML/Snippets/long-tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/XML/Snippets/long-tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Snippets/long-tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/XML/Snippets/long-tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/XML/Snippets/short-tag.sublime-snippet b/crates/diffs-syntect/testdata/Packages/XML/Snippets/short-tag.sublime-snippet similarity index 100% rename from vendor/syntect/testdata/Packages/XML/Snippets/short-tag.sublime-snippet rename to crates/diffs-syntect/testdata/Packages/XML/Snippets/short-tag.sublime-snippet diff --git a/vendor/syntect/testdata/Packages/XML/XML.sublime-settings b/crates/diffs-syntect/testdata/Packages/XML/XML.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/XML/XML.sublime-settings rename to crates/diffs-syntect/testdata/Packages/XML/XML.sublime-settings diff --git a/vendor/syntect/testdata/Packages/XML/XML.sublime-syntax b/crates/diffs-syntect/testdata/Packages/XML/XML.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/XML/XML.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/XML/XML.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/XML/syntax_test_xml.xml b/crates/diffs-syntect/testdata/Packages/XML/syntax_test_xml.xml similarity index 100% rename from vendor/syntect/testdata/Packages/XML/syntax_test_xml.xml rename to crates/diffs-syntect/testdata/Packages/XML/syntax_test_xml.xml diff --git a/vendor/syntect/testdata/Packages/YAML/Comments.tmPreferences b/crates/diffs-syntect/testdata/Packages/YAML/Comments.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/Comments.tmPreferences rename to crates/diffs-syntect/testdata/Packages/YAML/Comments.tmPreferences diff --git a/vendor/syntect/testdata/Packages/YAML/Indentation Rules.tmPreferences b/crates/diffs-syntect/testdata/Packages/YAML/Indentation Rules.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/Indentation Rules.tmPreferences rename to crates/diffs-syntect/testdata/Packages/YAML/Indentation Rules.tmPreferences diff --git a/vendor/syntect/testdata/Packages/YAML/Symbol List.tmPreferences b/crates/diffs-syntect/testdata/Packages/YAML/Symbol List.tmPreferences similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/Symbol List.tmPreferences rename to crates/diffs-syntect/testdata/Packages/YAML/Symbol List.tmPreferences diff --git a/vendor/syntect/testdata/Packages/YAML/YAML.sublime-settings b/crates/diffs-syntect/testdata/Packages/YAML/YAML.sublime-settings similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/YAML.sublime-settings rename to crates/diffs-syntect/testdata/Packages/YAML/YAML.sublime-settings diff --git a/vendor/syntect/testdata/Packages/YAML/YAML.sublime-syntax b/crates/diffs-syntect/testdata/Packages/YAML/YAML.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/YAML.sublime-syntax rename to crates/diffs-syntect/testdata/Packages/YAML/YAML.sublime-syntax diff --git a/vendor/syntect/testdata/Packages/YAML/preview.yaml b/crates/diffs-syntect/testdata/Packages/YAML/preview.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/preview.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/preview.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_block.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_block.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_block.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_block.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_directives.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_directives.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_directives.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_directives.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_flow-plain.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_flow-plain.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_flow-plain.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_flow-plain.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_flow.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_flow.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_flow.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_flow.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_general.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_general.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_general.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_general.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_properties.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_properties.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_properties.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_properties.yaml diff --git a/vendor/syntect/testdata/Packages/YAML/tests/syntax_test_types.yaml b/crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_types.yaml similarity index 100% rename from vendor/syntect/testdata/Packages/YAML/tests/syntax_test_types.yaml rename to crates/diffs-syntect/testdata/Packages/YAML/tests/syntax_test_types.yaml diff --git a/vendor/syntect/testdata/Testing.sublime-syntax b/crates/diffs-syntect/testdata/Testing.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/Testing.sublime-syntax rename to crates/diffs-syntect/testdata/Testing.sublime-syntax diff --git a/vendor/syntect/testdata/clear_scopes_test.asa b/crates/diffs-syntect/testdata/clear_scopes_test.asa similarity index 100% rename from vendor/syntect/testdata/clear_scopes_test.asa rename to crates/diffs-syntect/testdata/clear_scopes_test.asa diff --git a/vendor/syntect/testdata/embed_escape_test.sublime-syntax b/crates/diffs-syntect/testdata/embed_escape_test.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/embed_escape_test.sublime-syntax rename to crates/diffs-syntect/testdata/embed_escape_test.sublime-syntax diff --git a/vendor/syntect/testdata/highlight_test.erb b/crates/diffs-syntect/testdata/highlight_test.erb similarity index 100% rename from vendor/syntect/testdata/highlight_test.erb rename to crates/diffs-syntect/testdata/highlight_test.erb diff --git a/vendor/syntect/testdata/issue25.c b/crates/diffs-syntect/testdata/issue25.c similarity index 100% rename from vendor/syntect/testdata/issue25.c rename to crates/diffs-syntect/testdata/issue25.c diff --git a/vendor/syntect/testdata/issue28.rs b/crates/diffs-syntect/testdata/issue28.rs similarity index 100% rename from vendor/syntect/testdata/issue28.rs rename to crates/diffs-syntect/testdata/issue28.rs diff --git a/vendor/syntect/testdata/issue30.tex b/crates/diffs-syntect/testdata/issue30.tex similarity index 100% rename from vendor/syntect/testdata/issue30.tex rename to crates/diffs-syntect/testdata/issue30.tex diff --git a/vendor/syntect/testdata/issue33.rs b/crates/diffs-syntect/testdata/issue33.rs similarity index 100% rename from vendor/syntect/testdata/issue33.rs rename to crates/diffs-syntect/testdata/issue33.rs diff --git a/vendor/syntect/testdata/jquery.js b/crates/diffs-syntect/testdata/jquery.js similarity index 100% rename from vendor/syntect/testdata/jquery.js rename to crates/diffs-syntect/testdata/jquery.js diff --git a/vendor/syntect/testdata/known_syntest_failures.txt b/crates/diffs-syntect/testdata/known_syntest_failures.txt similarity index 100% rename from vendor/syntect/testdata/known_syntest_failures.txt rename to crates/diffs-syntect/testdata/known_syntest_failures.txt diff --git a/vendor/syntect/testdata/known_syntest_failures_fancy.txt b/crates/diffs-syntect/testdata/known_syntest_failures_fancy.txt similarity index 100% rename from vendor/syntect/testdata/known_syntest_failures_fancy.txt rename to crates/diffs-syntect/testdata/known_syntest_failures_fancy.txt diff --git a/vendor/syntect/testdata/minimized_tests/syntax_test_aspmini.asp b/crates/diffs-syntect/testdata/minimized_tests/syntax_test_aspmini.asp similarity index 100% rename from vendor/syntect/testdata/minimized_tests/syntax_test_aspmini.asp rename to crates/diffs-syntect/testdata/minimized_tests/syntax_test_aspmini.asp diff --git a/vendor/syntect/testdata/minimized_tests/syntax_test_scalamini.scala b/crates/diffs-syntect/testdata/minimized_tests/syntax_test_scalamini.scala similarity index 100% rename from vendor/syntect/testdata/minimized_tests/syntax_test_scalamini.scala rename to crates/diffs-syntect/testdata/minimized_tests/syntax_test_scalamini.scala diff --git a/vendor/syntect/testdata/parser.rs b/crates/diffs-syntect/testdata/parser.rs similarity index 100% rename from vendor/syntect/testdata/parser.rs rename to crates/diffs-syntect/testdata/parser.rs diff --git a/vendor/syntect/testdata/parser_tests.sublime-syntax b/crates/diffs-syntect/testdata/parser_tests.sublime-syntax similarity index 100% rename from vendor/syntect/testdata/parser_tests.sublime-syntax rename to crates/diffs-syntect/testdata/parser_tests.sublime-syntax diff --git a/vendor/syntect/testdata/test1.html b/crates/diffs-syntect/testdata/test1.html similarity index 100% rename from vendor/syntect/testdata/test1.html rename to crates/diffs-syntect/testdata/test1.html diff --git a/vendor/syntect/testdata/test2.html b/crates/diffs-syntect/testdata/test2.html similarity index 100% rename from vendor/syntect/testdata/test2.html rename to crates/diffs-syntect/testdata/test2.html diff --git a/vendor/syntect/testdata/test3.html b/crates/diffs-syntect/testdata/test3.html similarity index 100% rename from vendor/syntect/testdata/test3.html rename to crates/diffs-syntect/testdata/test3.html diff --git a/vendor/syntect/testdata/test4.html b/crates/diffs-syntect/testdata/test4.html similarity index 100% rename from vendor/syntect/testdata/test4.html rename to crates/diffs-syntect/testdata/test4.html diff --git a/vendor/syntect/testdata/test5.html b/crates/diffs-syntect/testdata/test5.html similarity index 100% rename from vendor/syntect/testdata/test5.html rename to crates/diffs-syntect/testdata/test5.html diff --git a/vendor/syntect/testdata/test_first_line.test b/crates/diffs-syntect/testdata/test_first_line.test similarity index 100% rename from vendor/syntect/testdata/test_first_line.test rename to crates/diffs-syntect/testdata/test_first_line.test diff --git a/vendor/syntect/testdata/testing-syntax.testsyntax b/crates/diffs-syntect/testdata/testing-syntax.testsyntax similarity index 100% rename from vendor/syntect/testdata/testing-syntax.testsyntax rename to crates/diffs-syntect/testdata/testing-syntax.testsyntax diff --git a/vendor/syntect/tests/error_handling.rs b/crates/diffs-syntect/tests/error_handling.rs similarity index 100% rename from vendor/syntect/tests/error_handling.rs rename to crates/diffs-syntect/tests/error_handling.rs diff --git a/crates/diffs-two-face/CHANGELOG.md b/crates/diffs-two-face/CHANGELOG.md new file mode 100644 index 0000000..2445a9c --- /dev/null +++ b/crates/diffs-two-face/CHANGELOG.md @@ -0,0 +1,224 @@ +# Version 0.5.2+bat-0.26.1 | 2026-08-07 + +Just some documentation improvements and a new repo home on codeberg + +## Deps + +- Update dependencies [#177] + +## Docs + +- Switch to a better code example in `EmbeddedThemeName` docs [#160] +- Migrate the repo to codeberg [#162] [#163] [#164] [#165] [#166] +- Cleanup README / landing page [#168] [#169] [#170] [#171] [#173] [#174] +- Indicate `bat`'s version in our version metadata [#172] + +## Internal + +- Track binary assets using `git-lfs` [#167] +- Allow building assets from `bat` at a provided path [#175] [#176] + +[#160]: https://codeberg.org/CosmicHarper/two-face/pulls/160 +[#162]: https://codeberg.org/CosmicHarper/two-face/pulls/162 +[#163]: https://codeberg.org/CosmicHarper/two-face/pulls/163 +[#164]: https://codeberg.org/CosmicHarper/two-face/pulls/164 +[#165]: https://codeberg.org/CosmicHarper/two-face/pulls/165 +[#166]: https://codeberg.org/CosmicHarper/two-face/pulls/166 +[#167]: https://codeberg.org/CosmicHarper/two-face/pulls/167 +[#168]: https://codeberg.org/CosmicHarper/two-face/pulls/168 +[#169]: https://codeberg.org/CosmicHarper/two-face/pulls/169 +[#170]: https://codeberg.org/CosmicHarper/two-face/pulls/170 +[#171]: https://codeberg.org/CosmicHarper/two-face/pulls/171 +[#172]: https://codeberg.org/CosmicHarper/two-face/pulls/172 +[#173]: https://codeberg.org/CosmicHarper/two-face/pulls/173 +[#174]: https://codeberg.org/CosmicHarper/two-face/pulls/174 +[#175]: https://codeberg.org/CosmicHarper/two-face/pulls/175 +[#176]: https://codeberg.org/CosmicHarper/two-face/pulls/176 +[#177]: https://codeberg.org/CosmicHarper/two-face/pulls/177 + +# Version 0.5.1 | 2025-12-25 + +## Docs + +- crates doesnt recognize the :mouse: shortcode *shakes fist* #158 + +# Version 0.5.0 | 2025-12-25 + +This update matches `bat`'s recent 0.26.1 release :tada: + +## Breaking Changes + +- Remove deprecated APIs #148 + - The `Visual Studio Dark+` theme #155 + - `two_face::acknowledgement_url()` which was moved to `two_face::acknowledgement::url()` + +## Features + +- Update to match `bat@0.26.1` #91 #149 + - Added `debsources`, `GDScript`, `Idris`, `Odin`, `Typst`, `VHDL` syntaxes + - Added support for Lean 4 to the `Lean` syntax + - Added `Catppuccin`'s frappe, latte, macchiato and mocha themes + - Removed the `Visual Studio Dark+` theme + +## Deps + +- Update outdated dependencies #150 #153 + +## Docs + +- Flesh out some acknowledgments docs #151 +- Miscellaneous cleanup #152 +- Update motto #154 +- Tidy up landing page and license docs #156 + +# Version 0.4.5 | 2025-12-08 + +Just a couple of deprecations in preparation for the upcoming `0.5.0` release + +## Refactor + +- Move `two_face::acknowledgement_url()` to `two_face::acknowledgement::url()` #143 + +## Docs + +- Deprecate `EmbeddedThemeName::VisualStudioDarkPlus` for removal in the next release #144 + +# Version 0.4.4 + +This update includes the underlying update to `fancy-regex@0.16.2` which adds +support for `LiveScript` and `Sass` when using the `fancy-regex` backend. + +## Deps + +- Update outdated dependencies #131 + +## Internal + +- Depend on `serde` and `serde_derive` separately #107 + +# Version 0.4.3 + +Fixes builds for dependents that set `#[cfg(fuzzing)]` + +## Fix + +- Fix external `#[cfg(fuzzing)]` builds (#61) + +# Version 0.4.2 + +Just a small docs / internal changes update + +## Deps + +- Update outdated dependencies #54 + +## Docs + +- Sync docs with README tables #51 +- Bump our MSRV down to 1.65.0 #55 + +## Internal + +- Bump codecov CI action #52 +- Slim down files `include`d in crates.io uploads #53 +- Remove dead internal code #56 + +# Version 0.4.1 + +## Features + +- Update to match `bat`'s 0.25.0 release #49 + - Includes the addition of CFML (ColdFusion Markup Language), NSIS (Nullsoft + Scriptable Install System), and WGSL (WebGPU Shading Language) syntaxes + +## Docs + +- Switch README codeblock lang from cmd to console #33 +- Use a test to back up the statement on unused assets being stripped #30 #31 +- Cleanup README tables #29 +- Clarify the MIT license for GitHub #22 + +## Internal + +- Switch the `cargo-xtask` to internally detect the active regex backend instead + of explicitly being passed #38 #48 +- Several CI action version bumps #17 #23 #24 #25 #26 #40 #41 #42 #45 +- Update dependencies #35 #44 +- Allow automatically generating syntect test metadata #37 #43 +- Test embedded acknowledgements compared to full listing #32 +- Add a fuzzer to help ensure size optimization equality #19 #21 +- Placate `clippy` #20 +- Commit our `Cargo.lock` file to help ensure `cargo xtask gen -y` is stable #18 + +# Version 0.4.0 + +## Breaking Changes + +- Renamed `EmbeddedThemeName::SubmlimeSnazzy` -> + `EmbeddedThemeName::SublimeSnazzy` + +## Features + +- Our `syntect` dependency is now re-exported under `two_face::re_exports::syntect` +- New `syntect-default-onig` / `syntect-default-fancy` features toggle on the + underlying `default-onig` / `default-fancy` features making the syntect + re-export decently useful + +## Docs + +- Both the README and docs landing page got an overhaul +- The `theme` module got some TLC including a demo of all of the embedded themes +- We now have relevant categories in our `Cargo.toml` +- Our feature flags are now documented in a way that lib.rs understands + +## Internal + +- Code coverage is now tracked on codecov.io +- Dependabot now handles updating our CI actions +- The `unstable` feature flag was removed now that `syntect-default-onig` fills + the same purpose in an official capacity +- The specific markdown acknowledgement format was changed to be more succinct +- We now support applying patches on top of those provided with `bat` including + an initial demo stripping comments from Markdown's regexes + +# Version 0.3.0 + +Only a couple of very small breaking changes: + +- The embedded theme set now includes all of syntect's default themes instead of + just bat's +- The themes returned by `EmbeddedLazyThemeSet::theme_names()` are now + alphabetized + +# Version 0.2.0 + +## Feature Flags + +There are a couple of changes around feature flags: + +- All the feature flags revolving around limited which embedded assets get + pulled in have been ripped out. Luckily the linker is smart enough to strip + out these unused assets which makes things a lot simpler +- There are new features to indicate which regex implementation you're using + with `syntect`. Some syntaxes use features that are only provided by `onig` + and not `fancy-regex`, so matching `two-face` and `syntect`'s implementation + keeps regex compilation infallible + +## Acknowledgments + +Acknowledgments now includes the full listing for all syntaxes and themes +regardless of what is used. There are still individual methods to distinguish +which acknowledgments are for what though + +## Syntaxes + +The `two_face::syntax::extra()` function is now +`two_face::syntax::extra_no_newlines()` and `two_face::extra::extra_newlines()` +has been added. This mirrors `syntect`'s `load_defaults_nonewlines()` and +`load_defaults_newlines()` + +## Themes + +`two_face::theme::extra()` now includes an `EmbeddedLazyThemeSet`. This is just +a wrapper around a `LazyThemeSet` tailored toward knowing all of the embedded +themes diff --git a/crates/diffs-two-face/Cargo.toml b/crates/diffs-two-face/Cargo.toml new file mode 100644 index 0000000..066a7ef --- /dev/null +++ b/crates/diffs-two-face/Cargo.toml @@ -0,0 +1,89 @@ +[package] +name = "diffs-two-face" +# Fork version, independent of upstream. The upstream base is two-face +# 0.5.2+bat-0.26.1; see README.md. +version = "0.1.0" +edition = "2021" +license = "MIT OR Apache-2.0" +description = "Fork of two-face 0.5.2 (bat 0.26.1 syntaxes and themes) maintained only for diffs-rs: built against diffs-syntect so its types match, with the acknowledgement URL pinned to the upstream release. Use upstream two-face (https://codeberg.org/CosmicHarper/two-face) instead." +readme = "README.md" +repository = "https://github.com/plannotator/diffs-rs" +homepage = "https://github.com/plannotator/diffs-rs/tree/main/crates/diffs-two-face" +keywords = ["syntect", "syntaxes", "themes"] +categories = ["parser-implementations", "text-processing"] +# Upstream declares 1.79.0; this fork is only built and tested with diffs-rs. +rust-version = "1.88" +include = [ + "/src/**/*.rs", + "/generated/acknowledgements_full.bin", + "/generated/syntaxes-fancy-newlines.bin", + "/generated/syntaxes-fancy-no-newlines.bin", + "/generated/syntaxes-onig-newlines.bin", + "/generated/syntaxes-onig-no-newlines.bin", + "/generated/themes.bin", + "/Cargo.toml", + "/README.md", + "/UPSTREAM_README.md", + "/CHANGELOG.md", + "/LICENSE-APACHE", + "/LICENSE-MIT", +] +# Not published yet. RELEASE_READINESS.md in diffs-rs gives the publish order. +publish = false + +[package.metadata.diffs-rs.upstream] +crate = "two-face" +version = "0.5.2+bat-0.26.1" +repository = "https://codeberg.org/CosmicHarper/two-face" +revision = "67b64e632ceefe70e5f20f3eb797d9e33560a11c" +crate-sha256 = "915be7adc2ff6f4338acbf71f3eda0a146f46003b992a1669c674308610efdac" + +[package.metadata.docs.rs] +features = ["syntect-default-fancy"] + +# The library keeps its upstream name; dependents rename the package: +# `two-face = { package = "diffs-two-face", ... }`. +[lib] +name = "two_face" + +[features] +# `syntect` can't compile without a regex implementation, so we match its +# default of onig +default = ["syntect-onig"] + +# A minimal set of `syntect` features with the onig regex implementation +syntect-onig = ["syntect/regex-onig"] +# A minimal set of `syntect` features with the fancy regex implementation +syntect-fancy = ["syntect/regex-fancy"] + +# Toggles on `syntect`'s `default-onig` feature +syntect-default-onig = ["syntect-onig", "syntect/default-onig"] +# Toggles on `syntect`'s `default-fancy` feature +syntect-default-fancy = ["syntect-fancy", "syntect/default-fancy"] + +[dependencies] +serde = "1.0.228" +serde_derive = "1.0.228" + +# The patched fork; the dependency keeps the `syntect` name, so `syntect::` paths +# and the `syntect/...` features above resolve to it. +[dependencies.syntect] +package = "diffs-syntect" +version = "0.1.0" +path = "../diffs-syntect" +default-features = false +features = ["dump-load", "parsing"] + +# Upstream's other dev-dependencies serve its xtask, fuzz and snapshot tests, +# which are not part of this fork. +[dev-dependencies] +strum = { version = "0.28.0", features = ["derive"] } + +# Upstream code keeps upstream's lint state. diffs-rs CI runs clippy with +# `-D warnings`, which would otherwise apply to this workspace member too. +[lints.rust.unexpected_cfgs] +level = "warn" +check-cfg = ["cfg(fuzzing)"] + +[lints.clippy] +all = { level = "allow", priority = -1 } diff --git a/crates/diffs-two-face/LICENSE-APACHE b/crates/diffs-two-face/LICENSE-APACHE new file mode 100644 index 0000000..c30f19c --- /dev/null +++ b/crates/diffs-two-face/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2025 The `two-face` developers + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/crates/diffs-two-face/LICENSE-MIT b/crates/diffs-two-face/LICENSE-MIT new file mode 100644 index 0000000..d3123dd --- /dev/null +++ b/crates/diffs-two-face/LICENSE-MIT @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-2025 The `two-face` developers (https://codeberg.org/CosmicHarper/two-face). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/crates/diffs-two-face/README.md b/crates/diffs-two-face/README.md new file mode 100644 index 0000000..f03bfad --- /dev/null +++ b/crates/diffs-two-face/README.md @@ -0,0 +1,43 @@ +# diffs-two-face + +A fork of [two-face](https://codeberg.org/CosmicHarper/two-face) maintained only for +[diffs-rs](https://github.com/plannotator/diffs-rs). +**Use upstream `two-face` in your own projects.** This crate follows the needs of +diffs-rs and may change or stop being updated without notice. + +- Upstream base: `two-face` 0.5.2+bat-0.26.1 (syntaxes and themes from + [bat](https://github.com/sharkdp/bat) 0.26.1), revision + [`67b64e6`](https://codeberg.org/CosmicHarper/two-face/commit/67b64e632ceefe70e5f20f3eb797d9e33560a11c). + The published upstream archive has SHA-256 + `915be7adc2ff6f4338acbf71f3eda0a146f46003b992a1669c674308610efdac`. +- Fork version: `diffs-two-face` 0.1.0. Fork versions are independent of upstream versions. +- Library name: `two_face`, as upstream. Depend on it under the upstream name: + + ```toml + [dependencies] + two-face = { package = "diffs-two-face", version = "0.1.0", default-features = false, features = ["syntect-fancy"] } + ``` + +## Changes from upstream + +The embedded syntax, theme, and acknowledgement data are unchanged, and so is the +source code apart from one line. The fork exists so that its `SyntaxSet` and `ThemeSet` +types are the ones from [`diffs-syntect`](../diffs-syntect), the syntect fork diffs-rs uses. + +- `acknowledgement::url()` names the upstream release tag (`v0.5.2+bat-0.26.1`) + directly. Upstream builds it from the package version, which in the fork would point + to a tag that does not exist. +- The `syntect` dependency is `diffs-syntect`, renamed to `syntect`, so `syntect::` + paths and the `syntect/...` features resolve to the fork. +- The manifest drops upstream's workspace, and keeps only the `strum` dev-dependency that + the unit tests use. Upstream's snapshot, fuzz and xtask tooling is not part of the fork. +- The package is renamed and versioned independently, with this README. The upstream + README is in [UPSTREAM_README.md](UPSTREAM_README.md). +- Upstream lints are allowed in the manifest, because diffs-rs runs Clippy with + `-D warnings` across its workspace. + +## License + +MIT OR Apache-2.0, as upstream. See [LICENSE-MIT](LICENSE-MIT) and +[LICENSE-APACHE](LICENSE-APACHE). The embedded syntax and theme definitions carry their +own licenses, listed by the `acknowledgement` module. diff --git a/crates/diffs-two-face/UPSTREAM_README.md b/crates/diffs-two-face/UPSTREAM_README.md new file mode 100644 index 0000000..9c33df2 --- /dev/null +++ b/crates/diffs-two-face/UPSTREAM_README.md @@ -0,0 +1,186 @@ +# _two-face_ + +![regex-lover](https://img.shields.io/badge/%F0%9F%92%95_regex-lover-FF69B4) +[![crates.io](https://img.shields.io/crates/v/two-face.svg)](https://crates.io/crates/two-face) +[![documentation](https://img.shields.io/docsrs/two-face/latest)](https://docs.rs/two-face/latest/two_face/) +[![codeberg](https://img.shields.io/badge/codeberg-repo-2185D0?logo=codeberg)](https://codeberg.org/CosmicHarper/two-face) +[![CI](https://ci.codeberg.org/api/badges/15883/status.svg)](https://ci.codeberg.org/repos/15883) +[![codecov](https://codecov.io/gh/CosmicHorrorDev/two-face/graph/badge.svg?token=MUORSBCHF2)](https://app.codecov.io/gh/CosmicHorrorDev/two-face) + +Extra syntax and theme definitions for +[`syntect`](https://docs.rs/syntect/latest/syntect/) including many common ones +that are missing from the default set like TOML, TypeScript, and Dockerfile. +Curated by the [`bat` Project](https://github.com/sharkdp/bat) + +You can think of this crate like bundled `bat`'s `syntaxes.bin` and +`themes.bin` files, but with proper versioning, dependency tracking, and +feature flags along with some extra functionality too + +## Example + +The following + +```console +$ cargo add two-face --features syntect-default-onig +``` + +```rust +use two_face::re_exports::syntect; + +const TOML_TEXT: &str = "\ +[section] +key = 123 +"; + +fn main() { + let syn_set = two_face::syntax::extra_newlines(); + let theme_set = two_face::theme::extra(); + + let syn_ref = syn_set.find_syntax_by_extension("toml").unwrap(); + let theme = &theme_set[two_face::theme::EmbeddedThemeName::Nord]; + let htmlified = syntect::html::highlighted_html_for_string( + TOML_TEXT, + &syn_set, + syn_ref, + theme + ).unwrap(); + + println!("{htmlified}"); +} +``` + +will print this + +```html +
+[section]
+key = 123
+
+``` + +## Feature Flags + +The feature flags are divided by `syntect`'s underlying regex implementation +with [`Oniguruma`](https://github.com/kkos/oniguruma) aka `onig` being the +default and [`fancy-regex`](https://github.com/fancy-regex/fancy-regex) aka +`fancy` as an alternative pure-Rust implementation. `fancy`: however, doesn't +support all of the features used by some of the syntax definitions, so some of +the definitions are excluded when `fancy` is selected\* to keep the regex +compilation infallible. This means that it's important to match whichever regex +implementation `syntect` is using + +_\* This is also why fancy's bundled syntax definitions are smaller than onig's_ + +default: `syntect-onig` + +| Feature | Desc. | +| :---: | :--- | +| `syntect-onig` / `syntect-fancy` | Enables the minimal feature set that we require from `syntect` | +| `syntect-default-onig` / `syntect-default-fancy` | The minimal feature sets along with `syntect`'s default feature set (useful when using the `syntect` re-export) | + +## Embedded Asset Sizes + +This crate embeds some reasonably large assets in the final binary in order to +work. Luckily [the linker is smart enough to discard unused assets](https://codeberg.org/CosmicHarper/two-face/src/commit/8d5ea822eca2ddbf1f0ae384fef012fbb4bc3179/tests/linker_smarts_mixed_partial.rs#L11-L25), so you +generally only pay for what you use + +For reference here are the sizes associated with their different functions + +| function | `two-face` (KiB) | `syntect` (KiB) | +| ---: | ---: | ---: | +| [`acknowledgement::listing()`](https://docs.rs/two-face/latest/two_face/acknowledgement/fn.listing.html) | 11 | - | +| [`syntax::extra_newlines()`](https://docs.rs/two-face/latest/two_face/syntax/fn.extra_newlines.html) (onig) | 961 | 360 | +| ^^ (fancy) | 937 | ^^ | +| [`syntax::extra_no_newlines()`](https://docs.rs/two-face/latest/two_face/syntax/fn.extra_no_newlines.html) (onig) | 959 | 359 | +| ^^ (fancy) | 935 | ^^ | +| [`theme::extra()`](https://docs.rs/two-face/latest/two_face/theme/index.html) | 61 | 5 | + +In short the syntax definitions are the real chonky part, and if you're +switching from `syntect` to `two-face`, then you can expect a ~0.6MiB increase +in binary size from them (in exchange for _a lot_ of syntax definitions) + +## Syntaxes + +The full listing of all syntaxes included in [`two_face::syntax`](https://docs.rs/two-face/latest/two_face/syntax/index.html) + +- \* Excluded when using the `fancy-regex` implementation +- † Included in `syntect`'s bundled defaults + +| | Syntax Definition | +| :---: | :---: | +| A | ActionScript†, Ada, Apache Conf, AppleScript†, AsciiDoc, ASP†, ARM Assembly\*, Assembly (x86\_64), AWK | +| B | Bash†, Batch File†, BibTeX† | +| C | C†, C#†, C++†, Cabal, CFML, Clojure†, CMake, CoffeeScript, Crontab, Crystal, CSS†, CSV† | +| D | D†, Dart, debsources, Dockerfile, DotENV, Diff† | +| E | Elixir, Elm, Email, Erlang† | +| F | F#, Fish, Fortran | +| G | GDScript (Godot Engine), Git (commit, config, ignore, etc.)†, GLSL, Go†, GraphQL, Graphviz (DOT)†, Groff/troff†, Groovy† | +| H | Haskell†, HTML† | +| I | Idris, INI | +| J | Java†, Javadoc†, Java Server Page (JSP)†, JavaScript†, JavaScript (Babel)\*, Jinja2, JQ, JSON†, Julia | +| K | Kotlin | +| L | LaTeX†, LaTeX Log†, Lean, LESS, Lisp†, Literate Haskell†, LiveScript, LLVM, Lua† | +| M | Makefile†, Manpage, Markdown†, MATLAB†, Mediawiki, MultiMarkdown† | +| N | NAnt Build File†, Nginx, Nim, Ninja, Nix, NSIS | +| O | Objective-C†, Objective-C++†, OCaml†, OCamllex†, OCamlyacc†, Odin, Org Mode | +| P | Pascal†, Perl†, PHP†, PowerShell\*, Protobuf, Puppet, PureScript, Python† | +| Q | QML | +| R | R†, Racket, Rd†, Rego, Regular Expression†, Requirements.txt, reStructuredText†, Robot Framework, Ruby†, Ruby Haml†, Ruby on Rails†, Ruby Slim, Rust† | +| S | Sass, Scala†, SCSS, Salt State SLS\*, SML, Solidity, SQL†, Strace, Stylus, Svelte, Swift, SystemVerilog | +| T | Tcl†, Terraform, TeX†, Textile†, Todo.txt, TOML, TypeScript, TypescriptReact, Typst | +| V | Varlink, Verilog, VHDL, VimL, Vue, Vyper | +| W | WGSL | +| X | XML† | +| Y | YAML† | +| Z | Zig | + +## Themes + +_Note: For visual examples of all of the embedded themes look at the docs for +[`two_face::theme::EmbeddedThemeName`](https://docs.rs/two-face/latest/two_face/theme/enum.EmbeddedThemeName.html)_ + +The full listing of themes provided by `two_face::theme`. Many of these themes +only make sense situationally, so you'll likely want to only expose a subset + +- † Included in `syntect`'s bundled defaults + +| | Theme | +| :---: | :---: | +| 1 | 1337 (aka leet) | +| A | Ansi | +| B | Base16, Base16-256, Base16-Eighties (dark)†, Base16-Mocha (dark)†, Base16-Ocean (light/dark)† | +| C | Catppuccin (frappe, latte, macchiato, mocha), Coldark (cold/dark aka light/dark) | +| D | DarkNeon, Dracula | +| G | GitHub, gruvbox (light/dark) | +| I | InspiredGitHub† | +| M | Monokai Extended (plain, bright, light, and origin) | +| N | Nord | +| O | One Half (light/dark) | +| S | Solarized (light/dark)†, Sublime Snazzy | +| T | TwoDark | +| Z | Zenburn | + +## Legal + +Most of the code for generating the syntax and theme dumps along with curating +said syntax and themes is taken from [`bat`](https://github.com/sharkdp/bat). +Because of this we also mirror `bat`'s licenses by being dual licensed under MIT +and Apache-2.0. + +See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files +for license details. + +The embedded syntax definitions and assets also have their own licenses which +are compiled into +[this markdown file](https://codeberg.org/CosmicHarper/two-face/src/branch/main/generated/acknowledgements_full.md) +along with programmatic access in the `acknowledgement` module. + +### `bat`'s NOTICE + +Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat). + +bat is made available under the terms of either the MIT License or the Apache +License 2.0, at your option. + +See the [LICENSE-APACHE](https://github.com/sharkdp/bat/blob/master/LICENSE-APACHE) and +[LICENSE-MIT](https://github.com/sharkdp/bat/blob/master/LICENSE-MIT) files for license details. diff --git a/crates/diffs-two-face/generated/acknowledgements_full.bin b/crates/diffs-two-face/generated/acknowledgements_full.bin new file mode 100644 index 0000000..428726e Binary files /dev/null and b/crates/diffs-two-face/generated/acknowledgements_full.bin differ diff --git a/crates/diffs-two-face/generated/syntaxes-fancy-newlines.bin b/crates/diffs-two-face/generated/syntaxes-fancy-newlines.bin new file mode 100644 index 0000000..682d483 Binary files /dev/null and b/crates/diffs-two-face/generated/syntaxes-fancy-newlines.bin differ diff --git a/crates/diffs-two-face/generated/syntaxes-fancy-no-newlines.bin b/crates/diffs-two-face/generated/syntaxes-fancy-no-newlines.bin new file mode 100644 index 0000000..f9b73b1 Binary files /dev/null and b/crates/diffs-two-face/generated/syntaxes-fancy-no-newlines.bin differ diff --git a/crates/diffs-two-face/generated/syntaxes-onig-newlines.bin b/crates/diffs-two-face/generated/syntaxes-onig-newlines.bin new file mode 100644 index 0000000..156f9f8 Binary files /dev/null and b/crates/diffs-two-face/generated/syntaxes-onig-newlines.bin differ diff --git a/crates/diffs-two-face/generated/syntaxes-onig-no-newlines.bin b/crates/diffs-two-face/generated/syntaxes-onig-no-newlines.bin new file mode 100644 index 0000000..492e06d Binary files /dev/null and b/crates/diffs-two-face/generated/syntaxes-onig-no-newlines.bin differ diff --git a/crates/diffs-two-face/generated/themes.bin b/crates/diffs-two-face/generated/themes.bin new file mode 100644 index 0000000..e2f452d Binary files /dev/null and b/crates/diffs-two-face/generated/themes.bin differ diff --git a/crates/diffs-two-face/src/acknowledgement/core_types.rs b/crates/diffs-two-face/src/acknowledgement/core_types.rs new file mode 100644 index 0000000..c996a0c --- /dev/null +++ b/crates/diffs-two-face/src/acknowledgement/core_types.rs @@ -0,0 +1,162 @@ +use std::{fmt::Write, path::PathBuf}; + +use serde_derive::{Deserialize, Serialize}; + +/// Holds the license type, text, and relative path for a syntax or theme definition +#[derive(Clone, Debug, Deserialize, Serialize, Hash, PartialEq, Eq, PartialOrd, Ord)] +pub struct License { + pub ty: LicenseType, + pub text: String, + pub rel_path: PathBuf, +} + +impl License { + /// Appends a section for this license to `md` + pub fn write_md(&self, md: &mut String) { + write!( + md, + "\ +
\n\ + {}\n\n\ + ````text\n\ + {}\n\ + ````\n\ +
\ + ", + self.rel_path.display(), + self.text + ) + .expect("Infallible"); + + // Make sure the last char is a newline to not mess up formatting later + if !md.ends_with('\n') { + md.push('\n') + } + + md.push('\n'); + } + + /// Whether or not this type of license requires acknowledgement + pub fn needs_acknowledgement(&self) -> bool { + self.ty.needs_acknowledgement() + } +} + +/// The full range of included licenses +/// +/// Disclaimer: I am not a lawyer +#[derive(Clone, Copy, Debug, Deserialize, Serialize, Hash, PartialEq, Eq, PartialOrd, Ord)] +#[non_exhaustive] +pub enum LicenseType { + /// Sublime's custom license + /// + /// ```text + /// Permission to copy, use, modify, sell and distribute this + /// software is granted. This software is provided "as is" without + /// express or implied warranty, and with no claim as to its + /// suitability for any purpose. + /// ``` + Sublime, + /// [MIT License](https://choosealicense.com/licenses/mit/) + Mit, + /// [BSD 2-Clause License](https://choosealicense.com/licenses/bsd-2-clause/) + Bsd2Clause, + // TODO: what is the distinction here from the other BSD 2-Clause license? + Bsd2ClauseFreeBsd, + /// [The Unlicense](https://choosealicense.com/licenses/unlicense/) + Unlicense, + /// [BSD 3-Clause License](https://choosealicense.com/licenses/bsd-3-clause/) + Bsd3Clause, + /// [Apache License 2.0](https://choosealicense.com/licenses/apache-2.0/) + Apache2, + /// [Do What The F*ck You Want To Public License](https://choosealicense.com/licenses/wtfpl/) + Wtfpl, +} + +impl LicenseType { + /// Whether or not the license requires acknowledgement + /// + /// ``` + /// use two_face::acknowledgement::LicenseType; + /// + /// assert!(LicenseType::Mit.needs_acknowledgement()); + /// assert!(!LicenseType::Wtfpl.needs_acknowledgement()); + /// ``` + pub fn needs_acknowledgement(&self) -> bool { + match self { + Self::Mit + | Self::Bsd2Clause + | Self::Bsd2ClauseFreeBsd + | Self::Bsd3Clause + | Self::Apache2 => true, + Self::Sublime | Self::Unlicense | Self::Wtfpl => false, + } + } +} + +/// Holds all the license information for embedded syntaxes and themes +#[derive(Clone, Debug, Deserialize, Serialize, Hash, PartialEq, Eq, PartialOrd, Ord)] +pub struct Acknowledgements { + pub(crate) for_syntaxes: Vec, + pub(crate) for_themes: Vec, +} + +const BAT_ACK: &str = "\ +Most of the code for generating both theme and syntax dumps along with the +curation of said themes and syntaxes is taken from the +[`bat` project](https://github.com/sharkdp/bat). +"; + +impl Acknowledgements { + /// Display the license information as Markdown + /// + /// _Note: A full set of acknowledgements is posted for each version at the URL returned by + /// [`two_face::acknowledgement::url()`][crate::acknowledgement::url]_ + /// + /// The output looks roughly as follows + /// + /// ```md + /// Most of the code for generating both theme and syntax dumps along with the + /// curation of said themes and syntaxes is taken from the + /// [`bat` project](https://github.com/sharkdp/bat). + /// + /// # Syntaxes + /// + ///
+ /// syntaxes/01_Packages/Rust/LICENSE.txt + /// + /// ...Elided license text... + ///
+ /// + /// ... + /// + /// # Themes + /// + ///
+ /// themes/1337-Scheme/LICENSE + /// + /// ...Elided license text... + ///
+ /// ``` + /// + /// ... + pub fn to_md(&self) -> String { + let mut md = String::from(BAT_ACK); + + if !self.for_syntaxes.is_empty() { + md.write_str("\n# Syntaxes\n\n").expect("Infallible"); + for license in &self.for_syntaxes { + license.write_md(&mut md); + } + } + + if !self.for_themes.is_empty() { + md.write_str("# Themes\n\n").expect("Infallible"); + for license in &self.for_themes { + license.write_md(&mut md); + } + } + + md + } +} diff --git a/crates/diffs-two-face/src/acknowledgement/mod.rs b/crates/diffs-two-face/src/acknowledgement/mod.rs new file mode 100644 index 0000000..b10361a --- /dev/null +++ b/crates/diffs-two-face/src/acknowledgement/mod.rs @@ -0,0 +1,43 @@ +//! Contains acknowledgements for embedded data and all of their associated types + +mod core_types; +pub use core_types::{Acknowledgements, License, LicenseType}; + +impl Acknowledgements { + /// Returns all of the acknowledgements specifically for embedded syntax definitions + pub fn for_syntaxes(&self) -> &[License] { + &self.for_syntaxes + } + + /// Returns all of the acknowledgements specifically for embedded theme definitions + pub fn for_themes(&self) -> &[License] { + &self.for_themes + } +} + +/// Returns all the [`Acknowledgements`] for embedded data +pub fn listing() -> Acknowledgements { + syntect::dumps::from_binary(include_bytes!("../../generated/acknowledgements_full.bin",)) +} + +/// Returns a link to a page listing acknowledgements for all syntax and theme definitions +/// +/// Unlike the embedded acknowledgements which only include the licenses which _require_ +/// acknowledgement this listing contains _all_ of the licenses of the syntaxes and themes included +/// with this crate. All without having to bundle the acknowledgement info into your final binary! +/// +/// ``` +/// assert_eq!( +/// two_face::acknowledgement::url(), +/// "https://codeberg.org/CosmicHarper/two-face/src/tag/v0.5.2+bat-0.26.1/generated/acknowledgements_full.md" +/// ); +/// ``` +pub const fn url() -> &'static str { + concat!( + "https://codeberg.org/CosmicHarper/two-face/src/tag/v", + // diffs-two-face: the fork's package version differs from the upstream release + // whose data it embeds, so the upstream version is spelled out. + "0.5.2+bat-0.26.1", + "/generated/acknowledgements_full.md", + ) +} diff --git a/crates/diffs-two-face/src/lib.rs b/crates/diffs-two-face/src/lib.rs new file mode 100644 index 0000000..acb7617 --- /dev/null +++ b/crates/diffs-two-face/src/lib.rs @@ -0,0 +1,225 @@ +//! Dedicated to chasing the [`bat` man](https://github.com/sharkdp) +//! +//! Extra syntax and theme definitions for +//! [`syntect`] including many common ones +//! that are missing from the default set like TOML, TypeScript, and Dockerfile. +//! Curated by the [`bat` Project](https://github.com/sharkdp/bat) +//! +//! You can think of this crate like a bundle `bat`'s `syntaxes.bin` and +//! `themes.bin` files, but with proper versioning, dependency tracking, and +//! feature flags with some extra functionality sprinkled in too +//! +//! ## Example +//! +//! The following +//! +//! ```cmd +//! $ cargo add two-face --features syntect-default-onig +//! ``` +//! +//! ``` +//! use two_face::re_exports::syntect; +//! +//! const TOML_TEXT: &str = "\ +//! [section] +//! key = 123 +//! "; +//! +//! fn main() { +//! let syn_set = two_face::syntax::extra_newlines(); +//! let theme_set = two_face::theme::extra(); +//! +//! let syn_ref = syn_set.find_syntax_by_extension("toml").unwrap(); +//! let theme = &theme_set[two_face::theme::EmbeddedThemeName::Nord]; +//! let htmlified = syntect::html::highlighted_html_for_string( +//! TOML_TEXT, +//! &syn_set, +//! syn_ref, +//! theme +//! ).unwrap(); +//! +//! // Where `htmlified` displays as vv +//! # assert_eq!(htmlified, "
\n[section]\nkey = 123\n
\n"); +//! } +//! ``` +//! +//! where `htmlified` is +//! +//! ```html +//!
+//! [section]
+//! key = 123
+//! 
+//! ``` +//! +//! which renders as +//! +//!
+//! [section]
+//! key = 123
+//! 
+//! +//! +//! ## Feature Flags +//! +//! The feature flags are divided by `syntect`'s underlying regex implementation +//! with [`Oniguruma`](https://github.com/kkos/oniguruma) aka `onig` being the +//! default and [`fancy-regex`](https://github.com/fancy-regex/fancy-regex) aka +//! `fancy` as an alternative pure-Rust implementation. `fancy`: however, doesn't +//! support all of the features used by some of the syntax definitions, so some of +//! the definitions are excluded when `fancy` is selected\* to keep the regex +//! compilation infallible. This means that it's important to match whichever regex +//! implementation `syntect` is using +//! +//! _\* This is also why fancy's bundled syntax definitions are smaller than onig's_ +//! +//! default: `syntect-onig` +//! +//! | Feature | Desc. | +//! | :---: | :--- | +//! | `syntect-onig` / `syntect-fancy` | Enables the minimal feature set that we require from `syntect` | +//! | `syntect-default-onig` / `syntect-default-fancy` | The minimal feature sets along with `syntect`'s default feature set (useful when using the `syntect` re-export) | +//! +//! ## Embedded Asset Sizes +//! +//! This crate embeds some reasonably large assets in the final binary in order to +//! work. Luckily the linker is smart enough to discard unused assets, so you +//! generally only pay for what you use +//! +//! For reference here are the sizes associated with their different functions +//! +//! | function | `two-face` (KiB) | `syntect` (KiB) | +//! | ---: | ---: | ---: | +//! | [`acknowledgement::listing()`] | 11 | - | +//! | [`syntax::extra_newlines()`] (onig) | 961 | 360 | +//! | ^^ (fancy) | 937 | ^^ | +//! | [`syntax::extra_no_newlines()`] (onig) | 959 | 359 | +//! | ^^ (fancy) | 935 | ^^ | +//! | [`theme::extra()`] | 61 | 5 | +//! +//! In short the syntax definitions are the real chonky part, and if you're +//! switching from `syntect` to `two-face`, then you can expect a ~0.6MiB increase +//! in binary size from them (in exchange for _a lot_ of syntax definitions) +//! +//! ## Syntaxes +//! +//! The full listing of all syntaxes included in [`syntax`] +//! +//! - \* Excluded when using the `fancy-regex` implementation +//! - † Included in `syntect`'s bundled defaults +//! +//! | | Syntax Definition | +//! | :---: | :---: | +//! | A | ActionScript†, Ada, Apache Conf, AppleScript†, AsciiDoc, ASP†, ARM Assembly\*, Assembly (x86\_64), AWK | +//! | B | Bash†, Batch File†, BibTeX† | +//! | C | C†, C#†, C++†, Cabal, CFML, Clojure†, CMake, CoffeeScript, Crontab, Crystal, CSS†, CSV† | +//! | D | D†, Dart, debsources, Dockerfile, DotENV, Diff† | +//! | E | Elixir, Elm, Email, Erlang† | +//! | F | F#, Fish, Fortran | +//! | G | GDScript (Godot Engine), Git (commit, config, ignore, etc.)†, GLSL, Go†, GraphQL, Graphviz (DOT)†, Groff/troff†, Groovy† | +//! | H | Haskell†, HTML† | +//! | I | Idris, INI | +//! | J | Java†, Javadoc†, Java Server Page (JSP)†, JavaScript†, JavaScript (Babel)\*, Jinja2, JQ, JSON†, Julia | +//! | K | Kotlin | +//! | L | LaTeX†, LaTeX Log†, Lean, LESS, Lisp†, Literate Haskell†, LiveScript\*, LLVM, Lua† | +//! | M | Makefile†, Manpage, Markdown†, MATLAB†, Mediawiki, MultiMarkdown† | +//! | N | NAnt Build File†, Nginx, Nim, Ninja, Nix, NSIS | +//! | O | Objective-C†, Objective-C++†, OCaml†, OCamllex†, OCamlyacc†, Odin, Org Mode | +//! | P | Pascal†, Perl†, PHP†, PowerShell\*, Protobuf, Puppet, PureScript, Python† | +//! | Q | QML | +//! | R | R†, Racket, Rd†, Rego, Regular Expression†, Requirements.txt, reStructuredText†, Robot Framework, Ruby†, Ruby Haml†, Ruby on Rails†, Ruby Slim, Rust† | +//! | S | Sass\*, Scala†, SCSS, Salt State SLS\*, SML, Solidity, SQL†, Strace, Stylus, Svelte, Swift, SystemVerilog | +//! | T | Tcl†, Terraform, TeX†, Textile†, Todo.txt, TOML, TypeScript, TypescriptReact, Typst | +//! | V | Varlink, Verilog, VHDL, VimL, Vue, Vyper | +//! | W | WGSL | +//! | X | XML† | +//! | Y | YAML† | +//! | Z | Zig | +//! +//! ## Themes +//! +//! _Note: For visual examples of all of the embedded themes look at the docs for +//! [`theme::EmbeddedThemeName`]_ +//! +//! The full listing of themes provided by [`theme`]. Many of these themes +//! only make sense situationally, so you'll likely want to only expose a subset +//! +//! - † Included in `syntect`'s bundled defaults +//! +//! | | Theme | +//! | :---: | :---: | +//! | 1 | 1337 (aka leet) | +//! | A | Ansi | +//! | B | Base16, Base16-256, Base16-Eighties (dark)†, Base16-Mocha (dark)†, Base16-Ocean (light/dark)† | +//! | C | Catppuccin (frappe, latte, macchiato, mocha), Coldark (cold/dark aka light/dark) | +//! | D | DarkNeon, Dracula | +//! | G | GitHub, gruvbox (light/dark) | +//! | I | InspiredGitHub† | +//! | M | Monokai Extended (plain, bright, light, and origin) | +//! | N | Nord | +//! | O | One Half (light/dark) | +//! | S | Solarized (light/dark)†, Sublime Snazzy | +//! | T | TwoDark | +//! | Z | Zenburn | +//! +//! ## Legal +//! +//! The embedded syntax definitions and assets also have their own licenses which +//! are compiled into +//! [this markdown file](https://codeberg.org/CosmicHarper/two-face/src/branch/main/generated/acknowledgements_full.md) +//! along with programmatic in the [`acknowledgement`] module + +#[cfg(doctest)] +#[doc = include_str!("../README.md")] +pub struct ReadmeDoctests; + +pub mod acknowledgement; +pub mod syntax; +pub mod theme; + +/// Dependency re-exports for user's convenience +/// +/// # `syntect` +/// +/// By default `two-face` uses the minimal feature set from `syntect` required for things to work, +/// but the default features can be toggled on with the `syntect-default-onig` and +/// `syntect-default-fancy` feature flags (depending on which syntect regex implementation you're +/// using). If you need more granular features than the ones provided then you should probably +/// depend directly on `syntect` instead +pub mod re_exports { + pub use syntect; +} + +// Compile error if we're using syntaxes without setting fancy vs onig +#[cfg(not(any(feature = "syntect-onig", feature = "syntect-fancy")))] +compile_error!( + r#"You must set either the `syntect-onig` or `syntect-fancy` feature matching the regex +implementation that you're using for `syntect`. `syntect` and `two-face` both default to onig along +with using it if both are present, so you have to use `default-features = false` if you want to use +`fancy-regex`. E.g. + +# `onig` based +[dependencies] +syntect = ... +two-face = ... + +or + +# `fancy-regex` based +[dependencies] +syntect = { version = ..., default-features = false, features = ["default-fancy"] +two-face = { version = ..., default-features = false, features = ["syntect-fancy"] }"# +); + +// TODO: add more extensive tests later +#[cfg(test)] +mod tests { + // The serialized data is in the right structure + #[test] + fn sanity() { + super::acknowledgement::listing(); + super::syntax::extra_newlines(); + super::syntax::extra_no_newlines(); + super::theme::extra(); + } +} diff --git a/crates/diffs-two-face/src/syntax.rs b/crates/diffs-two-face/src/syntax.rs new file mode 100644 index 0000000..43dfcaa --- /dev/null +++ b/crates/diffs-two-face/src/syntax.rs @@ -0,0 +1,43 @@ +//! Contains extra syntax definitions + +use syntect::{dumps, parsing::SyntaxSet}; + +/// Akin to [`SyntaxSet::load_defaults_nonewlines()`], but with extra syntax definitions +/// +/// # Example +/// +/// ``` +/// // TOML and TypeScript and Dockerfiles oh my! +/// let syn_set = two_face::syntax::extra_no_newlines(); +/// let toml = syn_set.find_syntax_by_name("TOML").unwrap(); +/// let type_script = syn_set.find_syntax_by_name("TypeScript").unwrap(); +/// let dockerfile = syn_set.find_syntax_by_name("Dockerfile").unwrap(); +/// ``` +pub fn extra_no_newlines() -> SyntaxSet { + #[cfg(feature = "syntect-onig")] + let bytes = include_bytes!("../generated/syntaxes-onig-no-newlines.bin"); + #[cfg(not(feature = "syntect-onig"))] + let bytes = include_bytes!("../generated/syntaxes-fancy-no-newlines.bin"); + + dumps::from_uncompressed_data(bytes).unwrap() +} + +/// Akin to [`SyntaxSet::load_defaults_newlines()`], but with extra syntax definitions +/// +/// # Example +/// +/// ``` +/// // TOML and TypeScript and Dockerfiles oh my! +/// let syn_set = two_face::syntax::extra_newlines(); +/// let toml = syn_set.find_syntax_by_name("TOML").unwrap(); +/// let type_script = syn_set.find_syntax_by_name("TypeScript").unwrap(); +/// let dockerfile = syn_set.find_syntax_by_name("Dockerfile").unwrap(); +/// ``` +pub fn extra_newlines() -> SyntaxSet { + #[cfg(feature = "syntect-onig")] + let bytes = include_bytes!("../generated/syntaxes-onig-newlines.bin"); + #[cfg(not(feature = "syntect-onig"))] + let bytes = include_bytes!("../generated/syntaxes-fancy-newlines.bin"); + + dumps::from_uncompressed_data(bytes).unwrap() +} diff --git a/crates/diffs-two-face/src/theme/core_types.rs b/crates/diffs-two-face/src/theme/core_types.rs new file mode 100644 index 0000000..1b361a8 --- /dev/null +++ b/crates/diffs-two-face/src/theme/core_types.rs @@ -0,0 +1,131 @@ +use std::{collections::BTreeMap, sync::OnceLock}; + +use serde_derive::{Deserialize, Serialize}; +use syntect::{ + dumps::{dump_binary, from_binary}, + highlighting::{Theme, ThemeSet}, +}; + +/// A [`ThemeSet`] that lazily deserializes/decompresses a single theme at a time +/// +/// This pattern is already actually used by [`syntect::parsing::SyntaxSet`] which +/// deserializes/decompresses syntaxes on demand. Doing this has the benefit of lowering load times +/// when you're only using a few themes at the expense of slightly larger embedded size due to +/// worse compression +/// +/// # Example +/// +/// For convenience you can easily convert between a [`LazyThemeSet`] and a [`ThemeSet`] +/// +/// ``` +/// use two_face::theme::{extra, LazyThemeSet}; +/// +/// let theme_set: LazyThemeSet = LazyThemeSet::from(extra()); +/// let syntect_theme_set = syntect::highlighting::ThemeSet::from(&theme_set); +/// ``` +#[derive(Serialize, Deserialize)] +pub struct LazyThemeSet { + // Can't be public since people can tweak `LazyTheme`'s internal data to get deserialization to + // fail + pub(crate) themes: BTreeMap, +} + +impl LazyThemeSet { + /// Access a single theme from the set + /// + /// Calling this multiple times for the same theme will only deserialize and decompress the + /// theme once + /// + /// # Example + /// + /// ``` + /// use two_face::theme::{extra, LazyThemeSet}; + /// + /// let theme_set = LazyThemeSet::from(extra()); + /// // Loads the theme + /// let nord1 = theme_set.get("Nord").unwrap(); + /// // Reuses the same loaded theme + /// let nord2 = theme_set.get("Nord").unwrap(); + /// ``` + pub fn get(&self, name: &str) -> Option<&Theme> { + self.themes.get(name).map(|lazy_theme| { + lazy_theme + .deserialized + .get_or_init(|| lazy_theme.deserialize()) + }) + } + + /// Iterate over all the theme names included in the set + /// + /// # Example + /// + /// ``` + /// use two_face::theme::{extra, LazyThemeSet}; + /// + /// let theme_set = LazyThemeSet::from(extra()); + /// // Nord should be included + /// assert!(theme_set.theme_names().find(|&name| name == "Nord").is_some()); + /// ``` + // TODO: use a nameable iterator here + pub fn theme_names(&self) -> impl Iterator { + self.themes.keys().map(|name| name.as_str()) + } +} + +impl From<&ThemeSet> for LazyThemeSet { + fn from(full_themes: &ThemeSet) -> Self { + let themes = full_themes + .themes + .iter() + .map(|(name, theme)| (name.to_owned(), theme.into())) + .collect(); + Self { themes } + } +} + +impl From<&LazyThemeSet> for ThemeSet { + fn from(lazy_themes: &LazyThemeSet) -> Self { + let themes = lazy_themes + .themes + .iter() + .map(|(name, lazy)| (name.to_owned(), lazy.into())) + .collect(); + Self { themes } + } +} + +impl From for ThemeSet { + fn from(lazy: LazyThemeSet) -> Self { + (&lazy).into() + } +} + +#[derive(Serialize, Deserialize)] +pub(crate) struct LazyTheme { + serialized: Vec, + + #[serde(skip, default)] + deserialized: OnceLock, +} + +impl LazyTheme { + fn deserialize(&self) -> Theme { + from_binary(&self.serialized) + } +} + +impl From<&LazyTheme> for Theme { + fn from(lazy: &LazyTheme) -> Self { + lazy.deserialize() + } +} + +impl From<&Theme> for LazyTheme { + fn from(theme: &Theme) -> Self { + let serialized = dump_binary(theme); + Self { + serialized, + deserialized: OnceLock::new(), + } + } +} diff --git a/crates/diffs-two-face/src/theme/mod.rs b/crates/diffs-two-face/src/theme/mod.rs new file mode 100644 index 0000000..31ce549 --- /dev/null +++ b/crates/diffs-two-face/src/theme/mod.rs @@ -0,0 +1,618 @@ +//! Contains extra theme definitions and the [`LazyThemeSet`] type +//! +//! The extra themes are provided in an [`EmbeddedLazyThemeSet`] which is just a newtype around a +//! [`LazyThemeSet`], but with an exhastive enumeration of its themes through the +//! [`EmbeddedThemeName`] enum +//! +//! _Note: For visual examples of all of the embedded themes look at the docs for +//! [`EmbeddedThemeName`]_ + +mod core_types; + +use std::{fmt, ops::Index}; + +pub use core_types::LazyThemeSet; + +use syntect::highlighting::{Theme, ThemeSet}; + +/// Returns an [`EmbeddedLazyThemeSet`] with more popular theme definitions +/// +/// These themes cover a variety of use-cases, so it's very likely that you'll only want to expose +/// a subset or tweak the values for specific themes depending on your usage. E.g. +/// `EmbeddedThemeName::{Ansi, Base16, Base16_256}` are all terminal related themes, +/// `EmbeddedThemeName::InspiredGithub` uses a full-white background which wouldn't be a good fit +/// for a static site generator, etc. +/// +/// # Example +/// +/// ``` +/// use two_face::theme::{extra, EmbeddedThemeName}; +/// +/// let theme_set = extra(); +/// let nord = theme_set.get(EmbeddedThemeName::Nord); +/// ``` +pub fn extra() -> EmbeddedLazyThemeSet { + let theme_set = + syntect::dumps::from_uncompressed_data(include_bytes!("../../generated/themes.bin")) + .unwrap(); + EmbeddedLazyThemeSet(theme_set) +} + +/// A [`LazyThemeSet`] where we know all of the themes that are included +pub struct EmbeddedLazyThemeSet(LazyThemeSet); + +impl EmbeddedLazyThemeSet { + /// Gets a single theme from the set + /// + /// An infallible version of [`LazyThemeSet::get()`] + /// + /// # Example + /// + /// ``` + /// use two_face::theme::{extra, EmbeddedThemeName}; + /// + /// let theme_set = extra(); + /// // Loads the theme + /// let nord1 = theme_set.get(EmbeddedThemeName::Nord); + /// // Reuses the same loaded theme + /// let nord2 = theme_set.get(EmbeddedThemeName::Nord); + /// ``` + pub fn get(&self, name: EmbeddedThemeName) -> &Theme { + self.0.get(name.as_name()).unwrap() + } + + /// A listing of all the themes included in [`EmbeddedLazyThemeSet`] + /// + /// # Example + /// + /// ``` + /// use two_face::theme::{EmbeddedThemeName, EmbeddedLazyThemeSet}; + /// + /// // Nord should be included + /// assert!(EmbeddedLazyThemeSet::theme_names().contains(&EmbeddedThemeName::Nord)); + /// ``` + pub fn theme_names() -> &'static [EmbeddedThemeName] { + &[ + EmbeddedThemeName::Ansi, + EmbeddedThemeName::Base16, + EmbeddedThemeName::Base16EightiesDark, + EmbeddedThemeName::Base16MochaDark, + EmbeddedThemeName::Base16OceanDark, + EmbeddedThemeName::Base16OceanLight, + EmbeddedThemeName::Base16_256, + EmbeddedThemeName::CatppuccinFrappe, + EmbeddedThemeName::CatppuccinLatte, + EmbeddedThemeName::CatppuccinMacchiato, + EmbeddedThemeName::CatppuccinMocha, + EmbeddedThemeName::ColdarkCold, + EmbeddedThemeName::ColdarkDark, + EmbeddedThemeName::DarkNeon, + EmbeddedThemeName::Dracula, + EmbeddedThemeName::Github, + EmbeddedThemeName::GruvboxDark, + EmbeddedThemeName::GruvboxLight, + EmbeddedThemeName::InspiredGithub, + EmbeddedThemeName::Leet, + EmbeddedThemeName::MonokaiExtended, + EmbeddedThemeName::MonokaiExtendedBright, + EmbeddedThemeName::MonokaiExtendedLight, + EmbeddedThemeName::MonokaiExtendedOrigin, + EmbeddedThemeName::Nord, + EmbeddedThemeName::OneHalfDark, + EmbeddedThemeName::OneHalfLight, + EmbeddedThemeName::SolarizedDark, + EmbeddedThemeName::SolarizedLight, + EmbeddedThemeName::SublimeSnazzy, + EmbeddedThemeName::TwoDark, + EmbeddedThemeName::Zenburn, + ] + } +} + +impl From for LazyThemeSet { + fn from(embedded: EmbeddedLazyThemeSet) -> Self { + embedded.0 + } +} + +impl From<&EmbeddedLazyThemeSet> for ThemeSet { + fn from(embedded: &EmbeddedLazyThemeSet) -> Self { + Self::from(&embedded.0) + } +} + +impl From for ThemeSet { + fn from(embedded: EmbeddedLazyThemeSet) -> Self { + (&embedded).into() + } +} + +impl Index for EmbeddedLazyThemeSet { + type Output = Theme; + + fn index(&self, theme_name: EmbeddedThemeName) -> &Self::Output { + self.get(theme_name) + } +} + +// NOTE: doc comment HTML is copied from the tests/docs_watchdog/theme.rs tests +/// An enum that represents all themes included in [`EmbeddedLazyThemeSet`] +/// +/// A demo is included for how each theme highlights the following Julia snippet adapted from the +/// Julia _Getting Started_ manual +/// +/// ```julia +/// # sends a variety of values over a channel +/// function producer(c::Channel) +/// for n=1:4 +/// put!(c, 2n) +/// end +/// put!(c, "stop") +/// end; +/// ``` +#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)] +#[cfg_attr(test, derive(strum::EnumIter))] +pub enum EmbeddedThemeName { + /// ANSI + /// + /// _Doesn't display as HTML well_ + Ansi, + /// Base16 + /// + /// _Doesn't display as HTML well_ + Base16, + /// Base16 Eighties Dark + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Base16EightiesDark, + /// Base16 Mocha Dark Theme + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Base16MochaDark, + /// Base16 Ocean Dark + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Base16OceanDark, + /// Base16 Ocean Light + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Base16OceanLight, + /// Base16 256 + /// + /// _Doesn't display as HTML well_ + Base16_256, + /// Catppuccin Frappe + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ CatppuccinFrappe, + /// Catppuccin Latte + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ CatppuccinLatte, + /// Catppuccin Macchiato + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ CatppuccinMacchiato, + /// Catppuccin Mocha + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ CatppuccinMocha, + /// Coldark-Cold + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ ColdarkCold, + /// Coldark-Dark + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ ColdarkDark, + /// Dark Neon + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ DarkNeon, + /// Dracula + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Dracula, + /// GitHub + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Github, + /// gruvbox (Dark) + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ GruvboxDark, + /// gruvbox (Light) + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ GruvboxLight, + /// Inspired GitHub + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ InspiredGithub, + /// 1337 + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Leet, + /// Monokai Extended + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ MonokaiExtended, + /// Monokai Extended Bright + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ MonokaiExtendedBright, + /// Monokai Extended Light + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ MonokaiExtendedLight, + /// Monokai Extended Origin + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ MonokaiExtendedOrigin, + /// Nord + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Nord, + /// One Half Dark + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ OneHalfDark, + /// One Half Light + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ OneHalfLight, + /// Solarized (dark) + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ SolarizedDark, + /// Solarized (light) + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ SolarizedLight, + /// Sublime Snazzy + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ SublimeSnazzy, + /// TwoDark + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ TwoDark, + /// zenburn + /// + ///
+    /// # sends a variety of values over a channel
+    /// function producer(c::Channel)
+    ///     for n=1:4
+    ///         put!(c, 2n)
+    ///     end
+    ///     put!(c, "stop")
+    /// end;
+    /// 
+ Zenburn, +} + +impl EmbeddedThemeName { + /// The name of each embedded theme + /// + /// This matches the key used for each theme in [`ThemeSet`]'s `themes` + /// + /// ``` + /// use two_face::theme::EmbeddedThemeName; + /// + /// assert_eq!( + /// EmbeddedThemeName::Leet.as_name(), + /// "1337", + /// ); + /// // `.as_name()` is used for `Display` too! + /// assert_eq!( + /// EmbeddedThemeName::SolarizedDark.to_string(), + /// "Solarized (dark)", + /// ); + /// ``` + pub fn as_name(self) -> &'static str { + match self { + Self::Ansi => "ansi", + Self::Base16 => "base16", + Self::Base16EightiesDark => "base16-eighties.dark", + Self::Base16MochaDark => "base16-mocha.dark", + Self::Base16OceanDark => "base16-ocean.dark", + Self::Base16OceanLight => "base16-ocean.light", + Self::Base16_256 => "base16-256", + Self::CatppuccinFrappe => "Catppuccin Frappe", + Self::CatppuccinLatte => "Catppuccin Latte", + Self::CatppuccinMacchiato => "Catppuccin Macchiato", + Self::CatppuccinMocha => "Catppuccin Mocha", + Self::ColdarkCold => "Coldark-Cold", + Self::ColdarkDark => "Coldark-Dark", + Self::DarkNeon => "DarkNeon", + Self::Dracula => "Dracula", + Self::Github => "GitHub", + Self::GruvboxDark => "gruvbox-dark", + Self::GruvboxLight => "gruvbox-light", + Self::InspiredGithub => "InspiredGitHub", + Self::Leet => "1337", + Self::MonokaiExtended => "Monokai Extended", + Self::MonokaiExtendedBright => "Monokai Extended Bright", + Self::MonokaiExtendedLight => "Monokai Extended Light", + Self::MonokaiExtendedOrigin => "Monokai Extended Origin", + Self::Nord => "Nord", + Self::OneHalfDark => "OneHalfDark", + Self::OneHalfLight => "OneHalfLight", + Self::SolarizedDark => "Solarized (dark)", + Self::SolarizedLight => "Solarized (light)", + Self::SublimeSnazzy => "Sublime Snazzy", + Self::TwoDark => "TwoDark", + Self::Zenburn => "zenburn", + } + } +} + +impl fmt::Display for EmbeddedThemeName { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(self.as_name()) + } +} + +#[cfg(test)] +mod tests { + use std::collections::BTreeSet; + + use super::*; + + use strum::IntoEnumIterator; + + #[test] + fn theme_set_roundtrip() { + let theme_set: ThemeSet = extra().into(); + let lazy: LazyThemeSet = (&theme_set).into(); + let theme_set_again: ThemeSet = lazy.into(); + let eq = theme_set + .themes + .into_iter() + .zip(theme_set_again.themes.into_iter()) + .all(|(pair1, pair2)| pair1 == pair2); + assert!(eq); + } + + #[test] + fn embedded_theme_is_exhaustive() { + let theme_set = extra(); + for theme_name in EmbeddedThemeName::iter() { + println!("Getting: {:?}", theme_name); + let _ = theme_set.get(theme_name); + } + + assert_eq!(theme_set.0.themes.len(), EmbeddedThemeName::iter().len()); + assert_eq!( + EmbeddedLazyThemeSet::theme_names().len(), + EmbeddedThemeName::iter().len() + ); + + let all_unique: BTreeSet<_> = EmbeddedLazyThemeSet::theme_names().iter().collect(); + assert_eq!(all_unique.len(), EmbeddedLazyThemeSet::theme_names().len()); + } +} diff --git a/docs/history/FIRST_VISIT_HIGHLIGHTING_PLAN.md b/docs/history/FIRST_VISIT_HIGHLIGHTING_PLAN.md index 7858afc..e6b3831 100644 --- a/docs/history/FIRST_VISIT_HIGHLIGHTING_PLAN.md +++ b/docs/history/FIRST_VISIT_HIGHLIGHTING_PLAN.md @@ -52,10 +52,10 @@ It excludes unrelated indexing and renderer optimization. | `src/highlight.rs`: `Side::advance` | The timer surrounds `ParseState::parse_line`. Old and new sides advance separately. | The timer includes initialization encountered during parsing, but excludes initial `Side::new` work. | | `src/highlight.rs`: `start` | One worker resumes a compatible continuation or restores a checkpoint before replay. | A first unseen prefix still needs its supplied syntax context. | | `src/highlight/checkpoint.rs`: `SavedSide`, `set_epoch` | Saved data contains parser state, scope state, and validity. Identity also includes theme and epoch. | Theme-independent state reuse is a separate possible change. | -| `vendor/syntect/src/parsing/syntax_set.rs`: `SyntaxReference::lazy_contexts` | A `OnceCell` initializer deserializes contexts and shares exact patterns. | Measure actual initialization, including work before the first parser call. | -| `vendor/syntect/src/parsing/regex.rs`: `Regex::regex` | A `OnceCell` initializer prepares an outer regex. | Measure initialization inside the closure, not every cache access. | -| `vendor/syntect/src/parsing/syntax_definition.rs`: `MatchPattern::regex_with_refs` | Captured delimiters construct source-dependent regexes. | Initialization can repeat. It is not always a one-time grammar cost. | -| `vendor/fancy-regex/src/engine_cache.rs`: `EngineCache::compile` | An outer regex can reuse a compiled inner engine. | An outer initialization count is not a count of new inner engines. | +| `crates/diffs-syntect/src/parsing/syntax_set.rs`: `SyntaxReference::lazy_contexts` | A `OnceCell` initializer deserializes contexts and shares exact patterns. | Measure actual initialization, including work before the first parser call. | +| `crates/diffs-syntect/src/parsing/regex.rs`: `Regex::regex` | A `OnceCell` initializer prepares an outer regex. | Measure initialization inside the closure, not every cache access. | +| `crates/diffs-syntect/src/parsing/syntax_definition.rs`: `MatchPattern::regex_with_refs` | Captured delimiters construct source-dependent regexes. | Initialization can repeat. It is not always a one-time grammar cost. | +| `crates/diffs-fancy-regex/src/engine_cache.rs`: `EngineCache::compile` | An outer regex can reuse a compiled inner engine. | An outer initialization count is not a count of new inner engines. | | `src/highlight.rs`: `Mailbox::publish` | A bounded reply queue wakes the UI and waits for capacity. | Publication time includes downstream pressure. Observer delays need separate treatment. | ## Step 1: add only the missing attribution diff --git a/docs/history/OWNER_CENSUS_REPORT.md b/docs/history/OWNER_CENSUS_REPORT.md index 34bc1ae..94e4fd3 100644 --- a/docs/history/OWNER_CENSUS_REPORT.md +++ b/docs/history/OWNER_CENSUS_REPORT.md @@ -151,4 +151,4 @@ unpromoted; previous coloring delays and physical terminal verification remain o - [Declaration](../../evidence/owner-census-v1/PLAN.md), [offline audit](../../evidence/owner-census-v1/audit.json), and [audit program](../../evidence/owner-census-v1/audit.py). - [Raw observations and process record](../../evidence/owner-census-v1/census/process/process.json), [bound run inputs](../../evidence/owner-census-v1/census/declaration.json), and [completed controls](../../evidence/owner-census-v1/controls-3/report.json). - Ordinary control `18177558…` and diagnostic `81962762…`, each preserved with its exact source package under `evidence/owner-census-v1/`. The earlier ordinary `da5754e8…` executable is unchanged. -- [Application feature](../../src/owner_census.rs), [borrowed engine inspection](../../vendor/fancy-regex/src/owner_census.rs), and [vendor provenance](../../vendor/fancy-regex/NATIVE_DIFF_PATCH.md). +- [Application feature](../../src/owner_census.rs), [borrowed engine inspection](../../crates/diffs-fancy-regex/src/owner_census.rs), and [vendor provenance](../../crates/diffs-fancy-regex/PATCHES.md). diff --git a/docs/history/REGEX_MEMORY.md b/docs/history/REGEX_MEMORY.md index cbab5d6..43601c6 100644 --- a/docs/history/REGEX_MEMORY.md +++ b/docs/history/REGEX_MEMORY.md @@ -14,7 +14,7 @@ The lifetime review traced source-derived regexes through the actual parser: eac All 16 native-diff runtime Rust and palette files match the pre-change archive. Source storage, projection, pairing, reading anchors, event delivery, and fallback thresholds are unchanged. The root lockfile changes only Syntect's source to the vendored package; it updates no other dependency. -The [dependency patch note](../../vendor/syntect/NATIVE_DIFF_PATCH.md) records provenance, ownership, clone/serialization behavior, and test inputs. This adds a small local dependency-maintenance obligation; it is not an upstream release. +The [dependency patch note](../../crates/diffs-syntect/PATCHES.md) records provenance, ownership, clone/serialization behavior, and test inputs. This adds a small local dependency-maintenance obligation; it is not an upstream release. ## Correctness evidence diff --git a/docs/history/RETAINED_MEMORY_REPORT.md b/docs/history/RETAINED_MEMORY_REPORT.md index cd255df..e55acaf 100644 --- a/docs/history/RETAINED_MEMORY_REPORT.md +++ b/docs/history/RETAINED_MEMORY_REPORT.md @@ -22,16 +22,16 @@ The worker owns one syntax set for its lifetime. Each initialized grammar keeps its contexts; those contexts strongly own shared compiled patterns. The sharing registry holds weak references, so it is not independently keeping compiled engines alive. Source: [worker](../../src/highlight.rs:292), -[grammar initialization](../../vendor/syntect/src/parsing/syntax_set.rs:483), -[compiled owner](../../vendor/syntect/src/parsing/regex.rs:16). +[grammar initialization](../../crates/diffs-syntect/src/parsing/syntax_set.rs:483), +[compiled owner](../../crates/diffs-syntect/src/parsing/regex.rs:16). One outer pattern can contain several inner matching engines. Each inner engine retains both immutable matching structures and a pool of reusable search state. Dropping a search guard returns that state to the pool. A stable outer-pattern count therefore does not imply stable memory. Conversely, Syntect's per-line `SearchCache` and source-derived backreference expressions are temporary, not -persistent collections. See [per-line state](../../vendor/syntect/src/parsing/parser.rs:241) -and [backreference construction](../../vendor/syntect/src/parsing/syntax_definition.rs:269). +persistent collections. See [per-line state](../../crates/diffs-syntect/src/parsing/parser.rs:241) +and [backreference construction](../../crates/diffs-syntect/src/parsing/syntax_definition.rs:269). The new profile uses the unchanged Bun patch and checked three-tour sequence: diff --git a/examples/embedded_viewer.rs b/examples/embedded_viewer.rs index 1374553..cc9f8f1 100644 --- a/examples/embedded_viewer.rs +++ b/examples/embedded_viewer.rs @@ -16,8 +16,8 @@ use crossterm::{ LeaveAlternateScreen, }, }; -use native_diff::engine::{Engine, Input, Layout, Options, SidebarPreference}; -use native_diff::input::LocalInput; +use diffs_rs::engine::{Engine, Input, Layout, Options, SidebarPreference}; +use diffs_rs::input::LocalInput; use ratatui::{ Terminal, backend::CrosstermBackend, @@ -302,7 +302,7 @@ fn main() { if let Err(error) = run() { eprintln!( "embedded_viewer: {}", - native_diff::text::safe_text(format!("{error:#}").as_bytes()) + diffs_rs::text::safe_text(format!("{error:#}").as_bytes()) ); std::process::exit(1); } diff --git a/examples/metadata_accounting.rs b/examples/metadata_accounting.rs index 3e89fde..d053b66 100644 --- a/examples/metadata_accounting.rs +++ b/examples/metadata_accounting.rs @@ -1,7 +1,7 @@ use std::{fs::File, sync::Arc}; use anyhow::{Context, Result, ensure}; -use native_diff::storage; +use diffs_rs::storage; use serde::Serialize; use serde_json::json; diff --git a/examples/projection_equivalence.rs b/examples/projection_equivalence.rs index 7de2559..c69c796 100644 --- a/examples/projection_equivalence.rs +++ b/examples/projection_equivalence.rs @@ -6,10 +6,10 @@ use std::{ }; use anyhow::{Context, Result, ensure}; -use native_diff::{model::RowKind, storage}; +use diffs_rs::{model::RowKind, storage}; use serde::Serialize; -pub use native_diff::{ingest, text}; +pub use diffs_rs::{ingest, text}; #[path = "projection_reference/model.rs"] #[allow(dead_code)] diff --git a/examples/sequential_style_reference.rs b/examples/sequential_style_reference.rs index 55770d3..789a652 100644 --- a/examples/sequential_style_reference.rs +++ b/examples/sequential_style_reference.rs @@ -5,7 +5,7 @@ use std::{ }; use anyhow::{Context, Result, ensure}; -use native_diff::theme::{self, Appearance}; +use diffs_rs::theme::{self, Appearance}; use serde::{Deserialize, Serialize}; use syntect::{easy::HighlightLines, highlighting::Theme, parsing::SyntaxReference}; diff --git a/src/clipboard.rs b/src/clipboard.rs index d6667fd..875cc43 100644 --- a/src/clipboard.rs +++ b/src/clipboard.rs @@ -9,7 +9,7 @@ use std::{ }; use anyhow::{Context, Result, ensure}; -use native_diff::{engine::ReviewId, reading::SourceRead}; +use diffs_rs::{engine::ReviewId, reading::SourceRead}; const MAX_BYTES: u64 = 16 * 1024 * 1024; const TIMEOUT: Duration = Duration::from_secs(5); @@ -241,7 +241,7 @@ impl Delivery { if !status.success() { anyhow::bail!( "Clipboard helper exited {status}: {}", - native_diff::text::safe_label(&self.diagnostics.tail) + diffs_rs::text::safe_label(&self.diagnostics.tail) ); } cancel()?; diff --git a/src/clipboard/tests.rs b/src/clipboard/tests.rs index 875987f..fae9c36 100644 --- a/src/clipboard/tests.rs +++ b/src/clipboard/tests.rs @@ -1,5 +1,5 @@ use super::*; -use native_diff::{ +use diffs_rs::{ engine::{Engine, Input, Options, Side}, reading::SourceRange, }; diff --git a/src/main.rs b/src/main.rs index ef99ba8..98a7706 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,7 +22,7 @@ use crossterm::{ LeaveAlternateScreen, }, }; -use native_diff::{ +use diffs_rs::{ app::{Layout, SidebarPreference}, engine::{Engine, Input, Options}, input::{self, LocalInput, SourceState}, @@ -43,6 +43,7 @@ use terminal_input::TerminalInput; #[derive(Parser)] #[command( + name = "diffs", version, about = "Read-only native terminal diff viewer · visual prototype" )] @@ -205,7 +206,7 @@ fn run(cli: Cli) -> Result { SidebarPreference::Auto }; #[cfg(feature = "delivery-trace")] - let _trace = native_diff::delivery_trace::init()?; + let _trace = diffs_rs::delivery_trace::init()?; let (local, check) = match &cli.command { Command::Files { old, new, check } => ( Some(LocalInput::Files { @@ -291,7 +292,7 @@ fn run(cli: Cli) -> Result { } File::open("/dev/tty").context("No controlling terminal is available for keyboard input")?; #[cfg(feature = "owner-census")] - let mut owner_census = native_diff::owner_census::Capture::from_env()?; + let mut owner_census = diffs_rs::owner_census::Capture::from_env()?; let (wake, ready) = mpsc::sync_channel(1); let events = TerminalInput::start(wake.clone())?; terminal::enable_raw_mode()?; @@ -371,7 +372,7 @@ fn run(cli: Cli) -> Result { bail!("The terminal input worker stopped") } Err(mpsc::TryRecvError::Empty) => { - native_diff::delivery_event!("wait_ready", 0, 0); + diffs_rs::delivery_event!("wait_ready", 0, 0); let _ = ready.recv_timeout(Duration::from_millis(100)); match guard.events.try_event() { Ok(event) => event?, @@ -382,7 +383,7 @@ fn run(cli: Cli) -> Result { } } }; - native_diff::delivery_event!("input", 0, 0); + diffs_rs::delivery_event!("input", 0, 0); if let Event::Key(key) = event { if key.kind == KeyEventKind::Release { continue; @@ -423,10 +424,7 @@ fn main() { let code = match run(Cli::parse()) { Ok(code) => code, Err(error) => { - eprintln!( - "native-diff: {}", - safe_text(format!("{error:#}").as_bytes()) - ); + eprintln!("diffs: {}", safe_text(format!("{error:#}").as_bytes())); 1 } }; diff --git a/src/reading_export.rs b/src/reading_export.rs index acf2333..e65266a 100644 --- a/src/reading_export.rs +++ b/src/reading_export.rs @@ -7,7 +7,7 @@ use std::{ }; use anyhow::{Context, Result, ensure}; -use native_diff::{engine::ReviewId, reading::SourceRead}; +use diffs_rs::{engine::ReviewId, reading::SourceRead}; use tempfile::{TempDir, TempPath}; pub struct Prepared { @@ -76,7 +76,7 @@ impl Prepared { .parent() .context("Save destination has no parent")?; let directory = tempfile::Builder::new() - .prefix(".native-diff-save-") + .prefix(".diffs-save-") .permissions(fs::Permissions::from_mode(0o700)) .tempdir_in(parent) .context("Cannot create private staging in the destination directory")?; diff --git a/src/reading_export/tests.rs b/src/reading_export/tests.rs index 69bda3a..fbab77c 100644 --- a/src/reading_export/tests.rs +++ b/src/reading_export/tests.rs @@ -1,5 +1,5 @@ use super::*; -use native_diff::{ +use diffs_rs::{ engine::{Engine, Input, Options, Side}, reading::SourceRange, }; @@ -50,7 +50,7 @@ fn staging(parent: &std::path::Path) -> Vec { path.file_name() .unwrap() .to_string_lossy() - .starts_with(".native-diff-save-") + .starts_with(".diffs-save-") }) .collect() } diff --git a/src/reading_ui.rs b/src/reading_ui.rs index 1397fc0..ee9676f 100644 --- a/src/reading_ui.rs +++ b/src/reading_ui.rs @@ -2,7 +2,7 @@ use std::sync::{Arc, mpsc::SyncSender}; use anyhow::{Context, Result}; use crossterm::event::{Event, KeyCode, KeyModifiers}; -use native_diff::{ +use diffs_rs::{ engine::{Command, Engine, InputEffect, ReadingControls, Side}, reading::{SearchDirection, SearchMatch, SearchRead, SourceRange, SourceRead}, text::safe_label, diff --git a/src/reading_ui/prompt.rs b/src/reading_ui/prompt.rs index e3145da..f95bc22 100644 --- a/src/reading_ui/prompt.rs +++ b/src/reading_ui/prompt.rs @@ -1,5 +1,5 @@ use crossterm::event::{Event, KeyCode, KeyModifiers}; -use native_diff::{ +use diffs_rs::{ reading::SourceRead, text::{glyphs, safe_label}, }; diff --git a/src/reading_ui/tests.rs b/src/reading_ui/tests.rs index 468325e..769eeec 100644 --- a/src/reading_ui/tests.rs +++ b/src/reading_ui/tests.rs @@ -1,6 +1,6 @@ use super::*; use crossterm::event::KeyEvent; -use native_diff::engine::{Input, Options, SidebarPreference}; +use diffs_rs::engine::{Input, Options, SidebarPreference}; use ratatui::{Terminal, backend::TestBackend, buffer::Buffer, layout::Rect, style::Modifier}; use std::{ fs, diff --git a/src/reading_worker.rs b/src/reading_worker.rs index 5cfec15..6e0e2b0 100644 --- a/src/reading_worker.rs +++ b/src/reading_worker.rs @@ -8,7 +8,7 @@ use std::{ }; use anyhow::{Context, Result, ensure}; -use native_diff::{ +use diffs_rs::{ engine::ReviewId, input::Cancellation, reading::{SearchDirection, SearchMatch, SearchRead, SourceRead}, diff --git a/src/reading_worker/tests.rs b/src/reading_worker/tests.rs index 7d91f33..9f594cd 100644 --- a/src/reading_worker/tests.rs +++ b/src/reading_worker/tests.rs @@ -1,5 +1,5 @@ use super::*; -use native_diff::engine::{Engine, Input, Options, Side}; +use diffs_rs::engine::{Engine, Input, Options, Side}; use std::{ fs, sync::mpsc::Receiver, @@ -219,7 +219,7 @@ fn completed_saves_are_private_and_discarded_by_cancel_supersession_and_close() let mut worker = Worker::start(notify).unwrap(); let read = Arc::new( engine - .source_read(native_diff::reading::SourceRange { + .source_read(diffs_rs::reading::SourceRange { review: engine.review_id(), file: 0, side: Side::Old, @@ -265,7 +265,7 @@ fn an_in_flight_save_can_be_canceled_and_followed_by_a_successful_save() { let mut worker = Worker::start(notify).unwrap(); let read = Arc::new( engine - .source_read(native_diff::reading::SourceRange { + .source_read(diffs_rs::reading::SourceRange { review: engine.review_id(), file: 0, side: Side::New, @@ -314,7 +314,7 @@ fn accepted_copy_children_are_reaped_before_reuse_and_close() { let mut worker = Worker::start(notify).unwrap(); let read = Arc::new( engine - .source_read(native_diff::reading::SourceRange { + .source_read(diffs_rs::reading::SourceRange { review: engine.review_id(), file: 0, side: Side::Old, @@ -366,7 +366,7 @@ fn accepted_copy_children_are_reaped_before_reuse_and_close() { Action::Supersede => { let read = Arc::new( engine - .source_read(native_diff::reading::SourceRange { + .source_read(diffs_rs::reading::SourceRange { review: engine.review_id(), file: 0, side: Side::New, diff --git a/tests/alignment.rs b/tests/alignment.rs index 4d0e01c..1d9bf65 100644 --- a/tests/alignment.rs +++ b/tests/alignment.rs @@ -1,7 +1,7 @@ use std::{fs, process::Command}; -pub use native_diff::{ingest, text}; -use native_diff::{model, storage}; +pub use diffs_rs::{ingest, text}; +use diffs_rs::{model, storage}; #[path = "../examples/projection_reference/model.rs"] #[allow(dead_code)] @@ -88,7 +88,7 @@ fn alignment_keeps_exact_offsets_source_bytes_and_reference_rows() { } let directory = tempfile::tempdir().unwrap(); let binary = std::env::var_os("NATIVE_DIFF_CONTRACT_BINARY") - .unwrap_or_else(|| env!("CARGO_BIN_EXE_native-diff").into()); + .unwrap_or_else(|| env!("CARGO_BIN_EXE_diffs").into()); for case in cases { for reversed in [false, true] { let (left, right) = if reversed { diff --git a/tests/context_expansion.rs b/tests/context_expansion.rs index d47255b..3c773e8 100644 --- a/tests/context_expansion.rs +++ b/tests/context_expansion.rs @@ -5,7 +5,7 @@ use std::{ }; use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers}; -use native_diff::{ +use diffs_rs::{ app::{App, Layout, Position, SidebarPreference}, input::{Cancellation, LocalInput, Review, SourceState}, model::RowKind, @@ -374,7 +374,7 @@ fn source_readiness_and_failure_preserve_patch_identity_and_reject_stale_context #[test] fn many_file_readiness_expansion_and_later_publication_keep_original_destinations() { - use native_diff::source::{SourceStore, check_pair}; + use diffs_rs::source::{SourceStore, check_pair}; let old = (1..=61) .map(|n| format!("return {n};\n")) .collect::(); diff --git a/tests/engine.rs b/tests/engine.rs index 24aa10a..d79d512 100644 --- a/tests/engine.rs +++ b/tests/engine.rs @@ -7,7 +7,7 @@ use std::{ use crossterm::event::{ Event, KeyCode, KeyEvent, KeyModifiers, MouseButton, MouseEvent, MouseEventKind, }; -use native_diff::engine::{ +use diffs_rs::engine::{ Command, Engine, Input, InputEffect, Layout, Options, Side, SidebarPreference, }; use ratatui::{ @@ -268,7 +268,7 @@ fn replace_after_failure_and_close_uses_fresh_identity_and_source() { #[test] fn checked_context_and_sidebar_keep_original_coordinates_inside_a_host_pane() { - use native_diff::input::LocalInput; + use diffs_rs::input::LocalInput; let mut host = Host::new(); host.settle(); let old = host.directory.path().join("before.rs"); diff --git a/tests/full_source_color.rs b/tests/full_source_color.rs index 5f53082..ebc3077 100644 --- a/tests/full_source_color.rs +++ b/tests/full_source_color.rs @@ -5,7 +5,7 @@ use std::{ time::{Duration, Instant}, }; -use native_diff::{ +use diffs_rs::{ app::{App, Layout}, highlight::{self, Fallback, FileSource, Request, Token}, input::{Cancellation, LocalInput, Review, SourceState}, @@ -120,9 +120,9 @@ fn request( #[test] fn hidden_runs_preserve_converging_and_divergent_histories_with_shifted_coordinates() { - use native_diff::view::LineId; + use diffs_rs::view::LineId; #[cfg(feature = "delivery-trace")] - let trace = native_diff::delivery_trace::init().unwrap(); + let trace = diffs_rs::delivery_trace::init().unwrap(); let syntaxes = two_face::syntax::extra_newlines(); for (old_ext, new_ext) in [ ("ts", "ts"), @@ -250,9 +250,9 @@ fn shared_hidden_work_counts_real_calls_and_rejects_incompatible_histories() { #[test] fn sparse_checkpoint_boundaries_match_sequential_colors_on_revisit_and_retheme() { - use native_diff::view::LineId; + use diffs_rs::view::LineId; #[cfg(feature = "delivery-trace")] - let trace = native_diff::delivery_trace::init().unwrap(); + let trace = diffs_rs::delivery_trace::init().unwrap(); let (old, new) = fixture("ts", 6000); let pair = capture(old.as_bytes(), new.as_bytes(), "ts", "ts"); let syntaxes = two_face::syntax::extra_newlines(); @@ -368,7 +368,7 @@ fn sparse_revisits_and_theme_changes_reuse_saved_hidden_source_work() { #[test] fn expanded_context_uses_exact_old_and_new_prefixes_with_mixed_patch_requests() { - use native_diff::view::LineId; + use diffs_rs::view::LineId; let mut a: Vec<_> = (0..1400) .map(|n| format!("return {n}; // unique line {n}")) .collect(); @@ -453,7 +453,7 @@ fn expanded_context_uses_exact_old_and_new_prefixes_with_mixed_patch_requests() #[test] fn replacing_hidden_source_cannot_reuse_checkpoints_for_the_same_patch_entry() { - use native_diff::source::{SourceStore, check_pair}; + use diffs_rs::source::{SourceStore, check_pair}; let old = format!("/*\n{}return 1;\n", "return 1;\n".repeat(1200)); let new = format!("/*\n{}return 2;\n", "return 1;\n".repeat(1200)); diff --git a/tests/git_output.rs b/tests/git_output.rs index 394dd6f..51cd8f0 100644 --- a/tests/git_output.rs +++ b/tests/git_output.rs @@ -7,7 +7,7 @@ use std::{fs, path::PathBuf}; -use native_diff::{model::Document, storage}; +use diffs_rs::{model::Document, storage}; const FIXTURES: &[&str] = &[ "show", diff --git a/tests/inline.rs b/tests/inline.rs index b0343e2..bf3a102 100644 --- a/tests/inline.rs +++ b/tests/inline.rs @@ -1,4 +1,4 @@ -use native_diff::highlight::{ChangeSide, changed_spans}; +use diffs_rs::highlight::{ChangeSide, changed_spans}; use std::ops::Range; use unicode_segmentation::UnicodeSegmentation; diff --git a/tests/input_worker.rs b/tests/input_worker.rs index 5b9640e..b73e619 100644 --- a/tests/input_worker.rs +++ b/tests/input_worker.rs @@ -5,7 +5,7 @@ use std::{ time::{Duration, Instant}, }; -use native_diff::input::{LocalInput, Message, PatchInput, SourceState, Worker}; +use diffs_rs::input::{LocalInput, Message, PatchInput, SourceState, Worker}; #[path = "support/readiness.rs"] mod readiness; diff --git a/tests/line_identity.rs b/tests/line_identity.rs index acc48ce..63a1b5a 100644 --- a/tests/line_identity.rs +++ b/tests/line_identity.rs @@ -1,6 +1,6 @@ use std::collections::{BTreeSet, HashMap}; -use native_diff::view::LineId; +use diffs_rs::view::LineId; #[test] fn source_identities_keep_full_ranges_and_distinct_coordinates() { diff --git a/tests/local_source.rs b/tests/local_source.rs index 3085323..7dfa7ef 100644 --- a/tests/local_source.rs +++ b/tests/local_source.rs @@ -1,4 +1,4 @@ -use native_diff::{ +use diffs_rs::{ input::{Cancellation, LocalInput, Review, SourceState}, source::{SourceStore, check_pair}, storage::{self, StoreWriter}, @@ -25,7 +25,7 @@ fn git(repo: &Path, args: &[&str]) -> Vec { output.stdout } -fn read(source: &native_diff::source::Snapshot) -> Vec { +fn read(source: &diffs_rs::source::Snapshot) -> Vec { let mut bytes = Vec::new(); source.reader().unwrap().read_to_end(&mut bytes).unwrap(); bytes diff --git a/tests/process.rs b/tests/process.rs index 720e7fc..6a1f122 100644 --- a/tests/process.rs +++ b/tests/process.rs @@ -12,7 +12,7 @@ use serde_json::Value; fn viewer_binary() -> std::path::PathBuf { std::env::var_os("NATIVE_DIFF_CONTRACT_BINARY") - .unwrap_or_else(|| env!("CARGO_BIN_EXE_native-diff").into()) + .unwrap_or_else(|| env!("CARGO_BIN_EXE_diffs").into()) .into() } @@ -1213,7 +1213,7 @@ fn stdin_and_signals_use_the_controlling_terminal_and_restore_it() { command.args([ "-c", "cat \"$1\" | \"$2\" --no-sidebar patch -", - "native-diff-test", + "diffs-test", ]); command.arg(&path); command.arg(viewer_binary()); diff --git a/tests/process/README.md b/tests/process/README.md index 39ca6f8..59d485e 100644 --- a/tests/process/README.md +++ b/tests/process/README.md @@ -12,7 +12,7 @@ Build and select the exact example explicitly: ```sh cargo build --release --locked --example embedded_viewer -NATIVE_DIFF_HOST_BINARY=/absolute/path/to/native-diff/target/release/examples/embedded_viewer \ +NATIVE_DIFF_HOST_BINARY=/absolute/path/to/diffs-rs/target/release/examples/embedded_viewer \ cargo test --release --locked --test process engine_host_contract -- --ignored --test-threads=1 ``` diff --git a/tests/process/save_contract.rs b/tests/process/save_contract.rs index 9f1d5e7..64e3fce 100644 --- a/tests/process/save_contract.rs +++ b/tests/process/save_contract.rs @@ -16,7 +16,7 @@ fn no_staging(dir: &std::path::Path) { .unwrap() .file_name() .to_string_lossy() - .starts_with(".native-diff-save-") + .starts_with(".diffs-save-") })); } diff --git a/tests/shared_prefix.rs b/tests/shared_prefix.rs index e9a4ebc..2636293 100644 --- a/tests/shared_prefix.rs +++ b/tests/shared_prefix.rs @@ -5,7 +5,7 @@ use std::{ time::{Duration, Instant}, }; -use native_diff::{ +use diffs_rs::{ highlight::{self, Request, Token}, storage::{self, FileIndex}, theme::{self, Appearance}, diff --git a/tests/source_reading.rs b/tests/source_reading.rs index 61c3f91..900049e 100644 --- a/tests/source_reading.rs +++ b/tests/source_reading.rs @@ -5,7 +5,7 @@ use std::{ time::{Duration, Instant}, }; -use native_diff::{ +use diffs_rs::{ engine::{Engine, Input, Options, Side, SidebarPreference}, input::{Cancellation, Cancelled, LocalInput}, reading::{SourceRange, SourceRead}, diff --git a/tests/source_retention.rs b/tests/source_retention.rs index 13de8ec..06843c3 100644 --- a/tests/source_retention.rs +++ b/tests/source_retention.rs @@ -4,7 +4,7 @@ use std::{ time::Duration, }; -use native_diff::{ +use diffs_rs::{ highlight::{self, FileSource, Request, Token}, input::{Cancellation, LocalInput, Review, SourceState}, source::CheckedPair, @@ -127,7 +127,7 @@ fn check( #[test] fn sparse_pressure_keeps_exact_side_states_across_revisits_and_themes() { #[cfg(feature = "delivery-trace")] - let trace = native_diff::delivery_trace::init().unwrap(); + let trace = diffs_rs::delivery_trace::init().unwrap(); let (old, new, pair) = sources(); let syntaxes = two_face::syntax::extra_newlines(); let (wake, notified) = mpsc::sync_channel(1); diff --git a/tests/storage.rs b/tests/storage.rs index 9a84b8b..c4d9ded 100644 --- a/tests/storage.rs +++ b/tests/storage.rs @@ -1,6 +1,6 @@ use std::{fs::File, path::Path, rc::Rc}; -use native_diff::{geometry, model::RowKind, storage, text}; +use diffs_rs::{geometry, model::RowKind, storage, text}; #[test] fn source_references_keep_patch_destinations_and_separate_geometry_between_documents() { diff --git a/tests/worker.rs b/tests/worker.rs index 884939b..3cc2b1d 100644 --- a/tests/worker.rs +++ b/tests/worker.rs @@ -4,7 +4,7 @@ use std::{ time::{Duration, Instant}, }; -use native_diff::{ +use diffs_rs::{ app::{App, Layout}, highlight::{self, Request}, model::RowKind, diff --git a/tools/corpus_measure.py b/tools/corpus_measure.py index 360d003..db421d0 100644 --- a/tools/corpus_measure.py +++ b/tools/corpus_measure.py @@ -43,10 +43,11 @@ def bindings(binary, reference): "fixtures/diffshub/scenario.json", "fixtures/diffshub/corpus.json"]] paths += sorted((ROOT / "src").rglob("*.rs")) paths += sorted((ROOT / "assets").rglob("*.json")) - for manifest in sorted((ROOT / "vendor").glob("*/Cargo.toml")): + for manifest in sorted((ROOT / "crates").glob("*/Cargo.toml")): paths += [manifest] paths += sorted((manifest.parent / "src").rglob("*.rs")) - paths += sorted(path for path in (manifest.parent / "assets").rglob("*") if path.is_file()) + for data in ("assets", "generated"): + paths += sorted(path for path in (manifest.parent / data).rglob("*") if path.is_file()) paths += [ROOT / "examples/sequential_style_reference.rs"] paths += [ROOT / "tools" / name for name in ["corpus_acceptance.py", "corpus_reference.py", "corpus_measure.py", "patch_reference.py", "trace_reference.py", "terminal_baseline.py", @@ -319,7 +320,7 @@ def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("trace", type=Path) parser.add_argument("output", type=Path) - parser.add_argument("--binary", type=Path, default=ROOT / "target/release/native-diff") + parser.add_argument("--binary", type=Path, default=ROOT / "target/release/diffs") parser.add_argument("--reference", type=Path, default=ROOT / "target/release/examples/sequential_style_reference") parser.add_argument("--baseline-trace", type=Path) mode = parser.add_mutually_exclusive_group(required=True) diff --git a/tools/memory_checkpoint.py b/tools/memory_checkpoint.py index 530af8c..0c94622 100644 --- a/tools/memory_checkpoint.py +++ b/tools/memory_checkpoint.py @@ -15,7 +15,7 @@ def main(): parser.add_argument("output", type=Path) parser.add_argument("--baseline", type=Path, required=True) parser.add_argument("--reuse-captures", type=Path) - parser.add_argument("--binary", type=Path, default=ROOT / "target/release/native-diff") + parser.add_argument("--binary", type=Path, default=ROOT / "target/release/diffs") parser.add_argument("--reference", type=Path, default=ROOT / "target/release/examples/sequential_style_reference") args = parser.parse_args() out = args.output.resolve() diff --git a/tools/preserve_release.py b/tools/preserve_release.py index 5851e76..0e982a0 100644 --- a/tools/preserve_release.py +++ b/tools/preserve_release.py @@ -22,7 +22,7 @@ def sources(): paths = [ROOT / name for name in ("Cargo.toml", "Cargo.lock")] paths.extend(ROOT / name for name in ("build.rs", "rust-toolchain", "rust-toolchain.toml") if (ROOT / name).is_file()) - for directory in ("src", "vendor", "assets"): + for directory in ("src", "crates", "assets"): paths.extend(path for path in (ROOT / directory).rglob("*") if path.is_file() and not {"target", ".git"}.intersection(path.relative_to(ROOT).parts)) return {str(path.relative_to(ROOT)): digest(path) for path in sorted(paths)} @@ -43,7 +43,7 @@ def main(): if target.exists(): raise ValueError("Use a new target directory, separate from tests and previous builds") output.mkdir(parents=True, exist_ok=False) - recipe = ["cargo", "build", "--release", "--locked", "--offline", "--bin", "native-diff", + recipe = ["cargo", "build", "--release", "--locked", "--offline", "--bin", "diffs", "--target-dir", str(target)] feature_args = ["--features", args.features] if args.features else [] recipe += feature_args @@ -80,8 +80,8 @@ def main(): raise ValueError("Build source or compiler changed during preservation") if {str(path): digest(path) for path in config_paths if path.is_file()} != report["cargo_config_hashes"]: raise ValueError("Cargo configuration changed during preservation") - binary = output / "native-diff" - with (target / "release/native-diff").open("rb") as source, binary.open("xb") as destination: + binary = output / "diffs" + with (target / "release/diffs").open("rb") as source, binary.open("xb") as destination: shutil.copyfileobj(source, destination) binary.chmod(0o555) report["binary_sha256"] = digest(binary) diff --git a/vendor/fancy-regex/.cargo_vcs_info.json b/vendor/fancy-regex/.cargo_vcs_info.json deleted file mode 100644 index 2911b80..0000000 --- a/vendor/fancy-regex/.cargo_vcs_info.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "git": { - "sha1": "68d300b2853cfb390a99020719114c22254878e5" - }, - "path_in_vcs": "" -} \ No newline at end of file diff --git a/vendor/fancy-regex/Cargo.toml b/vendor/fancy-regex/Cargo.toml deleted file mode 100644 index 569d860..0000000 --- a/vendor/fancy-regex/Cargo.toml +++ /dev/null @@ -1,130 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies. -# -# If you are reading this file be aware that the original Cargo.toml -# will likely look very different (and much more reasonable). -# See Cargo.toml.orig for the original contents. - -[package] -edition = "2018" -rust-version = "1.66" -name = "fancy-regex" -version = "0.16.2" -authors = [ - "Raph Levien ", - "Robin Stocker ", - "Keith Hall ", -] -build = false -exclude = [ - "/.github/*", - "/Cargo.lock.msrv", -] -autolib = false -autobins = false -autoexamples = false -autotests = false -autobenches = false -description = "An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around." -documentation = "https://docs.rs/fancy-regex" -readme = "README.md" -categories = ["text-processing"] -license = "MIT" -repository = "https://github.com/fancy-regex/fancy-regex" - -[features] -shared-engines = ["std"] -owner-census = [] -default = [ - "unicode", - "perf", - "std", -] -perf = ["regex-automata/perf"] -std = [ - "regex-automata/std", - "regex-syntax/std", - "bit-set/std", -] -track_caller = [] -unicode = [ - "regex-automata/unicode", - "regex-syntax/unicode", -] - -[lib] -name = "fancy_regex" -path = "src/lib.rs" - -[[example]] -name = "toy" -path = "examples/toy.rs" - -[[test]] -name = "captures" -path = "tests/captures.rs" - -[[test]] -name = "finding" -path = "tests/finding.rs" - -[[test]] -name = "matching" -path = "tests/matching.rs" - -[[test]] -name = "oniguruma" -path = "tests/oniguruma.rs" - -[[test]] -name = "regex_options" -path = "tests/regex_options.rs" - -[[test]] -name = "replace" -path = "tests/replace.rs" - -[[test]] -name = "splitting" -path = "tests/splitting.rs" - -[[bench]] -name = "bench" -path = "benches/bench.rs" -harness = false - -[dependencies.bit-set] -version = "0.8" -default-features = false - -[dependencies.regex-automata] -version = "0.4" -features = [ - "alloc", - "syntax", - "meta", - "nfa", - "dfa", - "hybrid", -] -default-features = false - -[dependencies.regex-syntax] -version = "0.8" -default-features = false - -[dev-dependencies.criterion] -version = "0.5" - -[dev-dependencies.matches] -version = "0.1.10" - -[dev-dependencies.quickcheck] -version = "1.0" - -[dev-dependencies.regex] -version = "1.10" diff --git a/vendor/fancy-regex/Cargo.toml.orig b/vendor/fancy-regex/Cargo.toml.orig deleted file mode 100644 index 37484fe..0000000 --- a/vendor/fancy-regex/Cargo.toml.orig +++ /dev/null @@ -1,46 +0,0 @@ -[package] -name = "fancy-regex" -version = "0.16.2" -authors = ["Raph Levien ", "Robin Stocker ", "Keith Hall "] -edition = "2018" -license = "MIT" -description = "An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around." -readme = "README.md" -repository = "https://github.com/fancy-regex/fancy-regex" -documentation = "https://docs.rs/fancy-regex" -categories = ["text-processing"] -exclude = ["/.github/*", "/Cargo.lock.msrv"] -rust-version = "1.66" - -[features] -shared-engines = ["std"] -owner-census = [] -default = ["unicode", "perf", "std"] -# Enable #[track_caller] in unit tests. -track_caller = [] -perf = ["regex-automata/perf"] -unicode = ["regex-automata/unicode", "regex-syntax/unicode"] -std = ["regex-automata/std", "regex-syntax/std", "bit-set/std"] - -[dependencies.regex-automata] -version = "0.4" -default-features = false -features = ["alloc", "syntax", "meta", "nfa", "dfa", "hybrid"] - -[dependencies.regex-syntax] -version = "0.8" -default-features = false - -[dependencies.bit-set] -version = "0.8" -default-features = false - -[dev-dependencies] -criterion = "0.5" -matches = "0.1.10" -quickcheck = "1.0" -regex = "1.10" - -[[bench]] -name = "bench" -harness = false diff --git a/vendor/fancy-regex/benches/bench.rs b/vendor/fancy-regex/benches/bench.rs deleted file mode 100644 index ce09b60..0000000 --- a/vendor/fancy-regex/benches/bench.rs +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2016 The Fancy Regex Authors. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#[macro_use] -extern crate criterion; - -use criterion::Criterion; -use std::time::Duration; - -use fancy_regex::internal::{analyze, compile, run_default}; -use fancy_regex::Expr; -use regex::Regex; - -fn parse_lifetime_re(c: &mut Criterion) { - c.bench_function("parse_lifetime_re", |b| { - b.iter(|| Expr::parse_tree("\\'[a-zA-Z_][a-zA-Z0-9_]*(?!\\')\\b").unwrap()) - }); -} - -fn parse_literal_re(c: &mut Criterion) { - c.bench_function("parse_literal_re", |b| { - b.iter(|| Expr::parse_tree("^\\\\([!-/:-@\\[-`\\{-~aftnrv]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\\{[0-9a-fA-F]{1,6}\\})").unwrap()) - }); -} - -fn parse_literal_re_regex(c: &mut Criterion) { - c.bench_function("parse_literal_re_regex", |b| { - b.iter(|| Regex::new("^\\\\([!-/:-@\\[-`\\{-~aftnrv]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\\{[0-9a-fA-F]{1,6}\\})").unwrap()) - }); -} - -fn parse_misc(c: &mut Criterion) { - c.bench_function("parse_misc", |b| { - b.iter(|| Expr::parse_tree("^\\p{L}|\\p{N}|\\s|.|\\d").unwrap()) - }); -} - -fn analyze_literal_re(c: &mut Criterion) { - let re = "^\\\\([!-/:-@\\[-`\\{-~aftnrv]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\\{[0-9a-fA-F]{1,6}\\})"; - let tree = Expr::parse_tree(re).unwrap(); - c.bench_function("analyze_literal_re", |b| { - b.iter(|| analyze(&tree, false).unwrap()) - }); -} - -fn run_backtrack(c: &mut Criterion) { - let tree = Expr::parse_tree("^.*?(([ab]+)\\1b)").unwrap(); - let a = analyze(&tree, true).unwrap(); - let p = compile(&a, true).unwrap(); - c.bench_function("run_backtrack", |b| { - b.iter(|| { - let result = run_default(&p, "babab", 0).unwrap(); - assert_eq!(result, Some(vec![0, 5, 0, 2])); - return result; - }) - }); -} - -// The following regex is a pathological case for backtracking -// implementations, see README.md: -fn run_tricky(c: &mut Criterion) { - let tree = Expr::parse_tree("(a|b|ab)*bc").unwrap(); - let a = analyze(&tree, false).unwrap(); - let p = compile(&a, false).unwrap(); - let mut s = String::new(); - for _ in 0..28 { - s.push_str("ab"); - } - s.push_str("ac"); - c.bench_function("run_tricky", |b| b.iter(|| run_default(&p, &s, 0).unwrap())); -} - -fn run_backtrack_limit(c: &mut Criterion) { - let tree = Expr::parse_tree("(?i)(a|b|ab)*(?>c)").unwrap(); - let a = analyze(&tree, false).unwrap(); - let p = compile(&a, false).unwrap(); - let s = "abababababababababababababababababababababababababababab"; - c.bench_function("run_backtrack_limit", |b| { - b.iter(|| run_default(&p, &s, 0).unwrap_err()) - }); -} - -criterion_group!( - name = benches; - config = Criterion::default().warm_up_time(Duration::from_secs(10)); - targets = parse_lifetime_re, - parse_literal_re, - parse_literal_re_regex, - parse_misc, - analyze_literal_re, - run_backtrack, - run_tricky, -); -criterion_group!( - name = slow_benches; - config = Criterion::default().sample_size(10); - targets = run_backtrack_limit, -); - -criterion_main!(benches, slow_benches); diff --git a/vendor/fancy-regex/codecov.yml b/vendor/fancy-regex/codecov.yml deleted file mode 100644 index 081431e..0000000 --- a/vendor/fancy-regex/codecov.yml +++ /dev/null @@ -1,2 +0,0 @@ -# Make codecov not add verbose comments to pull requests -comment: false diff --git a/vendor/syntect/.cargo-ok b/vendor/syntect/.cargo-ok deleted file mode 100644 index 5f8b795..0000000 --- a/vendor/syntect/.cargo-ok +++ /dev/null @@ -1 +0,0 @@ -{"v":1} \ No newline at end of file diff --git a/vendor/syntect/.cargo_vcs_info.json b/vendor/syntect/.cargo_vcs_info.json deleted file mode 100644 index d40b2bc..0000000 --- a/vendor/syntect/.cargo_vcs_info.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "git": { - "sha1": "e4670846ecf16d8832db6c43d531bec466214e27" - }, - "path_in_vcs": "" -} \ No newline at end of file diff --git a/vendor/syntect/.github/workflows/CI.yml b/vendor/syntect/.github/workflows/CI.yml deleted file mode 100644 index 1615844..0000000 --- a/vendor/syntect/.github/workflows/CI.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: CI - -on: - workflow_call: # From .github/workflows/Release.yml - workflow_dispatch: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -env: - CARGO_TERM_COLOR: always - -jobs: - min_version: - name: Minimum supported rust version - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@master - with: - toolchain: stable minus 2 releases # MSRV policy = last three versions of stable - components: clippy, rustfmt - - - name: Run cargo fmt --check - run: cargo fmt -- --check - - - name: Run cargo clippy - run: | - # Must run before `cargo check` until we use Rust 1.52 - # See https://github.com/rust-lang/rust-clippy/issues/4612 - cargo clippy --all-targets --all-features -- \ - --allow clippy::unknown_clippy_lints \ - --allow clippy::unnecessary_cast \ - --allow clippy::block_in_if_condition_stmt - # Prevent regressions of https://github.com/trishume/syntect/issues/98 - cargo clippy --all-features --lib -- --deny clippy::panic - - name: Run cargo check - run: | - cargo check --all-features --all-targets - # Check that if some other crate in the downstream dependency tree - # enables serde's "derive" feature, syntect still builds. - cargo check --all-features --features serde/derive - - documentation: - name: Documentation checks - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: RUSTDOCFLAGS='--deny warnings' cargo doc --no-deps --document-private-items --all-features - - bat-tests: - name: Run bat syntax regression tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - path: 'syntect' - - uses: actions/checkout@v4 - with: - repository: 'sharkdp/bat' - path: 'bat' - ref: master - submodules: true - - name: bat/tests/syntax-tests/regression_test.sh - run: | - cd bat - sed -i 's%\[dependencies.syntect\]%[dependencies.syntect]\npath = "../syntect"%' Cargo.toml - cargo build --release # Build bat so we can update the assets - PATH=target/release:$PATH ./assets/create.sh # Update assets with newly built bat - cargo build --release # Build bat using the newly updated assets - PATH=./target/release:$PATH tests/syntax-tests/regression_test.sh - - build-and-test: - name: Build and test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - uses: dtolnay/rust-toolchain@stable - - name: Build - run: | - cargo build - - name: Run tests - run: | - cargo test --features metadata - - name: Run tests with fancy - run: | - # Run these tests in release mode since they're slow as heck otherwise - cargo test --features default-fancy --no-default-features --release - - name: Ensure highlight works without 'plist-load' and 'yaml-load' features - run: | - cargo run --example synhtml --no-default-features --features html,default-syntaxes,default-themes,regex-onig -- examples/synhtml.rs - - name: Run tests with 'default-syntaxes' but without 'default-themes' - run: | - cargo test --lib --example synstats --no-default-features --features default-syntaxes,yaml-load,regex-onig - - name: Run tests without default features - run: | - cargo test --lib --no-default-features - - name: make stuff - run: | - make assets - make syntest - make syntest-fancy - - name: Docs - run: | - cargo doc - - check-feature-powerset: - name: Check feature powerset - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - - uses: taiki-e/install-action@v2 - with: - tool: cargo-hack - # Ensure that `cargo check` works across many different feature sets - - name: Check feature powerset - run: | - cargo hack --feature-powerset --depth=2 --features=regex-fancy --exclude-features=regex-onig check diff --git a/vendor/syntect/.github/workflows/Release.yml b/vendor/syntect/.github/workflows/Release.yml deleted file mode 100644 index 22f7890..0000000 --- a/vendor/syntect/.github/workflows/Release.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Release - -# To make a release: -# -# 1. Update Cargo.toml version and CHANGELOG.md on master -# 2. Run workflow https://github.com/trishume/syntect/actions/workflows/Release.yml on master -# 3. Done! - -on: - workflow_dispatch: # This workflow can only be triggered manually. - inputs: - one_time_crates_io_token_secret: - description: "A one-time crates.io token (delete it after first use)" - required: true - type: string - -env: - CARGO_TERM_COLOR: always - -jobs: - # Make sure regular CI passes before we make a release. - ci: - uses: ./.github/workflows/CI.yml - with: - one_time_crates_io_token_secret: masked - - # After regular CI passes we publish to crates.io and push a git tag. - publish-and-tag: - needs: ci - runs-on: ubuntu-latest - permissions: - contents: write # So we can push a tag. - outputs: - VERSION: ${{ steps.version.outputs.VERSION }} - TAG_NAME: ${{ steps.version.outputs.TAG_NAME }} - steps: - - run: | - # See https://github.com/actions/runner/issues/643#issuecomment-708468716 - # See https://github.com/actions/runner/issues/475#issuecomment-635775403 - masked_secret=$(jq -r '.inputs.one_time_crates_io_token_secret' $GITHUB_EVENT_PATH) - echo "::add-mask::$masked_secret" - - uses: actions/checkout@v4 - - run: cargo publish -p syntect - env: - CARGO_REGISTRY_TOKEN: ${{ inputs.one_time_crates_io_token_secret }} - - name: version - id: version - run: | - version=$(cargo read-manifest --manifest-path Cargo.toml | jq --raw-output .version) - echo "VERSION=${version}" >> $GITHUB_OUTPUT - echo "TAG_NAME=v${version}" >> $GITHUB_OUTPUT - - name: push tag - run: | - git tag ${{ steps.version.outputs.TAG_NAME }} - git push origin ${{ steps.version.outputs.TAG_NAME }} - - # Lastly, create a GitHub release. - release: - needs: publish-and-tag - runs-on: ubuntu-latest - permissions: - contents: write # So we can create a release. - steps: - - uses: actions/checkout@v4 - - run: cargo install parse-changelog@0.6.4 --locked - - name: create release - env: - GH_TOKEN: ${{ github.token }} - run: | - notes="$(parse-changelog CHANGELOG.md ${{ needs.publish-and-tag.outputs.VERSION }})" - title="${{ needs.publish-and-tag.outputs.TAG_NAME }}" - gh release create --title "$title" --notes "$notes" ${{ needs.publish-and-tag.outputs.TAG_NAME }} diff --git a/vendor/syntect/.gitmodules b/vendor/syntect/.gitmodules deleted file mode 100644 index dbf004a..0000000 --- a/vendor/syntect/.gitmodules +++ /dev/null @@ -1,13 +0,0 @@ -[submodule "testdata/Packages"] - branch = st3 # TODO: this line should be removed once st4 functionality has been implemented - path = testdata/Packages - url = https://github.com/sublimehq/Packages -[submodule "testdata/InspiredGitHub.tmtheme"] - path = testdata/InspiredGitHub.tmtheme - url = https://github.com/sethlopezme/InspiredGitHub.tmtheme.git -[submodule "testdata/Solarized"] - path = testdata/Solarized - url = https://github.com/braver/Solarized.git -[submodule "testdata/spacegray"] - path = testdata/spacegray - url = https://github.com/kkga/spacegray.git diff --git a/vendor/syntect/Cargo.lock b/vendor/syntect/Cargo.lock deleted file mode 100644 index f0b6e3c..0000000 --- a/vendor/syntect/Cargo.lock +++ /dev/null @@ -1,1345 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aho-corasick" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" -dependencies = [ - "memchr", -] - -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -dependencies = [ - "winapi", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" - -[[package]] -name = "base64" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" - -[[package]] -name = "bumpalo" -version = "3.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" - -[[package]] -name = "camino" -version = "1.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-manifest" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c6f1c3eb197d17dde4f1a1170fbe7ce3e5f23f1166ae480875a9f4a9c11c40" -dependencies = [ - "serde", - "thiserror", - "toml 0.8.23", -] - -[[package]] -name = "cargo-platform" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0061da739915fae12ea00e16397555ed4371a6bb285431aab930f61b0aa4ba" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "cargo_metadata" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cc" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" -dependencies = [ - "find-msvc-tools", - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "bitflags 1.3.2", - "textwrap", - "unicode-width 0.1.14", -] - -[[package]] -name = "console" -version = "0.15.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" -dependencies = [ - "encode_unicode", - "libc", - "once_cell", - "windows-sys 0.59.0", -] - -[[package]] -name = "crc32fast" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" -dependencies = [ - "atty", - "cast", - "clap", - "criterion-plot", - "csv", - "itertools", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_cbor", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" -dependencies = [ - "cast", - "itertools", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" - -[[package]] -name = "csv" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde_core", -] - -[[package]] -name = "csv-core" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" -dependencies = [ - "memchr", -] - -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "deranged" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" - -[[package]] -name = "difference" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" - -[[package]] -name = "either" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" - -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "fancy-regex" -version = "0.16.2" -dependencies = [ - "bit-set", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "find-msvc-tools" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" - -[[package]] -name = "flate2" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" -dependencies = [ - "crc32fast", - "miniz_oxide", - "zlib-rs", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "futures-core" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" - -[[package]] -name = "futures-task" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" - -[[package]] -name = "futures-util" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "slab", -] - -[[package]] -name = "getopts" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" -dependencies = [ - "unicode-width 0.2.2", -] - -[[package]] -name = "half" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - -[[package]] -name = "hashbag" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7040a10f52cba493ddb09926e15d10a9d8a28043708a405931fe4c6f19fac064" - -[[package]] -name = "hashbrown" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "indexmap" -version = "2.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" - -[[package]] -name = "js-sys" -version = "0.3.105" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce57d20d1ea864ce2ac172ab472d409214f4fd359f0b2a2775abdf522e2af99e" -dependencies = [ - "cfg-if", - "futures-util", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.189" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "memchr" -version = "2.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" - -[[package]] -name = "miniz_oxide" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "num-conv" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" - -[[package]] -name = "onig" -version = "6.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2" -dependencies = [ - "bitflags 2.13.2", - "libc", - "once_cell", - "onig_sys", -] - -[[package]] -name = "onig_sys" -version = "69.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "oorandom" -version = "11.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" - -[[package]] -name = "output_vt100" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" -dependencies = [ - "winapi", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" - -[[package]] -name = "pkg-config" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" - -[[package]] -name = "plist" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896bade328c13f7042a297ea5ac5b0951f6cf989dea5f32c2fd98da398195cb" -dependencies = [ - "base64", - "indexmap", - "quick-xml", - "serde", - "time", -] - -[[package]] -name = "plotters" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" - -[[package]] -name = "plotters-svg" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "pretty_assertions" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427" -dependencies = [ - "ansi_term", - "ctor", - "difference", - "output_vt100", -] - -[[package]] -name = "proc-macro2" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "public-api" -version = "0.50.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40883c1581e900daa2cc4bc1ac50858f83a8563dd2e3c55b70bba44f57db7b35" -dependencies = [ - "hashbag", - "rustdoc-types", - "serde", - "serde_json", - "snapshot-testing", - "thiserror", -] - -[[package]] -name = "quick-xml" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rayon" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "regex" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" - -[[package]] -name = "rustdoc-json" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b2c5783825e93b4e3df439f1f98b8803f5912b2c2ce396a4c70eac909e558c" -dependencies = [ - "cargo-manifest", - "cargo_metadata", - "serde", - "thiserror", - "toml 1.1.6+spec-1.1.0", - "tracing", -] - -[[package]] -name = "rustdoc-types" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27bf787c529efe523ed9eb6dcdbaa5954d34329f08d5c243fce928441826ca90" -dependencies = [ - "serde", - "serde_derive", -] - -[[package]] -name = "rustup-toolchain" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5715001c3f29532641421aaddb1302cbcbfd7507ed5f3a5dd0ddb5b808a7e0" -dependencies = [ - "thiserror", -] - -[[package]] -name = "rustversion" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" - -[[package]] -name = "ryu" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half", - "serde", -] - -[[package]] -name = "serde_core" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.5", -] - -[[package]] -name = "serde_json" -version = "1.0.151" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" -dependencies = [ - "serde_core", -] - -[[package]] -name = "shlex" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" - -[[package]] -name = "simd-adler32" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" - -[[package]] -name = "similar" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" - -[[package]] -name = "similar-asserts" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b441962c817e33508847a22bd82f03a30cff43642dc2fae8b050566121eb9a" -dependencies = [ - "console", - "similar", -] - -[[package]] -name = "slab" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" - -[[package]] -name = "snapshot-testing" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebf2194b9611339d00b28260cf6bd640073c60179ce7dd1e47badef1eb606e7" -dependencies = [ - "console", - "similar-asserts", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.119" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "3.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syntect" -version = "5.3.0" -dependencies = [ - "bincode", - "criterion", - "fancy-regex", - "flate2", - "fnv", - "getopts", - "once_cell", - "onig", - "plist", - "pretty_assertions", - "public-api", - "rayon", - "regex", - "regex-syntax", - "rustdoc-json", - "rustup-toolchain", - "serde", - "serde_derive", - "serde_json", - "thiserror", - "walkdir", - "yaml-rust", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width 0.1.14", -] - -[[package]] -name = "thiserror" -version = "2.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.5", -] - -[[package]] -name = "time" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" - -[[package]] -name = "time-macros" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "toml" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" -dependencies = [ - "indexmap", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "toml_edit", -] - -[[package]] -name = "toml" -version = "1.1.6+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a" -dependencies = [ - "indexmap", - "serde_core", - "serde_spanned 1.1.1", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 1.0.4", -] - -[[package]] -name = "toml_datetime" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "1.1.1+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.22.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" -dependencies = [ - "indexmap", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.11", - "winnow 0.7.15", -] - -[[package]] -name = "toml_parser" -version = "1.1.3+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" -dependencies = [ - "winnow 1.0.4", -] - -[[package]] -name = "toml_writer" -version = "1.1.2+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "unicode-ident" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-width" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 3.0.5", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.105" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbddc4a036f00ec4f18c83445bd3115cb306a91da554919a099d9222fe4a7f8" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -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 = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "zlib-rs" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12" - -[[package]] -name = "zmij" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/vendor/syntect/Cargo.toml b/vendor/syntect/Cargo.toml deleted file mode 100644 index f91f851..0000000 --- a/vendor/syntect/Cargo.toml +++ /dev/null @@ -1,269 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies. -# -# If you are reading this file be aware that the original Cargo.toml -# will likely look very different (and much more reasonable). -# See Cargo.toml.orig for the original contents. - -[package] -edition = "2021" -name = "syntect" -version = "5.3.0" -authors = ["Tristan Hume "] -build = false -exclude = [ - "testdata/*", - "/scripts/*", - "/Makefile", - "/codecov.yml", -] -autolib = false -autobins = false -autoexamples = false -autotests = false -autobenches = false -description = "library for high quality syntax highlighting and code intelligence using Sublime Text's grammars" -documentation = "https://docs.rs/syntect" -readme = "Readme.md" -keywords = [ - "syntax", - "highlighting", - "highlighter", - "colouring", - "parsing", -] -categories = [ - "parser-implementations", - "parsing", - "text-processing", -] -license = "MIT" -repository = "https://github.com/trishume/syntect" - -[package.metadata.docs.rs] -features = ["metadata"] - -[features] -shared-engines = ["regex-fancy", "fancy-regex/shared-engines"] -regex-census = ["parsing"] -syntax-timing = ["parsing"] -owner-census = ["regex-census", "regex-fancy", "fancy-regex/owner-census"] -default = ["default-onig"] -default-fancy = [ - "parsing", - "default-syntaxes", - "default-themes", - "html", - "plist-load", - "yaml-load", - "dump-load", - "dump-create", - "regex-fancy", -] -default-onig = [ - "parsing", - "default-syntaxes", - "default-themes", - "html", - "plist-load", - "yaml-load", - "dump-load", - "dump-create", - "regex-onig", -] -default-syntaxes = [ - "parsing", - "dump-load", -] -default-themes = ["dump-load"] -dump-create = [ - "flate2", - "bincode", -] -dump-load = [ - "flate2", - "bincode", -] -html = ["parsing"] -metadata = [ - "parsing", - "plist-load", - "dep:serde_json", -] -parsing = [ - "regex-syntax", - "fnv", - "dump-create", - "dump-load", -] -plist-load = [ - "plist", - "dep:serde_json", -] -regex-fancy = ["fancy-regex"] -regex-onig = ["onig"] -yaml-load = [ - "yaml-rust", - "parsing", -] - -[lib] -name = "syntect" -path = "src/lib.rs" -bench = false - -[[example]] -name = "gendata" -path = "examples/gendata.rs" - -[[example]] -name = "latex-demo" -path = "examples/latex-demo.rs" - -[[example]] -name = "parsyncat" -path = "examples/parsyncat.rs" - -[[example]] -name = "syncat" -path = "examples/syncat.rs" - -[[example]] -name = "synhtml" -path = "examples/synhtml.rs" - -[[example]] -name = "synhtml-css-classes" -path = "examples/synhtml-css-classes.rs" - -[[example]] -name = "synstats" -path = "examples/synstats.rs" - -[[example]] -name = "syntest" -path = "examples/syntest.rs" - -[[test]] -name = "error_handling" -path = "tests/error_handling.rs" - -[[test]] -name = "public_api" -path = "tests/public_api.rs" - -[[bench]] -name = "highlighting" -path = "benches/highlighting.rs" -harness = false - -[[bench]] -name = "load_and_highlight" -path = "benches/load_and_highlight.rs" -harness = false - -[[bench]] -name = "loading" -path = "benches/loading.rs" -harness = false - -[[bench]] -name = "parsing" -path = "benches/parsing.rs" -harness = false - -[dependencies.bincode] -version = "1.0" -optional = true - -[dependencies.fancy-regex] -version = "0.16.2" -optional = true - -[dependencies.flate2] -version = "1.0" -optional = true - -[dependencies.fnv] -version = "1.0" -optional = true - -[dependencies.once_cell] -version = "1.8" - -[dependencies.onig] -version = "6.5.1" -optional = true -default-features = false - -[dependencies.plist] -version = "1.3" -optional = true - -[dependencies.regex-syntax] -version = "0.8" -optional = true - -[dependencies.serde] -version = "1.0" - -[dependencies.serde_derive] -version = "1.0" - -[dependencies.serde_json] -version = "1.0" -optional = true - -[dependencies.thiserror] -version = "2.0.12" - -[dependencies.walkdir] -version = "2.0" - -[dependencies.yaml-rust] -version = "0.4.5" -optional = true - -[dev-dependencies.criterion] -version = "0.3" -features = ["html_reports"] - -[dev-dependencies.getopts] -version = "0.2" - -[dev-dependencies.pretty_assertions] -version = "0.6" - -[dev-dependencies.public-api] -version = "0.50.1" - -[dev-dependencies.rayon] -version = "1.0.0" - -[dev-dependencies.regex] -version = "1.0" - -[dev-dependencies.rustdoc-json] -version = "0.9.7" - -[dev-dependencies.rustup-toolchain] -version = "0.1.5" - -[dev-dependencies.serde_json] -version = "1.0" - -[profile.dev.package.aho-corasick] -opt-level = 2 - -[profile.dev.package.fancy-regex] -opt-level = 2 - -[profile.dev.package.regex-automata] -opt-level = 2 - -[profile.dev.package.regex-syntax] -opt-level = 2 diff --git a/vendor/syntect/benches/highlight_utils/mod.rs b/vendor/syntect/benches/highlight_utils/mod.rs deleted file mode 100644 index 2170a16..0000000 --- a/vendor/syntect/benches/highlight_utils/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -use syntect::easy::HighlightLines; -use syntect::highlighting::Theme; -use syntect::parsing::{SyntaxReference, SyntaxSet}; - -/// Common helper for benchmarking highlighting. -pub fn do_highlight( - s: &str, - syntax_set: &SyntaxSet, - syntax: &SyntaxReference, - theme: &Theme, -) -> usize { - let mut h = HighlightLines::new(syntax, theme); - let mut count = 0; - for line in s.lines() { - let regions = h.highlight_line(line, syntax_set).unwrap(); - count += regions.len(); - } - count -} diff --git a/vendor/syntect/benches/highlighting.rs b/vendor/syntect/benches/highlighting.rs deleted file mode 100644 index 1b02095..0000000 --- a/vendor/syntect/benches/highlighting.rs +++ /dev/null @@ -1,63 +0,0 @@ -use criterion::{criterion_group, criterion_main, Bencher, Criterion}; -use std::str::FromStr; -use syntect::highlighting::ThemeSet; -use syntect::html::highlighted_html_for_string; -use syntect::parsing::{ScopeStack, SyntaxSet}; - -mod highlight_utils; -mod utils; - -fn highlight_file(b: &mut Bencher, file: &str) { - let path = utils::get_test_file_path(file); - - // don't load from dump so we don't count lazy regex compilation time - let ss = SyntaxSet::load_defaults_nonewlines(); - let ts = ThemeSet::load_defaults(); - - let syntax = ss.find_syntax_for_file(path).unwrap().unwrap(); - let s = std::fs::read_to_string(path).unwrap(); - - b.iter(|| highlight_utils::do_highlight(&s, &ss, syntax, &ts.themes["base16-ocean.dark"])); -} - -fn stack_matching(b: &mut Bencher) { - let s = "source.js meta.group.js meta.group.js meta.block.js meta.function-call.method.js meta.group.js meta.object-literal.js meta.block.js meta.function-call.method.js meta.group.js variable.other.readwrite.js"; - let stack = ScopeStack::from_str(s).unwrap(); - let selector = ScopeStack::from_str("source meta.function-call.method").unwrap(); - b.iter(|| selector.does_match(stack.as_slice())); -} - -fn highlight_html(b: &mut Bencher) { - let ss = SyntaxSet::load_defaults_newlines(); - let ts = ThemeSet::load_defaults(); - - let path = "testdata/parser.rs"; - let syntax = ss.find_syntax_for_file(path).unwrap().unwrap(); - let s = std::fs::read_to_string(path).unwrap(); - - b.iter(|| highlighted_html_for_string(&s, &ss, syntax, &ts.themes["base16-ocean.dark"])); -} - -fn highlighting_benchmark(c: &mut Criterion) { - c.bench_function("stack_matching", stack_matching); - c.bench_function("highlight_html", highlight_html); - let mut highlight = c.benchmark_group("highlight"); - for input in &[ - "highlight_test.erb", - "InspiredGitHub.tmTheme", - "Ruby.sublime-syntax", - "jquery.js", - "parser.rs", - "scope.rs", - ] { - highlight.bench_with_input(format!("\"{}\"", input), input, |b, s| highlight_file(b, s)); - } - highlight.finish(); -} - -criterion_group! { - name = benches; - config = Criterion::default().sample_size(10); - targets = highlighting_benchmark -} -criterion_main!(benches); diff --git a/vendor/syntect/benches/load_and_highlight.rs b/vendor/syntect/benches/load_and_highlight.rs deleted file mode 100644 index b8c80ca..0000000 --- a/vendor/syntect/benches/load_and_highlight.rs +++ /dev/null @@ -1,40 +0,0 @@ -mod highlight_utils; -mod utils; - -/// Measures the time it takes to run the whole pipeline: -/// 1. Load assets -/// 2. Parse -/// 3. Highlight -fn run(b: &mut criterion::Bencher, file: &str) { - let path = utils::get_test_file_path(file); - - b.iter(|| { - let ss = syntect::parsing::SyntaxSet::load_defaults_nonewlines(); - let ts = syntect::highlighting::ThemeSet::load_defaults(); - - let syntax = ss.find_syntax_for_file(path).unwrap().unwrap(); - let s = std::fs::read_to_string(path).unwrap(); - - highlight_utils::do_highlight(&s, &ss, syntax, &ts.themes["base16-ocean.dark"]); - }) -} - -fn load_and_highlight_benchmark(c: &mut criterion::Criterion) { - let mut group = c.benchmark_group("load_and_highlight"); - for input in &[ - "highlight_test.erb", - "InspiredGitHub.tmTheme", - "Ruby.sublime-syntax", - "parser.rs", - ] { - group.bench_with_input(format!("\"{}\"", input), input, |b, s| run(b, s)); - } - group.finish(); -} - -criterion::criterion_group! { - name = benches; - config = criterion::Criterion::default().sample_size(50); - targets = load_and_highlight_benchmark -} -criterion::criterion_main!(benches); diff --git a/vendor/syntect/benches/loading.rs b/vendor/syntect/benches/loading.rs deleted file mode 100644 index a7f4c09..0000000 --- a/vendor/syntect/benches/loading.rs +++ /dev/null @@ -1,54 +0,0 @@ -use criterion::{criterion_group, criterion_main, Bencher, Criterion}; -use syntect::highlighting::ThemeSet; -use syntect::parsing::{SyntaxSet, SyntaxSetBuilder}; - -fn bench_load_internal_dump(b: &mut Bencher) { - b.iter(|| SyntaxSet::load_defaults_newlines()); -} - -fn bench_load_internal_themes(b: &mut Bencher) { - b.iter(|| ThemeSet::load_defaults()); -} - -fn bench_load_theme(b: &mut Bencher) { - b.iter(|| ThemeSet::get_theme("testdata/spacegray/base16-ocean.dark.tmTheme")); -} - -fn bench_add_from_folder(b: &mut Bencher) { - b.iter(|| { - let mut builder = SyntaxSetBuilder::new(); - builder.add_from_folder("testdata/Packages", false).unwrap() - }); -} - -fn bench_link_syntaxes(b: &mut Bencher) { - let mut builder = SyntaxSetBuilder::new(); - builder.add_from_folder("testdata/Packages", false).unwrap(); - b.iter(|| { - builder.clone().build(); - }); -} - -fn bench_from_dump_file(b: &mut Bencher) { - b.iter(|| { - let _: SyntaxSet = - syntect::dumps::from_uncompressed_dump_file("assets/default_newlines.packdump") - .unwrap(); - }) -} - -fn loading_benchmark(c: &mut Criterion) { - c.bench_function("load_internal_dump", bench_load_internal_dump); - c.bench_function("load_internal_themes", bench_load_internal_themes); - c.bench_function("load_theme", bench_load_theme); - c.bench_function("add_from_folder", bench_add_from_folder); - c.bench_function("link_syntaxes", bench_link_syntaxes); - c.bench_function("from_dump_file", bench_from_dump_file); -} - -criterion_group! { - name = benches; - config = Criterion::default().sample_size(50); - targets = loading_benchmark -} -criterion_main!(benches); diff --git a/vendor/syntect/benches/parsing.rs b/vendor/syntect/benches/parsing.rs deleted file mode 100644 index e42075a..0000000 --- a/vendor/syntect/benches/parsing.rs +++ /dev/null @@ -1,49 +0,0 @@ -use criterion::{criterion_group, criterion_main, Bencher, Criterion}; -use std::time::Duration; -use syntect::parsing::{ParseState, SyntaxReference, SyntaxSet}; - -mod utils; - -fn do_parse(s: &str, ss: &SyntaxSet, syntax: &SyntaxReference) -> usize { - let mut state = ParseState::new(syntax); - let mut count = 0; - for line in s.lines() { - let ops = state.parse_line(line, ss).unwrap(); - count += ops.len(); - } - count -} - -fn parse_file(b: &mut Bencher, file: &str) { - let path = utils::get_test_file_path(file); - - // don't load from dump so we don't count lazy regex compilation time - let ss = SyntaxSet::load_defaults_nonewlines(); - - let syntax = ss.find_syntax_for_file(path).unwrap().unwrap(); - let s = std::fs::read_to_string(path).unwrap(); - - b.iter(|| do_parse(&s, &ss, syntax)); -} - -fn parsing_benchmark(c: &mut Criterion) { - let mut parse = c.benchmark_group("parse"); - for input in &[ - "highlight_test.erb", - "InspiredGitHub.tmTheme", - "Ruby.sublime-syntax", - "jquery.js", - "parser.rs", - "scope.rs", - ] { - parse.bench_with_input(format!("\"{}\"", input), input, |b, s| parse_file(b, s)); - } - parse.finish(); -} - -criterion_group! { - name = benches; - config = Criterion::default().sample_size(50).warm_up_time(Duration::from_secs(30)); - targets = parsing_benchmark -} -criterion_main!(benches); diff --git a/vendor/syntect/benches/utils/mod.rs b/vendor/syntect/benches/utils/mod.rs deleted file mode 100644 index 241dbfd..0000000 --- a/vendor/syntect/benches/utils/mod.rs +++ /dev/null @@ -1,14 +0,0 @@ -/// To be able to keep the same Criterion benchmark names as before (for the -/// `the --baseline` feature of Criterion) we use one level of indirection to -/// map file name to file path. -pub fn get_test_file_path(file: &str) -> &str { - match file { - "highlight_test.erb" => "testdata/highlight_test.erb", - "InspiredGitHub.tmTheme" => "testdata/InspiredGitHub.tmtheme/InspiredGitHub.tmTheme", - "Ruby.sublime-syntax" => "testdata/Packages/Ruby/Ruby.sublime-syntax", - "jquery.js" => "testdata/jquery.js", - "parser.rs" => "testdata/parser.rs", - "scope.rs" => "src/parsing/scope.rs", - _ => panic!("Unknown test file {}", file), - } -} diff --git a/vendor/syntect/tests/public_api.rs b/vendor/syntect/tests/public_api.rs deleted file mode 100644 index 0ef5870..0000000 --- a/vendor/syntect/tests/public_api.rs +++ /dev/null @@ -1,21 +0,0 @@ -#[test] -fn public_api() { - // Install a compatible nightly toolchain if it is missing - rustup_toolchain::install(public_api::MINIMUM_NIGHTLY_RUST_VERSION).unwrap(); - - // Build rustdoc JSON - let rustdoc_json = rustdoc_json::Builder::default() - .toolchain(public_api::MINIMUM_NIGHTLY_RUST_VERSION) - .build() - .unwrap(); - - // Derive the public API from the rustdoc JSON - let public_api = public_api::Builder::from_rustdoc_json(rustdoc_json) - .omit_blanket_impls(true) - .build() - .unwrap(); - - // Assert that the public API matches the latest snapshot. - // Run with env var `UPDATE_SNAPSHOTS=yes` to update the snapshot. - public_api.assert_eq_or_update("./tests/snapshots/public-api.txt"); -} diff --git a/vendor/syntect/tests/snapshots/public-api.txt b/vendor/syntect/tests/snapshots/public-api.txt deleted file mode 100644 index 75bb91a..0000000 --- a/vendor/syntect/tests/snapshots/public-api.txt +++ /dev/null @@ -1,1319 +0,0 @@ -pub mod syntect -pub mod syntect::dumps -pub fn syntect::dumps::dump_binary(o: &T) -> alloc::vec::Vec -pub fn syntect::dumps::dump_to_file>(o: &T, path: P) -> bincode::error::Result<()> -pub fn syntect::dumps::dump_to_uncompressed_file>(o: &T, path: P) -> bincode::error::Result<()> -pub fn syntect::dumps::dump_to_writer(to_dump: &T, output: W) -> bincode::error::Result<()> -pub fn syntect::dumps::from_binary(v: &[u8]) -> T -pub fn syntect::dumps::from_dump_file>(path: P) -> bincode::error::Result -pub fn syntect::dumps::from_reader(input: R) -> bincode::error::Result -pub fn syntect::dumps::from_uncompressed_data(v: &[u8]) -> bincode::error::Result -pub fn syntect::dumps::from_uncompressed_dump_file>(path: P) -> bincode::error::Result -pub mod syntect::easy -pub struct syntect::easy::HighlightFile<'a> -pub syntect::easy::HighlightFile::highlight_lines: syntect::easy::HighlightLines<'a> -pub syntect::easy::HighlightFile::reader: std::io::buffered::bufreader::BufReader -impl<'a> syntect::easy::HighlightFile<'a> -pub fn syntect::easy::HighlightFile<'a>::new>(path_obj: P, ss: &syntect::parsing::SyntaxSet, theme: &'a syntect::highlighting::Theme) -> std::io::error::Result> -impl<'a> core::marker::Freeze for syntect::easy::HighlightFile<'a> -impl<'a> !core::marker::Send for syntect::easy::HighlightFile<'a> -impl<'a> !core::marker::Sync for syntect::easy::HighlightFile<'a> -impl<'a> core::marker::Unpin for syntect::easy::HighlightFile<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::easy::HighlightFile<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::easy::HighlightFile<'a> -pub struct syntect::easy::HighlightLines<'a> -impl<'a> syntect::easy::HighlightLines<'a> -pub fn syntect::easy::HighlightLines<'a>::from_state(theme: &'a syntect::highlighting::Theme, highlight_state: syntect::highlighting::HighlightState, parse_state: syntect::parsing::ParseState) -> syntect::easy::HighlightLines<'a> -pub fn syntect::easy::HighlightLines<'a>::highlight<'b>(&mut self, line: &'b str, syntax_set: &syntect::parsing::SyntaxSet) -> alloc::vec::Vec<(syntect::highlighting::Style, &'b str)> -pub fn syntect::easy::HighlightLines<'a>::highlight_line<'b>(&mut self, line: &'b str, syntax_set: &syntect::parsing::SyntaxSet) -> core::result::Result, syntect::Error> -pub fn syntect::easy::HighlightLines<'a>::new(syntax: &syntect::parsing::SyntaxReference, theme: &'a syntect::highlighting::Theme) -> syntect::easy::HighlightLines<'a> -pub fn syntect::easy::HighlightLines<'a>::state(self) -> (syntect::highlighting::HighlightState, syntect::parsing::ParseState) -impl<'a> core::marker::Freeze for syntect::easy::HighlightLines<'a> -impl<'a> !core::marker::Send for syntect::easy::HighlightLines<'a> -impl<'a> !core::marker::Sync for syntect::easy::HighlightLines<'a> -impl<'a> core::marker::Unpin for syntect::easy::HighlightLines<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::easy::HighlightLines<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::easy::HighlightLines<'a> -pub struct syntect::easy::ScopeRangeIterator<'a> -impl<'a> syntect::easy::ScopeRangeIterator<'a> -pub fn syntect::easy::ScopeRangeIterator<'a>::new(ops: &'a [(usize, syntect::parsing::ScopeStackOp)], line: &'a str) -> syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::fmt::Debug for syntect::easy::ScopeRangeIterator<'a> -pub fn syntect::easy::ScopeRangeIterator<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'a> core::iter::traits::iterator::Iterator for syntect::easy::ScopeRangeIterator<'a> -pub type syntect::easy::ScopeRangeIterator<'a>::Item = (core::ops::range::Range, &'a syntect::parsing::ScopeStackOp) -pub fn syntect::easy::ScopeRangeIterator<'a>::next(&mut self) -> core::option::Option -impl<'a> core::marker::Freeze for syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::marker::Send for syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::marker::Sync for syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::marker::Unpin for syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::easy::ScopeRangeIterator<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::easy::ScopeRangeIterator<'a> -pub struct syntect::easy::ScopeRegionIterator<'a> -impl<'a> syntect::easy::ScopeRegionIterator<'a> -pub fn syntect::easy::ScopeRegionIterator<'a>::new(ops: &'a [(usize, syntect::parsing::ScopeStackOp)], line: &'a str) -> syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::fmt::Debug for syntect::easy::ScopeRegionIterator<'a> -pub fn syntect::easy::ScopeRegionIterator<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'a> core::iter::traits::iterator::Iterator for syntect::easy::ScopeRegionIterator<'a> -pub type syntect::easy::ScopeRegionIterator<'a>::Item = (&'a str, &'a syntect::parsing::ScopeStackOp) -pub fn syntect::easy::ScopeRegionIterator<'a>::next(&mut self) -> core::option::Option -impl<'a> core::marker::Freeze for syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::marker::Send for syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::marker::Sync for syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::marker::Unpin for syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::easy::ScopeRegionIterator<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::easy::ScopeRegionIterator<'a> -pub mod syntect::highlighting -#[non_exhaustive] pub enum syntect::highlighting::ParseThemeError -pub syntect::highlighting::ParseThemeError::ColorShemeScopeIsNotObject -pub syntect::highlighting::ParseThemeError::ColorShemeSettingsIsNotObject -pub syntect::highlighting::ParseThemeError::DuplicateSettings -pub syntect::highlighting::ParseThemeError::IncorrectColor -pub syntect::highlighting::ParseThemeError::IncorrectFontStyle(alloc::string::String) -pub syntect::highlighting::ParseThemeError::IncorrectSettings -pub syntect::highlighting::ParseThemeError::IncorrectSyntax -pub syntect::highlighting::ParseThemeError::IncorrectUnderlineOption -pub syntect::highlighting::ParseThemeError::ScopeParse(syntect::parsing::ParseScopeError) -pub syntect::highlighting::ParseThemeError::ScopeSelectorIsNotString(alloc::string::String) -pub syntect::highlighting::ParseThemeError::UndefinedScopeSettings(alloc::string::String) -pub syntect::highlighting::ParseThemeError::UndefinedSettings -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: syntect::highlighting::ParseThemeError) -> Self -impl core::convert::From for syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::ParseThemeError::from(source: syntect::parsing::ParseScopeError) -> Self -impl core::error::Error for syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::ParseThemeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -impl core::fmt::Debug for syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::ParseThemeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::ParseThemeError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::highlighting::ParseThemeError -impl core::marker::Send for syntect::highlighting::ParseThemeError -impl core::marker::Sync for syntect::highlighting::ParseThemeError -impl core::marker::Unpin for syntect::highlighting::ParseThemeError -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ParseThemeError -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ParseThemeError -#[non_exhaustive] pub enum syntect::highlighting::SettingsError -pub syntect::highlighting::SettingsError::Plist(plist::error::Error) -impl core::convert::From for syntect::highlighting::SettingsError -pub fn syntect::highlighting::SettingsError::from(error: plist::error::Error) -> syntect::highlighting::SettingsError -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: syntect::highlighting::SettingsError) -> Self -impl core::error::Error for syntect::highlighting::SettingsError -impl core::fmt::Debug for syntect::highlighting::SettingsError -pub fn syntect::highlighting::SettingsError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::highlighting::SettingsError -pub fn syntect::highlighting::SettingsError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::highlighting::SettingsError -impl core::marker::Send for syntect::highlighting::SettingsError -impl core::marker::Sync for syntect::highlighting::SettingsError -impl core::marker::Unpin for syntect::highlighting::SettingsError -impl !core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::SettingsError -impl !core::panic::unwind_safe::UnwindSafe for syntect::highlighting::SettingsError -pub enum syntect::highlighting::UnderlineOption -pub syntect::highlighting::UnderlineOption::None -pub syntect::highlighting::UnderlineOption::SquigglyUnderline -pub syntect::highlighting::UnderlineOption::StippledUnderline -pub syntect::highlighting::UnderlineOption::Underline -impl core::clone::Clone for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::clone(&self) -> syntect::highlighting::UnderlineOption -impl core::cmp::PartialEq for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::eq(&self, other: &syntect::highlighting::UnderlineOption) -> bool -impl core::default::Default for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::default() -> syntect::highlighting::UnderlineOption -impl core::fmt::Debug for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::UnderlineOption -impl core::str::traits::FromStr for syntect::highlighting::UnderlineOption -pub type syntect::highlighting::UnderlineOption::Err = syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::UnderlineOption::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::UnderlineOption -pub fn syntect::highlighting::UnderlineOption::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::UnderlineOption -impl core::marker::Send for syntect::highlighting::UnderlineOption -impl core::marker::Sync for syntect::highlighting::UnderlineOption -impl core::marker::Unpin for syntect::highlighting::UnderlineOption -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::UnderlineOption -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::UnderlineOption -pub struct syntect::highlighting::Color -pub syntect::highlighting::Color::a: u8 -pub syntect::highlighting::Color::b: u8 -pub syntect::highlighting::Color::g: u8 -pub syntect::highlighting::Color::r: u8 -impl syntect::highlighting::Color -pub const syntect::highlighting::Color::BLACK: syntect::highlighting::Color -pub const syntect::highlighting::Color::WHITE: syntect::highlighting::Color -impl core::clone::Clone for syntect::highlighting::Color -pub fn syntect::highlighting::Color::clone(&self) -> syntect::highlighting::Color -impl core::cmp::Eq for syntect::highlighting::Color -impl core::cmp::PartialEq for syntect::highlighting::Color -pub fn syntect::highlighting::Color::eq(&self, other: &syntect::highlighting::Color) -> bool -impl core::fmt::Debug for syntect::highlighting::Color -pub fn syntect::highlighting::Color::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::hash::Hash for syntect::highlighting::Color -pub fn syntect::highlighting::Color::hash<__H: core::hash::Hasher>(&self, state: &mut __H) -impl core::marker::Copy for syntect::highlighting::Color -impl core::marker::StructuralPartialEq for syntect::highlighting::Color -impl core::str::traits::FromStr for syntect::highlighting::Color -pub type syntect::highlighting::Color::Err = syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::Color::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::highlighting::Color -pub fn syntect::highlighting::Color::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::Color -pub fn syntect::highlighting::Color::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::Color -impl core::marker::Send for syntect::highlighting::Color -impl core::marker::Sync for syntect::highlighting::Color -impl core::marker::Unpin for syntect::highlighting::Color -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::Color -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::Color -pub struct syntect::highlighting::FontStyle -impl syntect::highlighting::FontStyle -pub const syntect::highlighting::FontStyle::BOLD: Self -pub const syntect::highlighting::FontStyle::ITALIC: Self -pub const syntect::highlighting::FontStyle::UNDERLINE: Self -pub const fn syntect::highlighting::FontStyle::all() -> Self -pub const fn syntect::highlighting::FontStyle::bits(&self) -> u8 -pub const fn syntect::highlighting::FontStyle::complement(self) -> Self -pub const fn syntect::highlighting::FontStyle::contains(&self, other: Self) -> bool -pub const fn syntect::highlighting::FontStyle::difference(self, other: Self) -> Self -pub const fn syntect::highlighting::FontStyle::empty() -> Self -pub const fn syntect::highlighting::FontStyle::from_bits(bits: u8) -> core::option::Option -pub const fn syntect::highlighting::FontStyle::from_bits_truncate(bits: u8) -> Self -pub unsafe const fn syntect::highlighting::FontStyle::from_bits_unchecked(bits: u8) -> Self -pub fn syntect::highlighting::FontStyle::insert(&mut self, other: Self) -pub const fn syntect::highlighting::FontStyle::intersection(self, other: Self) -> Self -pub const fn syntect::highlighting::FontStyle::intersects(&self, other: Self) -> bool -pub const fn syntect::highlighting::FontStyle::is_all(&self) -> bool -pub const fn syntect::highlighting::FontStyle::is_empty(&self) -> bool -pub fn syntect::highlighting::FontStyle::remove(&mut self, other: Self) -pub fn syntect::highlighting::FontStyle::set(&mut self, other: Self, value: bool) -pub const fn syntect::highlighting::FontStyle::symmetric_difference(self, other: Self) -> Self -pub fn syntect::highlighting::FontStyle::toggle(&mut self, other: Self) -pub const fn syntect::highlighting::FontStyle::union(self, other: Self) -> Self -impl core::clone::Clone for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::clone(&self) -> syntect::highlighting::FontStyle -impl core::cmp::Eq for syntect::highlighting::FontStyle -impl core::cmp::Ord for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::cmp(&self, other: &syntect::highlighting::FontStyle) -> core::cmp::Ordering -impl core::cmp::PartialEq for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::eq(&self, other: &syntect::highlighting::FontStyle) -> bool -impl core::cmp::PartialOrd for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::partial_cmp(&self, other: &syntect::highlighting::FontStyle) -> core::option::Option -impl core::default::Default for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::default() -> syntect::highlighting::FontStyle -impl core::fmt::Binary for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Debug for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::LowerHex for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Octal for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::UpperHex for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::hash::Hash for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::hash<__H: core::hash::Hasher>(&self, state: &mut __H) -impl core::iter::traits::collect::Extend for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::extend>(&mut self, iterator: T) -impl core::iter::traits::collect::FromIterator for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::from_iter>(iterator: T) -> Self -impl core::marker::Copy for syntect::highlighting::FontStyle -impl core::marker::StructuralPartialEq for syntect::highlighting::FontStyle -impl core::ops::arith::Sub for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Output = syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::sub(self, other: Self) -> Self -impl core::ops::arith::SubAssign for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::sub_assign(&mut self, other: Self) -impl core::ops::bit::BitAnd for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Output = syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitand(self, other: Self) -> Self -impl core::ops::bit::BitAndAssign for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitand_assign(&mut self, other: Self) -impl core::ops::bit::BitOr for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Output = syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitor(self, other: syntect::highlighting::FontStyle) -> Self -impl core::ops::bit::BitOrAssign for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitor_assign(&mut self, other: Self) -impl core::ops::bit::BitXor for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Output = syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitxor(self, other: Self) -> Self -impl core::ops::bit::BitXorAssign for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::bitxor_assign(&mut self, other: Self) -impl core::ops::bit::Not for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Output = syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::not(self) -> Self -impl core::str::traits::FromStr for syntect::highlighting::FontStyle -pub type syntect::highlighting::FontStyle::Err = syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::FontStyle::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::FontStyle -pub fn syntect::highlighting::FontStyle::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::FontStyle -impl core::marker::Send for syntect::highlighting::FontStyle -impl core::marker::Sync for syntect::highlighting::FontStyle -impl core::marker::Unpin for syntect::highlighting::FontStyle -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::FontStyle -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::FontStyle -pub struct syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> syntect::highlighting::HighlightIterator<'a, 'b> -pub fn syntect::highlighting::HighlightIterator<'a, 'b>::new(state: &'a mut syntect::highlighting::HighlightState, changes: &'a [(usize, syntect::parsing::ScopeStackOp)], text: &'b str, highlighter: &'a syntect::highlighting::Highlighter<'_>) -> syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> core::fmt::Debug for syntect::highlighting::HighlightIterator<'a, 'b> -pub fn syntect::highlighting::HighlightIterator<'a, 'b>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'b> core::iter::traits::iterator::Iterator for syntect::highlighting::HighlightIterator<'_, 'b> -pub type syntect::highlighting::HighlightIterator<'_, 'b>::Item = (syntect::highlighting::Style, &'b str) -pub fn syntect::highlighting::HighlightIterator<'_, 'b>::next(&mut self) -> core::option::Option<(syntect::highlighting::Style, &'b str)> -impl<'a, 'b> core::marker::Freeze for syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Send for syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Sync for syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Unpin for syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::HighlightIterator<'a, 'b> -impl<'a, 'b> !core::panic::unwind_safe::UnwindSafe for syntect::highlighting::HighlightIterator<'a, 'b> -pub struct syntect::highlighting::HighlightState -pub syntect::highlighting::HighlightState::path: syntect::parsing::ScopeStack -impl syntect::highlighting::HighlightState -pub fn syntect::highlighting::HighlightState::new(highlighter: &syntect::highlighting::Highlighter<'_>, initial_stack: syntect::parsing::ScopeStack) -> syntect::highlighting::HighlightState -impl core::clone::Clone for syntect::highlighting::HighlightState -pub fn syntect::highlighting::HighlightState::clone(&self) -> syntect::highlighting::HighlightState -impl core::cmp::Eq for syntect::highlighting::HighlightState -impl core::cmp::PartialEq for syntect::highlighting::HighlightState -pub fn syntect::highlighting::HighlightState::eq(&self, other: &syntect::highlighting::HighlightState) -> bool -impl core::fmt::Debug for syntect::highlighting::HighlightState -pub fn syntect::highlighting::HighlightState::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::HighlightState -impl core::marker::Freeze for syntect::highlighting::HighlightState -impl core::marker::Send for syntect::highlighting::HighlightState -impl core::marker::Sync for syntect::highlighting::HighlightState -impl core::marker::Unpin for syntect::highlighting::HighlightState -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::HighlightState -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::HighlightState -pub struct syntect::highlighting::Highlighter<'a> -impl<'a> syntect::highlighting::Highlighter<'a> -pub fn syntect::highlighting::Highlighter<'a>::get_default(&self) -> syntect::highlighting::Style -pub fn syntect::highlighting::Highlighter<'a>::new(theme: &'a syntect::highlighting::Theme) -> syntect::highlighting::Highlighter<'a> -pub fn syntect::highlighting::Highlighter<'a>::style_for_stack(&self, stack: &[syntect::parsing::Scope]) -> syntect::highlighting::Style -pub fn syntect::highlighting::Highlighter<'a>::style_mod_for_stack(&self, path: &[syntect::parsing::Scope]) -> syntect::highlighting::StyleModifier -impl<'a> core::fmt::Debug for syntect::highlighting::Highlighter<'a> -pub fn syntect::highlighting::Highlighter<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'a> core::marker::Freeze for syntect::highlighting::Highlighter<'a> -impl<'a> core::marker::Send for syntect::highlighting::Highlighter<'a> -impl<'a> core::marker::Sync for syntect::highlighting::Highlighter<'a> -impl<'a> core::marker::Unpin for syntect::highlighting::Highlighter<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::Highlighter<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::highlighting::Highlighter<'a> -pub struct syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> syntect::highlighting::RangedHighlightIterator<'a, 'b> -pub fn syntect::highlighting::RangedHighlightIterator<'a, 'b>::new(state: &'a mut syntect::highlighting::HighlightState, changes: &'a [(usize, syntect::parsing::ScopeStackOp)], text: &'b str, highlighter: &'a syntect::highlighting::Highlighter<'_>) -> syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> core::fmt::Debug for syntect::highlighting::RangedHighlightIterator<'a, 'b> -pub fn syntect::highlighting::RangedHighlightIterator<'a, 'b>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'b> core::iter::traits::iterator::Iterator for syntect::highlighting::RangedHighlightIterator<'_, 'b> -pub type syntect::highlighting::RangedHighlightIterator<'_, 'b>::Item = (syntect::highlighting::Style, &'b str, core::ops::range::Range) -pub fn syntect::highlighting::RangedHighlightIterator<'_, 'b>::next(&mut self) -> core::option::Option<(syntect::highlighting::Style, &'b str, core::ops::range::Range)> -impl<'a, 'b> core::marker::Freeze for syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Send for syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Sync for syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> core::marker::Unpin for syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::RangedHighlightIterator<'a, 'b> -impl<'a, 'b> !core::panic::unwind_safe::UnwindSafe for syntect::highlighting::RangedHighlightIterator<'a, 'b> -pub struct syntect::highlighting::ScopeSelector -pub syntect::highlighting::ScopeSelector::excludes: alloc::vec::Vec -pub syntect::highlighting::ScopeSelector::path: syntect::parsing::ScopeStack -impl syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::does_match(&self, stack: &[syntect::parsing::Scope]) -> core::option::Option -pub fn syntect::highlighting::ScopeSelector::extract_scopes(&self) -> alloc::vec::Vec -pub fn syntect::highlighting::ScopeSelector::extract_single_scope(&self) -> core::option::Option -impl core::clone::Clone for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::clone(&self) -> syntect::highlighting::ScopeSelector -impl core::cmp::Eq for syntect::highlighting::ScopeSelector -impl core::cmp::PartialEq for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::eq(&self, other: &syntect::highlighting::ScopeSelector) -> bool -impl core::default::Default for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::default() -> syntect::highlighting::ScopeSelector -impl core::fmt::Debug for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::ScopeSelector -impl core::str::traits::FromStr for syntect::highlighting::ScopeSelector -pub type syntect::highlighting::ScopeSelector::Err = syntect::parsing::ParseScopeError -pub fn syntect::highlighting::ScopeSelector::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::ScopeSelector -pub fn syntect::highlighting::ScopeSelector::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::ScopeSelector -impl core::marker::Send for syntect::highlighting::ScopeSelector -impl core::marker::Sync for syntect::highlighting::ScopeSelector -impl core::marker::Unpin for syntect::highlighting::ScopeSelector -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ScopeSelector -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ScopeSelector -pub struct syntect::highlighting::ScopeSelectors -pub syntect::highlighting::ScopeSelectors::selectors: alloc::vec::Vec -impl syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::does_match(&self, stack: &[syntect::parsing::Scope]) -> core::option::Option -impl core::clone::Clone for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::clone(&self) -> syntect::highlighting::ScopeSelectors -impl core::cmp::Eq for syntect::highlighting::ScopeSelectors -impl core::cmp::PartialEq for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::eq(&self, other: &syntect::highlighting::ScopeSelectors) -> bool -impl core::default::Default for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::default() -> syntect::highlighting::ScopeSelectors -impl core::fmt::Debug for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::ScopeSelectors -impl core::str::traits::FromStr for syntect::highlighting::ScopeSelectors -pub type syntect::highlighting::ScopeSelectors::Err = syntect::parsing::ParseScopeError -pub fn syntect::highlighting::ScopeSelectors::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::ScopeSelectors -pub fn syntect::highlighting::ScopeSelectors::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::ScopeSelectors -impl core::marker::Send for syntect::highlighting::ScopeSelectors -impl core::marker::Sync for syntect::highlighting::ScopeSelectors -impl core::marker::Unpin for syntect::highlighting::ScopeSelectors -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ScopeSelectors -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ScopeSelectors -pub struct syntect::highlighting::ScoredStyle -pub syntect::highlighting::ScoredStyle::background: (syntect::parsing::MatchPower, syntect::highlighting::Color) -pub syntect::highlighting::ScoredStyle::font_style: (syntect::parsing::MatchPower, syntect::highlighting::FontStyle) -pub syntect::highlighting::ScoredStyle::foreground: (syntect::parsing::MatchPower, syntect::highlighting::Color) -impl core::clone::Clone for syntect::highlighting::ScoredStyle -pub fn syntect::highlighting::ScoredStyle::clone(&self) -> syntect::highlighting::ScoredStyle -impl core::cmp::Eq for syntect::highlighting::ScoredStyle -impl core::cmp::PartialEq for syntect::highlighting::ScoredStyle -pub fn syntect::highlighting::ScoredStyle::eq(&self, other: &syntect::highlighting::ScoredStyle) -> bool -impl core::fmt::Debug for syntect::highlighting::ScoredStyle -pub fn syntect::highlighting::ScoredStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::ScoredStyle -impl core::marker::Freeze for syntect::highlighting::ScoredStyle -impl core::marker::Send for syntect::highlighting::ScoredStyle -impl core::marker::Sync for syntect::highlighting::ScoredStyle -impl core::marker::Unpin for syntect::highlighting::ScoredStyle -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ScoredStyle -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ScoredStyle -pub struct syntect::highlighting::Style -pub syntect::highlighting::Style::background: syntect::highlighting::Color -pub syntect::highlighting::Style::font_style: syntect::highlighting::FontStyle -pub syntect::highlighting::Style::foreground: syntect::highlighting::Color -impl syntect::highlighting::Style -pub fn syntect::highlighting::Style::apply(&self, modifier: syntect::highlighting::StyleModifier) -> syntect::highlighting::Style -impl core::clone::Clone for syntect::highlighting::Style -pub fn syntect::highlighting::Style::clone(&self) -> syntect::highlighting::Style -impl core::cmp::Eq for syntect::highlighting::Style -impl core::cmp::PartialEq for syntect::highlighting::Style -pub fn syntect::highlighting::Style::eq(&self, other: &syntect::highlighting::Style) -> bool -impl core::default::Default for syntect::highlighting::Style -pub fn syntect::highlighting::Style::default() -> syntect::highlighting::Style -impl core::fmt::Debug for syntect::highlighting::Style -pub fn syntect::highlighting::Style::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::hash::Hash for syntect::highlighting::Style -pub fn syntect::highlighting::Style::hash<__H: core::hash::Hasher>(&self, state: &mut __H) -impl core::marker::Copy for syntect::highlighting::Style -impl core::marker::StructuralPartialEq for syntect::highlighting::Style -impl serde::ser::Serialize for syntect::highlighting::Style -pub fn syntect::highlighting::Style::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::Style -pub fn syntect::highlighting::Style::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::Style -impl core::marker::Send for syntect::highlighting::Style -impl core::marker::Sync for syntect::highlighting::Style -impl core::marker::Unpin for syntect::highlighting::Style -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::Style -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::Style -pub struct syntect::highlighting::StyleModifier -pub syntect::highlighting::StyleModifier::background: core::option::Option -pub syntect::highlighting::StyleModifier::font_style: core::option::Option -pub syntect::highlighting::StyleModifier::foreground: core::option::Option -impl syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::apply(&self, other: syntect::highlighting::StyleModifier) -> syntect::highlighting::StyleModifier -impl core::clone::Clone for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::clone(&self) -> syntect::highlighting::StyleModifier -impl core::cmp::Eq for syntect::highlighting::StyleModifier -impl core::cmp::PartialEq for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::eq(&self, other: &syntect::highlighting::StyleModifier) -> bool -impl core::default::Default for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::default() -> syntect::highlighting::StyleModifier -impl core::fmt::Debug for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Copy for syntect::highlighting::StyleModifier -impl core::marker::StructuralPartialEq for syntect::highlighting::StyleModifier -impl serde::ser::Serialize for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::StyleModifier -pub fn syntect::highlighting::StyleModifier::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::StyleModifier -impl core::marker::Send for syntect::highlighting::StyleModifier -impl core::marker::Sync for syntect::highlighting::StyleModifier -impl core::marker::Unpin for syntect::highlighting::StyleModifier -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::StyleModifier -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::StyleModifier -pub struct syntect::highlighting::Theme -pub syntect::highlighting::Theme::author: core::option::Option -pub syntect::highlighting::Theme::name: core::option::Option -pub syntect::highlighting::Theme::scopes: alloc::vec::Vec -pub syntect::highlighting::Theme::settings: syntect::highlighting::ThemeSettings -impl core::clone::Clone for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::clone(&self) -> syntect::highlighting::Theme -impl core::cmp::PartialEq for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::eq(&self, other: &syntect::highlighting::Theme) -> bool -impl core::default::Default for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::default() -> syntect::highlighting::Theme -impl core::fmt::Debug for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::Theme -impl serde::ser::Serialize for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::Theme -pub fn syntect::highlighting::Theme::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::Theme -impl core::marker::Send for syntect::highlighting::Theme -impl core::marker::Sync for syntect::highlighting::Theme -impl core::marker::Unpin for syntect::highlighting::Theme -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::Theme -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::Theme -pub struct syntect::highlighting::ThemeItem -pub syntect::highlighting::ThemeItem::scope: syntect::highlighting::ScopeSelectors -pub syntect::highlighting::ThemeItem::style: syntect::highlighting::StyleModifier -impl core::clone::Clone for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::clone(&self) -> syntect::highlighting::ThemeItem -impl core::cmp::PartialEq for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::eq(&self, other: &syntect::highlighting::ThemeItem) -> bool -impl core::default::Default for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::default() -> syntect::highlighting::ThemeItem -impl core::fmt::Debug for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::ThemeItem -impl serde::ser::Serialize for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::ThemeItem -pub fn syntect::highlighting::ThemeItem::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::ThemeItem -impl core::marker::Send for syntect::highlighting::ThemeItem -impl core::marker::Sync for syntect::highlighting::ThemeItem -impl core::marker::Unpin for syntect::highlighting::ThemeItem -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ThemeItem -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ThemeItem -pub struct syntect::highlighting::ThemeSet -pub syntect::highlighting::ThemeSet::themes: alloc::collections::btree::map::BTreeMap -impl syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::add_from_folder>(&mut self, folder: P) -> core::result::Result<(), syntect::LoadingError> -pub fn syntect::highlighting::ThemeSet::discover_theme_paths>(folder: P) -> core::result::Result, syntect::LoadingError> -pub fn syntect::highlighting::ThemeSet::get_theme>(path: P) -> core::result::Result -pub fn syntect::highlighting::ThemeSet::load_from_folder>(folder: P) -> core::result::Result -pub fn syntect::highlighting::ThemeSet::load_from_reader(r: &mut R) -> core::result::Result -pub fn syntect::highlighting::ThemeSet::new() -> syntect::highlighting::ThemeSet -impl syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::load_defaults() -> syntect::highlighting::ThemeSet -impl core::default::Default for syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::default() -> syntect::highlighting::ThemeSet -impl core::fmt::Debug for syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl serde::ser::Serialize for syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::ThemeSet -pub fn syntect::highlighting::ThemeSet::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::ThemeSet -impl core::marker::Send for syntect::highlighting::ThemeSet -impl core::marker::Sync for syntect::highlighting::ThemeSet -impl core::marker::Unpin for syntect::highlighting::ThemeSet -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ThemeSet -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ThemeSet -pub struct syntect::highlighting::ThemeSettings -pub syntect::highlighting::ThemeSettings::accent: core::option::Option -pub syntect::highlighting::ThemeSettings::active_guide: core::option::Option -pub syntect::highlighting::ThemeSettings::background: core::option::Option -pub syntect::highlighting::ThemeSettings::bracket_contents_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::bracket_contents_options: core::option::Option -pub syntect::highlighting::ThemeSettings::brackets_background: core::option::Option -pub syntect::highlighting::ThemeSettings::brackets_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::brackets_options: core::option::Option -pub syntect::highlighting::ThemeSettings::caret: core::option::Option -pub syntect::highlighting::ThemeSettings::find_highlight: core::option::Option -pub syntect::highlighting::ThemeSettings::find_highlight_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::guide: core::option::Option -pub syntect::highlighting::ThemeSettings::gutter: core::option::Option -pub syntect::highlighting::ThemeSettings::gutter_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::highlight: core::option::Option -pub syntect::highlighting::ThemeSettings::inactive_selection: core::option::Option -pub syntect::highlighting::ThemeSettings::inactive_selection_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::line_highlight: core::option::Option -pub syntect::highlighting::ThemeSettings::minimap_border: core::option::Option -pub syntect::highlighting::ThemeSettings::misspelling: core::option::Option -pub syntect::highlighting::ThemeSettings::phantom_css: core::option::Option -pub syntect::highlighting::ThemeSettings::popup_css: core::option::Option -pub syntect::highlighting::ThemeSettings::selection: core::option::Option -pub syntect::highlighting::ThemeSettings::selection_border: core::option::Option -pub syntect::highlighting::ThemeSettings::selection_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::shadow: core::option::Option -pub syntect::highlighting::ThemeSettings::stack_guide: core::option::Option -pub syntect::highlighting::ThemeSettings::tags_foreground: core::option::Option -pub syntect::highlighting::ThemeSettings::tags_options: core::option::Option -impl core::clone::Clone for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::clone(&self) -> syntect::highlighting::ThemeSettings -impl core::cmp::PartialEq for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::eq(&self, other: &syntect::highlighting::ThemeSettings) -> bool -impl core::default::Default for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::default() -> syntect::highlighting::ThemeSettings -impl core::fmt::Debug for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::highlighting::ThemeSettings -impl serde::ser::Serialize for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::highlighting::ThemeSettings -pub fn syntect::highlighting::ThemeSettings::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::highlighting::ThemeSettings -impl core::marker::Send for syntect::highlighting::ThemeSettings -impl core::marker::Sync for syntect::highlighting::ThemeSettings -impl core::marker::Unpin for syntect::highlighting::ThemeSettings -impl core::panic::unwind_safe::RefUnwindSafe for syntect::highlighting::ThemeSettings -impl core::panic::unwind_safe::UnwindSafe for syntect::highlighting::ThemeSettings -pub mod syntect::html -#[non_exhaustive] pub enum syntect::html::ClassStyle -pub syntect::html::ClassStyle::Spaced -pub syntect::html::ClassStyle::SpacedPrefixed -pub syntect::html::ClassStyle::SpacedPrefixed::prefix: &'static str -impl core::clone::Clone for syntect::html::ClassStyle -pub fn syntect::html::ClassStyle::clone(&self) -> syntect::html::ClassStyle -impl core::cmp::Eq for syntect::html::ClassStyle -impl core::cmp::PartialEq for syntect::html::ClassStyle -pub fn syntect::html::ClassStyle::eq(&self, other: &syntect::html::ClassStyle) -> bool -impl core::fmt::Debug for syntect::html::ClassStyle -pub fn syntect::html::ClassStyle::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Copy for syntect::html::ClassStyle -impl core::marker::StructuralPartialEq for syntect::html::ClassStyle -impl core::marker::Freeze for syntect::html::ClassStyle -impl core::marker::Send for syntect::html::ClassStyle -impl core::marker::Sync for syntect::html::ClassStyle -impl core::marker::Unpin for syntect::html::ClassStyle -impl core::panic::unwind_safe::RefUnwindSafe for syntect::html::ClassStyle -impl core::panic::unwind_safe::UnwindSafe for syntect::html::ClassStyle -pub enum syntect::html::IncludeBackground -pub syntect::html::IncludeBackground::IfDifferent(syntect::highlighting::Color) -pub syntect::html::IncludeBackground::No -pub syntect::html::IncludeBackground::Yes -impl core::clone::Clone for syntect::html::IncludeBackground -pub fn syntect::html::IncludeBackground::clone(&self) -> syntect::html::IncludeBackground -impl core::cmp::Eq for syntect::html::IncludeBackground -impl core::cmp::PartialEq for syntect::html::IncludeBackground -pub fn syntect::html::IncludeBackground::eq(&self, other: &syntect::html::IncludeBackground) -> bool -impl core::fmt::Debug for syntect::html::IncludeBackground -pub fn syntect::html::IncludeBackground::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Copy for syntect::html::IncludeBackground -impl core::marker::StructuralPartialEq for syntect::html::IncludeBackground -impl core::marker::Freeze for syntect::html::IncludeBackground -impl core::marker::Send for syntect::html::IncludeBackground -impl core::marker::Sync for syntect::html::IncludeBackground -impl core::marker::Unpin for syntect::html::IncludeBackground -impl core::panic::unwind_safe::RefUnwindSafe for syntect::html::IncludeBackground -impl core::panic::unwind_safe::UnwindSafe for syntect::html::IncludeBackground -pub struct syntect::html::ClassedHTMLGenerator<'a> -impl<'a> syntect::html::ClassedHTMLGenerator<'a> -pub fn syntect::html::ClassedHTMLGenerator<'a>::finalize(self) -> alloc::string::String -pub fn syntect::html::ClassedHTMLGenerator<'a>::new(syntax_reference: &'a syntect::parsing::SyntaxReference, syntax_set: &'a syntect::parsing::SyntaxSet) -> syntect::html::ClassedHTMLGenerator<'a> -pub fn syntect::html::ClassedHTMLGenerator<'a>::new_with_class_style(syntax_reference: &'a syntect::parsing::SyntaxReference, syntax_set: &'a syntect::parsing::SyntaxSet, style: syntect::html::ClassStyle) -> syntect::html::ClassedHTMLGenerator<'a> -pub fn syntect::html::ClassedHTMLGenerator<'a>::parse_html_for_line(&mut self, line: &str) -pub fn syntect::html::ClassedHTMLGenerator<'a>::parse_html_for_line_which_includes_newline(&mut self, line: &str) -> core::result::Result<(), syntect::Error> -impl<'a> core::marker::Freeze for syntect::html::ClassedHTMLGenerator<'a> -impl<'a> !core::marker::Send for syntect::html::ClassedHTMLGenerator<'a> -impl<'a> !core::marker::Sync for syntect::html::ClassedHTMLGenerator<'a> -impl<'a> core::marker::Unpin for syntect::html::ClassedHTMLGenerator<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::html::ClassedHTMLGenerator<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::html::ClassedHTMLGenerator<'a> -pub fn syntect::html::append_highlighted_html_for_styled_line(v: &[(syntect::highlighting::Style, &str)], bg: syntect::html::IncludeBackground, s: &mut alloc::string::String) -> core::result::Result<(), syntect::Error> -pub fn syntect::html::css_for_theme(theme: &syntect::highlighting::Theme) -> alloc::string::String -pub fn syntect::html::css_for_theme_with_class_style(theme: &syntect::highlighting::Theme, style: syntect::html::ClassStyle) -> core::result::Result -pub fn syntect::html::highlighted_html_for_file>(path: P, ss: &syntect::parsing::SyntaxSet, theme: &syntect::highlighting::Theme) -> core::result::Result -pub fn syntect::html::highlighted_html_for_string(s: &str, ss: &syntect::parsing::SyntaxSet, syntax: &syntect::parsing::SyntaxReference, theme: &syntect::highlighting::Theme) -> core::result::Result -pub fn syntect::html::line_tokens_to_classed_spans(line: &str, ops: &[(usize, syntect::parsing::ScopeStackOp)], style: syntect::html::ClassStyle, stack: &mut syntect::parsing::ScopeStack) -> core::result::Result<(alloc::string::String, isize), syntect::Error> -pub fn syntect::html::start_highlighted_html_snippet(t: &syntect::highlighting::Theme) -> (alloc::string::String, syntect::highlighting::Color) -pub fn syntect::html::styled_line_to_highlighted_html(v: &[(syntect::highlighting::Style, &str)], bg: syntect::html::IncludeBackground) -> core::result::Result -pub fn syntect::html::tokens_to_classed_html(line: &str, ops: &[(usize, syntect::parsing::ScopeStackOp)], style: syntect::html::ClassStyle) -> alloc::string::String -pub fn syntect::html::tokens_to_classed_spans(line: &str, ops: &[(usize, syntect::parsing::ScopeStackOp)], style: syntect::html::ClassStyle) -> (alloc::string::String, isize) -pub mod syntect::parsing -pub mod syntect::parsing::syntax_definition -#[non_exhaustive] pub enum syntect::parsing::syntax_definition::ContextReference -#[non_exhaustive] pub syntect::parsing::syntax_definition::ContextReference::ByScope -pub syntect::parsing::syntax_definition::ContextReference::ByScope::scope: syntect::parsing::Scope -pub syntect::parsing::syntax_definition::ContextReference::ByScope::sub_context: core::option::Option -pub syntect::parsing::syntax_definition::ContextReference::ByScope::with_escape: bool -#[non_exhaustive] pub syntect::parsing::syntax_definition::ContextReference::Direct(syntect::parsing::syntax_definition::ContextId) -#[non_exhaustive] pub syntect::parsing::syntax_definition::ContextReference::File -pub syntect::parsing::syntax_definition::ContextReference::File::name: alloc::string::String -pub syntect::parsing::syntax_definition::ContextReference::File::sub_context: core::option::Option -pub syntect::parsing::syntax_definition::ContextReference::File::with_escape: bool -#[non_exhaustive] pub syntect::parsing::syntax_definition::ContextReference::Inline(alloc::string::String) -#[non_exhaustive] pub syntect::parsing::syntax_definition::ContextReference::Named(alloc::string::String) -impl syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::id(&self) -> core::result::Result -pub fn syntect::parsing::syntax_definition::ContextReference::resolve<'a>(&self, syntax_set: &'a syntect::parsing::SyntaxSet) -> core::result::Result<&'a syntect::parsing::syntax_definition::Context, syntect::parsing::ParsingError> -impl core::clone::Clone for syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::clone(&self) -> syntect::parsing::syntax_definition::ContextReference -impl core::cmp::Eq for syntect::parsing::syntax_definition::ContextReference -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::eq(&self, other: &syntect::parsing::syntax_definition::ContextReference) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::ContextReference -impl serde::ser::Serialize for syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::ContextReference -pub fn syntect::parsing::syntax_definition::ContextReference::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::ContextReference -impl core::marker::Send for syntect::parsing::syntax_definition::ContextReference -impl core::marker::Sync for syntect::parsing::syntax_definition::ContextReference -impl core::marker::Unpin for syntect::parsing::syntax_definition::ContextReference -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::ContextReference -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::ContextReference -pub enum syntect::parsing::syntax_definition::MatchOperation -pub syntect::parsing::syntax_definition::MatchOperation::None -pub syntect::parsing::syntax_definition::MatchOperation::Pop -pub syntect::parsing::syntax_definition::MatchOperation::Push(alloc::vec::Vec) -pub syntect::parsing::syntax_definition::MatchOperation::Set(alloc::vec::Vec) -impl core::clone::Clone for syntect::parsing::syntax_definition::MatchOperation -pub fn syntect::parsing::syntax_definition::MatchOperation::clone(&self) -> syntect::parsing::syntax_definition::MatchOperation -impl core::cmp::Eq for syntect::parsing::syntax_definition::MatchOperation -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::MatchOperation -pub fn syntect::parsing::syntax_definition::MatchOperation::eq(&self, other: &syntect::parsing::syntax_definition::MatchOperation) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::MatchOperation -pub fn syntect::parsing::syntax_definition::MatchOperation::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::MatchOperation -impl serde::ser::Serialize for syntect::parsing::syntax_definition::MatchOperation -pub fn syntect::parsing::syntax_definition::MatchOperation::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::MatchOperation -pub fn syntect::parsing::syntax_definition::MatchOperation::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::MatchOperation -impl core::marker::Send for syntect::parsing::syntax_definition::MatchOperation -impl core::marker::Sync for syntect::parsing::syntax_definition::MatchOperation -impl core::marker::Unpin for syntect::parsing::syntax_definition::MatchOperation -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::MatchOperation -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::MatchOperation -pub enum syntect::parsing::syntax_definition::Pattern -pub syntect::parsing::syntax_definition::Pattern::Include(syntect::parsing::syntax_definition::ContextReference) -pub syntect::parsing::syntax_definition::Pattern::Match(syntect::parsing::syntax_definition::MatchPattern) -impl core::clone::Clone for syntect::parsing::syntax_definition::Pattern -pub fn syntect::parsing::syntax_definition::Pattern::clone(&self) -> syntect::parsing::syntax_definition::Pattern -impl core::cmp::Eq for syntect::parsing::syntax_definition::Pattern -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::Pattern -pub fn syntect::parsing::syntax_definition::Pattern::eq(&self, other: &syntect::parsing::syntax_definition::Pattern) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::Pattern -pub fn syntect::parsing::syntax_definition::Pattern::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::Pattern -impl serde::ser::Serialize for syntect::parsing::syntax_definition::Pattern -pub fn syntect::parsing::syntax_definition::Pattern::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::Pattern -pub fn syntect::parsing::syntax_definition::Pattern::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl !core::marker::Freeze for syntect::parsing::syntax_definition::Pattern -impl core::marker::Send for syntect::parsing::syntax_definition::Pattern -impl core::marker::Sync for syntect::parsing::syntax_definition::Pattern -impl core::marker::Unpin for syntect::parsing::syntax_definition::Pattern -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::Pattern -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::Pattern -pub struct syntect::parsing::syntax_definition::Context -pub syntect::parsing::syntax_definition::Context::clear_scopes: core::option::Option -pub syntect::parsing::syntax_definition::Context::meta_content_scope: alloc::vec::Vec -pub syntect::parsing::syntax_definition::Context::meta_include_prototype: bool -pub syntect::parsing::syntax_definition::Context::meta_scope: alloc::vec::Vec -pub syntect::parsing::syntax_definition::Context::patterns: alloc::vec::Vec -pub syntect::parsing::syntax_definition::Context::prototype: core::option::Option -pub syntect::parsing::syntax_definition::Context::uses_backrefs: bool -impl syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::match_at(&self, index: usize) -> core::result::Result<&syntect::parsing::syntax_definition::MatchPattern, syntect::parsing::ParsingError> -impl syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::new(meta_include_prototype: bool) -> syntect::parsing::syntax_definition::Context -impl core::clone::Clone for syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::clone(&self) -> syntect::parsing::syntax_definition::Context -impl core::cmp::Eq for syntect::parsing::syntax_definition::Context -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::eq(&self, other: &syntect::parsing::syntax_definition::Context) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::Context -impl serde::ser::Serialize for syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::Context -pub fn syntect::parsing::syntax_definition::Context::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::Context -impl core::marker::Send for syntect::parsing::syntax_definition::Context -impl core::marker::Sync for syntect::parsing::syntax_definition::Context -impl core::marker::Unpin for syntect::parsing::syntax_definition::Context -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::Context -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::Context -pub struct syntect::parsing::syntax_definition::ContextId -impl core::clone::Clone for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::clone(&self) -> syntect::parsing::syntax_definition::ContextId -impl core::cmp::Eq for syntect::parsing::syntax_definition::ContextId -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::eq(&self, other: &syntect::parsing::syntax_definition::ContextId) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::hash::Hash for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::hash<__H: core::hash::Hasher>(&self, state: &mut __H) -impl core::marker::Copy for syntect::parsing::syntax_definition::ContextId -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::ContextId -impl serde::ser::Serialize for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::ContextId -pub fn syntect::parsing::syntax_definition::ContextId::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::ContextId -impl core::marker::Send for syntect::parsing::syntax_definition::ContextId -impl core::marker::Sync for syntect::parsing::syntax_definition::ContextId -impl core::marker::Unpin for syntect::parsing::syntax_definition::ContextId -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::ContextId -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::ContextId -pub struct syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::fmt::Debug for syntect::parsing::syntax_definition::MatchIter<'a> -pub fn syntect::parsing::syntax_definition::MatchIter<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl<'a> core::iter::traits::iterator::Iterator for syntect::parsing::syntax_definition::MatchIter<'a> -pub type syntect::parsing::syntax_definition::MatchIter<'a>::Item = (&'a syntect::parsing::syntax_definition::Context, usize) -pub fn syntect::parsing::syntax_definition::MatchIter<'a>::next(&mut self) -> core::option::Option<(&'a syntect::parsing::syntax_definition::Context, usize)> -impl<'a> core::marker::Freeze for syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::marker::Send for syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::marker::Sync for syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::marker::Unpin for syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::MatchIter<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::MatchIter<'a> -pub struct syntect::parsing::syntax_definition::MatchPattern -pub syntect::parsing::syntax_definition::MatchPattern::captures: core::option::Option -pub syntect::parsing::syntax_definition::MatchPattern::has_captures: bool -pub syntect::parsing::syntax_definition::MatchPattern::operation: syntect::parsing::syntax_definition::MatchOperation -pub syntect::parsing::syntax_definition::MatchPattern::regex: syntect::parsing::Regex -pub syntect::parsing::syntax_definition::MatchPattern::scope: alloc::vec::Vec -pub syntect::parsing::syntax_definition::MatchPattern::with_prototype: core::option::Option -impl syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::new(has_captures: bool, regex_str: alloc::string::String, scope: alloc::vec::Vec, captures: core::option::Option, operation: syntect::parsing::syntax_definition::MatchOperation, with_prototype: core::option::Option) -> syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::regex(&self) -> &syntect::parsing::Regex -pub fn syntect::parsing::syntax_definition::MatchPattern::regex_with_refs(&self, region: &syntect::parsing::Region, text: &str) -> syntect::parsing::Regex -impl core::clone::Clone for syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::clone(&self) -> syntect::parsing::syntax_definition::MatchPattern -impl core::cmp::Eq for syntect::parsing::syntax_definition::MatchPattern -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::eq(&self, other: &syntect::parsing::syntax_definition::MatchPattern) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::MatchPattern -impl serde::ser::Serialize for syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::MatchPattern -pub fn syntect::parsing::syntax_definition::MatchPattern::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl !core::marker::Freeze for syntect::parsing::syntax_definition::MatchPattern -impl core::marker::Send for syntect::parsing::syntax_definition::MatchPattern -impl core::marker::Sync for syntect::parsing::syntax_definition::MatchPattern -impl core::marker::Unpin for syntect::parsing::syntax_definition::MatchPattern -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::MatchPattern -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::MatchPattern -pub struct syntect::parsing::syntax_definition::SyntaxDefinition -pub syntect::parsing::syntax_definition::SyntaxDefinition::contexts: std::collections::hash::map::HashMap -pub syntect::parsing::syntax_definition::SyntaxDefinition::file_extensions: alloc::vec::Vec -pub syntect::parsing::syntax_definition::SyntaxDefinition::first_line_match: core::option::Option -pub syntect::parsing::syntax_definition::SyntaxDefinition::hidden: bool -pub syntect::parsing::syntax_definition::SyntaxDefinition::name: alloc::string::String -pub syntect::parsing::syntax_definition::SyntaxDefinition::scope: syntect::parsing::Scope -pub syntect::parsing::syntax_definition::SyntaxDefinition::variables: std::collections::hash::map::HashMap -impl syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::load_from_str(s: &str, lines_include_newline: bool, fallback_name: core::option::Option<&str>) -> core::result::Result -impl core::clone::Clone for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::clone(&self) -> syntect::parsing::syntax_definition::SyntaxDefinition -impl core::cmp::Eq for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::eq(&self, other: &syntect::parsing::syntax_definition::SyntaxDefinition) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::SyntaxDefinition -impl serde::ser::Serialize for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Send for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Sync for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Unpin for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::context_iter<'a>(syntax_set: &'a syntect::parsing::SyntaxSet, context: &'a syntect::parsing::syntax_definition::Context) -> syntect::parsing::syntax_definition::MatchIter<'a> -pub type syntect::parsing::syntax_definition::CaptureMapping = alloc::vec::Vec<(usize, alloc::vec::Vec)> -pub enum syntect::parsing::BasicScopeStackOp -pub syntect::parsing::BasicScopeStackOp::Pop -pub syntect::parsing::BasicScopeStackOp::Push(syntect::parsing::Scope) -impl core::clone::Clone for syntect::parsing::BasicScopeStackOp -pub fn syntect::parsing::BasicScopeStackOp::clone(&self) -> syntect::parsing::BasicScopeStackOp -impl core::cmp::Eq for syntect::parsing::BasicScopeStackOp -impl core::cmp::PartialEq for syntect::parsing::BasicScopeStackOp -pub fn syntect::parsing::BasicScopeStackOp::eq(&self, other: &syntect::parsing::BasicScopeStackOp) -> bool -impl core::fmt::Debug for syntect::parsing::BasicScopeStackOp -pub fn syntect::parsing::BasicScopeStackOp::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::BasicScopeStackOp -impl core::marker::Freeze for syntect::parsing::BasicScopeStackOp -impl core::marker::Send for syntect::parsing::BasicScopeStackOp -impl core::marker::Sync for syntect::parsing::BasicScopeStackOp -impl core::marker::Unpin for syntect::parsing::BasicScopeStackOp -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::BasicScopeStackOp -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::BasicScopeStackOp -pub enum syntect::parsing::ClearAmount -pub syntect::parsing::ClearAmount::All -pub syntect::parsing::ClearAmount::TopN(usize) -impl core::clone::Clone for syntect::parsing::ClearAmount -pub fn syntect::parsing::ClearAmount::clone(&self) -> syntect::parsing::ClearAmount -impl core::cmp::Eq for syntect::parsing::ClearAmount -impl core::cmp::PartialEq for syntect::parsing::ClearAmount -pub fn syntect::parsing::ClearAmount::eq(&self, other: &syntect::parsing::ClearAmount) -> bool -impl core::fmt::Debug for syntect::parsing::ClearAmount -pub fn syntect::parsing::ClearAmount::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Copy for syntect::parsing::ClearAmount -impl core::marker::StructuralPartialEq for syntect::parsing::ClearAmount -impl serde::ser::Serialize for syntect::parsing::ClearAmount -pub fn syntect::parsing::ClearAmount::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::ClearAmount -pub fn syntect::parsing::ClearAmount::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::ClearAmount -impl core::marker::Send for syntect::parsing::ClearAmount -impl core::marker::Sync for syntect::parsing::ClearAmount -impl core::marker::Unpin for syntect::parsing::ClearAmount -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ClearAmount -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ClearAmount -#[non_exhaustive] pub enum syntect::parsing::ParseScopeError -pub syntect::parsing::ParseScopeError::TooLong -pub syntect::parsing::ParseScopeError::TooManyAtoms -impl core::convert::From for syntect::highlighting::ParseThemeError -pub fn syntect::highlighting::ParseThemeError::from(source: syntect::parsing::ParseScopeError) -> Self -impl core::error::Error for syntect::parsing::ParseScopeError -impl core::fmt::Debug for syntect::parsing::ParseScopeError -pub fn syntect::parsing::ParseScopeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::ParseScopeError -pub fn syntect::parsing::ParseScopeError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::parsing::ParseScopeError -impl core::marker::Send for syntect::parsing::ParseScopeError -impl core::marker::Sync for syntect::parsing::ParseScopeError -impl core::marker::Unpin for syntect::parsing::ParseScopeError -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ParseScopeError -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ParseScopeError -#[non_exhaustive] pub enum syntect::parsing::ParseSyntaxError -pub syntect::parsing::ParseSyntaxError::BadFileRef -pub syntect::parsing::ParseSyntaxError::EmptyFile -pub syntect::parsing::ParseSyntaxError::InvalidScope(syntect::parsing::ParseScopeError) -pub syntect::parsing::ParseSyntaxError::InvalidYaml(yaml_rust::scanner::ScanError) -pub syntect::parsing::ParseSyntaxError::MainMissing -pub syntect::parsing::ParseSyntaxError::MissingMandatoryKey(&'static str) -pub syntect::parsing::ParseSyntaxError::RegexCompileError(alloc::string::String, alloc::boxed::Box<(dyn core::error::Error + core::marker::Send + core::marker::Sync + 'static)>) -pub syntect::parsing::ParseSyntaxError::TypeMismatch -impl core::convert::From for syntect::parsing::ParseSyntaxError -pub fn syntect::parsing::ParseSyntaxError::from(source: yaml_rust::scanner::ScanError) -> Self -impl core::error::Error for syntect::parsing::ParseSyntaxError -pub fn syntect::parsing::ParseSyntaxError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -impl core::fmt::Debug for syntect::parsing::ParseSyntaxError -pub fn syntect::parsing::ParseSyntaxError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::ParseSyntaxError -pub fn syntect::parsing::ParseSyntaxError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::parsing::ParseSyntaxError -impl core::marker::Send for syntect::parsing::ParseSyntaxError -impl core::marker::Sync for syntect::parsing::ParseSyntaxError -impl core::marker::Unpin for syntect::parsing::ParseSyntaxError -impl !core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ParseSyntaxError -impl !core::panic::unwind_safe::UnwindSafe for syntect::parsing::ParseSyntaxError -#[non_exhaustive] pub enum syntect::parsing::ParsingError -pub syntect::parsing::ParsingError::BadMatchIndex(usize) -pub syntect::parsing::ParsingError::MissingContext(syntect::parsing::syntax_definition::ContextId) -pub syntect::parsing::ParsingError::MissingMainContext -pub syntect::parsing::ParsingError::UnresolvedContextReference(syntect::parsing::syntax_definition::ContextReference) -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::parsing::ParsingError) -> Self -impl core::error::Error for syntect::parsing::ParsingError -impl core::fmt::Debug for syntect::parsing::ParsingError -pub fn syntect::parsing::ParsingError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::ParsingError -pub fn syntect::parsing::ParsingError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::parsing::ParsingError -impl core::marker::Send for syntect::parsing::ParsingError -impl core::marker::Sync for syntect::parsing::ParsingError -impl core::marker::Unpin for syntect::parsing::ParsingError -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ParsingError -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ParsingError -#[non_exhaustive] pub enum syntect::parsing::ScopeError -pub syntect::parsing::ScopeError::NoClearedScopesToRestore -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::parsing::ScopeError) -> Self -impl core::error::Error for syntect::parsing::ScopeError -impl core::fmt::Debug for syntect::parsing::ScopeError -pub fn syntect::parsing::ScopeError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::ScopeError -pub fn syntect::parsing::ScopeError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::parsing::ScopeError -impl core::marker::Send for syntect::parsing::ScopeError -impl core::marker::Sync for syntect::parsing::ScopeError -impl core::marker::Unpin for syntect::parsing::ScopeError -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ScopeError -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ScopeError -pub enum syntect::parsing::ScopeStackOp -pub syntect::parsing::ScopeStackOp::Clear(syntect::parsing::ClearAmount) -pub syntect::parsing::ScopeStackOp::Noop -pub syntect::parsing::ScopeStackOp::Pop(usize) -pub syntect::parsing::ScopeStackOp::Push(syntect::parsing::Scope) -pub syntect::parsing::ScopeStackOp::Restore -impl core::clone::Clone for syntect::parsing::ScopeStackOp -pub fn syntect::parsing::ScopeStackOp::clone(&self) -> syntect::parsing::ScopeStackOp -impl core::cmp::Eq for syntect::parsing::ScopeStackOp -impl core::cmp::PartialEq for syntect::parsing::ScopeStackOp -pub fn syntect::parsing::ScopeStackOp::eq(&self, other: &syntect::parsing::ScopeStackOp) -> bool -impl core::fmt::Debug for syntect::parsing::ScopeStackOp -pub fn syntect::parsing::ScopeStackOp::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::ScopeStackOp -impl core::marker::Freeze for syntect::parsing::ScopeStackOp -impl core::marker::Send for syntect::parsing::ScopeStackOp -impl core::marker::Sync for syntect::parsing::ScopeStackOp -impl core::marker::Unpin for syntect::parsing::ScopeStackOp -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ScopeStackOp -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ScopeStackOp -pub struct syntect::parsing::MatchPower(pub f64) -impl core::clone::Clone for syntect::parsing::MatchPower -pub fn syntect::parsing::MatchPower::clone(&self) -> syntect::parsing::MatchPower -impl core::cmp::Eq for syntect::parsing::MatchPower -impl core::cmp::Ord for syntect::parsing::MatchPower -pub fn syntect::parsing::MatchPower::cmp(&self, other: &Self) -> core::cmp::Ordering -impl core::cmp::PartialEq for syntect::parsing::MatchPower -pub fn syntect::parsing::MatchPower::eq(&self, other: &syntect::parsing::MatchPower) -> bool -impl core::cmp::PartialOrd for syntect::parsing::MatchPower -pub fn syntect::parsing::MatchPower::partial_cmp(&self, other: &syntect::parsing::MatchPower) -> core::option::Option -impl core::fmt::Debug for syntect::parsing::MatchPower -pub fn syntect::parsing::MatchPower::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Copy for syntect::parsing::MatchPower -impl core::marker::StructuralPartialEq for syntect::parsing::MatchPower -impl core::marker::Freeze for syntect::parsing::MatchPower -impl core::marker::Send for syntect::parsing::MatchPower -impl core::marker::Sync for syntect::parsing::MatchPower -impl core::marker::Unpin for syntect::parsing::MatchPower -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::MatchPower -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::MatchPower -pub struct syntect::parsing::ParseState -impl syntect::parsing::ParseState -pub fn syntect::parsing::ParseState::new(syntax: &syntect::parsing::SyntaxReference) -> syntect::parsing::ParseState -pub fn syntect::parsing::ParseState::parse_line(&mut self, line: &str, syntax_set: &syntect::parsing::SyntaxSet) -> core::result::Result, syntect::parsing::ParsingError> -impl core::clone::Clone for syntect::parsing::ParseState -pub fn syntect::parsing::ParseState::clone(&self) -> syntect::parsing::ParseState -impl core::cmp::Eq for syntect::parsing::ParseState -impl core::cmp::PartialEq for syntect::parsing::ParseState -pub fn syntect::parsing::ParseState::eq(&self, other: &syntect::parsing::ParseState) -> bool -impl core::fmt::Debug for syntect::parsing::ParseState -pub fn syntect::parsing::ParseState::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::ParseState -impl core::marker::Freeze for syntect::parsing::ParseState -impl !core::marker::Send for syntect::parsing::ParseState -impl !core::marker::Sync for syntect::parsing::ParseState -impl core::marker::Unpin for syntect::parsing::ParseState -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ParseState -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ParseState -pub struct syntect::parsing::Regex -impl syntect::parsing::Regex -pub fn syntect::parsing::Regex::is_match(&self, text: &str) -> bool -pub fn syntect::parsing::Regex::new(regex_str: alloc::string::String) -> Self -pub fn syntect::parsing::Regex::regex_str(&self) -> &str -pub fn syntect::parsing::Regex::search(&self, text: &str, begin: usize, end: usize, region: core::option::Option<&mut syntect::parsing::Region>) -> bool -pub fn syntect::parsing::Regex::try_compile(regex_str: &str) -> core::option::Option> -impl core::clone::Clone for syntect::parsing::Regex -pub fn syntect::parsing::Regex::clone(&self) -> Self -impl core::cmp::Eq for syntect::parsing::Regex -impl core::cmp::PartialEq for syntect::parsing::Regex -pub fn syntect::parsing::Regex::eq(&self, other: &syntect::parsing::Regex) -> bool -impl core::fmt::Debug for syntect::parsing::Regex -pub fn syntect::parsing::Regex::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl serde::ser::Serialize for syntect::parsing::Regex -pub fn syntect::parsing::Regex::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::Regex -pub fn syntect::parsing::Regex::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> -impl !core::marker::Freeze for syntect::parsing::Regex -impl core::marker::Send for syntect::parsing::Regex -impl core::marker::Sync for syntect::parsing::Regex -impl core::marker::Unpin for syntect::parsing::Regex -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::Regex -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::Regex -pub struct syntect::parsing::Region -impl syntect::parsing::Region -pub fn syntect::parsing::Region::new() -> Self -pub fn syntect::parsing::Region::pos(&self, index: usize) -> core::option::Option<(usize, usize)> -impl core::clone::Clone for syntect::parsing::Region -pub fn syntect::parsing::Region::clone(&self) -> syntect::parsing::Region -impl core::cmp::Eq for syntect::parsing::Region -impl core::cmp::PartialEq for syntect::parsing::Region -pub fn syntect::parsing::Region::eq(&self, other: &syntect::parsing::Region) -> bool -impl core::default::Default for syntect::parsing::Region -pub fn syntect::parsing::Region::default() -> Self -impl core::fmt::Debug for syntect::parsing::Region -pub fn syntect::parsing::Region::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::Region -impl core::marker::Freeze for syntect::parsing::Region -impl !core::marker::Send for syntect::parsing::Region -impl !core::marker::Sync for syntect::parsing::Region -impl core::marker::Unpin for syntect::parsing::Region -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::Region -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::Region -pub struct syntect::parsing::Scope -impl syntect::parsing::Scope -pub fn syntect::parsing::Scope::atom_at(self, index: usize) -> u16 -pub fn syntect::parsing::Scope::build_string(self) -> alloc::string::String -pub fn syntect::parsing::Scope::is_empty(self) -> bool -pub fn syntect::parsing::Scope::is_prefix_of(self, s: syntect::parsing::Scope) -> bool -pub fn syntect::parsing::Scope::len(self) -> u32 -pub fn syntect::parsing::Scope::new(s: &str) -> core::result::Result -impl core::clone::Clone for syntect::parsing::Scope -pub fn syntect::parsing::Scope::clone(&self) -> syntect::parsing::Scope -impl core::cmp::Eq for syntect::parsing::Scope -impl core::cmp::Ord for syntect::parsing::Scope -pub fn syntect::parsing::Scope::cmp(&self, other: &syntect::parsing::Scope) -> core::cmp::Ordering -impl core::cmp::PartialEq for syntect::parsing::Scope -pub fn syntect::parsing::Scope::eq(&self, other: &syntect::parsing::Scope) -> bool -impl core::cmp::PartialOrd for syntect::parsing::Scope -pub fn syntect::parsing::Scope::partial_cmp(&self, other: &syntect::parsing::Scope) -> core::option::Option -impl core::default::Default for syntect::parsing::Scope -pub fn syntect::parsing::Scope::default() -> syntect::parsing::Scope -impl core::fmt::Debug for syntect::parsing::Scope -pub fn syntect::parsing::Scope::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::Scope -pub fn syntect::parsing::Scope::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::hash::Hash for syntect::parsing::Scope -pub fn syntect::parsing::Scope::hash<__H: core::hash::Hasher>(&self, state: &mut __H) -impl core::marker::Copy for syntect::parsing::Scope -impl core::marker::StructuralPartialEq for syntect::parsing::Scope -impl core::str::traits::FromStr for syntect::parsing::Scope -pub type syntect::parsing::Scope::Err = syntect::parsing::ParseScopeError -pub fn syntect::parsing::Scope::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::parsing::Scope -pub fn syntect::parsing::Scope::serialize(&self, serializer: S) -> core::result::Result<::Ok, ::Error> where S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::Scope -pub fn syntect::parsing::Scope::deserialize(deserializer: D) -> core::result::Result::Error> where D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::Scope -impl core::marker::Send for syntect::parsing::Scope -impl core::marker::Sync for syntect::parsing::Scope -impl core::marker::Unpin for syntect::parsing::Scope -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::Scope -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::Scope -pub struct syntect::parsing::ScopeRepository -impl syntect::parsing::ScopeRepository -pub fn syntect::parsing::ScopeRepository::atom_str(&self, atom_number: u16) -> &str -pub fn syntect::parsing::ScopeRepository::build(&mut self, s: &str) -> core::result::Result -pub fn syntect::parsing::ScopeRepository::to_string(&self, scope: syntect::parsing::Scope) -> alloc::string::String -impl core::fmt::Debug for syntect::parsing::ScopeRepository -pub fn syntect::parsing::ScopeRepository::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::parsing::ScopeRepository -impl core::marker::Send for syntect::parsing::ScopeRepository -impl core::marker::Sync for syntect::parsing::ScopeRepository -impl core::marker::Unpin for syntect::parsing::ScopeRepository -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ScopeRepository -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ScopeRepository -pub struct syntect::parsing::ScopeStack -pub syntect::parsing::ScopeStack::scopes: alloc::vec::Vec -impl syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::apply(&mut self, op: &syntect::parsing::ScopeStackOp) -> core::result::Result<(), syntect::parsing::ScopeError> -pub fn syntect::parsing::ScopeStack::apply_with_hook(&mut self, op: &syntect::parsing::ScopeStackOp, hook: F) -> core::result::Result<(), syntect::parsing::ScopeError> where F: core::ops::function::FnMut(syntect::parsing::BasicScopeStackOp, &[syntect::parsing::Scope]) -pub fn syntect::parsing::ScopeStack::as_slice(&self) -> &[syntect::parsing::Scope] -pub fn syntect::parsing::ScopeStack::bottom_n(&self, n: usize) -> &[syntect::parsing::Scope] -pub fn syntect::parsing::ScopeStack::debug_print(&self, repo: &syntect::parsing::ScopeRepository) -pub fn syntect::parsing::ScopeStack::does_match(&self, stack: &[syntect::parsing::Scope]) -> core::option::Option -pub fn syntect::parsing::ScopeStack::from_vec(v: alloc::vec::Vec) -> syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::is_empty(&self) -> bool -pub fn syntect::parsing::ScopeStack::len(&self) -> usize -pub fn syntect::parsing::ScopeStack::new() -> syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::pop(&mut self) -pub fn syntect::parsing::ScopeStack::push(&mut self, s: syntect::parsing::Scope) -impl core::clone::Clone for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::clone(&self) -> syntect::parsing::ScopeStack -impl core::cmp::Eq for syntect::parsing::ScopeStack -impl core::cmp::PartialEq for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::eq(&self, other: &syntect::parsing::ScopeStack) -> bool -impl core::default::Default for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::default() -> syntect::parsing::ScopeStack -impl core::fmt::Debug for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::ScopeStack -impl core::str::traits::FromStr for syntect::parsing::ScopeStack -pub type syntect::parsing::ScopeStack::Err = syntect::parsing::ParseScopeError -pub fn syntect::parsing::ScopeStack::from_str(s: &str) -> core::result::Result -impl serde::ser::Serialize for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::ScopeStack -pub fn syntect::parsing::ScopeStack::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::ScopeStack -impl core::marker::Send for syntect::parsing::ScopeStack -impl core::marker::Sync for syntect::parsing::ScopeStack -impl core::marker::Unpin for syntect::parsing::ScopeStack -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::ScopeStack -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::ScopeStack -pub struct syntect::parsing::SyntaxDefinition -pub syntect::parsing::SyntaxDefinition::contexts: std::collections::hash::map::HashMap -pub syntect::parsing::SyntaxDefinition::file_extensions: alloc::vec::Vec -pub syntect::parsing::SyntaxDefinition::first_line_match: core::option::Option -pub syntect::parsing::SyntaxDefinition::hidden: bool -pub syntect::parsing::SyntaxDefinition::name: alloc::string::String -pub syntect::parsing::SyntaxDefinition::scope: syntect::parsing::Scope -pub syntect::parsing::SyntaxDefinition::variables: std::collections::hash::map::HashMap -impl syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::load_from_str(s: &str, lines_include_newline: bool, fallback_name: core::option::Option<&str>) -> core::result::Result -impl core::clone::Clone for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::clone(&self) -> syntect::parsing::syntax_definition::SyntaxDefinition -impl core::cmp::Eq for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::cmp::PartialEq for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::eq(&self, other: &syntect::parsing::syntax_definition::SyntaxDefinition) -> bool -impl core::fmt::Debug for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::StructuralPartialEq for syntect::parsing::syntax_definition::SyntaxDefinition -impl serde::ser::Serialize for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::syntax_definition::SyntaxDefinition -pub fn syntect::parsing::syntax_definition::SyntaxDefinition::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl core::marker::Freeze for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Send for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Sync for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::marker::Unpin for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::syntax_definition::SyntaxDefinition -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::syntax_definition::SyntaxDefinition -pub struct syntect::parsing::SyntaxReference -pub syntect::parsing::SyntaxReference::file_extensions: alloc::vec::Vec -pub syntect::parsing::SyntaxReference::first_line_match: core::option::Option -pub syntect::parsing::SyntaxReference::hidden: bool -pub syntect::parsing::SyntaxReference::name: alloc::string::String -pub syntect::parsing::SyntaxReference::scope: syntect::parsing::Scope -pub syntect::parsing::SyntaxReference::variables: std::collections::hash::map::HashMap -impl core::clone::Clone for syntect::parsing::SyntaxReference -pub fn syntect::parsing::SyntaxReference::clone(&self) -> syntect::parsing::SyntaxReference -impl core::fmt::Debug for syntect::parsing::SyntaxReference -pub fn syntect::parsing::SyntaxReference::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl serde::ser::Serialize for syntect::parsing::SyntaxReference -pub fn syntect::parsing::SyntaxReference::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::SyntaxReference -pub fn syntect::parsing::SyntaxReference::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl !core::marker::Freeze for syntect::parsing::SyntaxReference -impl core::marker::Send for syntect::parsing::SyntaxReference -impl core::marker::Sync for syntect::parsing::SyntaxReference -impl core::marker::Unpin for syntect::parsing::SyntaxReference -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::SyntaxReference -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::SyntaxReference -pub struct syntect::parsing::SyntaxSet -impl syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::find_syntax_by_extension<'a>(&'a self, extension: &str) -> core::option::Option<&'a syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_by_first_line<'a>(&'a self, s: &str) -> core::option::Option<&'a syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_by_name<'a>(&'a self, name: &str) -> core::option::Option<&'a syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_by_path<'a>(&'a self, path: &str) -> core::option::Option<&'a syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_by_scope(&self, scope: syntect::parsing::Scope) -> core::option::Option<&syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_by_token<'a>(&'a self, s: &str) -> core::option::Option<&'a syntect::parsing::SyntaxReference> -pub fn syntect::parsing::SyntaxSet::find_syntax_for_file>(&self, path_obj: P) -> std::io::error::Result> -pub fn syntect::parsing::SyntaxSet::find_syntax_plain_text(&self) -> &syntect::parsing::SyntaxReference -pub fn syntect::parsing::SyntaxSet::find_unlinked_contexts(&self) -> alloc::collections::btree::set::BTreeSet -pub fn syntect::parsing::SyntaxSet::into_builder(self) -> syntect::parsing::SyntaxSetBuilder -pub fn syntect::parsing::SyntaxSet::load_from_folder>(folder: P) -> core::result::Result -pub fn syntect::parsing::SyntaxSet::new() -> syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::syntaxes(&self) -> &[syntect::parsing::SyntaxReference] -impl syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::load_defaults_newlines() -> syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::load_defaults_nonewlines() -> syntect::parsing::SyntaxSet -impl core::clone::Clone for syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::clone(&self) -> syntect::parsing::SyntaxSet -impl core::default::Default for syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::default() -> Self -impl core::fmt::Debug for syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl serde::ser::Serialize for syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::serialize<__S>(&self, __serializer: __S) -> core::result::Result<<__S as serde::ser::Serializer>::Ok, <__S as serde::ser::Serializer>::Error> where __S: serde::ser::Serializer -impl<'de> serde::de::Deserialize<'de> for syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSet::deserialize<__D>(__deserializer: __D) -> core::result::Result::Error> where __D: serde::de::Deserializer<'de> -impl !core::marker::Freeze for syntect::parsing::SyntaxSet -impl core::marker::Send for syntect::parsing::SyntaxSet -impl core::marker::Sync for syntect::parsing::SyntaxSet -impl core::marker::Unpin for syntect::parsing::SyntaxSet -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::SyntaxSet -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::SyntaxSet -pub struct syntect::parsing::SyntaxSetBuilder -impl syntect::parsing::SyntaxSetBuilder -pub fn syntect::parsing::SyntaxSetBuilder::add(&mut self, syntax: syntect::parsing::syntax_definition::SyntaxDefinition) -pub fn syntect::parsing::SyntaxSetBuilder::add_from_folder>(&mut self, folder: P, lines_include_newline: bool) -> core::result::Result<(), syntect::LoadingError> -pub fn syntect::parsing::SyntaxSetBuilder::add_plain_text_syntax(&mut self) -pub fn syntect::parsing::SyntaxSetBuilder::build(self) -> syntect::parsing::SyntaxSet -pub fn syntect::parsing::SyntaxSetBuilder::new() -> syntect::parsing::SyntaxSetBuilder -pub fn syntect::parsing::SyntaxSetBuilder::syntaxes(&self) -> &[syntect::parsing::syntax_definition::SyntaxDefinition] -impl core::clone::Clone for syntect::parsing::SyntaxSetBuilder -pub fn syntect::parsing::SyntaxSetBuilder::clone(&self) -> syntect::parsing::SyntaxSetBuilder -impl core::default::Default for syntect::parsing::SyntaxSetBuilder -pub fn syntect::parsing::SyntaxSetBuilder::default() -> syntect::parsing::SyntaxSetBuilder -impl core::marker::Freeze for syntect::parsing::SyntaxSetBuilder -impl core::marker::Send for syntect::parsing::SyntaxSetBuilder -impl core::marker::Sync for syntect::parsing::SyntaxSetBuilder -impl core::marker::Unpin for syntect::parsing::SyntaxSetBuilder -impl core::panic::unwind_safe::RefUnwindSafe for syntect::parsing::SyntaxSetBuilder -impl core::panic::unwind_safe::UnwindSafe for syntect::parsing::SyntaxSetBuilder -pub const syntect::parsing::ATOM_LEN_BITS: u16 -pub static syntect::parsing::SCOPE_REPO: once_cell::sync::Lazy> -pub mod syntect::util -pub struct syntect::util::LinesWithEndings<'a> -impl<'a> syntect::util::LinesWithEndings<'a> -pub fn syntect::util::LinesWithEndings<'a>::from(input: &'a str) -> syntect::util::LinesWithEndings<'a> -impl<'a> core::iter::traits::iterator::Iterator for syntect::util::LinesWithEndings<'a> -pub type syntect::util::LinesWithEndings<'a>::Item = &'a str -pub fn syntect::util::LinesWithEndings<'a>::next(&mut self) -> core::option::Option<&'a str> -impl<'a> core::marker::Freeze for syntect::util::LinesWithEndings<'a> -impl<'a> core::marker::Send for syntect::util::LinesWithEndings<'a> -impl<'a> core::marker::Sync for syntect::util::LinesWithEndings<'a> -impl<'a> core::marker::Unpin for syntect::util::LinesWithEndings<'a> -impl<'a> core::panic::unwind_safe::RefUnwindSafe for syntect::util::LinesWithEndings<'a> -impl<'a> core::panic::unwind_safe::UnwindSafe for syntect::util::LinesWithEndings<'a> -pub fn syntect::util::as_24_bit_terminal_escaped(v: &[(syntect::highlighting::Style, &str)], bg: bool) -> alloc::string::String -pub fn syntect::util::as_latex_escaped(v: &[(syntect::highlighting::Style, &str)]) -> alloc::string::String -pub fn syntect::util::debug_print_ops(line: &str, ops: &[(usize, syntect::parsing::ScopeStackOp)]) -pub fn syntect::util::modify_range<'a>(v: &[(syntect::highlighting::Style, &'a str)], r: core::ops::range::Range, modifier: syntect::highlighting::StyleModifier) -> alloc::vec::Vec<(syntect::highlighting::Style, &'a str)> -pub fn syntect::util::split_at<'a, A: core::clone::Clone>(v: &[(A, &'a str)], split_i: usize) -> (alloc::vec::Vec<(A, &'a str)>, alloc::vec::Vec<(A, &'a str)>) -#[non_exhaustive] pub enum syntect::Error -pub syntect::Error::Fmt(core::fmt::Error) -pub syntect::Error::Io(std::io::error::Error) -pub syntect::Error::LoadingError(syntect::LoadingError) -pub syntect::Error::ParsingError(syntect::parsing::ParsingError) -pub syntect::Error::ScopeError(syntect::parsing::ScopeError) -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: core::fmt::Error) -> Self -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: std::io::error::Error) -> Self -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::LoadingError) -> Self -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::parsing::ParsingError) -> Self -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::parsing::ScopeError) -> Self -impl core::error::Error for syntect::Error -pub fn syntect::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -impl core::fmt::Debug for syntect::Error -pub fn syntect::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::Error -pub fn syntect::Error::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::Error -impl core::marker::Send for syntect::Error -impl core::marker::Sync for syntect::Error -impl core::marker::Unpin for syntect::Error -impl !core::panic::unwind_safe::RefUnwindSafe for syntect::Error -impl !core::panic::unwind_safe::UnwindSafe for syntect::Error -#[non_exhaustive] pub enum syntect::LoadingError -pub syntect::LoadingError::BadPath -pub syntect::LoadingError::Io(std::io::error::Error) -pub syntect::LoadingError::ParseSyntax(syntect::parsing::ParseSyntaxError, alloc::string::String) -pub syntect::LoadingError::ParseTheme(syntect::highlighting::ParseThemeError) -pub syntect::LoadingError::ReadSettings(syntect::highlighting::SettingsError) -pub syntect::LoadingError::WalkDir(walkdir::error::Error) -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: std::io::error::Error) -> Self -impl core::convert::From for syntect::Error -pub fn syntect::Error::from(source: syntect::LoadingError) -> Self -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: syntect::highlighting::ParseThemeError) -> Self -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: syntect::highlighting::SettingsError) -> Self -impl core::convert::From for syntect::LoadingError -pub fn syntect::LoadingError::from(source: walkdir::error::Error) -> Self -impl core::error::Error for syntect::LoadingError -pub fn syntect::LoadingError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -impl core::fmt::Debug for syntect::LoadingError -pub fn syntect::LoadingError::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::fmt::Display for syntect::LoadingError -pub fn syntect::LoadingError::fmt(&self, __formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result -impl core::marker::Freeze for syntect::LoadingError -impl core::marker::Send for syntect::LoadingError -impl core::marker::Sync for syntect::LoadingError -impl core::marker::Unpin for syntect::LoadingError -impl !core::panic::unwind_safe::RefUnwindSafe for syntect::LoadingError -impl !core::panic::unwind_safe::UnwindSafe for syntect::LoadingError