description:
Python interpreter constraints for this tool
https://www.pantsbuild.org/v2.16/docs/reference-pyoxidizer#interpreter_constraints


key: requirements

description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-pyoxidizer#requirements

type: array


key: pytest

description: The pytest Python test framework (https://docs.pytest.org/).

type: boolean

default: pytest

type: string

type: object


key: args

description:
Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`
https://www.pantsbuild.org/v2.16/docs/reference-pytest#args


key: config

description:
Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats)
https://www.pantsbuild.org/v2.16/docs/reference-pytest#config


description:
If true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs
https://www.pantsbuild.org/v2.16/docs/reference-pytest#config_discovery


description:
The console script for the tool
https://www.pantsbuild.org/v2.16/docs/reference-pytest#console_script


description:
The entry point for the tool
https://www.pantsbuild.org/v2.16/docs/reference-pytest#entry_point


description:
If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name
https://www.pantsbuild.org/v2.16/docs/reference-pytest#execution_slot_var


description:
If specified, install the tool using the lockfile for this named resolve
https://www.pantsbuild.org/v2.16/docs/reference-pytest#install_from_resolve


description:
The format of generated junit XML files
https://www.pantsbuild.org/v2.16/docs/reference-pytest#junit_family


description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-pytest#requirements


key: skip

description:
If true, don't use Pytest when running `pants test`
https://www.pantsbuild.org/v2.16/docs/reference-pytest#skip


description:
If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target
https://www.pantsbuild.org/v2.16/docs/reference-pytest#xdist_enabled


key: python

description: Options for Pants's Python backend.

default: python-default

default: error

enum: error ignore warn


description:
The default value used for the `resolve` field
https://www.pantsbuild.org/v2.16/docs/reference-python#default_resolve


description:
The default value used for the `run_goal_use_sandbox` field of Python targets
https://www.pantsbuild.org/v2.16/docs/reference-python#default_run_goal_use_sandbox


description:
Create targets for all Python lockfiles defined in `[python].resolves`
https://www.pantsbuild.org/v2.16/docs/reference-python#enable_lockfile_targets


description:
Set to true to enable lockfiles for user code
https://www.pantsbuild.org/v2.16/docs/reference-python#enable_resolves


description:
The Python interpreters your codebase is compatible with
https://www.pantsbuild.org/v2.16/docs/reference-python#interpreter_constraints


description:
All known Python major/minor interpreter versions that may be used by either your code or tools used by your code
https://www.pantsbuild.org/v2.16/docs/reference-python#interpreter_versions_universe


description:
The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using
https://www.pantsbuild.org/v2.16/docs/reference-python#invalid_lockfile_behavior


description:
If set, and if running on MacOS Big Sur, use macosx_10_16 as the platform when building wheels
https://www.pantsbuild.org/v2.16/docs/reference-python#macos_big_sur_compatibility


Use this version of Pip for resolving requirements and generating lockfiles
https://www.pantsbuild.org/v2.16/docs/reference-python#pip_version


description:
Whether to use the standard Python command history file when running a repl
https://www.pantsbuild.org/v2.16/docs/reference-python#repl_history


description:
Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms
https://www.pantsbuild.org/v2.16/docs/reference-python#resolver_manylinux


key: resolves

description:
A mapping of logical names to lockfile paths used in your project
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves


description:
If False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves_generate_lockfiles


description:
When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves_to_constraints_file


description:
Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves_to_interpreter_constraints


description:
When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves_to_no_binary


description:
When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`
https://www.pantsbuild.org/v2.16/docs/reference-python#resolves_to_only_binary


description:
If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset
https://www.pantsbuild.org/v2.16/docs/reference-python#run_against_entire_lockfile


description:
If true, don't add `python_sources` targets for `__init__.py` files that are both empty and where there are no other Python files in the directory
https://www.pantsbuild.org/v2.16/docs/reference-python#tailor_ignore_empty_init_files


description:
If true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#tailor_pex_binary_targets


description:
If true, add `resource` targets for marker files named `py.typed` with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#tailor_py_typed_targets


description:
If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#tailor_requirements_targets


description:
If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-python#tailor_source_targets


key: python-bootstrap

description:
Options used to locate Python interpreters

This subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the `python` subsystem for that.

default: <PYENV> <PATH>


description:
A map from platform to the information needed to download Python Build Standalone
https://www.pantsbuild.org/v2.16/docs/reference-python-bootstrap#internal_python_build_standalone_info


key: names

description:
The names of Python binaries to search for
https://www.pantsbuild.org/v2.16/docs/reference-python-bootstrap#names


description:
A list of paths to search for Python interpreters
https://www.pantsbuild.org/v2.16/docs/reference-python-bootstrap#search_path


key: python-dump-source-analysis

description: Dump source analysis for python_source targets.


The type of information that should be returned
https://www.pantsbuild.org/v2.16/docs/reference-python-dump-source-analysis#analysis_flavor


key: python-infer

description: Options controlling which dependencies will be inferred for Python targets.

type: number

enum: always content_only never

default: warning

enum: error warning ignore


When multiple sources provide the same symbol, how to choose the provider to use
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#ambiguity_resolution


key: assets

description:
Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#assets


description:
If --assets is True, treat valid-looking strings with at least this many forward slash characters as potential assets
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#assets_min_slashes


key: conftests

description:
Infer a test target's dependencies on any conftest.py files in the current directory and ancestor directories
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#conftests


description:
Infer dependencies on targets' entry points, e.g. `pex_binary`'s `entry_point` field, `python_awslambda`'s `handler` field and `python_distribution`'s `entry_points` field
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#entry_points


description:
Unowned imports that should be ignored
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#ignored_unowned_imports


key: imports

description:
Infer a target's imported dependencies by parsing import statements from sources
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#imports


description:
Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure)
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#init_files


description:
Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#string_imports


description:
If --string-imports is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#string_imports_min_dots


description:
How to handle imports that don't have an inferrable owner
https://www.pantsbuild.org/v2.16/docs/reference-python-infer#unowned_dependency_behavior


key: python-native-code

description: Options for building native code using Python, e.g. when resolving distributions.


description:
Override the `CPPFLAGS` environment variable for any forked subprocesses
https://www.pantsbuild.org/v2.16/docs/reference-python-native-code#cpp_flags


description:
Override the `LDFLAGS` environment variable for any forked subprocesses
https://www.pantsbuild.org/v2.16/docs/reference-python-native-code#ld_flags


key: python-repos

description:
External Python code repositories, such as PyPI.

These options may be used to point to custom package indexes when resolving requirements.


description:
URLs and/or file paths corresponding to pip's `--find-links` option
https://www.pantsbuild.org/v2.16/docs/reference-python-repos#find_links


key: indexes

description:
URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements
https://www.pantsbuild.org/v2.16/docs/reference-python-repos#indexes


description:
Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines
https://www.pantsbuild.org/v2.16/docs/reference-python-repos#path_mappings


key: regex-lint

description:
Lint your code using regex patterns, e.g. to check for copyright headers.

To activate this with the `lint` goal, you must set `[regex-lint].config`.

Unlike other linters, this can run on files not owned by targets, such as BUILD files.

default: nonmatching

enum: none summary nonmatching names all


description:
Config schema is as follows:
https://www.pantsbuild.org/v2.16/docs/reference-regex-lint#config


description:
How much detail to include in the result
https://www.pantsbuild.org/v2.16/docs/reference-regex-lint#detail_level


description:
If true, don't use regex-lint when running `pants lint`
https://www.pantsbuild.org/v2.16/docs/reference-regex-lint#skip


key: repl

description: Open a REPL with the specified code loadable.


key: restartable

description:
True if the REPL should be restarted if its inputs have changed
https://www.pantsbuild.org/v2.16/docs/reference-repl#restartable


key: shell

description:
Override the automatically-detected REPL program for the target(s) specified
https://www.pantsbuild.org/v2.16/docs/reference-repl#shell


key: roots

description: List the repo's registered source roots.

default: \n


description:
Output the goal's stdout to this file
https://www.pantsbuild.org/v2.16/docs/reference-roots#output_file


key: sep

description:
String to use to separate lines in line-oriented output
https://www.pantsbuild.org/v2.16/docs/reference-roots#sep


key: run

description:
Runs a binary target.

This goal propagates the return code of the underlying executable.

If your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.


key: args

description:
Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`
https://www.pantsbuild.org/v2.16/docs/reference-run#args


description:
Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported
https://www.pantsbuild.org/v2.16/docs/reference-run#debug_adapter


key: scala

description: Scala programming language


description:
If true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-scala#tailor_source_targets


description:
A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve
https://www.pantsbuild.org/v2.16/docs/reference-scala#version_for_resolve


key: scala-dump-source-analysis

description: Dump source analysis for scala_source targets.


key: scala-infer

description: Options controlling which dependencies will be inferred for Scala targets.


description:
Infer a target's dependencies by parsing consumed types from sources
https://www.pantsbuild.org/v2.16/docs/reference-scala-infer#consumed_types


description:
If true, add a dependency on all scala_source targets generated by the same scala_sources target generator
https://www.pantsbuild.org/v2.16/docs/reference-scala-infer#force_add_siblings_as_dependencies


description:
Infer a target's dependencies by parsing import statements from sources
https://www.pantsbuild.org/v2.16/docs/reference-scala-infer#imports


description:
Add dependency on the package object to every target
https://www.pantsbuild.org/v2.16/docs/reference-scala-infer#package_objects


key: scalac

description: The Scala compiler.


description:
Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`
https://www.pantsbuild.org/v2.16/docs/reference-scalac#args


description:
A dictionary, whose keys are the names of each JVM resolve that requires default `scalac` plugins, and the value is a comma-separated string consisting of scalac plugin names
https://www.pantsbuild.org/v2.16/docs/reference-scalac#plugins_for_resolve


key: scalafmt

description: scalafmt (https://scalameta.org/scalafmt/)

default: <default>


key: artifacts

description:
Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version)
https://www.pantsbuild.org/v2.16/docs/reference-scalafmt#artifacts


description:
List of JVM options to pass to `scalafmt` JVM processes
https://www.pantsbuild.org/v2.16/docs/reference-scalafmt#jvm_options


key: lockfile

description:
Path to a lockfile used for installing the tool
https://www.pantsbuild.org/v2.16/docs/reference-scalafmt#lockfile


key: skip

description:
If true, don't use scalafmt when running `pants fmt` and `pants lint`
https://www.pantsbuild.org/v2.16/docs/reference-scalafmt#skip


key: version

description:
Version string for the tool
https://www.pantsbuild.org/v2.16/docs/reference-scalafmt#version


key: scalatest

description: The Scalatest test framework (https://www.scalatest.org/)


description:
Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#args


description:
Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., group:name:version)
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#artifacts


description:
List of JVM options to pass to `scalatest` JVM processes
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#jvm_options


description:
Path to a lockfile used for installing the tool
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#lockfile


description:
If true, don't use Scalatest when running `pants test`
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#skip


description:
Version string for the tool
https://www.pantsbuild.org/v2.16/docs/reference-scalatest#version


key: scc

description: The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).

enum: error warning


description:
Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`
https://www.pantsbuild.org/v2.16/docs/reference-scc#args


description:
Known versions to verify downloads against
https://www.pantsbuild.org/v2.16/docs/reference-scc#known_versions


description:
A dictionary mapping platforms to strings to be used when generating the URL to download the tool
https://www.pantsbuild.org/v2.16/docs/reference-scc#url_platform_mapping


description:
URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)
https://www.pantsbuild.org/v2.16/docs/reference-scc#url_template


description:
What action to take in case the requested version of SCC is not supported
https://www.pantsbuild.org/v2.16/docs/reference-scc#use_unsupported_version


description:
Use this version of SCC
https://www.pantsbuild.org/v2.16/docs/reference-scc#version


key: setup-py-generation

description: Options to control how setup.py is generated from a `python_distribution` target.

default: exact

enum: exact compatible any


description:
What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s
https://www.pantsbuild.org/v2.16/docs/reference-setup-py-generation#first_party_dependency_version_scheme


description:
The default value for the `generate_setup` field on `python_distribution` targets
https://www.pantsbuild.org/v2.16/docs/reference-setup-py-generation#generate_setup_default


key: setuptools

description: Python setuptools, used to package `python_distribution` targets.


description:
If specified, install the tool using the lockfile for this named resolve
https://www.pantsbuild.org/v2.16/docs/reference-setuptools#install_from_resolve


key: requirements

description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-setuptools#requirements


key: setuptools-scm

description: A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).


description:
The console script for the tool
https://www.pantsbuild.org/v2.16/docs/reference-setuptools-scm#console_script


description:
The entry point for the tool
https://www.pantsbuild.org/v2.16/docs/reference-setuptools-scm#entry_point


description:
If specified, install the tool using the lockfile for this named resolve
https://www.pantsbuild.org/v2.16/docs/reference-setuptools-scm#install_from_resolve


description:
Python interpreter constraints for this tool
https://www.pantsbuild.org/v2.16/docs/reference-setuptools-scm#interpreter_constraints


description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-setuptools-scm#requirements


key: shell-setup

description: Options for Pants's Shell support.


description:
Infer Shell dependencies on other Shell files by analyzing `source` statements
https://www.pantsbuild.org/v2.16/docs/reference-shell-setup#dependency_inference


description:
The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner
https://www.pantsbuild.org/v2.16/docs/reference-shell-setup#executable_search_path


key: tailor

description:
If true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal
https://www.pantsbuild.org/v2.16/docs/reference-shell-setup#tailor


key: shell-test

description: Options for Pants' Shell test support.


description:
If true, don't use Test with shell scripts when running `pants test`
https://www.pantsbuild.org/v2.16/docs/reference-shell-test#skip


key: shellcheck

description: A linter for shell scripts.


key: args

description:
Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#args


description:
If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#config_discovery


description:
Known versions to verify downloads against
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#known_versions


description:
If true, don't use Shellcheck when running `pants lint`
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#skip


description:
A dictionary mapping platforms to strings to be used when generating the URL to download the tool
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#url_platform_mapping


description:
URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#url_template


description:
What action to take in case the requested version of Shellcheck is not supported
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#use_unsupported_version


description:
Use this version of Shellcheck
https://www.pantsbuild.org/v2.16/docs/reference-shellcheck#version


key: shfmt

description: An autoformatter for shell scripts (https://github.com/mvdan/sh).


description:
Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#args


description:
If true, Pants will include all relevant `.editorconfig` files during runs
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#config_discovery


description:
Known versions to verify downloads against
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#known_versions


description:
If true, don't use shfmt when running `pants fmt` and `pants lint`
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#skip


description:
A dictionary mapping platforms to strings to be used when generating the URL to download the tool
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#url_platform_mapping


description:
URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#url_template


description:
What action to take in case the requested version of shfmt is not supported
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#use_unsupported_version


description:
Use this version of shfmt
https://www.pantsbuild.org/v2.16/docs/reference-shfmt#version


description: shUnit2 is a xUnit framework for Bourne based shell scripts (https://github.com/kward/shunit2)


description:
Known versions to verify downloads against
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#known_versions


description:
If true, don't use shunit2 when running `pants test`
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#skip


description:
A dictionary mapping platforms to strings to be used when generating the URL to download the tool
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#url_platform_mapping


description:
URL to download the tool, either as a single binary file or a compressed file (e.g. zip file)
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#url_template


description:
What action to take in case the requested version of shunit2 is not supported
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#use_unsupported_version


description:
Use this version of shunit2
https://www.pantsbuild.org/v2.16/docs/reference-shunit2#version


key: source

description: Configuration for roots of source trees.

default: / src src/python src/py src/thrift src/protobuf src/protos src/scala src/java


description:
The presence of a file of this name in a directory indicates that the directory is a source root
https://www.pantsbuild.org/v2.16/docs/reference-source#marker_filenames


description:
A list of source root suffixes
https://www.pantsbuild.org/v2.16/docs/reference-source#root_patterns


key: stats

description: An aggregator for Pants stats, such as cache metrics.


key: log

description:
At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching
https://www.pantsbuild.org/v2.16/docs/reference-stats#log


description:
At the end of the Pants run, report a summary of memory usage
https://www.pantsbuild.org/v2.16/docs/reference-stats#memory_summary


key: subprocess-environment

description: Environment settings for forked subprocesses.


description:
Environment variables to set for process invocations
https://www.pantsbuild.org/v2.16/docs/reference-subprocess-environment#env_vars


description:
Auto-generate BUILD file targets for new source files.

Each specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.

default: BUILD


description:
A mapping from standard target type to custom type to use instead
https://www.pantsbuild.org/v2.16/docs/reference-tailor#alias_mapping


description:
A header, e.g., a copyright notice, to add to the content of created BUILD files
https://www.pantsbuild.org/v2.16/docs/reference-tailor#build_file_header


description:
The indent to use when auto-editing BUILD files
https://www.pantsbuild.org/v2.16/docs/reference-tailor#build_file_indent


description:
The name to use for generated BUILD files
https://www.pantsbuild.org/v2.16/docs/reference-tailor#build_file_name


key: check

description:
Do not write changes to disk, only write back what would change
https://www.pantsbuild.org/v2.16/docs/reference-tailor#check


description:
Do not add these target definitions
https://www.pantsbuild.org/v2.16/docs/reference-tailor#ignore_adding_targets


description:
Do not edit or create BUILD files at these paths
https://www.pantsbuild.org/v2.16/docs/reference-tailor#ignore_paths


key: test

description: Run tests.

default: {distdir}/test/reports


description:
The target maximum number of files to be included in each run of batch-enabled test runners
https://www.pantsbuild.org/v2.16/docs/reference-test#batch_size


key: debug

description:
Run tests sequentially in an interactive process
https://www.pantsbuild.org/v2.16/docs/reference-test#debug


description:
Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported
https://www.pantsbuild.org/v2.16/docs/reference-test#debug_adapter


description:
Additional environment variables to include in test processes
https://www.pantsbuild.org/v2.16/docs/reference-test#extra_env_vars


key: force

description:
Force the tests to run, even if they could be satisfied from cache
https://www.pantsbuild.org/v2.16/docs/reference-test#force


description:
If a coverage report file is generated, open it on the local system if the system supports this
https://www.pantsbuild.org/v2.16/docs/reference-test#open_coverage


key: output

description:
Show stdout/stderr for these tests
https://www.pantsbuild.org/v2.16/docs/reference-test#output

default: failed

enum: all failed none


key: report

description:
Write test reports to --report-dir
https://www.pantsbuild.org/v2.16/docs/reference-test#report


description:
Path to write test reports to
https://www.pantsbuild.org/v2.16/docs/reference-test#report_dir


key: shard

description:
A shard specification of the form "k/N", where N is a positive integer and k is a non-negative integer less than N
https://www.pantsbuild.org/v2.16/docs/reference-test#shard


description:
The default timeout (in seconds) for a test target if the `timeout` field is not set on the target
https://www.pantsbuild.org/v2.16/docs/reference-test#timeout_default


description:
The maximum timeout (in seconds) that may be used on a test target
https://www.pantsbuild.org/v2.16/docs/reference-test#timeout_maximum


key: timeouts

description:
Enable test target timeouts
https://www.pantsbuild.org/v2.16/docs/reference-test#timeouts


description:
Generate a coverage report if the test runner supports it
https://www.pantsbuild.org/v2.16/docs/reference-test#use_coverage


key: twine

description: The utility for publishing Python distributions to PyPI and other Python repositories.

default: <inherit>

default: twine


description:
Arguments to pass directly to Twine, e.g. `--twine-args='--skip-existing'`
https://www.pantsbuild.org/v2.16/docs/reference-twine#args


description:
Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions
https://www.pantsbuild.org/v2.16/docs/reference-twine#ca_certs_path


key: config

description:
Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/)
https://www.pantsbuild.org/v2.16/docs/reference-twine#config


description:
If true, Pants will include all relevant config files during runs (`.pypirc`)
https://www.pantsbuild.org/v2.16/docs/reference-twine#config_discovery


description:
The console script for the tool
https://www.pantsbuild.org/v2.16/docs/reference-twine#console_script


description:
The entry point for the tool
https://www.pantsbuild.org/v2.16/docs/reference-twine#entry_point


description:
If specified, install the tool using the lockfile for this named resolve
https://www.pantsbuild.org/v2.16/docs/reference-twine#install_from_resolve


description:
Python interpreter constraints for this tool
https://www.pantsbuild.org/v2.16/docs/reference-twine#interpreter_constraints


key: requirements

description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-twine#requirements


key: skip

description:
If true, don't use Twine when running `pants publish`
https://www.pantsbuild.org/v2.16/docs/reference-twine#skip


key: update-build-files

description:
Format and fix safe deprecations in BUILD files.

This does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/v2.16/docs/upgrade-tips for upgrade tips.

This goal is run without arguments. It will run over all BUILD files in your project.

default: black

enum: yapf black


description:
Do not write changes to disk, only write back what would change
https://www.pantsbuild.org/v2.16/docs/reference-update-build-files#check


description:
Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics
https://www.pantsbuild.org/v2.16/docs/reference-update-build-files#fix_safe_deprecations


key: fmt

description:
Format BUILD files using Black or Yapf
https://www.pantsbuild.org/v2.16/docs/reference-update-build-files#fmt


key: formatter

description:
Which formatter Pants should use to format BUILD files
https://www.pantsbuild.org/v2.16/docs/reference-update-build-files#formatter


key: version

description: Display Pants version.


key: yapf

description: A formatter for Python files (https://github.com/google/yapf).

default: yapf


key: args

description:
Arguments to pass directly to yapf, e.g. `--yapf-args='--no-local-style'`
https://www.pantsbuild.org/v2.16/docs/reference-yapf#args


description:
Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/)
https://www.pantsbuild.org/v2.16/docs/reference-yapf#config


description:
If true, Pants will include any relevant config files during runs (`.style.yapf`, `pyproject.toml`, and `setup.cfg`)
https://www.pantsbuild.org/v2.16/docs/reference-yapf#config_discovery


description:
The console script for the tool
https://www.pantsbuild.org/v2.16/docs/reference-yapf#console_script


description:
The entry point for the tool
https://www.pantsbuild.org/v2.16/docs/reference-yapf#entry_point


description:
If specified, install the tool using the lockfile for this named resolve
https://www.pantsbuild.org/v2.16/docs/reference-yapf#install_from_resolve


description:
Python interpreter constraints for this tool
https://www.pantsbuild.org/v2.16/docs/reference-yapf#interpreter_constraints


description:
If install_from_resolve is specified, install these requirements, at the versions provided by the specified resolve's lockfile
https://www.pantsbuild.org/v2.16/docs/reference-yapf#requirements


description:
If true, don't use yapf when running `pants fmt` and `pants lint`
https://www.pantsbuild.org/v2.16/docs/reference-yapf#skip


key: cacheFormat

description:
Format of the cache file.
- `legacy` - use absolute paths in the cache file
- `universal` - use a sharable format.

default: legacy


key: cacheLocation

description:
Path to the cache location. Can be a file or a directory. If none specified `.cspellcache` will be used. Relative paths are relative to the config file in which it is defined.

A prefix of `${cwd}` is replaced with the current working directory.


key: cacheStrategy

description: Strategy to use for detecting changed files, default: metadata

default: metadata


key: useCache

description: Store the results of processed files in order to only operate on the changed ones.


key: CacheStrategy

description:
The Strategy to use to detect if a file has changed.
- `metadata` - uses the file system timestamp and size to detect changes (fastest).
- `content` - uses a hash of the file content to check file changes (slower - more accurate).

enum: metadata content


key: CharacterSet

description:
This is a set of characters that can include `-` or `|`
- `-` - indicates a range of characters: `a-c` => `abc`
- `|` - is a group separator, indicating that the characters on either side    are not related.


key: characters


key: cost

description: the cost to insert / delete / replace / swap the characters in a group


key: penalty

description: The penalty cost to apply if the accent is used. This is used to discourage


key: description

description: A description to describe the purpose of the map.


key: insDel

description: The cost to insert/delete one of the substrings in the map. Note: insert/delete costs are symmetrical.


key: map

description:
The set of substrings to map, these are generally single character strings.

Multiple sets can be defined by using a `|` to separate them.

Example: `"eéê|aåá"` contains two different sets.

To add a multi-character substring use `()`.

Example: `"f(ph)(gh)"` results in the following set: `f`, `ph`, `gh`.

- To match the beginning of a word, use `^`: `"(^I)""`.
- To match the end of a word, use `$`: `"(e$)(ing$)"`.


description:
Add a penalty to the final cost. This is used to discourage certain suggestions.

Example: ```yaml # Match adding/removing `-` to the end of a word. map: "$(-$)" replace: 50 penalty: 100 ```

This makes adding a `-` to the end of a word more expensive.

Think of it as taking the toll way for speed but getting the bill later.


key: replace

description: The cost to replace of of the substrings in the map with another substring in the map. Example: Map['a', 'i'] This would be the cost to substitute `a` with `i`: Like `bat` to `bit` or the reverse.


key: swap

description: The cost to swap two adjacent substrings found in the map. Example: Map['e', 'i'] This represents the cost to change `ei` to `ie` or the reverse.


key: CustomDictionaryPath

description: A File System Path to a dictionary file.


key: CustomDictionaryScope

description: Specifies the scope of a dictionary.

enum: user workspace folder


key: DictionaryDefinitionAlternate

description: Only for legacy dictionary definitions.

deprecationMessage: Use `path` instead.

default: S

required: file name


description: Optional description.


key: file

description: Path to the file, only for legacy dictionary definitions.


key: name

description:
This is the name of a dictionary.

Name Format:
- Must contain at least 1 number or letter.
- Spaces are allowed.
- Leading and trailing space will be removed.
- Names ARE case-sensitive.
- Must not contain `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`.


key: noSuggest

description:
Indicate that suggestions should not come from this dictionary. Words in this dictionary are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in this dictionary, it will be removed from the set of possible suggestions.


key: repMap

description: Replacement pairs.


key: type

description: Type of file: S - single word per line, W - each line can contain one or more words separated by space, C - each line is treated like code (Camel Case is allowed). Default is S. C is the slowest to load due to the need to split each line based upon code splitting rules.


key: useCompounds

description: Use Compounds.


key: DictionaryDefinitionAugmented

description: Used to provide extra data related to the dictionary

required: name path


key: path

description: Path to the file.


key: DictionaryDefinitionCustom

description: For Defining Custom dictionaries. They are generally scoped to a `user`, `workspace`, or `folder`. When `addWords` is true, indicates that the spell checker can add words to the file. Note: only plain text files with one word per line are supported at this moment.

required: addWords name path


key: addWords

description: When `true`, let's the spell checker know that words can be added to this dictionary.


description: Path to custom dictionary text file.


key: scope

description: Defines the scope for when words will be added to the dictionary. Scope values: `user`, `workspace`, `folder`.


key: DictionaryDefinitionInline

description: Inline Dictionary Definitions


key: flagWords

description:
List of words to always be considered incorrect. Words found in `flagWords` override `words`.

Format of `flagWords`
- single word entry - `word`
- with suggestions - `word:suggestion` or `word->suggestion, suggestions`

Example: ```ts "flagWords": [   "color: colour",   "incase: in case, encase",   "canot->cannot",   "cancelled->canceled" ] ```


key: ignoreWords

description: List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.


key: suggestWords

description:
A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.

Format of `suggestWords`
- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`
- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`


key: words

description: List of words to be considered correct.


key: description

description: Optional description.


key: DictionaryId


key: DictionaryInformation

description:
Use by dictionary authors to help improve the quality of suggestions given from the dictionary.

Added with `v5.16.0`.

default: a-zA-Z


key: accents

description:
The accent characters.

Default: `"\u0300-\u0341"`


key: adjustments

description: A collection of patterns to test against the suggested words. If the word matches the pattern, then the penalty is applied.


key: alphabet

description: The alphabet to use.


key: costs

description: Define edit costs.


key: hunspellInformation

description: Used by dictionary authors


key: ignore

description:
An optional set of characters that can possibly be removed from a word before checking it.

This is useful in languages like Arabic where Harakat accents are optional.

Note: All matching characters are removed or none. Partial removal is not supported.


key: locale

description: The locale of the dictionary. Example: `nl,nl-be`


key: suggestionEditCosts

description: Used in making suggestions. The lower the value, the more likely the suggestion will be near the top of the suggestion list.


key: DictionaryNegRef

