[codespell]
# These are a list of files that should skip spell-checking.
skip = ./build,
       # File types that we do not need to spell-check.
       *.pdf,
       *.svg,
       *.log,
       *.vqm,
       *.blif,
       *.xml,
       *.pm,
       # Special case: Pearl scripts are not being maintained.
       *.pl,
       # External projects that do not belong to us.
       ./libs/EXTERNAL,
       ./parmys,
       ./abc,
       # Sub-projects which are not as maintained.
       ./odin_ii,
       ./ace2,
       ./blifexplorer,
       ./verilog_preprocessor,
       ./vtr_flow/scripts/perl_libs,
       ./vtr_flow/scripts/benchtracker,
       # Large testing directories.
       ./vtr_flow/benchmarks,
       ./vtr_flow/tasks,
       # Temporary as we wait for some PRs to merge.
       *_graph_uxsdcxx_capnp.h,
       ./vpr/src/route/rr_graph_generation/rr_graph.cpp,
       ./vpr/src/route/rr_graph_generation/rr_graph2.cpp,

# Show a count of the number of spelling mistakes when codespell is run.
count = true

# Only show critical information.
quiet-level = 3

# Words to ignore for spell-checking. These are words that we know are spelled
# correctly.
ignore-words-list = subtile,
                    subtiles,
                    fle,
                    EArch,
                    FPT,
                    Synopsys,
                    inout,
                    inouts,
                    INOUT,
                    Dout,
                    dout,
                    DATIN,
                    ACCout,
                    ShowIn,
                    # Special case: pres fac / pres cost for example.
                    Pres,
                    pres,
                    # This is another special case. This happens due to string
                    # formatting code "%shold". This can be fixed when std::format
                    # is better supported in C++20.
                    shold,
