mirror of
https://github.com/crate-ci/typos.git
synced 2024-11-21 16:41:01 -05:00
commit
39649a8ebe
21 changed files with 129 additions and 96 deletions
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
|
@ -69,7 +69,7 @@ jobs:
|
|||
- name: No-default features
|
||||
run: cargo test --workspace --no-default-features
|
||||
msrv:
|
||||
name: "Check MSRV: 1.53.0"
|
||||
name: "Check MSRV: 1.54.0"
|
||||
needs: smoke
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
@ -78,7 +78,7 @@ jobs:
|
|||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: 1.53.0 # MSRV
|
||||
toolchain: 1.54.0 # MSRV
|
||||
profile: minimal
|
||||
override: true
|
||||
- uses: Swatinem/rust-cache@v1
|
||||
|
@ -133,7 +133,7 @@ jobs:
|
|||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: 1.53.0 # MSRV
|
||||
toolchain: 1.54.0 # MSRV
|
||||
profile: minimal
|
||||
override: true
|
||||
components: clippy
|
||||
|
|
2
.github/workflows/codegen.yml
vendored
2
.github/workflows/codegen.yml
vendored
|
@ -26,7 +26,7 @@ jobs:
|
|||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: 1.53.0 # MSRV
|
||||
toolchain: 1.54.0 # MSRV
|
||||
profile: minimal
|
||||
override: true
|
||||
components: rustfmt
|
||||
|
|
4
.github/workflows/rust-next.yml
vendored
4
.github/workflows/rust-next.yml
vendored
|
@ -57,9 +57,9 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
rust:
|
||||
- 1.53.0 # MSRV
|
||||
- 1.54.0 # MSRV
|
||||
- stable
|
||||
continue-on-error: ${{ matrix.rust != '1.53.0' }} # MSRV
|
||||
continue-on-error: ${{ matrix.rust != '1.54.0' }} # MSRV
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
|
|
118
Cargo.lock
generated
118
Cargo.lock
generated
|
@ -58,20 +58,6 @@ version = "0.5.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
||||
|
||||
[[package]]
|
||||
name = "assert_cmd"
|
||||
version = "2.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e996dc7940838b7ef1096b882e29ec30a3149a3a443cdc8dba19ed382eca1fe2"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"doc-comment",
|
||||
"predicates",
|
||||
"predicates-core",
|
||||
"predicates-tree",
|
||||
"wait-timeout",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "assert_fs"
|
||||
version = "1.0.6"
|
||||
|
@ -154,6 +140,12 @@ version = "3.7.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
|
||||
|
||||
[[package]]
|
||||
name = "cast"
|
||||
version = "0.2.7"
|
||||
|
@ -231,6 +223,16 @@ dependencies = [
|
|||
"unicase",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "combine"
|
||||
version = "4.6.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2b2f5d0ee456f3928812dfc8c6d9a1d592b98678f6d56db9b0cd2b7bc6c8db5"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "concolor-clap"
|
||||
version = "0.0.6"
|
||||
|
@ -572,15 +574,6 @@ dependencies = [
|
|||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "float-cmp"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fnv"
|
||||
version = "1.0.7"
|
||||
|
@ -610,6 +603,12 @@ version = "0.25.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7"
|
||||
|
||||
[[package]]
|
||||
name = "glob"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
||||
|
||||
[[package]]
|
||||
name = "globset"
|
||||
version = "0.4.8"
|
||||
|
@ -640,6 +639,12 @@ version = "1.7.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.3.3"
|
||||
|
@ -679,6 +684,16 @@ version = "2.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
||||
|
||||
[[package]]
|
||||
name = "humantime-serde"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac34a56cfd4acddb469cc7fff187ed5ac36f498ba085caf8bbc725e3ff474058"
|
||||
dependencies = [
|
||||
"humantime",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ident_case"
|
||||
version = "1.0.1"
|
||||
|
@ -703,6 +718,16 @@ dependencies = [
|
|||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.1"
|
||||
|
@ -996,11 +1021,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "5c6ce811d0b2e103743eec01db1c50612221f173084ce2f7941053e94b6bb474"
|
||||
dependencies = [
|
||||
"difflib",
|
||||
"float-cmp",
|
||||
"itertools",
|
||||
"normalize-line-endings",
|
||||
"predicates-core",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1289,6 +1311,12 @@ dependencies = [
|
|||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
|
||||
|
||||
[[package]]
|
||||
name = "simdutf8"
|
||||
version = "0.1.3"
|
||||
|
@ -1440,12 +1468,47 @@ dependencies = [
|
|||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c29c21e11af3c58476a1063cb550e255c45c60928bf7f272462a533e7a2b406"
|
||||
dependencies = [
|
||||
"combine",
|
||||
"indexmap",
|
||||
"itertools",
|
||||
"kstring",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "treeline"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
|
||||
|
||||
[[package]]
|
||||
name = "trycmd"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3756168da9e15c2ba53478a9e14661162bd724cc45dc650d1009d80ad46f0cad"
|
||||
dependencies = [
|
||||
"concolor-control",
|
||||
"difflib",
|
||||
"glob",
|
||||
"humantime",
|
||||
"humantime-serde",
|
||||
"normalize-line-endings",
|
||||
"rayon",
|
||||
"serde",
|
||||
"shlex",
|
||||
"tempfile",
|
||||
"toml_edit",
|
||||
"wait-timeout",
|
||||
"walkdir",
|
||||
"yansi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typed-arena"
|
||||
version = "2.0.1"
|
||||
|
@ -1475,7 +1538,6 @@ version = "1.2.1"
|
|||
dependencies = [
|
||||
"ahash",
|
||||
"anyhow",
|
||||
"assert_cmd",
|
||||
"assert_fs",
|
||||
"atty",
|
||||
"bstr",
|
||||
|
@ -1497,12 +1559,12 @@ dependencies = [
|
|||
"log",
|
||||
"maplit",
|
||||
"once_cell",
|
||||
"predicates",
|
||||
"proc-exit",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"structopt",
|
||||
"toml",
|
||||
"trycmd",
|
||||
"typed-arena",
|
||||
"typos",
|
||||
"typos-dict",
|
||||
|
|
|
@ -94,8 +94,7 @@ maplit = "1.0"
|
|||
|
||||
[dev-dependencies]
|
||||
assert_fs = "1.0"
|
||||
assert_cmd = "2.0"
|
||||
predicates = "2.0"
|
||||
trycmd = "0.2.2"
|
||||
criterion = "0.3"
|
||||
|
||||
[profile.dev]
|
||||
|
|
|
@ -90,7 +90,7 @@ fn generate_variations<W: std::io::Write>(file: &mut W) {
|
|||
None
|
||||
} else {
|
||||
referenced_symbols.extend(data.iter().map(|(s, _)| s));
|
||||
let value = generate_link(&data);
|
||||
let value = generate_link(data);
|
||||
Some((*word, value))
|
||||
}
|
||||
}),
|
||||
|
@ -165,7 +165,7 @@ fn entries() -> BTreeMap<String, varcon_core::Entry> {
|
|||
.filter(|e| {
|
||||
e.variants
|
||||
.iter()
|
||||
.all(|v| typos::tokens::Word::new(&v.word, 0).is_ok())
|
||||
.all(|v| typos::tokens::Word::new(v.word, 0).is_ok())
|
||||
})
|
||||
.map(|e| {
|
||||
let mut e = e.into_owned();
|
||||
|
|
|
@ -720,6 +720,7 @@ impl<'s> Iterator for SplitIdent<'s> {
|
|||
type Item = Word<'s>;
|
||||
|
||||
fn next(&mut self) -> Option<Word<'s>> {
|
||||
#[allow(clippy::while_let_on_iterator)]
|
||||
while let Some((i, c)) = self.char_indices.next() {
|
||||
let cur_mode = WordMode::classify(c);
|
||||
if cur_mode == WordMode::Boundary {
|
||||
|
|
|
@ -39,8 +39,7 @@ A Cv: acknowledgment's / Av B C: acknowledgement's
|
|||
|
||||
",
|
||||
);
|
||||
let all: Vec<_> = iter.collect();
|
||||
assert_eq!(all.len(), 1);
|
||||
assert_eq!(iter.count(), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -58,8 +57,7 @@ A Cv: acknowledgment's / Av B C: acknowledgement's
|
|||
|
||||
",
|
||||
);
|
||||
let all: Vec<_> = iter.collect();
|
||||
assert_eq!(all.len(), 2);
|
||||
assert_eq!(iter.count(), 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -620,15 +620,14 @@ mod test {
|
|||
|
||||
fn fix_simple(line: &str, corrections: Vec<(usize, &'static str, &'static str)>) -> String {
|
||||
let line = line.as_bytes().to_vec();
|
||||
let corrections: Vec<_> = corrections
|
||||
let corrections = corrections
|
||||
.into_iter()
|
||||
.map(|(byte_offset, typo, correction)| typos::Typo {
|
||||
byte_offset,
|
||||
typo: typo.into(),
|
||||
corrections: typos::Status::Corrections(vec![correction.into()]),
|
||||
})
|
||||
.collect();
|
||||
let actual = fix_buffer(line, corrections.into_iter());
|
||||
});
|
||||
let actual = fix_buffer(line, corrections);
|
||||
String::from_utf8(actual).unwrap()
|
||||
}
|
||||
|
||||
|
|
50
tests/cli.rs
50
tests/cli.rs
|
@ -1,50 +0,0 @@
|
|||
use assert_cmd::Command;
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_stdin_success() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.arg("-").write_stdin("Hello world");
|
||||
cmd.assert().success();
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_stdin_failure() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.arg("-").write_stdin("Apropriate world");
|
||||
cmd.assert().code(2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_stdin_correct() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.arg("-")
|
||||
.arg("--write-changes")
|
||||
.write_stdin("Apropriate world");
|
||||
cmd.assert().success().stdout("Appropriate world");
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_file_failure() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.arg("README.md");
|
||||
cmd.assert().code(2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_relative_dir_failure() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.arg(".");
|
||||
cmd.assert().code(2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn test_assumed_dir_failure() {
|
||||
let mut cmd = Command::cargo_bin("typos").unwrap();
|
||||
cmd.assert().code(2);
|
||||
}
|
5
tests/cli_tests.rs
Normal file
5
tests/cli_tests.rs
Normal file
|
@ -0,0 +1,5 @@
|
|||
#[test]
|
||||
#[cfg(feature = "dict")]
|
||||
fn cli_tests() {
|
||||
trycmd::TestCases::new().case("tests/cmd/*.toml");
|
||||
}
|
2
tests/cmd/assumed-dir-failure.toml
Normal file
2
tests/cmd/assumed-dir-failure.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bin.name = "typos"
|
||||
status.code = 2
|
3
tests/cmd/file-failure.toml
Normal file
3
tests/cmd/file-failure.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bin.name = "typos"
|
||||
args = "README.md"
|
||||
status.code = 2
|
3
tests/cmd/relative-dir-failure.toml
Normal file
3
tests/cmd/relative-dir-failure.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bin.name = "typos"
|
||||
args = "."
|
||||
status.code = 2
|
1
tests/cmd/stdin-correct.stdin
Normal file
1
tests/cmd/stdin-correct.stdin
Normal file
|
@ -0,0 +1 @@
|
|||
Apropriate world
|
1
tests/cmd/stdin-correct.stdout
Normal file
1
tests/cmd/stdin-correct.stdout
Normal file
|
@ -0,0 +1 @@
|
|||
Appropriate world
|
2
tests/cmd/stdin-correct.toml
Normal file
2
tests/cmd/stdin-correct.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bin.name = "typos"
|
||||
args = "--write-changes -"
|
1
tests/cmd/stdin-failure.stdin
Normal file
1
tests/cmd/stdin-failure.stdin
Normal file
|
@ -0,0 +1 @@
|
|||
Apropriate world
|
3
tests/cmd/stdin-failure.toml
Normal file
3
tests/cmd/stdin-failure.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bin.name = "typos"
|
||||
args = "-"
|
||||
status.code = 2
|
1
tests/cmd/stdin-success.stdin
Normal file
1
tests/cmd/stdin-success.stdin
Normal file
|
@ -0,0 +1 @@
|
|||
Hello world
|
2
tests/cmd/stdin-success.toml
Normal file
2
tests/cmd/stdin-success.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bin.name = "typos"
|
||||
args = "-"
|
Loading…
Reference in a new issue