Skip to content

Commit 377046a

Browse files
committed
Simplified regex which works nice on prose
1 parent 181a169 commit 377046a

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

codespell_lib/_codespell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"\\b[\\w.%+-]+@[\\w.-]+\\b)"
3838
)
3939
inline_ignore_regex = re.compile(
40-
r"([^\w\s]) codespell:ignore(\s(?P<words>[\w,]*))?(\s+\1|$)"
40+
r"[^\w\s]\s?codespell:ignore\b(\s+(?P<words>[\w,]*))?"
4141
)
4242
encodings = ("utf-8", "iso-8859-1")
4343
USAGE = """

codespell_lib/tests/test_basic.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,21 +342,23 @@ def test_ignore_word_list(
342342
('abandonned abondon abilty # codespell:ignore\r\n', 0),
343343
('abandonned abondon abilty # codespell:ignore # noqa: E501\n', 0),
344344
('abandonned abondon abilty # codespell:ignore # noqa: E501\n', 0),
345+
('abandonned abondon abilty # codespell:ignore# noqa: E501\n', 0),
346+
('abandonned abondon abilty # codespell:ignore, noqa: E501\n', 0),
347+
('abandonned abondon abilty #codespell:ignore\n', 0),
345348
# ignore these for safety
346-
('abandonned abondon abilty # codespell:ignore# noqa: E501\n', 3),
347-
('abandonned abondon abilty # codespell:ignore, noqa: E501\n', 3),
348-
('abandonned abondon abilty # codespell:ignore/noqa: E501\n', 3),
349349
('abandonned abondon abilty # codespell:ignorenoqa: E501\n', 3),
350-
('abandonned abondon abilty #codespell:ignore\n', 3),
351350
('abandonned abondon abilty codespell:ignore\n', 3),
352351
('abandonned abondon abilty codespell:ignore\n', 3),
353352
# showcase different comment markers
354353
("abandonned abondon abilty ' codespell:ignore\n", 0),
355354
('abandonned abondon abilty " codespell:ignore\n', 0),
356355
('abandonned abondon abilty ;; codespell:ignore\n', 0),
357356
('abandonned abondon abilty /* codespell:ignore */\n', 0),
358-
# avoid false positive
359-
('You could also use line based igore ( codespell:ignore ) to igore ', 2),
357+
# prose examples
358+
('You could also use line based igore ( codespell:ignore ) to igore ', 0),
359+
('You could also use line based igore (codespell:ignore) to igore ', 0),
360+
('You could also use line based igore (codespell:ignore igore) to igore ', 0), # noqa: E501
361+
('You could also use line based igore (codespell:ignore igare) to igore ', 2), # noqa: E501
360362
])
361363
def test_inline_ignores(
362364
tmpdir: pytest.TempPathFactory,

0 commit comments

Comments
 (0)