description:
This a negative reference to a named dictionary.

It is used to exclude or include a dictionary by name.

The reference starts with 1 or more `!`.
- `!<dictionary_name>` - Used to exclude the dictionary matching `<dictionary_name>`.
- `!!<dictionary_name>` - Used to re-include a dictionary matching `<dictionary_name>`.    Overrides `!<dictionary_name>`.
- `!!!<dictionary_name>` - Used to exclude a dictionary matching `<dictionary_name>`.    Overrides `!!<dictionary_name>`.


key: DictionaryPath

description: A File System Path to a dictionary file.


key: DictionaryRef

description: This a reference to a named dictionary. It is expected to match the name of a dictionary.


key: DictionaryReference

description:
Reference to a dictionary by name. One of:
-  {@link  DictionaryRef }
-  {@link  DictionaryNegRef }


key: accentCosts

description: The cost to add / remove an accent This should be very cheap, it helps with fixing accent issues.


key: baseCost

description: This is the base cost for making an edit.


key: capsCosts

description: The cost to change capitalization. This should be very cheap, it helps with fixing capitalization issues.


key: firstLetterPenalty

description: The extra cost incurred for changing the first letter of a word. This value should be less than `100 - baseCost`.


key: nonAlphabetCosts

description: This is the cost for characters not in the alphabet.


key: FSPathResolvable

description:
A File System Path.

Special Properties:
- `${cwd}` prefix - will be replaced with the current working directory.
- Relative paths are relative to the configuration file.


key: Features

description: Features are behaviors or settings that can be explicitly configured.


key: weighted-suggestions

description: Enable/disable using weighted suggestions.


key: FsDictionaryPath

description: A File System Path. Relative paths are relative to the configuration file.


key: FsPath


key: Glob

description: These are glob expressions.


key: aff

description:
Selected Hunspell AFF content. The content must be UTF-8

Sections:
- TRY
- MAP
- REP
- KEY
- ICONV
- OCONV

Example: ```hunspell # Comment TRY aeistlunkodmrvpgjhäõbüoöfcwzxðqþ` MAP aàâäAÀÂÄ MAP eéèêëEÉÈÊË MAP iîïyIÎÏY MAP oôöOÔÖ MAP (IJ)(Ĳ) ```


key: costs

description: The costs to apply when using the hunspell settings


key: ioConvertCost

description:
The cost to convert between convert pairs.

The value should be slightly higher than the mapCost.


key: keyboardCost

description:
The cost of replacing or swapping any adjacent keyboard characters.

This should be slightly cheaper than `tryCharCost`.


key: mapCost

description:
mapSet replacement cost is the cost to substitute one character with another from the same set.

Map characters are considered very similar to each other and are often the cause of simple mistakes.


key: replaceCosts

description: The cost to substitute pairs found in the replace settings.


key: tryCharCost

description: The cost of inserting / deleting / or swapping any `tryChars` Defaults to `baseCosts`


key: LanguageIdMultiple

description: This can be 'typescript,cpp,json,literal haskell', etc.


key: LanguageIdMultipleNeg


key: LanguageIdSingle

description: This can be '*', 'typescript', 'cpp', 'json', etc.


key: allowCompoundWords

description: True to enable compound word checking. See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.


key: caseSensitive

description:
Determines if words must match case and accent rules.

- `false` - Case is ignored and accents can be missing on the entire word.   Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.


key: description

description: Optional description of configuration.


key: dictionaries

description:
Optional list of dictionaries to use. Each entry should match the name of the dictionary.

To remove a dictionary from the list, add `!` before the name.

For example, `!typescript` will turn off the dictionary with the name `typescript`.

See the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.


key: dictionaryDefinitions

description:
Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json "dictionaryDefinitions": [   { "name": "custom-words", "path": "./custom-words.txt"} ], "dictionaries": ["custom-words"] ```


key: enabled

description: Is the spell checker enabled.


key: flagWords

description:
List of words to always be considered incorrect. Words found in `flagWords` override `words`.

Format of `flagWords`
- single word entry - `word`
- with suggestions - `word:suggestion` or `word->suggestion, suggestions`

Example: ```ts "flagWords": [   "color: colour",   "incase: in case, encase",   "canot->cannot",   "cancelled->canceled" ] ```


key: id

description: Optional identifier.


key: ignoreRegExpList

description:
List of regular expression patterns or pattern names to exclude from spell checking.

Example: `["href"]` - to exclude html href pattern.

Regular expressions use JavaScript regular expression syntax.

Example: to ignore ALL-CAPS words

JSON ```json "ignoreRegExpList": ["/\\b[A-Z]+\\b/g"] ```

YAML ```yaml ignoreRegExpList:   - >-    /\b[A-Z]+\b/g ```

By default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).


key: ignoreWords

description: List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.


key: includeRegExpList

description:
List of regular expression patterns or defined pattern names to match for spell checking.

If this property is defined, only text matching the included patterns will be checked.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).


key: languageId

description: The language id.  Ex: "typescript", "html", or "php".  "*" -- will match all languages.


key: local

description: Deprecated - The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales.

deprecationMessage: Use `locale` instead.


key: locale

description: The locale filter, matches against the language. This can be a comma separated list. "*" will match all locales.


key: name

description: Optional name of configuration.


key: noSuggestDictionaries

description:
Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.


key: patterns

description:
Defines a list of patterns that can be used with the `ignoreRegExpList` and `includeRegExpList` options.

For example:

```javascript "ignoreRegExpList": ["comments"], "patterns": [   {     "name": "comment-single-line",     "pattern": "/#.*/g"   },   {     "name": "comment-multi-line",     "pattern": "/(?:\\/\\*[\\s\\S]*?\\*\\/)/g"   },   // You can also combine multiple named patterns into one single named pattern   {     "name": "comments",     "pattern": ["comment-single-line", "comment-multi-line"]   } ] ```


key: suggestWords

description:
A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.

Format of `suggestWords`
- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`
- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`


key: words

description: List of words to be considered correct.


key: LocaleId

description: This is a written language locale like: 'en', 'en-GB', 'fr', 'es', 'de', etc.


key: allowCompoundWords


key: caseSensitive


key: description

description: Optional description of configuration.


key: dictionaries


key: dictionaryDefinitions


key: enabled

description: Is the spell checker enabled.


key: enabledLanguageIds

description: languageIds for the files to spell check.


key: filename

description: Glob pattern or patterns to match against.


key: flagWords


key: id

description: Optional identifier.


key: ignoreRegExpList


key: ignoreWords


key: includeRegExpList


key: language

description: Sets the locale.


key: languageId

description: Sets the programming language id to match file type.


key: languageSettings

description:
Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.


key: loadDefaultConfiguration

description: By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.


key: maxDuplicateProblems

description: The maximum number of times the same word can be flagged as an error in a file.


key: maxNumberOfProblems

description: The maximum number of problems to report in a file.


key: minWordLength

description: The minimum length of a word before checking it against a dictionary.


key: name

description: Optional name of configuration.


key: noSuggestDictionaries


key: numSuggestions

description: Number of suggestions to make.


key: patterns


key: pnpFiles

description: The PnP files to search for. Note: `.mjs` files are not currently supported.


key: suggestWords


key: suggestionNumChanges

description:
The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.


key: suggestionsTimeout

description: The maximum amount of time in milliseconds to generate suggestions for a word.


key: usePnP

description:
Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence of a PnP file and load it.


key: words

description: List of words to be considered correct.


key: id

description: Id of the Adjustment, i.e. `short-compound`


key: penalty

description: The amount of penalty to apply.


key: regexp

description: RegExp pattern to match


key: PatternId

description: This matches the name in a pattern definition.


key: PatternRef

description: A PatternRef is a Pattern or PatternId.


key: description

description: Description of the pattern.


description: Pattern name, used as an identifier in ignoreRegExpList and includeRegExpList. It is possible to redefine one of the predefined patterns to override its value.


key: pattern

description: RegExp pattern or array of RegExp patterns.


key: RegExpPatternList

description: A list of pattern names or regular expressions.


key: ReporterModuleName

description: The module or path to the the reporter to load.


key: ReporterOptions

description: Options to send to the reporter. These are defined by the reporter.


key: ReporterSettings

description:
Declare a reporter to use.

`default` - is a special name for the default cli reporter.

Examples:
- `"default"` - to use the default reporter
- `"@cspell/cspell-json-reporter"` - use the cspell JSON reporter.
- `["@cspell/cspell-json-reporter", { "outFile": "out.json" }]`


key: SimpleGlob

description: Simple Glob string, the root will be globRoot.


key: SuggestionCostMapDef

description:
A WeightedMapDef enables setting weights for edits between related characters and substrings.

Multiple groups can be defined using a `|`. A multi-character substring is defined using `()`.

For example, in some languages, some letters sound alike.

```yaml   map: 'sc(sh)(sch)(ss)|t(tt)' # two groups.   replace: 50    # Make it 1/2 the cost of a normal edit to replace a `t` with `tt`. ```

The following could be used to make inserting, removing, or replacing vowels cheaper. ```yaml   map: 'aeiouy'   insDel: 50     # Make it is cheaper to insert or delete a vowel.   replace: 45    # It is even cheaper to replace one with another. ```

Note: the default edit distance is 100.


key: VersionLatest

description: Configuration File Version.


key: VersionLegacy

description: Legacy Configuration File Versions.

deprecationMessage: Use `0.2` instead.


key: $schema

description: Url to JSON Schema


key: allowCompoundWords

