From 5d95284f1e3b327a173f2030f4a6f63117716424 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Sun, 10 May 2026 14:54:39 +0200 Subject: [PATCH 1/2] ci: add .pre-commit-config.yaml --- .pre-commit-config.yaml | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..25bf13d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,48 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +exclude: ^tests/fixtures/ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-added-large-files + - id: check-executables-have-shebangs + - id: check-json + exclude: '\.vscode/(cSpell|extensions)\.json' # cSpell.json and extensions.json use comments + - id: check-shebang-scripts-are-executable + exclude: '.+\.rs' # would be triggered by #![some_attribute] + - id: check-symlinks + - id: check-toml + - id: check-yaml + args: [ --allow-multiple-documents ] + - id: destroyed-symlinks + - id: end-of-file-fixer + - id: mixed-line-ending + args: [ --fix=lf ] + - id: trailing-whitespace + + - repo: local + hooks: + - id: rust-linting + name: Rust linting + description: Run cargo fmt on files included in the commit. + entry: cargo +stable fmt -- + pass_filenames: true + types: [file, rust] + language: system + - id: rust-clippy + name: Rust clippy + description: Run cargo clippy on files included in the commit. + entry: cargo +stable clippy --workspace --all-targets --all-features -- -D warnings + pass_filenames: false + types: [file, rust] + language: system + - id: cspell + name: Code spell checker (cspell) + description: Run cspell to check for spelling errors (if available). + entry: bash -c 'if command -v cspell >/dev/null 2>&1; then cspell --no-must-find-files -- "$@"; else echo "cspell not found, skipping spell check"; exit 0; fi' -- + pass_filenames: true + language: system + +ci: + skip: [rust-linting, rust-clippy, cspell] From 86aa1d71e05358bbadd4f681abe73c5b98e79b9d Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Sun, 10 May 2026 15:01:52 +0200 Subject: [PATCH 2/2] Fix end of some files --- .github/workflows/ci.yml | 1 - fuzz/Cargo.toml | 2 +- fuzz/fuzz_targets/fuzz_side.rs | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 196b4dc..6dbaeec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -168,4 +168,3 @@ jobs: flags: ${{ steps.vars.outputs.CODECOV_FLAGS }} name: codecov-umbrella fail_ci_if_error: false - diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 39efd70..45c4016 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -51,4 +51,4 @@ doc = false name = "fuzz_side" path = "fuzz_targets/fuzz_side.rs" test = false -doc = false \ No newline at end of file +doc = false diff --git a/fuzz/fuzz_targets/fuzz_side.rs b/fuzz/fuzz_targets/fuzz_side.rs index 8084494..45580ef 100644 --- a/fuzz/fuzz_targets/fuzz_side.rs +++ b/fuzz/fuzz_targets/fuzz_side.rs @@ -4,9 +4,9 @@ extern crate libfuzzer_sys; use diffutilslib::side_diff; +use diffutilslib::params::Params; use std::fs::{self, File}; use std::io::Write; -use diffutilslib::params::Params; fuzz_target!(|x: (Vec, Vec, /* usize, usize */ bool)| { let (original, new, /* width, tabsize, */ expand) = x; @@ -40,4 +40,4 @@ fuzz_target!(|x: (Vec, Vec, /* usize, usize */ bool)| { .unwrap() .write_all(&output_buf) .unwrap(); -}); \ No newline at end of file +});