mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-26 11:59:10 +00:00
Allow © in copyright notices (#10065)
Closes https://github.com/astral-sh/ruff/issues/10061.
This commit is contained in:
parent
7d9ce5049a
commit
6fe15e7289
6 changed files with 23 additions and 5 deletions
|
@ -232,7 +232,7 @@ linter.flake8_bandit.check_typed_exception = false
|
|||
linter.flake8_bugbear.extend_immutable_calls = []
|
||||
linter.flake8_builtins.builtins_ignorelist = []
|
||||
linter.flake8_comprehensions.allow_dict_calls_with_keyword_arguments = false
|
||||
linter.flake8_copyright.notice_rgx = (?i)Copyright\s+(\(C\)\s+)?\d{4}(-\d{4})*
|
||||
linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}(-\d{4})*
|
||||
linter.flake8_copyright.author = none
|
||||
linter.flake8_copyright.min_file_size = 0
|
||||
linter.flake8_errmsg.max_string_length = 0
|
||||
|
|
|
@ -29,6 +29,20 @@ import os
|
|||
r"
|
||||
# Copyright (C) 2023
|
||||
|
||||
import os
|
||||
"
|
||||
.trim(),
|
||||
&settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
|
||||
);
|
||||
assert_messages!(diagnostics);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn notice_with_unicode_c() {
|
||||
let diagnostics = test_snippet(
|
||||
r"
|
||||
# Copyright © 2023
|
||||
|
||||
import os
|
||||
"
|
||||
.trim(),
|
||||
|
|
|
@ -15,7 +15,7 @@ pub struct Settings {
|
|||
}
|
||||
|
||||
pub static COPYRIGHT: Lazy<Regex> =
|
||||
Lazy::new(|| Regex::new(r"(?i)Copyright\s+(\(C\)\s+)?\d{4}(-\d{4})*").unwrap());
|
||||
Lazy::new(|| Regex::new(r"(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}(-\d{4})*").unwrap());
|
||||
|
||||
impl Default for Settings {
|
||||
fn default() -> Self {
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
|
||||
---
|
||||
|
|
@ -1123,14 +1123,14 @@ pub struct Flake8CopyrightOptions {
|
|||
/// The regular expression used to match the copyright notice, compiled
|
||||
/// with the [`regex`](https://docs.rs/regex/latest/regex/) crate.
|
||||
///
|
||||
/// Defaults to `(?i)Copyright\s+(\(C\)\s+)?\d{4}(-\d{4})*`, which matches
|
||||
/// Defaults to `(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}(-\d{4})*`, which matches
|
||||
/// the following:
|
||||
/// - `Copyright 2023`
|
||||
/// - `Copyright (C) 2023`
|
||||
/// - `Copyright 2021-2023`
|
||||
/// - `Copyright (C) 2021-2023`
|
||||
#[option(
|
||||
default = r#"(?i)Copyright\s+(\(C\)\s+)?\d{4}([-,]\d{4})*"#,
|
||||
default = r#"(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}([-,]\d{4})*"#,
|
||||
value_type = "str",
|
||||
example = r#"notice-rgx = "(?i)Copyright \\(C\\) \\d{4}""#
|
||||
)]
|
||||
|
|
2
ruff.schema.json
generated
2
ruff.schema.json
generated
|
@ -953,7 +953,7 @@
|
|||
"minimum": 0.0
|
||||
},
|
||||
"notice-rgx": {
|
||||
"description": "The regular expression used to match the copyright notice, compiled with the [`regex`](https://docs.rs/regex/latest/regex/) crate.\n\nDefaults to `(?i)Copyright\\s+(\\(C\\)\\s+)?\\d{4}(-\\d{4})*`, which matches the following: - `Copyright 2023` - `Copyright (C) 2023` - `Copyright 2021-2023` - `Copyright (C) 2021-2023`",
|
||||
"description": "The regular expression used to match the copyright notice, compiled with the [`regex`](https://docs.rs/regex/latest/regex/) crate.\n\nDefaults to `(?i)Copyright\\s+((?:\\(C\\)|©)\\s+)?\\d{4}(-\\d{4})*`, which matches the following: - `Copyright 2023` - `Copyright (C) 2023` - `Copyright 2021-2023` - `Copyright (C) 2021-2023`",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue