Skip to content

Conversation

beeb
Copy link
Owner

@beeb beeb commented Mar 12, 2025

This PR adds granular configuration options to specify what is required, forbidden or ignored.

Breaking Changes

  • The configuration format has changed, the .lintspec.toml files from v0.3 are not compatible. A new lintspec init command is available to generate a fresh default config file.
  • Validation defaults: there are new defaults for which diagnostics are emitted by default. Review the new defaults by generating a config file with lintspec init.
  • The CLI arguments (config::Args) have changed, there is no --constructor, --struct-params, --enum-params, --enforce, --enforce-all anymore. They have been replaced with new args, see documentation.
  • The fields in config::Config have changed drastically
  • The definitions::ItemType enum now has more members
  • The definitions::SourceItem trait now takes in &self for item_type(&self).
  • config::read_config now takes the parsed CLI args as argument.
  • lint::ValidationOptions has changed drastically
  • lint::{check_params, check_returns} have new arguments.

Closes #55

@beeb beeb marked this pull request as draft March 12, 2025 18:31
@beeb beeb marked this pull request as ready for review March 13, 2025 09:16
@beeb beeb merged commit e286013 into main Mar 13, 2025
13 checks passed
@beeb beeb deleted the config-overhaul branch March 13, 2025 09:18
@beeb-release-plz beeb-release-plz bot mentioned this pull request Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support more customization options
1 participant