From 974ac426bf073d9e55974b93664b9dc8a98c98b3 Mon Sep 17 00:00:00 2001 From: FroVolod Date: Mon, 6 Jan 2025 22:24:58 +0200 Subject: [PATCH] ci: Added code style check (#29) Co-authored-by: FroVolod --- .github/workflows/code_style.yml | 28 +++++++++++++++++++ .../methods/skip_interactive_input.rs | 1 - .../src/derives/interactive_clap/mod.rs | 4 +-- .../src/tests/test_simple_struct.rs | 4 +-- 4 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/code_style.yml diff --git a/.github/workflows/code_style.yml b/.github/workflows/code_style.yml new file mode 100644 index 0000000..0bfa32c --- /dev/null +++ b/.github/workflows/code_style.yml @@ -0,0 +1,28 @@ +name: Code Style +on: + pull_request: + +jobs: + codestyle: + name: Code Style (fmt + clippy) + runs-on: ubuntu-20.04 + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + profile: minimal + components: rustfmt + - name: Check formatting + run: | + cargo fmt --all -- --check + - name: Install libudev-dev + run: | + sudo apt-get update + sudo apt-get install --assume-yes libudev-dev + - name: Check lints (cargo clippy) + run: cargo clippy -- -D warnings + diff --git a/interactive-clap-derive/src/derives/interactive_clap/methods/skip_interactive_input.rs b/interactive-clap-derive/src/derives/interactive_clap/methods/skip_interactive_input.rs index a7cc6b1..dc91e49 100644 --- a/interactive-clap-derive/src/derives/interactive_clap/methods/skip_interactive_input.rs +++ b/interactive-clap-derive/src/derives/interactive_clap/methods/skip_interactive_input.rs @@ -4,7 +4,6 @@ use syn; use crate::LONG_VEC_MUTLIPLE_OPT; - pub fn is_skip_interactive_input(field: &syn::Field) -> bool { field .attrs diff --git a/interactive-clap-derive/src/derives/interactive_clap/mod.rs b/interactive-clap-derive/src/derives/interactive_clap/mod.rs index db05a76..c95c70e 100644 --- a/interactive-clap-derive/src/derives/interactive_clap/mod.rs +++ b/interactive-clap-derive/src/derives/interactive_clap/mod.rs @@ -428,12 +428,12 @@ fn for_cli_field( quote!() } else { let ty = &field.ty; - if field.attrs.iter().any(|attr| + if field.attrs.iter().any(|attr| attr.path.is_ident("interactive_clap") && attr.tokens.clone().into_iter().any( |attr_token| matches!( - attr_token, + attr_token, proc_macro2::TokenTree::Group(group) if group.stream().to_string() == LONG_VEC_MUTLIPLE_OPT ) ) diff --git a/interactive-clap-derive/src/tests/test_simple_struct.rs b/interactive-clap-derive/src/tests/test_simple_struct.rs index 5b26aad..2d9a306 100644 --- a/interactive-clap-derive/src/tests/test_simple_struct.rs +++ b/interactive-clap-derive/src/tests/test_simple_struct.rs @@ -56,7 +56,6 @@ fn test_vec_multiple_opt() { let interactive_clap_codegen = crate::derives::interactive_clap::impl_interactive_clap(&input); insta::assert_snapshot!(pretty_codegen(&interactive_clap_codegen)); - } #[test] @@ -73,7 +72,7 @@ fn test_vec_multiple_opt_to_cli_args() { } #[test] -// testing correct panic msg isn't really very compatible with +// testing correct panic msg isn't really very compatible with // `proc-macro-error` crate #[should_panic] fn test_vec_multiple_opt_err() { @@ -86,5 +85,4 @@ fn test_vec_multiple_opt_err() { let interactive_clap_codegen = crate::derives::interactive_clap::impl_interactive_clap(&input); insta::assert_snapshot!(pretty_codegen(&interactive_clap_codegen)); - }