Skip to content

Latest commit

 

History

History
129 lines (89 loc) · 4.13 KB

cli.md

File metadata and controls

129 lines (89 loc) · 4.13 KB
id title
cli
Command Line Interface

Command Line Interface

The textlint Command Line Interface (CLI) is a tool for linting text from terminal.

Run the CLI

textlint requires Node.js for running. Follow the instruction in the Getting Started with textlint to run the CLI.

Most users use npx to run textlint command from terminal.

$ npx textlint README.md

textlint support glob pattern and directory as path.

# Should wrap the glob pattern with double quotes
$ npx textlint "docs/**/*.md"
# Run for directory
$ npx textlint docs/

Options

You can view all the CLI options by running textlint --help.

$ textlint [options] file.md [file|dir|glob*]

Options:
  -h, --help                  Show help.
  -c, --config path::String   Use configuration from this file or sharable config.
  --ignore-path path::String  Specify path to a file containing patterns that describes files to ignore. - default: .textlintignore
  --init                      Create the config file if not existed. - default: false
  --fix                       Automatically fix problems
  --dry-run                   Enable dry-run mode for --fix. Only show result, don't change the file.
  --debug                     Outputs debugging information
  --print-config              Print the config object to stdout
  -v, --version               Outputs the version number.

Using stdin:
  --stdin                     Lint text provided on <STDIN>. - default: false
  --stdin-filename String     Specify filename to process STDIN as

Output:
  -o, --output-file path::String  Enable report to be written to a file.
  -f, --format String         Use a specific output format.

                              Available formatter          : checkstyle, compact, jslint-xml, json, junit, pretty-error, stylish, table, tap, unix

                              Available formatter for --fix: compats, diff, fixed-result, json, stylish - default: stylish
  --no-color                  Disable color in piped output.
  --quiet                     Report errors only. - default: false

Specifying rules and plugins:
  --no-textlintrc             Disable .textlintrc
  --plugin [String]           Set plugin package name
  --rule [String]             Set rule package name
  --preset [String]           Set preset package name and load rules from preset package.
  --rulesdir [path::String]   Use additional rules from this directory

Caching:
  --cache                     Only check changed files - default: false
  --cache-location path::String  Path to the cache file or directory - default: .textlintcache

Experimental:
  --experimental              Enable experimental flag.Some feature use on experimental.
  --rules-base-directory path::String  Set module base directory. textlint load modules(rules/presets/plugins) from the base directory.

Pipe to textlint

textlint supports stdin from other commands via pipe.

$ cat README.md | npx textlint --stdin --stdin-filename "README.md"

You can get --fix result via --format=fixed-result formatter.

$ cat README.md | npx textlint --stdin --stdin-filename README.md --fix --format fixed-result --output-file NEW.md

Note:

  • --stdin-filename is required when using --stdin for recognizing the file type.
  • Almost formatter output lint message, but fixed-result formatter output --fix result text.

Cache

textlint supports caching for performance. The cache is disabled by default. You can enable it with the --cache option.

$ textlint --cache README.md

If you want to clear the cache, you can use the --no-cache option or just remove --cache option.

Exit Code

📝 This status is defined in textlint v13.0.0 or later.

0: No Error

  • Not found lint error
  • --fix: found errors but fix all errors, so exit with 0
  • --output-file: Found lint error but --output-file is specified
  • --dryRun: Found lint error but --dryRun is specified

1: Lint Error

  • found lint error
  • --fix: found errors and could not fix all errors, so exit with 1

2: Fatal Error

  • Crash textlint process
  • Fail to load config/rule/plugin etc...