Skip to content

Unexpected behaviour of ignore-words-list when handling cases #3584

Closed
@DanielYang59

Description

@DanielYang59

Behaviour of ignore-words-list seems different than a single ignore pattern (the latter has to match its case as in the dictionarty):

-L WORDS, --ignore-words-list WORDS
comma-separated list of words to be ignored by
codespell. Words are case sensitive based on how they
are written in the dictionary file.

Say I have typo titel in target file, and using pattern titel works while TITEL doesn't (as expected). Then I have another typo Mater in target file, and using both Mater/mater seems to work (why? the dict entry is mater and I didn't find another entry as Mater).

For example for test file (as .py):

titel = 0

Mater = 1
# Expected behaviour
>>> codespell --ignore-words-list titel test_words_list.py
test_words_list.py:3: Mater ==> Matter, Master, Mother

>>> codespell --ignore-words-list TITEL test_words_list.py 
test_words_list.py:1: titel ==> title
test_words_list.py:3: Mater ==> Matter, Master, Mother


# Unexpected, why both Mater and mater work (dict entry is "mater")
>>> codespell --ignore-words-list Mater test_words_list.py 
test_words_list.py:1: titel ==> title

>>> codespell --ignore-words-list mater test_words_list.py 
test_words_list.py:1: titel ==> title

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions