Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: document the NO_COLOR and FORCE_COLOR env vars #37477

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 19 additions & 0 deletions doc/api/cli.md
Expand Up @@ -1264,6 +1264,19 @@ Print node's version.

## Environment variables

### `FORCE_COLOR=[1, 2, 3]`

The `FORCE_COLOR` environment variable is used to
enable ANSI colorized output. The value may be:

* `1`, `true`, or the empty string `''` indicate 16-color support,
* `2` to indicate 256-color support, or
* `3` to indicate 16 million-color support.

When `FORCE_COLOR` is used and set to a supported value, both the `NO_COLOR`,
and `NODE_DISABLE_COLORS` environment variables are ignored.

Any other value will result in colorized output being disabled.
### `NODE_DEBUG=module[,…]`
<!-- YAML
added: v0.1.32
Expand Down Expand Up @@ -1609,6 +1622,11 @@ and the line lengths of the source file (in the key `lineLengths`).
}
```

### `NO_COLOR=<any>`

[`NO_COLOR`][] is an alias for `NODE_DISABLE_COLORS`. The value of the
environment variable is arbitrary.

### `OPENSSL_CONF=file`
<!-- YAML
added: v6.11.0
Expand Down Expand Up @@ -1704,6 +1722,7 @@ $ node --max-old-space-size=1536 index.js
[`Buffer`]: buffer.md#buffer_class_buffer
[`CRYPTO_secure_malloc_init`]: https://www.openssl.org/docs/man1.1.0/man3/CRYPTO_secure_malloc_init.html
[`NODE_OPTIONS`]: #cli_node_options_options
[`NO_COLOR`]: https://no-color.org
[`SlowBuffer`]: buffer.md#buffer_class_slowbuffer
[`process.setUncaughtExceptionCaptureCallback()`]: process.md#process_process_setuncaughtexceptioncapturecallback_fn
[`tls.DEFAULT_MAX_VERSION`]: tls.md#tls_tls_default_max_version
Expand Down
20 changes: 20 additions & 0 deletions doc/node.1
Expand Up @@ -530,6 +530,26 @@ Print node's version.
.\" =====================================================================
.Sh ENVIRONMENT
.Bl -tag -width 6n
.It Ev FORCE_COLOR
Used to enable ANSI colorized output. The value may be one of:
.Ar 1
,
Comment on lines +535 to +536
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most mdoc(7) macros allow authors to include trailing punctuation as a separate (final) argument:

.Ar 1 ,

See the "Delimiters" section of mdoc(7) for more info on this feature.

.Ar true
, or
.Ar an empty string
to
indicate 16-color support,
.Ar 2
to indicate 256-color support, or
.Ar 3
to indicate 16 million-color support. When used and set to a supported
value, both the NO_COLOR and NODE_DISABLE_COLORS environment variables
are ignored. Any other value will result in colorized output being
disabled.
.
.It Ev NO_COLOR
Alias for NODE_DISABLE_COLORS
.
.It Ev NODE_DEBUG Ar modules...
Comma-separated list of core modules that should print debug information.
.
Expand Down
3 changes: 3 additions & 0 deletions lib/internal/main/print_help.js
Expand Up @@ -29,6 +29,9 @@ for (const key of ObjectKeys(types))
// so we gather the documentation here.
const { hasIntl, hasSmallICU, hasNodeOptions } = internalBinding('config');
const envVars = new SafeMap(ArrayPrototypeConcat([
['FORCE_COLOR', { helpText: "when set to 'true', 1, 2, 3, or an empty " +
'string causes NO_COLOR and NODE_DISABLE_COLORS to be ignored.' }],
['NO_COLOR', { helpText: 'Alias for NODE_DISABLE_COLORS' }],
['NODE_DEBUG', { helpText: "','-separated list of core modules that " +
'should print debug information' }],
['NODE_DEBUG_NATIVE', { helpText: "','-separated list of C++ core debug " +
Expand Down