# text files
.*\.clang-format$
.*\.clang-tidy$
.*\.cpackignore$
.*\.gitignore$
.*\.lcovrc$
.*\.ratignore$
.*md$
.*json$
.*deprecated_xml_instructions.txt$

# generated files
.*Resources.Designer.cs$
.*Settings.Designer.cs$

# public domain
.*CPPDictionary.hpp$
.*CPPSymbol.hpp$
.*CPP_parser.g$
.*DictEntry.hpp$
.*Dictionary.cpp$
.*Dictionary.hpp$
.*STDCTokenTypes.txt$
.*Support.cpp$

# expect script
.*changepasswd$
.*winrm.cloud-init$

# doxygen
.*package-list$
.*testframeworkdox.txt$
docs

# patches
.*patches$
.*ACE.config.h.in$
