Skip to main content

alpm_lint/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(test, expect(clippy::panic))]
3
4#[cfg(feature = "cli")]
5#[doc(hidden)]
6pub mod cli;
7mod error;
8pub mod issue;
9mod level;
10pub mod lint_rules;
11mod resources;
12mod rule;
13mod scope;
14mod utils;
15
16pub use crate::{
17    error::Error,
18    level::Level,
19    lint_rules::store::LintStore,
20    resources::Resources,
21    rule::LintRule,
22    scope::{LintScope, ScopedName},
23};
24
25/// Common imports that're required for most linting rule implementations.
26///
27/// This is a convenience prelude module as pretty much all of these imports are used in every
28/// single lint rule.
29#[allow(unused_imports)]
30mod internal_prelude {
31    pub use alpm_lint_config::{LintGroup, LintRuleConfiguration};
32
33    pub use crate::{
34        Error,
35        issue::LintIssue,
36        level::Level,
37        resources::Resources,
38        rule::LintRule,
39        scope::LintScope,
40    };
41}
42/// Convenience re-export of [`alpm_lint_config`] types.
43pub mod config {
44    pub use alpm_lint_config::{
45        LintConfiguration,
46        LintGroup,
47        LintRuleConfiguration,
48        LintRuleConfigurationOption,
49    };
50}