description: True to enable compound word checking. See [Case Sensitivity](https://cspell.org/docs/case-sensitive/) for more details.


key: cache

description: Define cache settings.


key: caseSensitive

description:
Determines if words must match case and accent rules.

- `false` - Case is ignored and accents can be missing on the entire word.   Incorrect accents or partially missing accents will be marked as incorrect.
- `true` - Case and accents are enforced.


description: Optional description of configuration.


key: dictionaries

description:
Optional list of dictionaries to use. Each entry should match the name of the dictionary.

To remove a dictionary from the list, add `!` before the name.

For example, `!typescript` will turn off the dictionary with the name `typescript`.

See the [Dictionaries](https://cspell.org/docs/dictionaries/) and [Custom Dictionaries](https://cspell.org/docs/dictionaries-custom/) for more details.


key: dictionaryDefinitions

description:
Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

```json "dictionaryDefinitions": [   { "name": "custom-words", "path": "./custom-words.txt"} ], "dictionaries": ["custom-words"] ```


key: enableGlobDot

description:
Enable scanning files and directories beginning with `.` (period).

By default, CSpell does not scan `hidden` files.


key: enabled

description: Is the spell checker enabled.


key: enabledLanguageIds

description: languageIds for the files to spell check.


key: failFast

description: Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)


key: features

description: Configure CSpell features.


key: files

description:
Glob patterns of files to be checked.

Glob patterns are relative to the `globRoot` of the configuration file that defines them.


key: flagWords

description:
List of words to always be considered incorrect. Words found in `flagWords` override `words`.

Format of `flagWords`
- single word entry - `word`
- with suggestions - `word:suggestion` or `word->suggestion, suggestions`

Example: ```ts "flagWords": [   "color: colour",   "incase: in case, encase",   "canot->cannot",   "cancelled->canceled" ] ```


key: gitignoreRoot

description: Tells the spell checker to searching for `.gitignore` files when it reaches a matching root.


key: globRoot

description:
The root to use for glob patterns found in this configuration. Default: location of the configuration file.   For compatibility reasons, config files with version 0.1, the glob root will   default to be `${cwd}`.

Use `globRoot` to define a different location. `globRoot` can be relative to the location of this configuration file. Defining globRoot, does not impact imported configurations.

Special Values:
- `${cwd}` - will be replaced with the current working directory.
- `.` - will be the location of the containing configuration file.


key: id

description: Optional identifier.


key: ignorePaths

description:
Glob patterns of files to be ignored.

Glob patterns are relative to the `globRoot` of the configuration file that defines them.


key: ignoreRegExpList

description:
List of regular expression patterns or pattern names to exclude from spell checking.

Example: `["href"]` - to exclude html href pattern.

Regular expressions use JavaScript regular expression syntax.

Example: to ignore ALL-CAPS words

JSON ```json "ignoreRegExpList": ["/\\b[A-Z]+\\b/g"] ```

YAML ```yaml ignoreRegExpList:   - >-    /\b[A-Z]+\b/g ```

By default, several patterns are excluded. See [Configuration](https://cspell.org/configuration/patterns) for more details.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).


key: ignoreWords

description: List of words to be ignored. An ignored word will not show up as an error, even if it is also in the `flagWords`.


key: import

description:
Allows this configuration to inherit configuration for one or more other files.

See [Importing / Extending Configuration](https://cspell.org/configuration/imports/) for more details.


key: includeRegExpList

description:
List of regular expression patterns or defined pattern names to match for spell checking.

If this property is defined, only text matching the included patterns will be checked.

While you can create your own patterns, you can also leverage several patterns that are [built-in to CSpell](https://cspell.org/types/cspell-types/types/PredefinedPatterns.html).


key: language

description:
Current active spelling language. This specifies the language locale to use in choosing the general dictionary.

For example:

- "en-GB" for British English.
- "en,nl" to enable both English and Dutch.

default: en


key: languageId

description: Forces the spell checker to assume a give language id. Used mainly as an Override.


key: languageSettings

description:
Additional settings for individual languages.

See [Language Settings](https://cspell.org/configuration/language-settings/) for more details.


key: loadDefaultConfiguration

description: By default, the bundled dictionary configurations are loaded. Explicitly setting this to `false` will prevent ALL default configuration from being loaded.


key: maxDuplicateProblems

description: The maximum number of times the same word can be flagged as an error in a file.


key: maxNumberOfProblems

description: The maximum number of problems to report in a file.


key: minWordLength

description: The minimum length of a word before checking it against a dictionary.


key: name

description: Optional name of configuration.


key: noConfigSearch

description: Prevents searching for local configuration when checking individual documents.


key: noSuggestDictionaries

description:
Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.


key: numSuggestions

description: Number of suggestions to make.


key: overrides

description:
Overrides are used to apply settings for specific files in your project.

For example:

```javascript "overrides": [   // Force `*.hrr` and `*.crr` files to be treated as `cpp` files:   {     "filename": "**/{*.hrr,*.crr}",     "languageId": "cpp"   },   // Force `*.txt` to use the Dutch dictionary (Dutch dictionary needs to be installed separately):   {     "language": "nl",     "filename": "**/dutch/**/*.txt"   } ] ```


key: patterns

description:
Defines a list of patterns that can be used with the `ignoreRegExpList` and `includeRegExpList` options.

For example:

```javascript "ignoreRegExpList": ["comments"], "patterns": [   {     "name": "comment-single-line",     "pattern": "/#.*/g"   },   {     "name": "comment-multi-line",     "pattern": "/(?:\\/\\*[\\s\\S]*?\\*\\/)/g"   },   // You can also combine multiple named patterns into one single named pattern   {     "name": "comments",     "pattern": ["comment-single-line", "comment-multi-line"]   } ] ```


key: pnpFiles

description: The PnP files to search for. Note: `.mjs` files are not currently supported.


key: readonly

description: Indicate that the configuration file should not be modified. This is used to prevent tools like the VS Code Spell Checker from modifying the file to add words and other configuration.


key: reporters

description:
Define which reports to use. `default` - is a special name for the default cli reporter.

Examples:
- `["default"]` - to use the default reporter
- `["@cspell/cspell-json-reporter"]` - use the cspell JSON reporter.
- `[["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]`
- `[ "default", ["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]` - Use both the default reporter and the cspell-json-reporter.


key: showStatus

description: Show status.


key: spellCheckDelayMs

description: Delay in ms after a document has changed before checking it for spelling errors.


key: suggestWords

description:
A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.

Format of `suggestWords`
- Single suggestion (possible auto fix)     - `word: suggestion`     - `word->suggestion`
- Multiple suggestions (not auto fixable)    - `word: first, second, third`    - `word->first, second, third`


key: suggestionNumChanges

description:
The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an `s` onto `example` -> `examples` is considered 1 change.

Range: between 1 and 5.


key: suggestionsTimeout

description: The maximum amount of time in milliseconds to generate suggestions for a word.


key: useGitignore

description: Tells the spell checker to load `.gitignore` files and skip files that match the globs in the `.gitignore` files found.


key: usePnP

description:
Packages managers like Yarn 2 use a `.pnp.cjs` file to assist in loading packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence of a PnP file and load it.


key: userWords

description: Words to add to global dictionary -- should only be in the user config file.


key: validateDirectives

description: Verify that the in-document directives are correct.


key: version

description:
Configuration format version of the settings file.

This controls how the settings in the configuration file behave.


key: words

description: List of words to be considered correct.


key: username

description:
If using `sfdx-cli` auth, this is the only property needed to authenticate.
Otherwise, supply additional oAuth parameters


key: apiName

description: The Target SObject API name


key: propName

description: The generated class property name


key: SObjectConfig

description: Object used to configure advanced settings on SObject generation


key: autoConvertNames

description: Defaulted to true.  If set to false, names will NOT be auto-converted to standard javascript conventions


key: className

description:
The generated class name.  If not set, it will be automatically
converted to standard javascript Class convention


key: enforcePicklistValues

description:
*Overrides Global Setting*
The path to generate files to.
   If the destination is a folder, it will generate one file per object.
   If the destination is a `.ts` file, a single file will be generated.
   If not set, class output will be logged to `stdout`


key: fieldMappings

description: List of field mappings to override the auto-conversion


key: generatePicklists

description:
*Overrides Global Setting*
Make picklist fields strongly typed to generated enums. `generatePicklists` must also be `true`
  `ALL`: for all picklist fields, regardless of salesforce enforcement
  `RESTRICTED`: only on fields where the values are restricted on Salesforce


key: auth

description:
Authentication Method.  Choose one of three:
- You can either username/password oAuth configuration
- sfdx configuration (`username` only)
- `accessToken` & `instanceUrl`
See readme for examples.


description:
Make picklist fields strongly typed to generated enums. `generatePicklists` must also be `true`
  `ALL`: for all picklist fields, regardless of salesforce enforcement
  `RESTRICTED`: only on fields where the values are restricted on Salesforce


description: Flag to generate enums for picklist fields.  Defaulted to false


key: outPath

description:
The path to generate files to.
   If the destination is a folder, it will generate one file per object.
   If the destination is a `.ts` file, a single file will be generated.
   If not set, class output will be logged to `stdout`


key: sObjects

description: The SObjects to generate classes for.  Can either be a string or an `SObjectConfig` object


description:
The .clang-format file is a YAML file defining formatting styles used by clang-format.

 see https://clang.llvm.org/docs/ClangFormatStyleOptions.html

enum: Chromium Google LLVM Mozilla WebKit Microsoft GNU InheritParentConfig chromium google llvm mozilla webkit microsoft gnu inheritparentconfig

type: integer

enum: Align DontAlign AlwaysBreak BlockIndent

enum: None Left Right

enum: None Consecutive AcrossEmptyLines AcrossComments AcrossEmptyLinesAndComments

enum: Left Right DontAlign

enum: Align DontAlign AlignAfterOperator

enum: Leave Always Never

enum: Never Empty Always

enum: All None Inline Empty InlineOnly

enum: None Empty Inline All

enum: AllIfsAndElse Never WithoutElse OnlyFirstIf

enum: None All TopLevel

enum: None All TopLevel AllDefinitions TopLevelDefinitions

enum: Yes No MultiLine

enum: Both None Before After

enum: Never MultiLine Always

enum: Always Leave Never

enum: Never OnlyMultiline Always

enum: None NonAssignment All

enum: Attach Linux Mozilla Stroustrup Allman Whitesmiths GNU WebKit Custom

enum: Never Allowed Always

enum: BeforeColon BeforeComma AfterColon

enum: BeforeColon BeforeComma AfterColon AfterComma

enum: None Cpp ObjC CSharp Java JavaScript Json Proto TableGen TextProto Verilog

enum: const inline static constexpr volatile restrict type

EnclosingFunctions: EqualsProto EquivToProto PARSE_PARTIAL_TEXT_PROTO PARSE_TEST_PROTO PARSE_TEXT_PROTO ParseTextOrDie ParseTextProtoOrDie ParseTestProto ParsePartialTestProto

enum: OwnLine WithPreceding WithFollowing SingleLine

enum: ControlStatements Never ControlStatementsExceptControlMacros NonEmptyParentheses Always Custom

enum: Never ForIndentation ForContinuationAndIndentation AlignWithSpaces Always


key: BasedOnStyle

description: The style used for all options not specifically set in the configuration.

enum: Chromium Google LLVM Mozilla WebKit Microsoft GNU InheritParentConfig chromium google llvm mozilla webkit microsoft gnu inheritparentconfig


key: AccessModifierOffset

description:
clang-format 3.3

 The extra indent or outdent of access modifiers, e.g. public:.


key: AlignAfterOpenBracket

description:
clang-format 3.8

 This applies to round brackets (parentheses), angle brackets and square brackets.

enum: Align DontAlign AlwaysBreak BlockIndent


key: AlignArrayOfStructures

description:
clang-format 13

 if not None, when using initialization for an array of structs aligns the fields into columns.

 NOTE: In clang-format 15 this option only applied to arrays with equal number of columns per row.

enum: None Left Right


key: AlignConsecutiveMacros

description:
clang-format 9

 Style of aligning consecutive macros.

enum: None Consecutive AcrossEmptyLines AcrossComments AcrossEmptyLinesAndComments


description:
clang-format 15

 Alignment options.


key: Enabled

description: Whether aligning is enabled.


key: AcrossEmptyLines

description: Whether to align across empty lines.


key: AcrossComments

description: Whether to align across comments.


key: AlignConsecutiveAssignments

description:
clang-format 3.8

 Style of aligning consecutive assignments.


description:
clang-format 15

 Alignment options.


key: AlignCompound

description: Whether compound assignments like += are aligned along with =.


key: PadOperators

description: Whether short assignment operators are left-padded to the same length as long ones in order to put all assignment operators to the right of the left hand side.


key: AlignConsecutiveBitFields

description:
clang-format 11

 Style of aligning consecutive bit fields.


description:
clang-format 15

 Alignment options.


key: AlignConsecutiveDeclarations

description:
clang-format 3.8

 Style of aligning consecutive declarations.


description:
clang-format 15

 Alignment options.


key: AlignEscapedNewlines

description:
clang-format 5

 Options for aligning backslashes in escaped newlines.

enum: Left Right DontAlign


key: AlignOperands

description:
clang-format 3.5

 If true, horizontally align operands of binary and ternary expressions.

enum: Align DontAlign AlignAfterOperator


key: AlignTrailingComments

description:
clang-format 3.7

 Control of trailing comments.

 NOTE: In clang-format 16 this option is not a bool but can be set to the options. Conventional bool options still can be parsed as before.


description:
clang-format 16

 Alignment options.

enum: Leave Always Never


key: Kind

description: Specifies the way to align trailing comments.


key: OverEmptyLines

description: How many empty lines to apply alignment.


key: AllowAllArgumentsOnNextLine

description:
clang-format 9

 If a function call or braced initializer list doesn't fit on a line, allow putting all arguments onto the next line, even if BinPackArguments is false.


description:
clang-format 9

 This option is deprecated in clang-format 15. See NextLine of PackConstructorInitializers.

 If a constructor definition with a member initializer list doesn't fit on a single line, allow putting all member initializers onto the next line, if `ConstructorInitializerAllOnOneLineOrOnePerLine` is true. Note that this parameter has no effect if `ConstructorInitializerAllOnOneLineOrOnePerLine` is false.


description:
clang-format 3.3

 If the function declaration doesn't fit on a line, allow putting all parameters of a function declaration onto the next line even if BinPackParameters is false.


key: AllowShortEnumsOnASingleLine

description:
clang-format 11

 Allow short enums on a single line.


key: AllowShortBlocksOnASingleLine

description:
clang-format 3.5

 Dependent on the value, while (true) { continue; } can be put on a single line.

enum: Never Empty Always


key: AllowShortCaseLabelsOnASingleLine

description:
clang-format 3.6

 If true, short case labels will be contracted to a single line.


key: AllowShortFunctionsOnASingleLine

description:
clang-format 3.5

 Dependent on the value, int f() { return 0; } can be put on a single line.

enum: All None Inline Empty InlineOnly


key: AllowShortLambdasOnASingleLine

description:
clang-format 9

 Dependent on the value, auto lambda []() { return 0; } can be put on a single line.

enum: None Empty Inline All


key: AllowShortIfStatementsOnASingleLine

description:
clang-format 9

 If true, if (a) return; can be put on a single line.

enum: AllIfsAndElse Never WithoutElse OnlyFirstIf


key: AllowShortLoopsOnASingleLine

description:
clang-format 3.7

 If true, while (true) continue; can be put on a single line.


key: AlwaysBreakAfterDefinitionReturnType

description:
clang-format 3.7

 This option is deprecated and is retained for backwards compatibility.

 The function definition return type breaking style to use. This option is deprecated and is retained for backwards compatibility

enum: None All TopLevel


key: AlwaysBreakAfterReturnType

description:
clang-format 3.8

 The function declaration return type breaking style to use.

enum: None All TopLevel AllDefinitions TopLevelDefinitions


key: AlwaysBreakBeforeMultilineStrings

description:
clang-format 3.4

 If true, always break before multiline string literals.


key: AlwaysBreakTemplateDeclarations

description:
clang-format 7

 The template declaration breaking style to use.

enum: Yes No MultiLine


key: AttributeMacros

description:
clang-format 12

 A vector of strings that should be interpreted as attributes/qualifiers instead of identifiers. This can be useful for language extensions or static analyzer annotations.


key: BinPackArguments

description:
clang-format 3.7

 If false, a function call's arguments will either be all on the same line or will have one line each.


key: BinPackParameters

description:
clang-format 3.7

 If false, a function declaration's or function definition's parameters will either all be on the same line or will have one line each.


key: BitFieldColonSpacing

description:
clang-format 12

 The BitFieldColonSpacingStyle to use for bitfields.

enum: Both None Before After


key: BraceWrapping

description:
clang-format 3.8

 Control of individual brace wrapping cases.If BreakBeforeBraces is set to BS_Custom, use this to specify how each individual brace case should be handled. Otherwise, this is ignored.

enum: Never MultiLine Always


key: AfterCaseLabel

description: Wrap case labels.


key: AfterClass

description: Wrap class definitions.


key: AfterControlStatement

description: Wrap control statements (if/for/while/switch/...).


key: AfterEnum

description: Wrap enum definitions.


key: AfterFunction

description: Wrap function definitions.


key: AfterNamespace

description: Wrap namespace definitions.


key: AfterObjCDeclaration

description: Wrap ObjC definitions (interfaces, implementations…). @autoreleasepool and @synchronized blocks are wrapped according to AfterControlStatement flag.


key: AfterStruct

description: Wrap struct definitions.


key: AfterUnion

description: Wrap union definitions.


key: AfterExternBlock

description: Wrap extern blocks.


key: BeforeCatch

description: Wrap before catch.


key: BeforeElse

description: Wrap before else.


key: BeforeLambdaBody

description: Wrap lambda block.


key: BeforeWhile

description: Wrap before while.


key: IndentBraces

description: Indent the wrapped braces themselves.


key: SplitEmptyFunction

description: If false, empty function body can be put on a single line. This option is used only if the opening brace of the function has already been wrapped, i.e. the AfterFunction brace wrapping mode is set, and the function could/should not be put on a single line (as per AllowShortFunctionsOnASingleLine and constructor formatting options).


key: SplitEmptyRecord

description: If false, empty record (e.g. class, struct or union) body can be put on a single line. This option is used only if the opening brace of the record has already been wrapped, i.e. the AfterClass (for classes) brace wrapping mode is set.


key: SplitEmptyNamespace

description: If false, empty namespace body can be put on a single line. This option is used only if the opening brace of the namespace has already been wrapped, i.e. the AfterNamespace brace wrapping mode is set.


key: BreakAfterAttributes

description:
clang-format 16

 Break after a group of C++11 attributes before a function declaration/definition name.

enum: Always Leave Never


key: BreakAfterJavaFieldAnnotations

description:
clang-format 3.8

 Break after each annotation on a field in Java files.


key: BreakArrays

description:
clang-format 16

 If true, clang-format will always break after a Json array [ otherwise it will scan until the closing ] to determine if it should add newlines between elements (prettier compatible).


key: BreakBeforeInlineASMColon

description:
clang-format 16

 The inline ASM colon style to use..

enum: Never OnlyMultiline Always


key: BreakBeforeBinaryOperators

description:
clang-format 3.6

 The way to wrap binary operators.

enum: None NonAssignment All


key: BreakBeforeBraces

description:
clang-format 3.7

 The brace breaking style to use.

enum: Attach Linux Mozilla Stroustrup Allman Whitesmiths GNU WebKit Custom


key: BreakBeforeConceptDeclarations

description:
clang-format 12

 The concept declaration style to use.

enum: Never Allowed Always


key: BreakBeforeInheritanceComma

description:
clnag-format 5

 If true, in the class inheritance expression clang-format will break before : and , if there is multiple inheritance.


key: BreakBeforeTernaryOperators

description:
clang-format 3.7

 If true, ternary operators will be placed after line breaks.


key: BreakConstructorInitializers

description:
clang-format 5

 The constructor initializers style to use.

enum: BeforeColon BeforeComma AfterColon


key: BreakInheritanceList

description:
clang-format 7

 The inheritance list style to use.

enum: BeforeColon BeforeComma AfterColon AfterComma


key: BreakStringLiterals

description:
clang-format 3.9

 Allow breaking string literals when formatting.


key: BreakConstructorInitializersBeforeComma

description:
clang-format 3.8

 Always break constructor initializers before commas and align the commas with the colon.


key: ColumnLimit

description:
clang-format 3.7

 The column limit.


key: CommentPragmas

description:
clang-format 3.7

 A regular expression that describes comments with special meaning, which should not be split into lines or otherwise changed.


key: CompactNamespaces

description:
clang-format 5

 If true, consecutive namespace declarations will be on the same line. If false, each namespace is declared on a new line.


description:
clang-format 3.7

 This option is deprecated. See CurrentLine of PackConstructorInitializers.


key: ConstructorInitializerIndentWidth

description:
clang-format 3.7

 The number of characters to use for indentation of constructor initializer lists as well as inheritance lists.


key: ContinuationIndentWidth

description:
clang-format 3.7

 Indent width for line continuations.


description:
clang-format 3.4

 If true, format braced lists as best suited for C++11 braced lists.


key: DeriveLineEnding

description:
clang-format 10

 Analyze the formatted file for the most used line ending (
 or
). UseCRLF is only used as a fallback if none can be derived.

 This option is deprecated in clang-format 16. See DeriveLF and DeriveCRLF of LineEnding.


key: DerivePointerAlignment

description:
clang-format 3.7

 If true, analyze the formatted file for the most common alignment of & and *. Pointer and reference alignment styles are going to be updated according to the preferences found in the file. PointerAlignment is then used only as fallback.


key: DisableFormat

description:
clang-format 3.7

 Disables formatting completely.


key: EmptyLineAfterAccessModifier

description:
clang-format 13

 Defines when to put an empty line after access modifiers. EmptyLineBeforeAccessModifier configuration handles the number of empty lines between two access modifiers.

enum: Never Leave Always


key: EmptyLineBeforeAccessModifier

description:
clang-format 12

 Defines in which cases to put empty line before access modifiers.

enum: LogicalBlock Never Leave Always


key: ExperimentalAutoDetectBinPacking

description:
clang-format 3.7

 If true, clang-format detects whether function calls and definitions are formatted with one parameter per line.


key: FixNamespaceComments

description:
clang-format 5

 If true, clang-format adds missing namespace end comments for short namespaces and fixes invalid existing ones. This doesn't affect short namespaces, which are controlled by "ShortNamespaceLines".


key: ForEachMacros

description:
clang-format 3.7

 A vector of macros that should be interpreted as foreach loops instead of as function calls.


key: IfMacros

description:
clang-format 13

 A vector of macros that should be interpreted as conditionals instead of as function calls.


key: IncludeBlocks

description:
clang-format 7

 Dependent on the value, multiple #include blocks can be sorted as one and divided based on category.

enum: Regroup Preserve Merge


key: IncludeCategories

description:
clang-format 7

 Regular expressions denoting the different #include categories used for ordering #includes. If none of the regular expressions match, INT_MAX is assigned as category.The main header for a source file automatically gets category 0. so that it is generally kept at the beginning of the #includes (https://llvm.org/docs/CodingStandards.html#include-style). However, you can also assign negative priorities if you have certain headers that always need to be first.
 There is a third and optional field SortPriority which can used while IncludeBlocks = IBS_Regroup to define the priority in which #includes should be ordered. The value of Priority defines the order of #include blocks and also allows the grouping of #includes of different priority. SortPriority is set to the value of Priority as default if it is not assigned.

required: Regex Priority


key: IncludeIsMainRegex

description:
clang-format 7

 Specify a regular expression of suffixes that are allowed in the file-to-main-include mapping.
When guessing whether a #include is the "main" include (to assign category 0, see above), use this regex of allowed suffixes to the header stem. A partial match is done, so that: - "" means "arbitrary suffix" - "$" means "no suffix"
For example, if configured to "(_test)?$", then a header a.h would be seen as the "main" include in both a.cc and a_test.cc.


key: IncludeIsMainSourceRegex

description:
clang-format 7

 Specify a regular expression for files being formatted that are allowed to be considered "main" in the file-to-main-include mapping.
By default, clang-format considers files as "main" only when they end with: .c, .cc, .cpp, .c++, .cxx, .m or .mm extensions. For these files a guessing of "main" include takes place (to assign category 0, see above). This config option allows for additional suffixes and extensions for files to be considered as "main".
By default, clang-format considers files as "main" only when they end with: .c, .cc, .cpp, .c++, .cxx, .m or .mm extensions. For these files a guessing of "main" include takes place (to assign category 0, see above). This config option allows for additional suffixes and extensions for files to be considered as "main".


key: IndentAccessModifiers

description:
clang-format 13

 Specify whether access modifiers should have their own indentation level.
When false, access modifiers are indented (or outdented) relative to the record members, respecting the AccessModifierOffset. Record members are indented one level below the record. When true, access modifiers get their own indentation level. As a consequence, record members are always indented 2 levels below the record, regardless of the access modifier presence. Value of the AccessModifierOffset is ignored.


key: IndentCaseBlocks

description:
clang-format 11

 Indent case label blocks one level from the case label.
When false, the block following the case label uses the same indentation level as for the case label, treating the case label the same as an if-statement. When true, the block gets indented as a scope block.


key: IndentCaseLabels

description:
clang-format 3.3

 Indent case labels one level from the switch statement.
When false, use the same indentation level as for the switch statement. Switch statement body is always indented one level more than case labels (except the first block following the case label, which itself indents the code - unless IndentCaseBlocks is enabled).


key: IndentExternBlock

description:
clang-format 11

 IndentExternBlockStyle is the type of indenting of extern blocks.

enum: AfterExternBlock NoIndent Indent


key: IndentGotoLabels

description:
clang-format 10

 Indent goto labels.
When false, goto labels are flushed left.


key: IndentPPDirectives

description:
clang-format 6

 The preprocessor directive indenting style to use.

enum: None AfterHash BeforeHash


key: IndentRequiresClause

description:
clang-format 15

 Indent the requires clause in a template. This only applies when RequiresClausePosition is OwnLine, or WithFollowing.


key: IndentRequires

description:
clang-format 12-14

 Indent the requires clause in a template. This only applies when RequiresClausePosition is OwnLine, or WithFollowing. In clang-format 12, 13 and 14 it was named IndentRequires.


key: IndentWidth

description:
clang-format 3.7

 The number of columns to use for indentation.


key: IndentWrappedFunctionNames

description:
clang-format 3.7

 Indent if a function definition or declaration is wrapped after the type.


key: InsertBraces

description:
clang-fomrat 15
 Insert braces after control statements (if, else, for, do, and while) in C++ unless the control statements are inside macro definitions or the braces would enclose preprocessor directives.

 Warning: Setting this option to true could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option.


key: InsertNewlineAtEOF

description:
clang-fomrat 16
 Insert a newline at end of file if missing.


key: InsertTrailingCommas

description:
clang-fromat 11

 If set to TCS_Wrapped will insert trailing commas in container literals (arrays and objects) that wrap across multiple lines. It is currently only available for JavaScript and disabled by default TCS_None. InsertTrailingCommas cannot be used together with BinPackArguments as inserting the comma disables bin-packing.


key: IntegerLiteralSeparator

description:
clang-format 16

 Format integer literal separators (' for C++ and _ for C#, Java, and JavaScript).

 Separator format of integer literals of different bases. If negative, remove separators. If 0, leave the literal as is. If positive, insert separators between digits starting from the rightmost digit.

 You can also specify a minimum number of digits (BinaryMinDigits, DecimalMinDigits, and HexMinDigits) the integer literal must have in order for the separators to be inserted.


key: Binary

description: Format separators in binary literals.


key: BinaryMinDigits

description: Format separators in binary literals with a minimum number of digits.


key: Decimal

description: Format separators in decimal literals.


key: DecimalMinDigits

description: Format separators in decimal literals with a minimum number of digits.


key: Hex

description: Format separators in hexadecimal literals


key: HexMinDigits

description: Format separators in hexadecimal literals with a minimum number of digits.


key: JavaImportGroup

description:
clang-format 8

 The JavaScriptQuoteStyle to use for JavaScript strings.


key: JavaScriptQuotes

description:
clang-fromat 3.9

 The JavaScriptQuoteStyle to use for JavaScript strings.

enum: Leave Single Double


key: JavaScriptWrapImports

description:
clang-format 3.9

 Whether to wrap JavaScript import/export statements.


key: KeepEmptyLinesAtTheStartOfBlocks

description:
clang-format 3.7

 If true, the empty line at the start of blocks is kept.


key: LambdaBodyIndentation

description:
clang-format 13

 The indentation style of lambda bodies. Signature (the default) causes the lambda body to be indented one additional level relative to the indentation level of the signature. OuterScope forces the lambda body to be indented one additional level relative to the parent scope containing the lambda signature. For callback-heavy code, it may improve readability to have the signature indented two levels and to use OuterScope. The KJ style guide requires OuterScope. KJ style guide

enum: Signature OuterScope


key: Language

description:
clang-format 3.5

 Language, this format style is targeted at.

enum: None Cpp ObjC CSharp Java JavaScript Json Proto TableGen TextProto Verilog


key: LineEnding

description:
clang-format 16

 Line ending style (\n or \r\n) to use.

enum: LF CRLF DeriveLF DeriveCRLF


key: MacroBlockBegin

description:
clang-format 3.7

 A regular expression matching macros that start a block.


key: MacroBlockEnd

description:
clang-format 3.7

 A regular expression matching macros that end a block.


key: MaxEmptyLinesToKeep

description:
clang-format 3.7

 The maximum number of consecutive empty lines to keep.


key: NamespaceIndentation

description:
clnag-format 3.7

 The indentation used for namespaces.

enum: None Inner All


key: NamespaceMacros

description:
clnag-format 9

 A vector of macros which are used to open namespace blocks.


key: ObjCBinPackProtocolList

description:
clang-format 7

 Controls bin-packing Objective-C protocol conformance list items into as few lines as possible when they go over ColumnLimit.If Auto (the default), delegates to the value in BinPackParameters. If that is true, bin-packs Objective-C protocol conformance list items into as few lines as possible whenever they go over ColumnLimit.
If Always, always bin-packs Objective-C protocol conformance list items into as few lines as possible whenever they go over ColumnLimit.
If Never, lays out Objective-C protocol conformance list items onto individual lines whenever they go over ColumnLimit.

default: Auto

enum: Never Auto Always


key: ObjCBlockIndentWidth

description:
clang-format 3.7

 The number of characters to use for indentation of ObjC blocks.


key: ObjCBreakBeforeNestedBlockParam

description:
clang-format 11

 Break parameters list into lines when there is nested block parameters in a function call.


key: ObjCSpaceAfterProperty

description:
clang-format 3.7

 Add a space after @property in Objective-C, i.e. use @property (readonly) instead of @property(readonly).


key: ObjCSpaceBeforeProtocolList

description:
clang-format 3.7

 Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol>.


key: PPIndentWidth

description:
clang-format 13

 The number of columns to use for indentation of preprocessor statements. When set to -1 (default) IndentWidth is used also for preprocessor statements.


key: PackConstructorInitializers

description:
clang-format 14

 The pack constructor initializers style to use.

enum: Never BinPack CurrentLine NextLine


key: PenaltyBreakAssignment

description:
clang-format 5

 The penalty for breaking around an assignment operator.


key: PenaltyBreakBeforeFirstCallParameter

description:
clang-format 3.7

 The penalty for breaking a function call after call(.


key: PenaltyBreakComment

description:
clang-format 3.7

 The penalty for each line break introduced inside a comment.


key: PenaltyBreakFirstLessLess

description:
clang-format 3.7

 The penalty for breaking before the first <<.


key: PenaltyBreakOpenParenthesis

description:
clang-format 14

 The penalty for breaking after (.


key: PenaltyBreakString

description:
clang-format 3.7

 The penalty for each line break introduced inside a string literal.


key: PenaltyBreakTemplateDeclaration

description:
clang-format 7

 The penalty for breaking after template declaration.


key: PenaltyExcessCharacter

description:
clang-format 3.7

 The penalty for each character outside of the column limit.


key: PenaltyIndentedWhitespace

description:
clang-format 12

 Penalty for each character of whitespace indentation (counted relative to leading non-whitespace column).


key: PenaltyReturnTypeOnItsOwnLine

description:
clang-format 3.7

 Penalty for putting the return type of a function onto its own line.


key: PointerAlignment

description:
clang-format 3.7

 Pointer and reference alignment style.

enum: Left Right Middle


key: QualifierAlignment

description:
clang-format 14

 Different ways to arrange specifiers and qualifiers (e.g. const/volatile).

 Warning:Setting QualifierAlignment to something other than Leave, COULD lead to incorrect code formatting due to incorrect decisions made due to clang-formats lack of complete semantic information.

 As such extra care should be taken to review code changes made by the use of this option.

enum: Leave Left Right Custom


key: QualifierOrder

description:
clang-format 14

 The order in which the qualifiers appear. Order is an array that can contain any of the following.

 Note: it MUST contain 'type'. Items to the left of 'type' will be placed to the left of the type and aligned in the order supplied. Items to the right of 'type' will be placed to the right of the type and aligned in the order supplied.

enum: const inline static constexpr volatile restrict type


key: RawStringFormats

description:
clang-format 6

 Defines hints for detecting supported languages code blocks in raw strings.

Delimiters: cc CC cpp Cpp CPP c++ C++

BasedOnStyle: google

Delimiters: pb PB proto PROTO

CanonicalDelimiter: pb


key: ReferenceAlignment

description:
clang-format 13

 Reference alignment style (overrides PointerAlignment for references).

enum: Pointer Left Right Middle


key: ReflowComments

description:
clang-format 4

 If true, clang-format will attempt to re-flow comments. That is it will touch a comment and reflow long comments into new lines, trying to obey the ColumnLimit.


key: RemoveSemicolon

description:
clang-format 16

 Remove semicolons after the closing brace of a non-empty function.

 Warning: Setting this option to true could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option.


key: RemoveBracesLLVM

description:
clang-format 14

 Remove optional braces of control statements (if, else, for, and while) in C++ according to the LLVM coding style.

 Warning: This option will be renamed and expanded to support other styles.

 Setting this option to true could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option.


key: RequiresClausePosition

description:
clang-format 15

 The position of the requires clause.

enum: OwnLine WithPreceding WithFollowing SingleLine


key: RequiresExpressionIndentation

description:
clang-format 16

 The indentation used for requires expression bodies.

enum: OuterScope Keyword


key: SeparateDefinitionBlocks

description:
clang-format 14

 Specifies the use of empty lines to separate definition blocks, including classes, structs, enums, and functions.

enum: Leave Always Never


key: ShortNamespaceLines

description:
clang-format 13

 The maximal number of unwrapped lines that a short namespace spans. Defaults to 1.


key: SortIncludes

description:
clang-format 4

 Controls if and how clang-format will sort #includes. If Never, includes are never sorted. If CaseInsensitive, includes are sorted in an ASCIIbetical or case insensitive fashion. If CaseSensitive, includes are sorted in an alphabetical or case sensitive fashion.

enum: CaseSensitive CaseInsensitive Never


key: SortJavaStaticImport

description:
clang-format 12

 When sorting Java imports, by default static imports are placed before non-static imports. If JavaStaticImportAfterImport is After, static imports are placed after non-static imports.

enum: Before After


key: SortUsingDeclarations

description:
clang-format 5

 If true, clang-format will sort using declarations.


description:
clang-format 16

 Controls if and how clang-format will sort using declarations.


key: SpaceAfterCStyleCast

description:
clang-format 3.5

 If true, a space is inserted after C style casts.


key: SpaceAfterLogicalNot

description:
clang-format 9

 If true, a space is inserted after the logical not operator (!).


key: SpaceAfterTemplateKeyword

description:
clang-format 4

 If true, a space will be inserted after the 'template' keyword.


key: SpaceAroundPointerQualifiers

description:
clang-format 12

 Defines in which cases to put a space before or after pointer qualifiers

enum: Default Before After Both


key: SpaceBeforeAssignmentOperators

description:
clang-format 3.7

 If false, spaces will be removed before assignment operators.


key: SpaceBeforeCaseColon

description:
clang-format 12

 If false, spaces will be removed before case colon.


description:
clang-format 7

 If true, a space will be inserted before a C++11 braced list used to initialize an object (after the preceding identifier or type).


key: SpaceBeforeCtorInitializerColon

description:
clang-format 7

 If false, spaces will be removed before constructor initializer colon.


key: SpaceBeforeInheritanceColon

description:
clang-format 7

 If false, spaces will be removed before inheritance colon.


key: SpaceBeforeParens

description:
clang-format 3.5

 Defines in which cases to put a space before opening parentheses.

enum: ControlStatements Never ControlStatementsExceptControlMacros NonEmptyParentheses Always Custom


key: SpaceBeforeParensOptions

description:
clang-format 14

 Control of individual space before parentheses.

 If SpaceBeforeParens is set to Custom, use this to specify how each individual space before parentheses case should be handled. Otherwise, this is ignored.


key: AfterControlStatements

description: If true, put space betwee control statement keywords (for/if/while…) and opening parentheses.


key: AfterForeachMacros

description: If true, put space between foreach macros and opening parentheses.


key: AfterFunctionDeclarationName

description: If true, put a space between function declaration name and opening parentheses.


key: AfterFunctionDefinitionName

description: If true, put a space between function definition name and opening parentheses.


key: AfterIfMacros

description: If true, put space between if macros and opening parentheses.


key: AfterOverloadedOperator

description: If true, put a space between operator overloading and opening parentheses.


key: AfterRequiresInClause

description: If true, put space between requires keyword in a requires clause and opening parentheses, if there is one.


key: AfterRequiresInExpression

description: If true, put space between requires keyword in a requires expression and opening parentheses.