diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..4346ec3 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,8 @@ +# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem- + +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e478b6a..ae23a8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,4 +80,4 @@ jobs: uses: actions/checkout@v4 - name: Run typos - uses: crate-ci/typos@v1.16.11 + uses: crate-ci/typos@v1.34.0 diff --git a/.gitignore b/.gitignore index 73fab07..38f4db8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ target/ # MSVC Windows builds of rustc generate these, which store debugging information *.pdb + +# IDE files and folders +.idea/ diff --git a/Cargo.lock b/Cargo.lock index d31c11c..ea43ccc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "benches" @@ -20,15 +20,15 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "brunch" -version = "0.5.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3932d710d985d35c7b08e7e439a6ac8607aa8f619d373eb1f808578cd3cd56e5" +checksum = "a53ea66308fc6df0cdea9268f1c670f5d2bed94c6742800cd2ac0664b2f98589" dependencies = [ "dactyl", "unicode-width", @@ -36,15 +36,15 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -61,21 +61,21 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "dactyl" -version = "0.7.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecad1ab94b1336be6cff409436ad9ceedb0afd52a85d54132189c2c3babb049" +checksum = "34f19006eb524581bf5918a298403aa6df7f9609d6bfb43be6e1f01182feb081" [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "fuzzy-matcher" @@ -88,15 +88,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.167" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -104,9 +104,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "nucleo" @@ -125,17 +125,11 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -143,9 +137,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -176,9 +170,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] @@ -200,18 +194,17 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -222,9 +215,9 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.14" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "walkdir" diff --git a/bench/Cargo.toml b/bench/Cargo.toml index 0dfb81d..d31dbcc 100644 --- a/bench/Cargo.toml +++ b/bench/Cargo.toml @@ -7,6 +7,6 @@ edition = "2021" [dependencies] nucleo = { version = "*", path = "../" } -brunch = "0.5.0" +brunch = "0.11.0" fuzzy-matcher = "0.3.7" walkdir = "2" diff --git a/bench/src/main.rs b/bench/src/main.rs index bc77b03..6971f5d 100644 --- a/bench/src/main.rs +++ b/bench/src/main.rs @@ -28,7 +28,7 @@ fn checkout_linux_if_needed() { .stdout(std::process::Stdio::inherit()) .status() .expect("failed to git clone linux"); - println!("did git clone linux...{:?}", output); + println!("did git clone linux...{output:?}"); } } diff --git a/matcher/generate_case_fold_table.sh b/matcher/generate_case_fold_table.sh index 32a2669..04f8bb8 100755 --- a/matcher/generate_case_fold_table.sh +++ b/matcher/generate_case_fold_table.sh @@ -1,13 +1,14 @@ #!/usr/bin/env bash set -e +UCD_VERSION=16.0.0 dir=$(pwd) -mkdir /tmp/ucd-15.0.0 -cd /tmp/ucd-15.0.0 -curl -LO https://www.unicode.org/Public/zipped/15.0.0/UCD.zip +mkdir /tmp/ucd-$UCD_VERSION +cd /tmp/ucd-$UCD_VERSION +curl -LO https://www.unicode.org/Public/zipped/$UCD_VERSION/UCD.zip unzip UCD.zip cd "${dir}" cargo install ucd-generate -ucd-generate case-folding-simple /tmp/ucd-15.0.0 --chars > src/chars/case_fold.rs -rm -rf /tmp/ucd-15.0.0 +ucd-generate case-folding-simple /tmp/ucd-$UCD_VERSION --chars > src/chars/case_fold.rs +rm -rf /tmp/ucd-$UCD_VERSION diff --git a/matcher/src/chars/case_fold.rs b/matcher/src/chars/case_fold.rs index aacbe46..3a49c28 100644 --- a/matcher/src/chars/case_fold.rs +++ b/matcher/src/chars/case_fold.rs @@ -1,10 +1,10 @@ // DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY: // -// ucd-generate case-folding-simple /tmp/ucd-15.0.0 --chars +// ucd-generate case-folding-simple /tmp/ucd-16.0.0 --chars // -// Unicode version: 15.0.0. +// Unicode version: 16.0.0. // -// ucd-generate 0.3.0 is available on crates.io. +// ucd-generate 0.3.1 is available on crates.io. pub const CASE_FOLDING_SIMPLE: &'static [(char, char)] = &[ ('A', 'a'), ('B', 'b'), ('C', 'c'), ('D', 'd'), ('E', 'e'), ('F', 'f'), @@ -115,100 +115,101 @@ pub const CASE_FOLDING_SIMPLE: &'static [(char, char)] = &[ ('ᏸ', 'Ᏸ'), ('ᏹ', 'Ᏹ'), ('ᏺ', 'Ᏺ'), ('ᏻ', 'Ᏻ'), ('ᏼ', 'Ᏼ'), ('ᏽ', 'Ᏽ'), ('ᲀ', 'в'), ('ᲁ', 'д'), ('ᲂ', 'о'), ('ᲃ', 'с'), ('ᲄ', 'т'), ('ᲅ', 'т'), ('ᲆ', 'ъ'), ('ᲇ', 'ѣ'), - ('ᲈ', 'ꙋ'), ('Ა', 'ა'), ('Ბ', 'ბ'), ('Გ', 'გ'), - ('Დ', 'დ'), ('Ე', 'ე'), ('Ვ', 'ვ'), ('Ზ', 'ზ'), - ('Თ', 'თ'), ('Ი', 'ი'), ('Კ', 'კ'), ('Ლ', 'ლ'), - ('Მ', 'მ'), ('Ნ', 'ნ'), ('Ო', 'ო'), ('Პ', 'პ'), - ('Ჟ', 'ჟ'), ('Რ', 'რ'), ('Ს', 'ს'), ('Ტ', 'ტ'), - ('Უ', 'უ'), ('Ფ', 'ფ'), ('Ქ', 'ქ'), ('Ღ', 'ღ'), - ('Ყ', 'ყ'), ('Შ', 'შ'), ('Ჩ', 'ჩ'), ('Ც', 'ც'), - ('Ძ', 'ძ'), ('Წ', 'წ'), ('Ჭ', 'ჭ'), ('Ხ', 'ხ'), - ('Ჯ', 'ჯ'), ('Ჰ', 'ჰ'), ('Ჱ', 'ჱ'), ('Ჲ', 'ჲ'), - ('Ჳ', 'ჳ'), ('Ჴ', 'ჴ'), ('Ჵ', 'ჵ'), ('Ჶ', 'ჶ'), - ('Ჷ', 'ჷ'), ('Ჸ', 'ჸ'), ('Ჹ', 'ჹ'), ('Ჺ', 'ჺ'), - ('Ჽ', 'ჽ'), ('Ჾ', 'ჾ'), ('Ჿ', 'ჿ'), ('Ḁ', 'ḁ'), - ('Ḃ', 'ḃ'), ('Ḅ', 'ḅ'), ('Ḇ', 'ḇ'), ('Ḉ', 'ḉ'), - ('Ḋ', 'ḋ'), ('Ḍ', 'ḍ'), ('Ḏ', 'ḏ'), ('Ḑ', 'ḑ'), - ('Ḓ', 'ḓ'), ('Ḕ', 'ḕ'), ('Ḗ', 'ḗ'), ('Ḙ', 'ḙ'), - ('Ḛ', 'ḛ'), ('Ḝ', 'ḝ'), ('Ḟ', 'ḟ'), ('Ḡ', 'ḡ'), - ('Ḣ', 'ḣ'), ('Ḥ', 'ḥ'), ('Ḧ', 'ḧ'), ('Ḩ', 'ḩ'), - ('Ḫ', 'ḫ'), ('Ḭ', 'ḭ'), ('Ḯ', 'ḯ'), ('Ḱ', 'ḱ'), - ('Ḳ', 'ḳ'), ('Ḵ', 'ḵ'), ('Ḷ', 'ḷ'), ('Ḹ', 'ḹ'), - ('Ḻ', 'ḻ'), ('Ḽ', 'ḽ'), ('Ḿ', 'ḿ'), ('Ṁ', 'ṁ'), - ('Ṃ', 'ṃ'), ('Ṅ', 'ṅ'), ('Ṇ', 'ṇ'), ('Ṉ', 'ṉ'), - ('Ṋ', 'ṋ'), ('Ṍ', 'ṍ'), ('Ṏ', 'ṏ'), ('Ṑ', 'ṑ'), - ('Ṓ', 'ṓ'), ('Ṕ', 'ṕ'), ('Ṗ', 'ṗ'), ('Ṙ', 'ṙ'), - ('Ṛ', 'ṛ'), ('Ṝ', 'ṝ'), ('Ṟ', 'ṟ'), ('Ṡ', 'ṡ'), - ('Ṣ', 'ṣ'), ('Ṥ', 'ṥ'), ('Ṧ', 'ṧ'), ('Ṩ', 'ṩ'), - ('Ṫ', 'ṫ'), ('Ṭ', 'ṭ'), ('Ṯ', 'ṯ'), ('Ṱ', 'ṱ'), - ('Ṳ', 'ṳ'), ('Ṵ', 'ṵ'), ('Ṷ', 'ṷ'), ('Ṹ', 'ṹ'), - ('Ṻ', 'ṻ'), ('Ṽ', 'ṽ'), ('Ṿ', 'ṿ'), ('Ẁ', 'ẁ'), - ('Ẃ', 'ẃ'), ('Ẅ', 'ẅ'), ('Ẇ', 'ẇ'), ('Ẉ', 'ẉ'), - ('Ẋ', 'ẋ'), ('Ẍ', 'ẍ'), ('Ẏ', 'ẏ'), ('Ẑ', 'ẑ'), - ('Ẓ', 'ẓ'), ('Ẕ', 'ẕ'), ('ẛ', 'ṡ'), ('ẞ', 'ß'), - ('Ạ', 'ạ'), ('Ả', 'ả'), ('Ấ', 'ấ'), ('Ầ', 'ầ'), - ('Ẩ', 'ẩ'), ('Ẫ', 'ẫ'), ('Ậ', 'ậ'), ('Ắ', 'ắ'), - ('Ằ', 'ằ'), ('Ẳ', 'ẳ'), ('Ẵ', 'ẵ'), ('Ặ', 'ặ'), - ('Ẹ', 'ẹ'), ('Ẻ', 'ẻ'), ('Ẽ', 'ẽ'), ('Ế', 'ế'), - ('Ề', 'ề'), ('Ể', 'ể'), ('Ễ', 'ễ'), ('Ệ', 'ệ'), - ('Ỉ', 'ỉ'), ('Ị', 'ị'), ('Ọ', 'ọ'), ('Ỏ', 'ỏ'), - ('Ố', 'ố'), ('Ồ', 'ồ'), ('Ổ', 'ổ'), ('Ỗ', 'ỗ'), - ('Ộ', 'ộ'), ('Ớ', 'ớ'), ('Ờ', 'ờ'), ('Ở', 'ở'), - ('Ỡ', 'ỡ'), ('Ợ', 'ợ'), ('Ụ', 'ụ'), ('Ủ', 'ủ'), - ('Ứ', 'ứ'), ('Ừ', 'ừ'), ('Ử', 'ử'), ('Ữ', 'ữ'), - ('Ự', 'ự'), ('Ỳ', 'ỳ'), ('Ỵ', 'ỵ'), ('Ỷ', 'ỷ'), - ('Ỹ', 'ỹ'), ('Ỻ', 'ỻ'), ('Ỽ', 'ỽ'), ('Ỿ', 'ỿ'), - ('Ἀ', 'ἀ'), ('Ἁ', 'ἁ'), ('Ἂ', 'ἂ'), ('Ἃ', 'ἃ'), - ('Ἄ', 'ἄ'), ('Ἅ', 'ἅ'), ('Ἆ', 'ἆ'), ('Ἇ', 'ἇ'), - ('Ἐ', 'ἐ'), ('Ἑ', 'ἑ'), ('Ἒ', 'ἒ'), ('Ἓ', 'ἓ'), - ('Ἔ', 'ἔ'), ('Ἕ', 'ἕ'), ('Ἠ', 'ἠ'), ('Ἡ', 'ἡ'), - ('Ἢ', 'ἢ'), ('Ἣ', 'ἣ'), ('Ἤ', 'ἤ'), ('Ἥ', 'ἥ'), - ('Ἦ', 'ἦ'), ('Ἧ', 'ἧ'), ('Ἰ', 'ἰ'), ('Ἱ', 'ἱ'), - ('Ἲ', 'ἲ'), ('Ἳ', 'ἳ'), ('Ἴ', 'ἴ'), ('Ἵ', 'ἵ'), - ('Ἶ', 'ἶ'), ('Ἷ', 'ἷ'), ('Ὀ', 'ὀ'), ('Ὁ', 'ὁ'), - ('Ὂ', 'ὂ'), ('Ὃ', 'ὃ'), ('Ὄ', 'ὄ'), ('Ὅ', 'ὅ'), - ('Ὑ', 'ὑ'), ('Ὓ', 'ὓ'), ('Ὕ', 'ὕ'), ('Ὗ', 'ὗ'), - ('Ὠ', 'ὠ'), ('Ὡ', 'ὡ'), ('Ὢ', 'ὢ'), ('Ὣ', 'ὣ'), - ('Ὤ', 'ὤ'), ('Ὥ', 'ὥ'), ('Ὦ', 'ὦ'), ('Ὧ', 'ὧ'), - ('ᾈ', 'ᾀ'), ('ᾉ', 'ᾁ'), ('ᾊ', 'ᾂ'), ('ᾋ', 'ᾃ'), - ('ᾌ', 'ᾄ'), ('ᾍ', 'ᾅ'), ('ᾎ', 'ᾆ'), ('ᾏ', 'ᾇ'), - ('ᾘ', 'ᾐ'), ('ᾙ', 'ᾑ'), ('ᾚ', 'ᾒ'), ('ᾛ', 'ᾓ'), - ('ᾜ', 'ᾔ'), ('ᾝ', 'ᾕ'), ('ᾞ', 'ᾖ'), ('ᾟ', 'ᾗ'), - ('ᾨ', 'ᾠ'), ('ᾩ', 'ᾡ'), ('ᾪ', 'ᾢ'), ('ᾫ', 'ᾣ'), - ('ᾬ', 'ᾤ'), ('ᾭ', 'ᾥ'), ('ᾮ', 'ᾦ'), ('ᾯ', 'ᾧ'), - ('Ᾰ', 'ᾰ'), ('Ᾱ', 'ᾱ'), ('Ὰ', 'ὰ'), ('Ά', 'ά'), - ('ᾼ', 'ᾳ'), ('ι', 'ι'), ('Ὲ', 'ὲ'), ('Έ', 'έ'), - ('Ὴ', 'ὴ'), ('Ή', 'ή'), ('ῌ', 'ῃ'), ('Ῐ', 'ῐ'), - ('Ῑ', 'ῑ'), ('Ὶ', 'ὶ'), ('Ί', 'ί'), ('Ῠ', 'ῠ'), - ('Ῡ', 'ῡ'), ('Ὺ', 'ὺ'), ('Ύ', 'ύ'), ('Ῥ', 'ῥ'), - ('Ὸ', 'ὸ'), ('Ό', 'ό'), ('Ὼ', 'ὼ'), ('Ώ', 'ώ'), - ('ῼ', 'ῳ'), ('Ω', 'ω'), ('K', 'k'), ('Å', 'å'), ('Ⅎ', 'ⅎ'), - ('Ⅰ', 'ⅰ'), ('Ⅱ', 'ⅱ'), ('Ⅲ', 'ⅲ'), ('Ⅳ', 'ⅳ'), - ('Ⅴ', 'ⅴ'), ('Ⅵ', 'ⅵ'), ('Ⅶ', 'ⅶ'), ('Ⅷ', 'ⅷ'), - ('Ⅸ', 'ⅸ'), ('Ⅹ', 'ⅹ'), ('Ⅺ', 'ⅺ'), ('Ⅻ', 'ⅻ'), - ('Ⅼ', 'ⅼ'), ('Ⅽ', 'ⅽ'), ('Ⅾ', 'ⅾ'), ('Ⅿ', 'ⅿ'), - ('Ↄ', 'ↄ'), ('Ⓐ', 'ⓐ'), ('Ⓑ', 'ⓑ'), ('Ⓒ', 'ⓒ'), - ('Ⓓ', 'ⓓ'), ('Ⓔ', 'ⓔ'), ('Ⓕ', 'ⓕ'), ('Ⓖ', 'ⓖ'), - ('Ⓗ', 'ⓗ'), ('Ⓘ', 'ⓘ'), ('Ⓙ', 'ⓙ'), ('Ⓚ', 'ⓚ'), - ('Ⓛ', 'ⓛ'), ('Ⓜ', 'ⓜ'), ('Ⓝ', 'ⓝ'), ('Ⓞ', 'ⓞ'), - ('Ⓟ', 'ⓟ'), ('Ⓠ', 'ⓠ'), ('Ⓡ', 'ⓡ'), ('Ⓢ', 'ⓢ'), - ('Ⓣ', 'ⓣ'), ('Ⓤ', 'ⓤ'), ('Ⓥ', 'ⓥ'), ('Ⓦ', 'ⓦ'), - ('Ⓧ', 'ⓧ'), ('Ⓨ', 'ⓨ'), ('Ⓩ', 'ⓩ'), ('Ⰰ', 'ⰰ'), - ('Ⰱ', 'ⰱ'), ('Ⰲ', 'ⰲ'), ('Ⰳ', 'ⰳ'), ('Ⰴ', 'ⰴ'), - ('Ⰵ', 'ⰵ'), ('Ⰶ', 'ⰶ'), ('Ⰷ', 'ⰷ'), ('Ⰸ', 'ⰸ'), - ('Ⰹ', 'ⰹ'), ('Ⰺ', 'ⰺ'), ('Ⰻ', 'ⰻ'), ('Ⰼ', 'ⰼ'), - ('Ⰽ', 'ⰽ'), ('Ⰾ', 'ⰾ'), ('Ⰿ', 'ⰿ'), ('Ⱀ', 'ⱀ'), - ('Ⱁ', 'ⱁ'), ('Ⱂ', 'ⱂ'), ('Ⱃ', 'ⱃ'), ('Ⱄ', 'ⱄ'), - ('Ⱅ', 'ⱅ'), ('Ⱆ', 'ⱆ'), ('Ⱇ', 'ⱇ'), ('Ⱈ', 'ⱈ'), - ('Ⱉ', 'ⱉ'), ('Ⱊ', 'ⱊ'), ('Ⱋ', 'ⱋ'), ('Ⱌ', 'ⱌ'), - ('Ⱍ', 'ⱍ'), ('Ⱎ', 'ⱎ'), ('Ⱏ', 'ⱏ'), ('Ⱐ', 'ⱐ'), - ('Ⱑ', 'ⱑ'), ('Ⱒ', 'ⱒ'), ('Ⱓ', 'ⱓ'), ('Ⱔ', 'ⱔ'), - ('Ⱕ', 'ⱕ'), ('Ⱖ', 'ⱖ'), ('Ⱗ', 'ⱗ'), ('Ⱘ', 'ⱘ'), - ('Ⱙ', 'ⱙ'), ('Ⱚ', 'ⱚ'), ('Ⱛ', 'ⱛ'), ('Ⱜ', 'ⱜ'), - ('Ⱝ', 'ⱝ'), ('Ⱞ', 'ⱞ'), ('Ⱟ', 'ⱟ'), ('Ⱡ', 'ⱡ'), - ('Ɫ', 'ɫ'), ('Ᵽ', 'ᵽ'), ('Ɽ', 'ɽ'), ('Ⱨ', 'ⱨ'), - ('Ⱪ', 'ⱪ'), ('Ⱬ', 'ⱬ'), ('Ɑ', 'ɑ'), ('Ɱ', 'ɱ'), ('Ɐ', 'ɐ'), - ('Ɒ', 'ɒ'), ('Ⱳ', 'ⱳ'), ('Ⱶ', 'ⱶ'), ('Ȿ', 'ȿ'), ('Ɀ', 'ɀ'), + ('ᲈ', 'ꙋ'), ('Ᲊ', 'ᲊ'), ('Ა', 'ა'), ('Ბ', 'ბ'), + ('Გ', 'გ'), ('Დ', 'დ'), ('Ე', 'ე'), ('Ვ', 'ვ'), + ('Ზ', 'ზ'), ('Თ', 'თ'), ('Ი', 'ი'), ('Კ', 'კ'), + ('Ლ', 'ლ'), ('Მ', 'მ'), ('Ნ', 'ნ'), ('Ო', 'ო'), + ('Პ', 'პ'), ('Ჟ', 'ჟ'), ('Რ', 'რ'), ('Ს', 'ს'), + ('Ტ', 'ტ'), ('Უ', 'უ'), ('Ფ', 'ფ'), ('Ქ', 'ქ'), + ('Ღ', 'ღ'), ('Ყ', 'ყ'), ('Შ', 'შ'), ('Ჩ', 'ჩ'), + ('Ც', 'ც'), ('Ძ', 'ძ'), ('Წ', 'წ'), ('Ჭ', 'ჭ'), + ('Ხ', 'ხ'), ('Ჯ', 'ჯ'), ('Ჰ', 'ჰ'), ('Ჱ', 'ჱ'), + ('Ჲ', 'ჲ'), ('Ჳ', 'ჳ'), ('Ჴ', 'ჴ'), ('Ჵ', 'ჵ'), + ('Ჶ', 'ჶ'), ('Ჷ', 'ჷ'), ('Ჸ', 'ჸ'), ('Ჹ', 'ჹ'), + ('Ჺ', 'ჺ'), ('Ჽ', 'ჽ'), ('Ჾ', 'ჾ'), ('Ჿ', 'ჿ'), + ('Ḁ', 'ḁ'), ('Ḃ', 'ḃ'), ('Ḅ', 'ḅ'), ('Ḇ', 'ḇ'), + ('Ḉ', 'ḉ'), ('Ḋ', 'ḋ'), ('Ḍ', 'ḍ'), ('Ḏ', 'ḏ'), + ('Ḑ', 'ḑ'), ('Ḓ', 'ḓ'), ('Ḕ', 'ḕ'), ('Ḗ', 'ḗ'), + ('Ḙ', 'ḙ'), ('Ḛ', 'ḛ'), ('Ḝ', 'ḝ'), ('Ḟ', 'ḟ'), + ('Ḡ', 'ḡ'), ('Ḣ', 'ḣ'), ('Ḥ', 'ḥ'), ('Ḧ', 'ḧ'), + ('Ḩ', 'ḩ'), ('Ḫ', 'ḫ'), ('Ḭ', 'ḭ'), ('Ḯ', 'ḯ'), + ('Ḱ', 'ḱ'), ('Ḳ', 'ḳ'), ('Ḵ', 'ḵ'), ('Ḷ', 'ḷ'), + ('Ḹ', 'ḹ'), ('Ḻ', 'ḻ'), ('Ḽ', 'ḽ'), ('Ḿ', 'ḿ'), + ('Ṁ', 'ṁ'), ('Ṃ', 'ṃ'), ('Ṅ', 'ṅ'), ('Ṇ', 'ṇ'), + ('Ṉ', 'ṉ'), ('Ṋ', 'ṋ'), ('Ṍ', 'ṍ'), ('Ṏ', 'ṏ'), + ('Ṑ', 'ṑ'), ('Ṓ', 'ṓ'), ('Ṕ', 'ṕ'), ('Ṗ', 'ṗ'), + ('Ṙ', 'ṙ'), ('Ṛ', 'ṛ'), ('Ṝ', 'ṝ'), ('Ṟ', 'ṟ'), + ('Ṡ', 'ṡ'), ('Ṣ', 'ṣ'), ('Ṥ', 'ṥ'), ('Ṧ', 'ṧ'), + ('Ṩ', 'ṩ'), ('Ṫ', 'ṫ'), ('Ṭ', 'ṭ'), ('Ṯ', 'ṯ'), + ('Ṱ', 'ṱ'), ('Ṳ', 'ṳ'), ('Ṵ', 'ṵ'), ('Ṷ', 'ṷ'), + ('Ṹ', 'ṹ'), ('Ṻ', 'ṻ'), ('Ṽ', 'ṽ'), ('Ṿ', 'ṿ'), + ('Ẁ', 'ẁ'), ('Ẃ', 'ẃ'), ('Ẅ', 'ẅ'), ('Ẇ', 'ẇ'), + ('Ẉ', 'ẉ'), ('Ẋ', 'ẋ'), ('Ẍ', 'ẍ'), ('Ẏ', 'ẏ'), + ('Ẑ', 'ẑ'), ('Ẓ', 'ẓ'), ('Ẕ', 'ẕ'), ('ẛ', 'ṡ'), + ('ẞ', 'ß'), ('Ạ', 'ạ'), ('Ả', 'ả'), ('Ấ', 'ấ'), + ('Ầ', 'ầ'), ('Ẩ', 'ẩ'), ('Ẫ', 'ẫ'), ('Ậ', 'ậ'), + ('Ắ', 'ắ'), ('Ằ', 'ằ'), ('Ẳ', 'ẳ'), ('Ẵ', 'ẵ'), + ('Ặ', 'ặ'), ('Ẹ', 'ẹ'), ('Ẻ', 'ẻ'), ('Ẽ', 'ẽ'), + ('Ế', 'ế'), ('Ề', 'ề'), ('Ể', 'ể'), ('Ễ', 'ễ'), + ('Ệ', 'ệ'), ('Ỉ', 'ỉ'), ('Ị', 'ị'), ('Ọ', 'ọ'), + ('Ỏ', 'ỏ'), ('Ố', 'ố'), ('Ồ', 'ồ'), ('Ổ', 'ổ'), + ('Ỗ', 'ỗ'), ('Ộ', 'ộ'), ('Ớ', 'ớ'), ('Ờ', 'ờ'), + ('Ở', 'ở'), ('Ỡ', 'ỡ'), ('Ợ', 'ợ'), ('Ụ', 'ụ'), + ('Ủ', 'ủ'), ('Ứ', 'ứ'), ('Ừ', 'ừ'), ('Ử', 'ử'), + ('Ữ', 'ữ'), ('Ự', 'ự'), ('Ỳ', 'ỳ'), ('Ỵ', 'ỵ'), + ('Ỷ', 'ỷ'), ('Ỹ', 'ỹ'), ('Ỻ', 'ỻ'), ('Ỽ', 'ỽ'), + ('Ỿ', 'ỿ'), ('Ἀ', 'ἀ'), ('Ἁ', 'ἁ'), ('Ἂ', 'ἂ'), + ('Ἃ', 'ἃ'), ('Ἄ', 'ἄ'), ('Ἅ', 'ἅ'), ('Ἆ', 'ἆ'), + ('Ἇ', 'ἇ'), ('Ἐ', 'ἐ'), ('Ἑ', 'ἑ'), ('Ἒ', 'ἒ'), + ('Ἓ', 'ἓ'), ('Ἔ', 'ἔ'), ('Ἕ', 'ἕ'), ('Ἠ', 'ἠ'), + ('Ἡ', 'ἡ'), ('Ἢ', 'ἢ'), ('Ἣ', 'ἣ'), ('Ἤ', 'ἤ'), + ('Ἥ', 'ἥ'), ('Ἦ', 'ἦ'), ('Ἧ', 'ἧ'), ('Ἰ', 'ἰ'), + ('Ἱ', 'ἱ'), ('Ἲ', 'ἲ'), ('Ἳ', 'ἳ'), ('Ἴ', 'ἴ'), + ('Ἵ', 'ἵ'), ('Ἶ', 'ἶ'), ('Ἷ', 'ἷ'), ('Ὀ', 'ὀ'), + ('Ὁ', 'ὁ'), ('Ὂ', 'ὂ'), ('Ὃ', 'ὃ'), ('Ὄ', 'ὄ'), + ('Ὅ', 'ὅ'), ('Ὑ', 'ὑ'), ('Ὓ', 'ὓ'), ('Ὕ', 'ὕ'), + ('Ὗ', 'ὗ'), ('Ὠ', 'ὠ'), ('Ὡ', 'ὡ'), ('Ὢ', 'ὢ'), + ('Ὣ', 'ὣ'), ('Ὤ', 'ὤ'), ('Ὥ', 'ὥ'), ('Ὦ', 'ὦ'), + ('Ὧ', 'ὧ'), ('ᾈ', 'ᾀ'), ('ᾉ', 'ᾁ'), ('ᾊ', 'ᾂ'), + ('ᾋ', 'ᾃ'), ('ᾌ', 'ᾄ'), ('ᾍ', 'ᾅ'), ('ᾎ', 'ᾆ'), + ('ᾏ', 'ᾇ'), ('ᾘ', 'ᾐ'), ('ᾙ', 'ᾑ'), ('ᾚ', 'ᾒ'), + ('ᾛ', 'ᾓ'), ('ᾜ', 'ᾔ'), ('ᾝ', 'ᾕ'), ('ᾞ', 'ᾖ'), + ('ᾟ', 'ᾗ'), ('ᾨ', 'ᾠ'), ('ᾩ', 'ᾡ'), ('ᾪ', 'ᾢ'), + ('ᾫ', 'ᾣ'), ('ᾬ', 'ᾤ'), ('ᾭ', 'ᾥ'), ('ᾮ', 'ᾦ'), + ('ᾯ', 'ᾧ'), ('Ᾰ', 'ᾰ'), ('Ᾱ', 'ᾱ'), ('Ὰ', 'ὰ'), + ('Ά', 'ά'), ('ᾼ', 'ᾳ'), ('ι', 'ι'), ('Ὲ', 'ὲ'), + ('Έ', 'έ'), ('Ὴ', 'ὴ'), ('Ή', 'ή'), ('ῌ', 'ῃ'), + ('ΐ', 'ΐ'), ('Ῐ', 'ῐ'), ('Ῑ', 'ῑ'), ('Ὶ', 'ὶ'), + ('Ί', 'ί'), ('ΰ', 'ΰ'), ('Ῠ', 'ῠ'), ('Ῡ', 'ῡ'), + ('Ὺ', 'ὺ'), ('Ύ', 'ύ'), ('Ῥ', 'ῥ'), ('Ὸ', 'ὸ'), + ('Ό', 'ό'), ('Ὼ', 'ὼ'), ('Ώ', 'ώ'), ('ῼ', 'ῳ'), + ('Ω', 'ω'), ('K', 'k'), ('Å', 'å'), ('Ⅎ', 'ⅎ'), ('Ⅰ', 'ⅰ'), + ('Ⅱ', 'ⅱ'), ('Ⅲ', 'ⅲ'), ('Ⅳ', 'ⅳ'), ('Ⅴ', 'ⅴ'), + ('Ⅵ', 'ⅵ'), ('Ⅶ', 'ⅶ'), ('Ⅷ', 'ⅷ'), ('Ⅸ', 'ⅸ'), + ('Ⅹ', 'ⅹ'), ('Ⅺ', 'ⅺ'), ('Ⅻ', 'ⅻ'), ('Ⅼ', 'ⅼ'), + ('Ⅽ', 'ⅽ'), ('Ⅾ', 'ⅾ'), ('Ⅿ', 'ⅿ'), ('Ↄ', 'ↄ'), + ('Ⓐ', 'ⓐ'), ('Ⓑ', 'ⓑ'), ('Ⓒ', 'ⓒ'), ('Ⓓ', 'ⓓ'), + ('Ⓔ', 'ⓔ'), ('Ⓕ', 'ⓕ'), ('Ⓖ', 'ⓖ'), ('Ⓗ', 'ⓗ'), + ('Ⓘ', 'ⓘ'), ('Ⓙ', 'ⓙ'), ('Ⓚ', 'ⓚ'), ('Ⓛ', 'ⓛ'), + ('Ⓜ', 'ⓜ'), ('Ⓝ', 'ⓝ'), ('Ⓞ', 'ⓞ'), ('Ⓟ', 'ⓟ'), + ('Ⓠ', 'ⓠ'), ('Ⓡ', 'ⓡ'), ('Ⓢ', 'ⓢ'), ('Ⓣ', 'ⓣ'), + ('Ⓤ', 'ⓤ'), ('Ⓥ', 'ⓥ'), ('Ⓦ', 'ⓦ'), ('Ⓧ', 'ⓧ'), + ('Ⓨ', 'ⓨ'), ('Ⓩ', 'ⓩ'), ('Ⰰ', 'ⰰ'), ('Ⰱ', 'ⰱ'), + ('Ⰲ', 'ⰲ'), ('Ⰳ', 'ⰳ'), ('Ⰴ', 'ⰴ'), ('Ⰵ', 'ⰵ'), + ('Ⰶ', 'ⰶ'), ('Ⰷ', 'ⰷ'), ('Ⰸ', 'ⰸ'), ('Ⰹ', 'ⰹ'), + ('Ⰺ', 'ⰺ'), ('Ⰻ', 'ⰻ'), ('Ⰼ', 'ⰼ'), ('Ⰽ', 'ⰽ'), + ('Ⰾ', 'ⰾ'), ('Ⰿ', 'ⰿ'), ('Ⱀ', 'ⱀ'), ('Ⱁ', 'ⱁ'), + ('Ⱂ', 'ⱂ'), ('Ⱃ', 'ⱃ'), ('Ⱄ', 'ⱄ'), ('Ⱅ', 'ⱅ'), + ('Ⱆ', 'ⱆ'), ('Ⱇ', 'ⱇ'), ('Ⱈ', 'ⱈ'), ('Ⱉ', 'ⱉ'), + ('Ⱊ', 'ⱊ'), ('Ⱋ', 'ⱋ'), ('Ⱌ', 'ⱌ'), ('Ⱍ', 'ⱍ'), + ('Ⱎ', 'ⱎ'), ('Ⱏ', 'ⱏ'), ('Ⱐ', 'ⱐ'), ('Ⱑ', 'ⱑ'), + ('Ⱒ', 'ⱒ'), ('Ⱓ', 'ⱓ'), ('Ⱔ', 'ⱔ'), ('Ⱕ', 'ⱕ'), + ('Ⱖ', 'ⱖ'), ('Ⱗ', 'ⱗ'), ('Ⱘ', 'ⱘ'), ('Ⱙ', 'ⱙ'), + ('Ⱚ', 'ⱚ'), ('Ⱛ', 'ⱛ'), ('Ⱜ', 'ⱜ'), ('Ⱝ', 'ⱝ'), + ('Ⱞ', 'ⱞ'), ('Ⱟ', 'ⱟ'), ('Ⱡ', 'ⱡ'), ('Ɫ', 'ɫ'), + ('Ᵽ', 'ᵽ'), ('Ɽ', 'ɽ'), ('Ⱨ', 'ⱨ'), ('Ⱪ', 'ⱪ'), + ('Ⱬ', 'ⱬ'), ('Ɑ', 'ɑ'), ('Ɱ', 'ɱ'), ('Ɐ', 'ɐ'), ('Ɒ', 'ɒ'), + ('Ⱳ', 'ⱳ'), ('Ⱶ', 'ⱶ'), ('Ȿ', 'ȿ'), ('Ɀ', 'ɀ'), ('Ⲁ', 'ⲁ'), ('Ⲃ', 'ⲃ'), ('Ⲅ', 'ⲅ'), ('Ⲇ', 'ⲇ'), ('Ⲉ', 'ⲉ'), ('Ⲋ', 'ⲋ'), ('Ⲍ', 'ⲍ'), ('Ⲏ', 'ⲏ'), ('Ⲑ', 'ⲑ'), ('Ⲓ', 'ⲓ'), ('Ⲕ', 'ⲕ'), ('Ⲗ', 'ⲗ'), @@ -251,8 +252,9 @@ pub const CASE_FOLDING_SIMPLE: &'static [(char, char)] = &[ ('Ꭓ', 'ꭓ'), ('Ꞵ', 'ꞵ'), ('Ꞷ', 'ꞷ'), ('Ꞹ', 'ꞹ'), ('Ꞻ', 'ꞻ'), ('Ꞽ', 'ꞽ'), ('Ꞿ', 'ꞿ'), ('Ꟁ', 'ꟁ'), ('Ꟃ', 'ꟃ'), ('Ꞔ', 'ꞔ'), ('Ʂ', 'ʂ'), ('Ᶎ', 'ᶎ'), - ('Ꟈ', 'ꟈ'), ('Ꟊ', 'ꟊ'), ('Ꟑ', 'ꟑ'), ('Ꟗ', 'ꟗ'), - ('Ꟙ', 'ꟙ'), ('Ꟶ', 'ꟶ'), ('ꭰ', 'Ꭰ'), ('ꭱ', 'Ꭱ'), + ('Ꟈ', 'ꟈ'), ('Ꟊ', 'ꟊ'), ('Ɤ', 'ɤ'), ('Ꟍ', 'ꟍ'), + ('Ꟑ', 'ꟑ'), ('Ꟗ', 'ꟗ'), ('Ꟙ', 'ꟙ'), ('Ꟛ', 'ꟛ'), + ('Ƛ', 'ƛ'), ('Ꟶ', 'ꟶ'), ('ꭰ', 'Ꭰ'), ('ꭱ', 'Ꭱ'), ('ꭲ', 'Ꭲ'), ('ꭳ', 'Ꭳ'), ('ꭴ', 'Ꭴ'), ('ꭵ', 'Ꭵ'), ('ꭶ', 'Ꭶ'), ('ꭷ', 'Ꭷ'), ('ꭸ', 'Ꭸ'), ('ꭹ', 'Ꭹ'), ('ꭺ', 'Ꭺ'), ('ꭻ', 'Ꭻ'), ('ꭼ', 'Ꭼ'), ('ꭽ', 'Ꭽ'), @@ -272,76 +274,82 @@ pub const CASE_FOLDING_SIMPLE: &'static [(char, char)] = &[ ('ꮲ', 'Ꮲ'), ('ꮳ', 'Ꮳ'), ('ꮴ', 'Ꮴ'), ('ꮵ', 'Ꮵ'), ('ꮶ', 'Ꮶ'), ('ꮷ', 'Ꮷ'), ('ꮸ', 'Ꮸ'), ('ꮹ', 'Ꮹ'), ('ꮺ', 'Ꮺ'), ('ꮻ', 'Ꮻ'), ('ꮼ', 'Ꮼ'), ('ꮽ', 'Ꮽ'), - ('ꮾ', 'Ꮾ'), ('ꮿ', 'Ꮿ'), ('A', 'a'), ('B', 'b'), - ('C', 'c'), ('D', 'd'), ('E', 'e'), ('F', 'f'), - ('G', 'g'), ('H', 'h'), ('I', 'i'), ('J', 'j'), - ('K', 'k'), ('L', 'l'), ('M', 'm'), ('N', 'n'), - ('O', 'o'), ('P', 'p'), ('Q', 'q'), ('R', 'r'), - ('S', 's'), ('T', 't'), ('U', 'u'), ('V', 'v'), - ('W', 'w'), ('X', 'x'), ('Y', 'y'), ('Z', 'z'), - ('𐐀', '𐐨'), ('𐐁', '𐐩'), ('𐐂', '𐐪'), ('𐐃', '𐐫'), - ('𐐄', '𐐬'), ('𐐅', '𐐭'), ('𐐆', '𐐮'), ('𐐇', '𐐯'), - ('𐐈', '𐐰'), ('𐐉', '𐐱'), ('𐐊', '𐐲'), ('𐐋', '𐐳'), - ('𐐌', '𐐴'), ('𐐍', '𐐵'), ('𐐎', '𐐶'), ('𐐏', '𐐷'), - ('𐐐', '𐐸'), ('𐐑', '𐐹'), ('𐐒', '𐐺'), ('𐐓', '𐐻'), - ('𐐔', '𐐼'), ('𐐕', '𐐽'), ('𐐖', '𐐾'), ('𐐗', '𐐿'), - ('𐐘', '𐑀'), ('𐐙', '𐑁'), ('𐐚', '𐑂'), ('𐐛', '𐑃'), - ('𐐜', '𐑄'), ('𐐝', '𐑅'), ('𐐞', '𐑆'), ('𐐟', '𐑇'), - ('𐐠', '𐑈'), ('𐐡', '𐑉'), ('𐐢', '𐑊'), ('𐐣', '𐑋'), - ('𐐤', '𐑌'), ('𐐥', '𐑍'), ('𐐦', '𐑎'), ('𐐧', '𐑏'), - ('𐒰', '𐓘'), ('𐒱', '𐓙'), ('𐒲', '𐓚'), ('𐒳', '𐓛'), - ('𐒴', '𐓜'), ('𐒵', '𐓝'), ('𐒶', '𐓞'), ('𐒷', '𐓟'), - ('𐒸', '𐓠'), ('𐒹', '𐓡'), ('𐒺', '𐓢'), ('𐒻', '𐓣'), - ('𐒼', '𐓤'), ('𐒽', '𐓥'), ('𐒾', '𐓦'), ('𐒿', '𐓧'), - ('𐓀', '𐓨'), ('𐓁', '𐓩'), ('𐓂', '𐓪'), ('𐓃', '𐓫'), - ('𐓄', '𐓬'), ('𐓅', '𐓭'), ('𐓆', '𐓮'), ('𐓇', '𐓯'), - ('𐓈', '𐓰'), ('𐓉', '𐓱'), ('𐓊', '𐓲'), ('𐓋', '𐓳'), - ('𐓌', '𐓴'), ('𐓍', '𐓵'), ('𐓎', '𐓶'), ('𐓏', '𐓷'), - ('𐓐', '𐓸'), ('𐓑', '𐓹'), ('𐓒', '𐓺'), ('𐓓', '𐓻'), - ('𐕰', '𐖗'), ('𐕱', '𐖘'), ('𐕲', '𐖙'), ('𐕳', '𐖚'), - ('𐕴', '𐖛'), ('𐕵', '𐖜'), ('𐕶', '𐖝'), ('𐕷', '𐖞'), - ('𐕸', '𐖟'), ('𐕹', '𐖠'), ('𐕺', '𐖡'), ('𐕼', '𐖣'), - ('𐕽', '𐖤'), ('𐕾', '𐖥'), ('𐕿', '𐖦'), ('𐖀', '𐖧'), - ('𐖁', '𐖨'), ('𐖂', '𐖩'), ('𐖃', '𐖪'), ('𐖄', '𐖫'), - ('𐖅', '𐖬'), ('𐖆', '𐖭'), ('𐖇', '𐖮'), ('𐖈', '𐖯'), - ('𐖉', '𐖰'), ('𐖊', '𐖱'), ('𐖌', '𐖳'), ('𐖍', '𐖴'), - ('𐖎', '𐖵'), ('𐖏', '𐖶'), ('𐖐', '𐖷'), ('𐖑', '𐖸'), - ('𐖒', '𐖹'), ('𐖔', '𐖻'), ('𐖕', '𐖼'), ('𐲀', '𐳀'), - ('𐲁', '𐳁'), ('𐲂', '𐳂'), ('𐲃', '𐳃'), ('𐲄', '𐳄'), - ('𐲅', '𐳅'), ('𐲆', '𐳆'), ('𐲇', '𐳇'), ('𐲈', '𐳈'), - ('𐲉', '𐳉'), ('𐲊', '𐳊'), ('𐲋', '𐳋'), ('𐲌', '𐳌'), - ('𐲍', '𐳍'), ('𐲎', '𐳎'), ('𐲏', '𐳏'), ('𐲐', '𐳐'), - ('𐲑', '𐳑'), ('𐲒', '𐳒'), ('𐲓', '𐳓'), ('𐲔', '𐳔'), - ('𐲕', '𐳕'), ('𐲖', '𐳖'), ('𐲗', '𐳗'), ('𐲘', '𐳘'), - ('𐲙', '𐳙'), ('𐲚', '𐳚'), ('𐲛', '𐳛'), ('𐲜', '𐳜'), - ('𐲝', '𐳝'), ('𐲞', '𐳞'), ('𐲟', '𐳟'), ('𐲠', '𐳠'), - ('𐲡', '𐳡'), ('𐲢', '𐳢'), ('𐲣', '𐳣'), ('𐲤', '𐳤'), - ('𐲥', '𐳥'), ('𐲦', '𐳦'), ('𐲧', '𐳧'), ('𐲨', '𐳨'), - ('𐲩', '𐳩'), ('𐲪', '𐳪'), ('𐲫', '𐳫'), ('𐲬', '𐳬'), - ('𐲭', '𐳭'), ('𐲮', '𐳮'), ('𐲯', '𐳯'), ('𐲰', '𐳰'), - ('𐲱', '𐳱'), ('𐲲', '𐳲'), ('𑢠', '𑣀'), ('𑢡', '𑣁'), - ('𑢢', '𑣂'), ('𑢣', '𑣃'), ('𑢤', '𑣄'), ('𑢥', '𑣅'), - ('𑢦', '𑣆'), ('𑢧', '𑣇'), ('𑢨', '𑣈'), ('𑢩', '𑣉'), - ('𑢪', '𑣊'), ('𑢫', '𑣋'), ('𑢬', '𑣌'), ('𑢭', '𑣍'), - ('𑢮', '𑣎'), ('𑢯', '𑣏'), ('𑢰', '𑣐'), ('𑢱', '𑣑'), - ('𑢲', '𑣒'), ('𑢳', '𑣓'), ('𑢴', '𑣔'), ('𑢵', '𑣕'), - ('𑢶', '𑣖'), ('𑢷', '𑣗'), ('𑢸', '𑣘'), ('𑢹', '𑣙'), - ('𑢺', '𑣚'), ('𑢻', '𑣛'), ('𑢼', '𑣜'), ('𑢽', '𑣝'), - ('𑢾', '𑣞'), ('𑢿', '𑣟'), ('𖹀', '𖹠'), ('𖹁', '𖹡'), - ('𖹂', '𖹢'), ('𖹃', '𖹣'), ('𖹄', '𖹤'), ('𖹅', '𖹥'), - ('𖹆', '𖹦'), ('𖹇', '𖹧'), ('𖹈', '𖹨'), ('𖹉', '𖹩'), - ('𖹊', '𖹪'), ('𖹋', '𖹫'), ('𖹌', '𖹬'), ('𖹍', '𖹭'), - ('𖹎', '𖹮'), ('𖹏', '𖹯'), ('𖹐', '𖹰'), ('𖹑', '𖹱'), - ('𖹒', '𖹲'), ('𖹓', '𖹳'), ('𖹔', '𖹴'), ('𖹕', '𖹵'), - ('𖹖', '𖹶'), ('𖹗', '𖹷'), ('𖹘', '𖹸'), ('𖹙', '𖹹'), - ('𖹚', '𖹺'), ('𖹛', '𖹻'), ('𖹜', '𖹼'), ('𖹝', '𖹽'), - ('𖹞', '𖹾'), ('𖹟', '𖹿'), ('𞤀', '𞤢'), ('𞤁', '𞤣'), - ('𞤂', '𞤤'), ('𞤃', '𞤥'), ('𞤄', '𞤦'), ('𞤅', '𞤧'), - ('𞤆', '𞤨'), ('𞤇', '𞤩'), ('𞤈', '𞤪'), ('𞤉', '𞤫'), - ('𞤊', '𞤬'), ('𞤋', '𞤭'), ('𞤌', '𞤮'), ('𞤍', '𞤯'), - ('𞤎', '𞤰'), ('𞤏', '𞤱'), ('𞤐', '𞤲'), ('𞤑', '𞤳'), - ('𞤒', '𞤴'), ('𞤓', '𞤵'), ('𞤔', '𞤶'), ('𞤕', '𞤷'), - ('𞤖', '𞤸'), ('𞤗', '𞤹'), ('𞤘', '𞤺'), ('𞤙', '𞤻'), - ('𞤚', '𞤼'), ('𞤛', '𞤽'), ('𞤜', '𞤾'), ('𞤝', '𞤿'), - ('𞤞', '𞥀'), ('𞤟', '𞥁'), ('𞤠', '𞥂'), ('𞤡', '𞥃'), + ('ꮾ', 'Ꮾ'), ('ꮿ', 'Ꮿ'), ('ſt', 'st'), ('A', 'a'), + ('B', 'b'), ('C', 'c'), ('D', 'd'), ('E', 'e'), + ('F', 'f'), ('G', 'g'), ('H', 'h'), ('I', 'i'), + ('J', 'j'), ('K', 'k'), ('L', 'l'), ('M', 'm'), + ('N', 'n'), ('O', 'o'), ('P', 'p'), ('Q', 'q'), + ('R', 'r'), ('S', 's'), ('T', 't'), ('U', 'u'), + ('V', 'v'), ('W', 'w'), ('X', 'x'), ('Y', 'y'), + ('Z', 'z'), ('𐐀', '𐐨'), ('𐐁', '𐐩'), ('𐐂', '𐐪'), + ('𐐃', '𐐫'), ('𐐄', '𐐬'), ('𐐅', '𐐭'), ('𐐆', '𐐮'), + ('𐐇', '𐐯'), ('𐐈', '𐐰'), ('𐐉', '𐐱'), ('𐐊', '𐐲'), + ('𐐋', '𐐳'), ('𐐌', '𐐴'), ('𐐍', '𐐵'), ('𐐎', '𐐶'), + ('𐐏', '𐐷'), ('𐐐', '𐐸'), ('𐐑', '𐐹'), ('𐐒', '𐐺'), + ('𐐓', '𐐻'), ('𐐔', '𐐼'), ('𐐕', '𐐽'), ('𐐖', '𐐾'), + ('𐐗', '𐐿'), ('𐐘', '𐑀'), ('𐐙', '𐑁'), ('𐐚', '𐑂'), + ('𐐛', '𐑃'), ('𐐜', '𐑄'), ('𐐝', '𐑅'), ('𐐞', '𐑆'), + ('𐐟', '𐑇'), ('𐐠', '𐑈'), ('𐐡', '𐑉'), ('𐐢', '𐑊'), + ('𐐣', '𐑋'), ('𐐤', '𐑌'), ('𐐥', '𐑍'), ('𐐦', '𐑎'), + ('𐐧', '𐑏'), ('𐒰', '𐓘'), ('𐒱', '𐓙'), ('𐒲', '𐓚'), + ('𐒳', '𐓛'), ('𐒴', '𐓜'), ('𐒵', '𐓝'), ('𐒶', '𐓞'), + ('𐒷', '𐓟'), ('𐒸', '𐓠'), ('𐒹', '𐓡'), ('𐒺', '𐓢'), + ('𐒻', '𐓣'), ('𐒼', '𐓤'), ('𐒽', '𐓥'), ('𐒾', '𐓦'), + ('𐒿', '𐓧'), ('𐓀', '𐓨'), ('𐓁', '𐓩'), ('𐓂', '𐓪'), + ('𐓃', '𐓫'), ('𐓄', '𐓬'), ('𐓅', '𐓭'), ('𐓆', '𐓮'), + ('𐓇', '𐓯'), ('𐓈', '𐓰'), ('𐓉', '𐓱'), ('𐓊', '𐓲'), + ('𐓋', '𐓳'), ('𐓌', '𐓴'), ('𐓍', '𐓵'), ('𐓎', '𐓶'), + ('𐓏', '𐓷'), ('𐓐', '𐓸'), ('𐓑', '𐓹'), ('𐓒', '𐓺'), + ('𐓓', '𐓻'), ('𐕰', '𐖗'), ('𐕱', '𐖘'), ('𐕲', '𐖙'), + ('𐕳', '𐖚'), ('𐕴', '𐖛'), ('𐕵', '𐖜'), ('𐕶', '𐖝'), + ('𐕷', '𐖞'), ('𐕸', '𐖟'), ('𐕹', '𐖠'), ('𐕺', '𐖡'), + ('𐕼', '𐖣'), ('𐕽', '𐖤'), ('𐕾', '𐖥'), ('𐕿', '𐖦'), + ('𐖀', '𐖧'), ('𐖁', '𐖨'), ('𐖂', '𐖩'), ('𐖃', '𐖪'), + ('𐖄', '𐖫'), ('𐖅', '𐖬'), ('𐖆', '𐖭'), ('𐖇', '𐖮'), + ('𐖈', '𐖯'), ('𐖉', '𐖰'), ('𐖊', '𐖱'), ('𐖌', '𐖳'), + ('𐖍', '𐖴'), ('𐖎', '𐖵'), ('𐖏', '𐖶'), ('𐖐', '𐖷'), + ('𐖑', '𐖸'), ('𐖒', '𐖹'), ('𐖔', '𐖻'), ('𐖕', '𐖼'), + ('𐲀', '𐳀'), ('𐲁', '𐳁'), ('𐲂', '𐳂'), ('𐲃', '𐳃'), + ('𐲄', '𐳄'), ('𐲅', '𐳅'), ('𐲆', '𐳆'), ('𐲇', '𐳇'), + ('𐲈', '𐳈'), ('𐲉', '𐳉'), ('𐲊', '𐳊'), ('𐲋', '𐳋'), + ('𐲌', '𐳌'), ('𐲍', '𐳍'), ('𐲎', '𐳎'), ('𐲏', '𐳏'), + ('𐲐', '𐳐'), ('𐲑', '𐳑'), ('𐲒', '𐳒'), ('𐲓', '𐳓'), + ('𐲔', '𐳔'), ('𐲕', '𐳕'), ('𐲖', '𐳖'), ('𐲗', '𐳗'), + ('𐲘', '𐳘'), ('𐲙', '𐳙'), ('𐲚', '𐳚'), ('𐲛', '𐳛'), + ('𐲜', '𐳜'), ('𐲝', '𐳝'), ('𐲞', '𐳞'), ('𐲟', '𐳟'), + ('𐲠', '𐳠'), ('𐲡', '𐳡'), ('𐲢', '𐳢'), ('𐲣', '𐳣'), + ('𐲤', '𐳤'), ('𐲥', '𐳥'), ('𐲦', '𐳦'), ('𐲧', '𐳧'), + ('𐲨', '𐳨'), ('𐲩', '𐳩'), ('𐲪', '𐳪'), ('𐲫', '𐳫'), + ('𐲬', '𐳬'), ('𐲭', '𐳭'), ('𐲮', '𐳮'), ('𐲯', '𐳯'), + ('𐲰', '𐳰'), ('𐲱', '𐳱'), ('𐲲', '𐳲'), ('𐵐', '𐵰'), + ('𐵑', '𐵱'), ('𐵒', '𐵲'), ('𐵓', '𐵳'), ('𐵔', '𐵴'), + ('𐵕', '𐵵'), ('𐵖', '𐵶'), ('𐵗', '𐵷'), ('𐵘', '𐵸'), + ('𐵙', '𐵹'), ('𐵚', '𐵺'), ('𐵛', '𐵻'), ('𐵜', '𐵼'), + ('𐵝', '𐵽'), ('𐵞', '𐵾'), ('𐵟', '𐵿'), ('𐵠', '𐶀'), + ('𐵡', '𐶁'), ('𐵢', '𐶂'), ('𐵣', '𐶃'), ('𐵤', '𐶄'), + ('𐵥', '𐶅'), ('𑢠', '𑣀'), ('𑢡', '𑣁'), ('𑢢', '𑣂'), + ('𑢣', '𑣃'), ('𑢤', '𑣄'), ('𑢥', '𑣅'), ('𑢦', '𑣆'), + ('𑢧', '𑣇'), ('𑢨', '𑣈'), ('𑢩', '𑣉'), ('𑢪', '𑣊'), + ('𑢫', '𑣋'), ('𑢬', '𑣌'), ('𑢭', '𑣍'), ('𑢮', '𑣎'), + ('𑢯', '𑣏'), ('𑢰', '𑣐'), ('𑢱', '𑣑'), ('𑢲', '𑣒'), + ('𑢳', '𑣓'), ('𑢴', '𑣔'), ('𑢵', '𑣕'), ('𑢶', '𑣖'), + ('𑢷', '𑣗'), ('𑢸', '𑣘'), ('𑢹', '𑣙'), ('𑢺', '𑣚'), + ('𑢻', '𑣛'), ('𑢼', '𑣜'), ('𑢽', '𑣝'), ('𑢾', '𑣞'), + ('𑢿', '𑣟'), ('𖹀', '𖹠'), ('𖹁', '𖹡'), ('𖹂', '𖹢'), + ('𖹃', '𖹣'), ('𖹄', '𖹤'), ('𖹅', '𖹥'), ('𖹆', '𖹦'), + ('𖹇', '𖹧'), ('𖹈', '𖹨'), ('𖹉', '𖹩'), ('𖹊', '𖹪'), + ('𖹋', '𖹫'), ('𖹌', '𖹬'), ('𖹍', '𖹭'), ('𖹎', '𖹮'), + ('𖹏', '𖹯'), ('𖹐', '𖹰'), ('𖹑', '𖹱'), ('𖹒', '𖹲'), + ('𖹓', '𖹳'), ('𖹔', '𖹴'), ('𖹕', '𖹵'), ('𖹖', '𖹶'), + ('𖹗', '𖹷'), ('𖹘', '𖹸'), ('𖹙', '𖹹'), ('𖹚', '𖹺'), + ('𖹛', '𖹻'), ('𖹜', '𖹼'), ('𖹝', '𖹽'), ('𖹞', '𖹾'), + ('𖹟', '𖹿'), ('𞤀', '𞤢'), ('𞤁', '𞤣'), ('𞤂', '𞤤'), + ('𞤃', '𞤥'), ('𞤄', '𞤦'), ('𞤅', '𞤧'), ('𞤆', '𞤨'), + ('𞤇', '𞤩'), ('𞤈', '𞤪'), ('𞤉', '𞤫'), ('𞤊', '𞤬'), + ('𞤋', '𞤭'), ('𞤌', '𞤮'), ('𞤍', '𞤯'), ('𞤎', '𞤰'), + ('𞤏', '𞤱'), ('𞤐', '𞤲'), ('𞤑', '𞤳'), ('𞤒', '𞤴'), + ('𞤓', '𞤵'), ('𞤔', '𞤶'), ('𞤕', '𞤷'), ('𞤖', '𞤸'), + ('𞤗', '𞤹'), ('𞤘', '𞤺'), ('𞤙', '𞤻'), ('𞤚', '𞤼'), + ('𞤛', '𞤽'), ('𞤜', '𞤾'), ('𞤝', '𞤿'), ('𞤞', '𞥀'), + ('𞤟', '𞥁'), ('𞤠', '𞥂'), ('𞤡', '𞥃'), ]; diff --git a/matcher/src/score.rs b/matcher/src/score.rs index c934a8e..f0ad898 100644 --- a/matcher/src/score.rs +++ b/matcher/src/score.rs @@ -67,7 +67,7 @@ impl Config { } else if class == CharClass::Whitespace { self.bonus_boundary_white } else if class == CharClass::NonWord { - return BONUS_NON_WORD; + BONUS_NON_WORD } else { 0 } diff --git a/src/boxcar.rs b/src/boxcar.rs index 9b48809..8a18e6d 100644 --- a/src/boxcar.rs +++ b/src/boxcar.rs @@ -780,6 +780,8 @@ mod tests { fn extend_over_max_capacity() { let vec = Vec::::with_capacity(1, 1); let count = MAX_ENTRIES as usize + 2; + // Switch to repeat_n() in MSRV 1.82 + #[allow(clippy::manual_repeat_n)] let iter = std::iter::repeat(0).take(count); assert!(std::panic::catch_unwind(|| vec.extend(iter, |_, _| {})).is_err()); } diff --git a/src/lib.rs b/src/lib.rs index 95f6f1c..f8cee68 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,10 +84,10 @@ impl Injector { /// /// You should favor this function over `push` if at least one of the following is true: /// - the number of items you're adding can be computed beforehand and is typically larger - /// than 1k + /// than 1k /// - you're able to batch incoming items /// - you're adding items from multiple threads concurrently (this function results in less - /// contention) + /// contention) pub fn extend(&self, values: I, fill_columns: impl Fn(&T, &mut [Utf32String])) where I: IntoIterator + ExactSizeIterator, diff --git a/src/pattern.rs b/src/pattern.rs index 816b0a3..6c93cb0 100644 --- a/src/pattern.rs +++ b/src/pattern.rs @@ -50,6 +50,8 @@ impl MultiPattern { append: bool, ) { let old_status = self.cols[column].1; + // Switch to is_none_or() in MSRV 1.82 + #[allow(clippy::unnecessary_map_or)] if append && old_status != Status::Rescore && self.cols[column]