diff --git a/.rusty-hook.toml b/.rusty-hook.toml new file mode 100644 index 0000000..ba5c215 --- /dev/null +++ b/.rusty-hook.toml @@ -0,0 +1,6 @@ +[hooks] +pre-commit = "cargo test" +pre-push = "cargo test && cargo check && cargo clippy && cargo fmt -- --check" + +[logging] +verbose = true diff --git a/Cargo.lock b/Cargo.lock index 507e881..4ffeab8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -530,6 +530,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "ci_info" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f638c70e8c5753795cc9a8c07c44da91554a09e4cf11a7326e8161b0a3c45e" +dependencies = [ + "envmnt", +] + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -827,6 +836,16 @@ dependencies = [ "termcolor", ] +[[package]] +name = "envmnt" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d328fc287c61314c4a61af7cfdcbd7e678e39778488c7cb13ec133ce0f4059" +dependencies = [ + "fsio", + "indexmap", +] + [[package]] name = "errno" version = "0.2.8" @@ -903,6 +922,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fsio" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fd087255f739f4f1aeea69f11b72f8080e9c2e7645cd06955dad4a178a49e3" + [[package]] name = "futures" version = "0.3.26" @@ -1002,6 +1027,15 @@ dependencies = [ "version_check", ] +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.2.8" @@ -1099,6 +1133,7 @@ dependencies = [ "hex-literal", "lazy_static", "regex", + "rusty-hook", "serde", "serde_json", "sha2", @@ -1502,6 +1537,12 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nias" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab250442c86f1850815b5d268639dff018c0627022bc1940eb2d642ca1ce12f0" + [[package]] name = "num-bigint" version = "0.4.3" @@ -2028,6 +2069,18 @@ dependencies = [ "base64 0.21.0", ] +[[package]] +name = "rusty-hook" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96cee9be61be7e1cbadd851e58ed7449c29c620f00b23df937cb9cbc04ac21a3" +dependencies = [ + "ci_info", + "getopts", + "nias", + "toml", +] + [[package]] name = "ryu" version = "1.0.12" @@ -2504,6 +2557,15 @@ dependencies = [ "tracing", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "tower-service" version = "0.3.2" diff --git a/engine/Cargo.toml b/engine/Cargo.toml index 3d91aca..59b3981 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -20,3 +20,6 @@ hex-literal = "*" serde_json = "*" serde = { version = "*", features = ["derive"] } thiserror = "*" + +[dev-dependencies] +rusty-hook = "^0.11.2" diff --git a/engine/src/board.rs b/engine/src/board.rs index 8491bca..a7a4c6f 100644 --- a/engine/src/board.rs +++ b/engine/src/board.rs @@ -1,8 +1,3 @@ -use serde::{Deserialize, Serialize}; -use std::collections::{HashMap, HashSet}; -use std::fmt; -use std::fmt::Write; - use crate::bug::Bug; use crate::color::Color; use crate::direction::Direction; @@ -11,6 +6,10 @@ use crate::game_result::GameResult; use crate::game_type::GameType; use crate::piece::Piece; use crate::position::Position; +use serde::{Deserialize, Serialize}; +use std::collections::{HashMap, HashSet}; +use std::fmt; +use std::fmt::Write; #[derive(Deserialize, Serialize, Clone, Default, Debug, Eq, PartialEq)] pub struct Board { diff --git a/engine/src/history.rs b/engine/src/history.rs index 07e9fdd..3c464c8 100644 --- a/engine/src/history.rs +++ b/engine/src/history.rs @@ -1,9 +1,9 @@ use regex::Regex; use serde::{Deserialize, Serialize}; use std::{ + fmt, fs::{File, OpenOptions}, io::{self, prelude::*, BufRead}, - fmt, }; use crate::color::Color;