mirror of
https://github.com/esphome/esphome.git
synced 2025-07-25 20:56:38 +00:00
[ci] Support C++17 nested namespace syntax in linter (#9826)
This commit is contained in:
parent
378b687a82
commit
6ac1073469
@ -575,13 +575,15 @@ def lint_namespace(fname, content):
|
|||||||
expected_name = re.match(
|
expected_name = re.match(
|
||||||
r"^esphome/components/([^/]+)/.*", fname.replace(os.path.sep, "/")
|
r"^esphome/components/([^/]+)/.*", fname.replace(os.path.sep, "/")
|
||||||
).group(1)
|
).group(1)
|
||||||
search = f"namespace {expected_name}"
|
# Check for both old style and C++17 nested namespace syntax
|
||||||
if search in content:
|
search_old = f"namespace {expected_name}"
|
||||||
|
search_new = f"namespace esphome::{expected_name}"
|
||||||
|
if search_old in content or search_new in content:
|
||||||
return None
|
return None
|
||||||
return (
|
return (
|
||||||
"Invalid namespace found in C++ file. All integration C++ files should put all "
|
"Invalid namespace found in C++ file. All integration C++ files should put all "
|
||||||
"functions in a separate namespace that matches the integration's name. "
|
"functions in a separate namespace that matches the integration's name. "
|
||||||
f"Please make sure the file contains {highlight(search)}"
|
f"Please make sure the file contains {highlight(search_old)} or {highlight(search_new)}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user