aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cargo_vcs_info.json7
-rw-r--r--Android.bp18
-rw-r--r--Cargo.lock654
-rw-r--r--Cargo.toml51
-rw-r--r--Cargo.toml.orig22
-rw-r--r--METADATA26
-rw-r--r--cargo_embargo.json3
-rw-r--r--src/parser/types.rs2
-rw-r--r--src/sequences/attribute.rs8
-rw-r--r--src/sequences/buffer.rs26
-rw-r--r--src/sequences/color.rs2
-rw-r--r--src/sequences/cursor.rs62
-rw-r--r--src/sequences/terminal.rs6
13 files changed, 533 insertions, 354 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index d2d567b..bdda6b1 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,6 @@
{
"git": {
- "sha1": "378ac7461ecac29fde9e10df7b08359d1315a9ad"
- }
-}
+ "sha1": "389ebf6d98a2625db1724873913d484082937934"
+ },
+ "path_in_vcs": "anes"
+} \ No newline at end of file
diff --git a/Android.bp b/Android.bp
index 387051e..761fcdc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -42,20 +42,20 @@ rust_test {
host_supported: true,
crate_name: "anes",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.6",
+ cargo_pkg_version: "0.2.0",
srcs: ["src/lib.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
test_options: {
unit_test: true,
},
- edition: "2018",
+ edition: "2021",
features: [
"bitflags",
"parser",
],
rustlibs: [
- "libbitflags-1.3.2",
+ "libbitflags",
"libcriterion",
"liblibc",
],
@@ -66,21 +66,21 @@ rust_test {
host_supported: true,
crate_name: "tests",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.6",
+ cargo_pkg_version: "0.2.0",
srcs: ["tests/tests.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
test_options: {
unit_test: true,
},
- edition: "2018",
+ edition: "2021",
features: [
"bitflags",
"parser",
],
rustlibs: [
"libanes",
- "libbitflags-1.3.2",
+ "libbitflags",
"libcriterion",
"liblibc",
],
@@ -91,14 +91,14 @@ rust_library {
host_supported: true,
crate_name: "anes",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.6",
+ cargo_pkg_version: "0.2.0",
srcs: ["src/lib.rs"],
- edition: "2018",
+ edition: "2021",
features: [
"bitflags",
"parser",
],
- rustlibs: ["libbitflags-1.3.2"],
+ rustlibs: ["libbitflags"],
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
diff --git a/Cargo.lock b/Cargo.lock
index b359a6d..3b384b7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,511 +1,659 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
-name = "anes"
-version = "0.1.6"
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr",
]
[[package]]
-name = "atty"
-version = "0.2.13"
+name = "anes"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "anes"
+version = "0.2.0"
dependencies = [
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "criterion",
+ "libc",
]
[[package]]
-name = "autocfg"
-version = "0.1.7"
+name = "anstyle"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
-name = "bitflags"
-version = "1.2.1"
+name = "autocfg"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
-name = "bstr"
-version = "0.2.8"
+name = "bitflags"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]]
-name = "byteorder"
-version = "1.3.2"
+name = "bumpalo"
+version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
[[package]]
name = "cast"
-version = "0.2.3"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cfg-if"
-version = "0.1.10"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
-name = "clap"
-version = "2.33.0"
+name = "ciborium"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
dependencies = [
- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
]
[[package]]
-name = "criterion"
-version = "0.3.0"
+name = "ciborium-io"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
dependencies = [
- "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
- "tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ciborium-io",
+ "half",
]
[[package]]
-name = "criterion-plot"
-version = "0.4.0"
+name = "clap"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
dependencies = [
- "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "clap_builder",
]
[[package]]
-name = "crossbeam-deque"
-version = "0.7.2"
+name = "clap_builder"
+version = "4.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
dependencies = [
- "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "anstyle",
+ "clap_lex",
]
[[package]]
-name = "crossbeam-epoch"
-version = "0.8.0"
+name = "clap_lex"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes 0.1.6",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
]
[[package]]
-name = "crossbeam-queue"
-version = "0.2.0"
+name = "criterion-plot"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
dependencies = [
- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cast",
+ "itertools",
]
[[package]]
-name = "crossbeam-utils"
-version = "0.7.0"
+name = "crossbeam-deque"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
dependencies = [
- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
]
[[package]]
-name = "csv"
-version = "1.1.1"
+name = "crossbeam-epoch"
+version = "0.9.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
dependencies = [
- "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
]
[[package]]
-name = "csv-core"
-version = "0.1.6"
+name = "crossbeam-utils"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if",
]
[[package]]
name = "either"
-version = "1.5.3"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
-name = "getrandom"
-version = "0.1.13"
+name = "errno"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
dependencies = [
- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "windows-sys",
]
[[package]]
+name = "half"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+
+[[package]]
name = "hermit-abi"
-version = "0.1.3"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "hermit-abi",
+ "rustix",
+ "windows-sys",
]
[[package]]
name = "itertools"
-version = "0.8.2"
+version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "either",
]
[[package]]
name = "itoa"
-version = "0.4.4"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
-name = "lazy_static"
-version = "1.4.0"
+name = "js-sys"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+dependencies = [
+ "wasm-bindgen",
+]
[[package]]
name = "libc"
-version = "0.2.66"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
-version = "2.2.1"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
-version = "0.5.3"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
dependencies = [
- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg",
]
[[package]]
name = "num-traits"
-version = "0.2.10"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
dependencies = [
- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg",
]
[[package]]
-name = "num_cpus"
-version = "1.11.1"
+name = "once_cell"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
-name = "proc-macro2"
-version = "1.0.6"
+name = "oorandom"
+version = "11.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
-name = "quote"
-version = "1.0.2"
+name = "plotters"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
dependencies = [
- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
]
[[package]]
-name = "rand_core"
-version = "0.5.1"
+name = "plotters-backend"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
dependencies = [
- "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "plotters-backend",
]
[[package]]
-name = "rand_os"
-version = "0.2.2"
+name = "proc-macro2"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
- "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-ident",
]
[[package]]
-name = "rand_xoshiro"
-version = "0.3.1"
+name = "quote"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
]
[[package]]
name = "rayon"
-version = "1.2.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
dependencies = [
- "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "either",
+ "rayon-core",
]
[[package]]
name = "rayon-core"
-version = "1.6.1"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
dependencies = [
- "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-deque",
+ "crossbeam-utils",
]
[[package]]
-name = "regex-automata"
-version = "0.1.8"
+name = "regex"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
]
[[package]]
-name = "rustc_version"
-version = "0.2.3"
+name = "regex-automata"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
]
[[package]]
-name = "ryu"
-version = "1.0.2"
+name = "regex-syntax"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
-name = "same-file"
-version = "1.0.5"
+name = "rustix"
+version = "0.38.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
dependencies = [
- "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
]
[[package]]
-name = "scopeguard"
-version = "1.0.0"
+name = "ryu"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
-name = "semver"
-version = "0.9.0"
+name = "same-file"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-util",
]
[[package]]
-name = "semver-parser"
-version = "0.7.0"
+name = "scopeguard"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "serde"
-version = "1.0.103"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+dependencies = [
+ "serde_derive",
+]
[[package]]
name = "serde_derive"
-version = "1.0.103"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
name = "serde_json"
-version = "1.0.42"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa",
+ "ryu",
+ "serde",
]
[[package]]
name = "syn"
-version = "1.0.9"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
]
[[package]]
-name = "textwrap"
-version = "0.11.0"
+name = "tinytemplate"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
- "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde",
+ "serde_json",
]
[[package]]
-name = "tinytemplate"
-version = "1.0.2"
+name = "unicode-ident"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
dependencies = [
- "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "same-file",
+ "winapi-util",
]
[[package]]
-name = "unicode-width"
-version = "0.1.6"
+name = "wasm-bindgen"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
[[package]]
-name = "unicode-xid"
-version = "0.2.0"
+name = "wasm-bindgen-backend"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
[[package]]
-name = "walkdir"
-version = "2.2.9"
+name = "wasm-bindgen-macro"
+version = "0.2.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
dependencies = [
- "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
]
[[package]]
-name = "wasi"
-version = "0.7.0"
+name = "wasm-bindgen-shared"
+version = "0.2.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+
+[[package]]
+name = "web-sys"
+version = "0.3.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
[[package]]
name = "winapi"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "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.2"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-[metadata]
-"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
-"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-"checksum cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0"
-"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-"checksum criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "938703e165481c8d612ea3479ac8342e5615185db37765162e762ec3523e2fc6"
-"checksum criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2"
-"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
-"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
-"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
-"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
-"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
-"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
-"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
-"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
-"checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
-"checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
-"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
-"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
-"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
-"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
-"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
-"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-"checksum rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a788ae3edb696cfcba1c19bfd388cc4b8c21f8a408432b199c072825084da58a"
-"checksum rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0e18c91676f670f6f0312764c759405f13afb98d5d73819840cf72a518487bff"
-"checksum rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43739f8831493b276363637423d3622d4bd6394ab6f0a9c4a552e208aeb7fddd"
-"checksum rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791"
-"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
-"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
-"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
-"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
-"checksum serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)" = "1a3351dcbc1f067e2c92ab7c3c1f288ad1a4cffc470b5aaddb4c2e0a3ae80043"
-"checksum syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f89693ae015201f8de93fd96bde2d065f8bfc3f97ce006d5bc9f900b97c0c7c0"
-"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-"checksum tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4574b75faccaacddb9b284faecdf0b544b80b6b294f3d062d325c5726a209c20"
-"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
-"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
-"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
-"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/Cargo.toml b/Cargo.toml
index 9ae35a0..32e9a99 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,46 +3,69 @@
# 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
+# to registry (e.g., crates.io) dependencies.
#
-# If you believe there's an error in this file please file an
-# issue against the rust-lang/cargo repository. If you're
-# editing this file be aware that the upstream Cargo.toml
-# will likely look very different (and much more reasonable)
+# 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"
+edition = "2021"
name = "anes"
-version = "0.1.6"
-authors = ["Robert Vojta <rvojta@me.com>"]
-exclude = ["target", "Cargo.lock"]
+version = "0.2.0"
+authors = [
+ "Robert Vojta <rvojta@me.com>",
+ "Andrew Walbran <qwandor@google.com>",
+]
+exclude = [
+ "target",
+ "Cargo.lock",
+]
description = "ANSI Escape Sequences provider & parser"
documentation = "https://docs.rs/anes/"
readme = "README.md"
-keywords = ["terminal", "ansi", "sequence", "code", "parser"]
+keywords = [
+ "terminal",
+ "ansi",
+ "sequence",
+ "code",
+ "parser",
+]
+categories = [
+ "command-line-interface",
+ "parser-implementations",
+]
license = "MIT OR Apache-2.0"
-repository = "https://github.com/zrzka/anes-rs"
+repository = "https://github.com/qwandor/anes-rs"
+
[package.metadata.docs.rs]
all-features = true
[lib]
bench = false
+[[example]]
+name = "parser"
+required-features = ["parser"]
+
[[bench]]
name = "bench_main"
harness = false
required-features = ["parser"]
+
[dependencies.bitflags]
-version = "1.2"
+version = "2.4.1"
optional = true
+
[dev-dependencies.criterion]
-version = "0.3"
+version = "0.5.1"
[dev-dependencies.libc]
-version = "0.2.66"
+version = "0.2.150"
[features]
default = []
parser = ["bitflags"]
+
[badges.maintenance]
status = "actively-developed"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 51fd1d3..31cd717 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,12 +1,16 @@
[package]
name = "anes"
-version = "0.1.6"
-authors = ["Robert Vojta <rvojta@me.com>"]
-edition = "2018"
+version = "0.2.0"
+authors = [
+ "Robert Vojta <rvojta@me.com>",
+ "Andrew Walbran <qwandor@google.com>",
+]
+edition = "2021"
description = "ANSI Escape Sequences provider & parser"
-repository = "https://github.com/zrzka/anes-rs"
+repository = "https://github.com/qwandor/anes-rs"
documentation = "https://docs.rs/anes/"
license = "MIT OR Apache-2.0"
+categories = ["command-line-interface", "parser-implementations"]
keywords = ["terminal", "ansi", "sequence", "code", "parser"]
exclude = ["target", "Cargo.lock"]
readme = "README.md"
@@ -25,13 +29,17 @@ default = []
parser = ["bitflags"]
[dependencies]
-bitflags = { version = "1.2", optional = true }
+bitflags = { version = "2.4.1", optional = true }
[dev-dependencies]
-criterion = "0.3"
-libc = "0.2.66"
+criterion = "0.5.1"
+libc = "0.2.150"
[[bench]]
name = "bench_main"
harness = false
required-features = ["parser"]
+
+[[example]]
+name = "parser"
+required-features = ["parser"]
diff --git a/METADATA b/METADATA
index fc87cce..73bbb1b 100644
--- a/METADATA
+++ b/METADATA
@@ -1,20 +1,20 @@
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update rust/crates/anes
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
+
name: "anes"
-description: "()"
+description: "ANSI Escape Sequences provider & parser"
third_party {
- url {
- type: HOMEPAGE
- value: "https://crates.io/crates/anes"
- }
- url {
- type: ARCHIVE
- value: "https://static.crates.io/crates/anes/anes-0.1.6.crate"
- }
- version: "0.1.6"
- # Dual-licensed, using the least restrictive per go/thirdpartylicenses#same.
license_type: NOTICE
last_upgrade_date {
year: 2023
- month: 2
- day: 16
+ month: 12
+ day: 13
+ }
+ homepage: "https://crates.io/crates/anes"
+ identifier {
+ type: "Archive"
+ value: "https://static.crates.io/crates/anes/anes-0.2.0.crate"
+ version: "0.2.0"
}
}
diff --git a/cargo_embargo.json b/cargo_embargo.json
index 71c6d2d..6261ca4 100644
--- a/cargo_embargo.json
+++ b/cargo_embargo.json
@@ -3,8 +3,5 @@
"features": [
"parser"
],
- "module_name_overrides": {
- "libbitflags": "libbitflags-1.3.2"
- },
"run_cargo": false
}
diff --git a/src/parser/types.rs b/src/parser/types.rs
index 66b6561..0371e1b 100644
--- a/src/parser/types.rs
+++ b/src/parser/types.rs
@@ -18,6 +18,8 @@ pub enum Sequence {
bitflags! {
/// A key modifiers.
+ #[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
+ #[repr(transparent)]
pub struct KeyModifiers: u8 {
const SHIFT = 0b0000_0001;
const CONTROL = 0b0000_0010;
diff --git a/src/sequences/attribute.rs b/src/sequences/attribute.rs
index 30961ff..b823dc3 100644
--- a/src/sequences/attribute.rs
+++ b/src/sequences/attribute.rs
@@ -2,19 +2,19 @@ use std::fmt;
sequence!(
/// Resets all attributes.
- ///
+ ///
/// This sequence resets all attributes previously set by the:
///
/// * [`SetAttribute`](struct.SetAttribute.html)
/// * [`SetForegroundColor`](struct.SetBackgroundColor.html)
/// * [`SetBackgroundColor`](struct.SetForegroundColor.html)
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::ResetAttributes;
- ///
+ ///
/// let mut stdout = stdout();
/// write!(stdout, "{}", ResetAttributes);
/// ```
diff --git a/src/sequences/buffer.rs b/src/sequences/buffer.rs
index 053195a..12d00a6 100644
--- a/src/sequences/buffer.rs
+++ b/src/sequences/buffer.rs
@@ -1,11 +1,11 @@
sequence!(
/// Switches to the alternate buffer.
- ///
+ ///
/// Use the [`SwitchBufferToNormal`](struct.SwitchBufferToNormal.html) sequence to switch
/// back to the normal buffer.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::{SwitchBufferToAlternate, SwitchBufferToNormal};
@@ -20,9 +20,9 @@ sequence!(
sequence!(
/// Switches to the normal buffer.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::{SwitchBufferToAlternate, SwitchBufferToNormal};
@@ -37,9 +37,9 @@ sequence!(
sequence!(
/// Scrolls up by the given number of rows.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::ScrollBufferUp;
@@ -54,9 +54,9 @@ sequence!(
sequence!(
/// Scrolls down by the given number of rows.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::ScrollBufferDown;
@@ -71,9 +71,9 @@ sequence!(
sequence!(
/// Clears part of the line.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::ClearLine;
@@ -94,9 +94,9 @@ sequence!(
sequence!(
/// Clears part of the buffer.
- ///
+ ///
/// # Examples
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::ClearBuffer;
diff --git a/src/sequences/color.rs b/src/sequences/color.rs
index b019f0f..96ac0b4 100644
--- a/src/sequences/color.rs
+++ b/src/sequences/color.rs
@@ -181,7 +181,7 @@ test_sequences!(
SetBackgroundColor(Color::Yellow) => "\x1B[48;5;11m",
SetBackgroundColor(Color::Blue) => "\x1B[48;5;12m",
SetBackgroundColor(Color::Magenta) => "\x1B[48;5;13m",
- SetBackgroundColor(Color::Cyan) => "\x1B[48;5;14m",
+ SetBackgroundColor(Color::Cyan) => "\x1B[48;5;14m",
SetBackgroundColor(Color::White) => "\x1B[48;5;15m",
SetBackgroundColor(Color::Ansi(200)) => "\x1B[48;5;200m",
SetBackgroundColor(Color::Rgb(1, 2, 3)) => "\x1B[48;2;1;2;3m",
diff --git a/src/sequences/cursor.rs b/src/sequences/cursor.rs
index 37abc3b..7f07cb4 100644
--- a/src/sequences/cursor.rs
+++ b/src/sequences/cursor.rs
@@ -2,7 +2,7 @@
sequence!(
/// Saves the cursor position.
- ///
+ ///
/// Use the [`RestoreCursorPosition`](struct.RestoreCursorPosition.html) sequence to
/// restore the cursor position.
///
@@ -15,21 +15,21 @@ sequence!(
/// let mut stdout = stdout();
/// // Save cursor position
/// write!(stdout, "{}", SaveCursorPosition);
- ///
+ ///
/// // Your app
- ///
+ ///
/// // Restore cursor position
/// write!(stdout, "{}", RestoreCursorPosition);
- /// ```
- struct SaveCursorPosition => esc!("7")
+ /// ```
+ struct SaveCursorPosition => esc!("7")
);
sequence!(
/// Restores the cursor position.
- ///
+ ///
/// Use the [`SaveCursorPosition`](struct.SaveCursorPosition.html) sequence to
/// save the cursor position.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -39,9 +39,9 @@ sequence!(
/// let mut stdout = stdout();
/// // Save cursor position
/// write!(stdout, "{}", SaveCursorPosition);
- ///
+ ///
/// // Your app
- ///
+ ///
/// // Restore cursor position
/// write!(stdout, "{}", RestoreCursorPosition);
/// ```
@@ -50,9 +50,9 @@ sequence!(
sequence!(
/// Hides the cursor.
- ///
+ ///
/// Use the [`ShowCursor`](struct.ShowCursor.html) sequence to show the cursor.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -68,9 +68,9 @@ sequence!(
sequence!(
/// Shows the cursor.
- ///
- /// Use the [`HideCursor`](struct.HideCursor.html) sequence to hide the cursor.
- ///
+ ///
+ /// Use the [`HideCursor`](struct.HideCursor.html) sequence to hide the cursor.
+ ///
/// # Examples
///
/// ```no_run
@@ -86,10 +86,10 @@ sequence!(
sequence!(
/// Enables the cursor blinking.
- ///
+ ///
/// Use the [`DisableCursorBlinking`](struct.DisableCursorBlinking.html) sequence to disable
/// cursor blinking.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -105,10 +105,10 @@ sequence!(
sequence!(
/// Disables the cursor blinking.
- ///
+ ///
/// Use the [`EnableCursorBlinking`](struct.EnableCursorBlinking.html) sequence to enable
/// cursor blinking.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -128,7 +128,7 @@ sequence!(
/// # Notes
///
/// Top/left cell is represented as `1, 1` (`column, row`).
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -145,7 +145,7 @@ sequence!(
sequence!(
/// Moves the cursor up by the given number of rows.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -162,7 +162,7 @@ sequence!(
sequence!(
/// Moves the cursor down by the given number of rows.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -179,7 +179,7 @@ sequence!(
sequence!(
/// Moves the cursor right by the given number of columns.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -196,7 +196,7 @@ sequence!(
sequence!(
/// Moves the cursor left by the given number of columns.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -213,7 +213,7 @@ sequence!(
sequence!(
/// Moves the cursor to beginning of line the given number of lines down.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -224,9 +224,9 @@ sequence!(
/// // Move cursor down by 2 rows and the move it to the first column
/// write!(stdout, "{}", MoveCursorToNextLine(2));
/// ```
- ///
+ ///
/// The previous example does the same thing as the following one:
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::{MoveCursorDown, MoveCursorToColumn};
@@ -240,7 +240,7 @@ sequence!(
sequence!(
/// Moves the cursor to beginning of line the given number of lines up.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -251,9 +251,9 @@ sequence!(
/// // Move cursor up by 2 rows and the move it to the first column
/// write!(stdout, "{}", MoveCursorToPreviousLine(2));
/// ```
- ///
+ ///
/// The previous example does the same thing as the following one:
- ///
+ ///
/// ```no_run
/// use std::io::{stdout, Write};
/// use anes::{MoveCursorUp, MoveCursorToColumn};
@@ -271,7 +271,7 @@ sequence!(
/// # Notes
///
/// Beginning of the line (left cell) is represented as `1`.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -289,7 +289,7 @@ sequence!(
// TODO Enhance example with Parser to show how to retrieve it
sequence!(
/// Asks for the current cursor position.
- ///
+ ///
/// # Examples
///
/// ```no_run
diff --git a/src/sequences/terminal.rs b/src/sequences/terminal.rs
index 74eada6..fe27b67 100644
--- a/src/sequences/terminal.rs
+++ b/src/sequences/terminal.rs
@@ -2,7 +2,7 @@
sequence!(
/// Resizes the text area to the given width and height in characters.
- ///
+ ///
/// # Examples
///
/// ```no_run
@@ -19,7 +19,7 @@ sequence!(
sequence!(
/// Tells the terminal to start reporting mouse events.
- ///
+ ///
/// Mouse events are not reported by default.
struct EnableMouseEvents => concat!(
csi!("?1000h"),
@@ -50,5 +50,5 @@ test_sequences!(
),
disable_mouse_events(
DisableMouseEvents => "\x1B[?1006l\x1B[?1015l\x1B[?1002l\x1B[?1000l",
- )
+ )
);