# List of filename patterns to exclude from pgindent runs
#
# These contain assembly code that pgindent tends to mess up.
src/include/storage/s_lock\.h$
src/include/port/atomics/
#
# These contain C++ constructs that confuse pgindent.
src/include/jit/llvmjit\.h$
src/include/jit/SectionMemoryManager\.h$
#
# These are generated files with incomplete code fragments that
# confuse pgindent.
src/backend/nodes/\w+\.funcs\.c$
src/backend/nodes/\w+\.switch\.c$
#
# These are generated by generate-wait_event_types.pl, whose format
# looks worse with pgindent.
src/backend/utils/activity/pgstat_wait_event\.c$
src/backend/utils/activity/wait_event_funcs_data\.c$
src/backend/utils/activity/wait_event_types\.h$
#
# This confuses pgindent, and it's a derived file anyway.
src/backend/utils/fmgrtab\.c$
#
# pgindent might mangle entries in this that match typedef names.
# Since it's a derived file anyway, just exclude it.
src/backend/utils/fmgrprotos\.h$
#
# kwlist_d files are made by gen_keywordlist.pl.  While we could insist that
# they match pgindent style, they'd look worse not better, so exclude them.
kwlist_d\.h$
#
# These are generated by the scripts from src/common/unicode/.  They use
# hash functions generated by PerfectHash.pm whose format looks worse with
# pgindent.
src/include/common/unicode_norm_hashfunc\.h$
src/include/common/unicode_normprops_table\.h$
#
# Exclude ecpg test files to avoid breaking the ecpg regression tests
# (but include files at the top level of the ecpg/test/ directory).
src/interfaces/ecpg/test/.*/
#
# src/include/snowball/libstemmer/ and src/backend/snowball/libstemmer/
# are excluded because those files are imported from an external project,
# rather than maintained locally, and they are machine-generated anyway.
/snowball/libstemmer/
#
# These files are machine-generated by code not under our control,
# so we shouldn't expect them to conform to our style.
# (Some versions of dtrace build probes.h files that confuse pgindent, too.)
src/backend/utils/probes\.h$
src/include/pg_config\.h$
src/pl/plperl/ppport\.h$
src/pl/plperl/SPI\.c$
src/pl/plperl/Util\.c$
#
# pg_bsd_indent has its own, idiosyncratic indentation style.
# We'll stick to that to permit comparison with the FreeBSD upstream.
src/tools/pg_bsd_indent/.*
#
# Exclude any temporary installations that may be in the tree.
/tmp_check/
/tmp_install/
# ... and for paranoia's sake, don't touch git stuff.
/\.git/
