Skip to content

Support prek sample-config --format toml#1546

Merged
j178 merged 1 commit intoprektomlfrom
sample-config
Feb 3, 2026
Merged

Support prek sample-config --format toml#1546
j178 merged 1 commit intoprektomlfrom
sample-config

Conversation

@j178
Copy link
Owner

@j178 j178 commented Feb 3, 2026

Support prek sample-config --format toml

Copilot AI review requested due to automatic review settings February 3, 2026 10:10
@j178 j178 added the enhancement New feature or request label Feb 3, 2026
@codecov
Copy link

codecov bot commented Feb 3, 2026

Codecov Report

❌ Patch coverage is 89.36170% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.60%. Comparing base (29b165c) to head (fbd2f2b).
⚠️ Report is 1 commits behind head on prektoml.

Files with missing lines Patch % Lines
crates/prek/src/cli/sample_config.rs 88.88% 4 Missing ⚠️
crates/prek/src/main.rs 80.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           prektoml    #1546      +/-   ##
============================================
- Coverage     91.61%   91.60%   -0.02%     
============================================
  Files            91       91              
  Lines         17981    18017      +36     
============================================
+ Hits          16474    16504      +30     
- Misses         1507     1513       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for a --format flag to the prek sample-config command, allowing users to generate sample configurations in TOML format in addition to the existing YAML format.

Changes:

  • Added --format CLI argument with toml and yaml options to the sample-config command
  • Implemented TOML sample configuration that uses prek's builtin hooks
  • Updated cache dir command to use stdout_important() for better visibility in quiet mode

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
crates/prek/tests/sample_config.rs Added comprehensive test coverage for TOML format support, including format detection, explicit format selection, and precedence rules; updated raw string delimiters for existing snapshots
crates/prek/src/main.rs Wired the new format parameter to the sample_config command; changed cache dir output to use stdout_important()
crates/prek/src/cli/sample_config.rs Implemented format detection from file extension, added TOML sample config constant, and updated function to handle format selection with proper precedence
crates/prek/src/cli/mod.rs Added SampleConfigFormat enum and format field to SampleConfigArgs

@prek-ci-bot
Copy link

prek-ci-bot bot commented Feb 3, 2026

📦 Cargo Bloat Comparison

Binary size change: +0.00% (23.5 MiB → 23.5 MiB)

Expand for cargo-bloat output

Head Branch Results

 File  .text    Size             Crate Name
 0.3%   0.7% 71.9KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.7% 71.3KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.7% 65.6KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.5% 51.2KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.5% 50.5KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4% 43.7KiB              prek prek::run::{{closure}}
 0.2%   0.4% 43.4KiB              prek prek::identify::by_extension::{{closure}}
 0.2%   0.4% 41.8KiB              prek prek::cli::run::run::run::{{closure}}
 0.1%   0.3% 31.3KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.3% 28.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 24.9KiB             prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 22.6KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 22.2KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 21.2KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
 0.1%   0.2% 20.4KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 20.0KiB   cargo_metadata? <cargo_metadata::_::<impl serde_core::de::Deserialize for cargo_metadata::Package>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 19.5KiB              prek prek::archive::unzip::{{closure}}
 0.1%   0.2% 19.5KiB              prek prek::cli::run::filter::collect_files_from_args::{{closure}}
 0.1%   0.2% 19.3KiB               std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
 0.1%   0.2% 19.2KiB              prek <prek::languages::ruby::ruby::Ruby as prek::languages::LanguageImpl>::install::{{closure}}
38.2%  91.4%  9.0MiB                   And 20665 smaller methods. Use -n N to show more.
41.8% 100.0%  9.8MiB                   .text section size, the file size is 23.5MiB

Base Branch Results

 File  .text    Size             Crate Name
 0.4%   0.9% 86.8KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.7% 71.3KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.7% 65.6KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.5% 51.2KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.5% 50.5KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4% 43.6KiB              prek prek::run::{{closure}}
 0.2%   0.4% 43.4KiB              prek prek::identify::by_extension::{{closure}}
 0.2%   0.4% 41.5KiB              prek prek::cli::run::run::run::{{closure}}
 0.2%   0.4% 36.7KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.3% 28.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 24.9KiB             prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 22.6KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 22.2KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 21.2KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
 0.1%   0.2% 20.7KiB             prek? <prek::cli::GlobalArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.2% 20.4KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 20.0KiB   cargo_metadata? <cargo_metadata::_::<impl serde_core::de::Deserialize for cargo_metadata::Package>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 19.8KiB              prek prek::archive::unzip::{{closure}}
 0.1%   0.2% 19.5KiB     serde_saphyr? <serde_saphyr::de::YamlDeserializer as serde_core::de::Deserializer>::deserialize_any
 0.1%   0.2% 19.5KiB              prek prek::cli::run::filter::collect_files_from_args::{{closure}}
38.1%  91.2%  8.9MiB                   And 20622 smaller methods. Use -n N to show more.
41.8% 100.0%  9.8MiB                   .text section size, the file size is 23.5MiB

@j178 j178 force-pushed the sample-config branch 2 times, most recently from 765f55e to 115ca7c Compare February 3, 2026 11:43
Support `prek sample-config --format toml`
@j178 j178 merged commit 1b49afe into prektoml Feb 3, 2026
49 checks passed
@j178 j178 deleted the sample-config branch February 3, 2026 13:36
j178 added a commit that referenced this pull request Feb 3, 2026
Support `prek sample-config --format toml`
j178 added a commit that referenced this pull request Feb 4, 2026
Support `prek sample-config --format toml`
j178 added a commit that referenced this pull request Feb 5, 2026
Support `prek sample-config --format toml`
@j178 j178 mentioned this pull request Feb 6, 2026
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants