---
name: "rstcheck"
section: "1"
platform: "linux"
package: "rstcheck"
version: "6.2.4+~1.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rstcheck"
---

# rstcheck(1)

check syntax of reStructuredText files and nested code blocks

## NAME

rstcheck - check syntax of reStructuredText files and nested code blocks

## SYNOPSIS

**rstcheck** \[**--config** *FILE*\] \[**-r**\] \[**--report** *LEVEL*\] \[**--ignore-language** *LANG*\] \[**--ignore-messages** *MSG*\] \[**--ignore-directives** *DIR*\] \[**--ignore-substitutions** *SUB*\] \[**--ignore-roles** *ROLES*\] *FILE.rst* \[*FILE.rst* *...*\]

## DESCRIPTION

**rstcheck** validates the syntax of reStructuredText files and can also verify the syntax for a number of languages in nested code blocks:

- •

  Bash

- •

  Doctest

- •

  C (C99)

- •

  C++ (C++11)

- •

  JSON

- •

  XML

- •

  Python

- •

  restructuredTest

## OPTIONS

- **--config** ***FILE***

  load configuration from *FILE*. The configuration is expected in INI file format with a section **\[rstcheck\]** and key-value pairs which correspond with command line options.

- **-r**, **--recursive**

  Treat input file names as directories and recursively check all **.rst** files within.

- **--report** ***LEVEL***

  restrict reported severities to *LEVEL* or higher. Valid levels in increasing order of severity are: **info**, **warning**, **error**, **severe**. You can also specify **none** to suppress all output.

- **--ignore-language** ***LANG***, **--ignore** ***LANG***

  Ignore code blocks with one of the languages *LANG*, where *LANG* is a comma-separated list of code block language identifiers. You can also disable language checking with a block comment such as

-

  ```
  .. rstcheck: ignore-language=cpp,python,rst
  ```

-

  near the beginning of the input file.

- **--ignore-messages** **(*MSG*)**

  Ignore all messages that match the regular expression *MSG*. Note that you will probably need to quote the regex to prevent spurious shell expansion:

-

  ```
  "(Title underline too short.*|Duplicate implicit target.*)"
  ```

- **--ignore-directives***DIR*

  Ignore any rST directives from the comma-separated list *DIR*.

- **--ignore-substitutions***SUB*

  Ignore any rST substitutions from the comma-separated list *SUB*.

- **--ignore-roles***ROLES*

  Ignore any rST roles from the comma-separated list *ROLES*.

## INTEGRATION WITH VIM

You can instruct **Syntastic** to check **.rst** files with **rstcheck** like this:

```
let g:syntastic_rst_checkers = ['rstcheck']
```

ALE will detect the presence of **rstcheck** automatically, no additional configuration is required.

## AUTHOR

**rstcheck** was written by Steven Myint. This manual page was written by Timo Röhling ⟨roehling@debian.org⟩ for Debian and may be reused without restriction.
