Skip to content

Use a spell checker to find typos in *.rst files #10601

@philderbeast

Description

@philderbeast

Over the last few days I've stumbled on some typos in the *.rst docs and in haddocks. Could we check for typos in CI?

I've tried typos. It has a github action, typos-action, can be run locally and has configuration. Here it is finding typos in *.rst files.

$ typos **/*.rst
error: `informations` should be `information`
  --> doc/cabal-commands.rst:398:49
    |
398 | ``cabal info [FLAGS] PACKAGES`` displays useful informations about remote
    |                                                 ^^^^^^^^^^^^
    |
error: `spefic` should be `specific`
  --> doc/cabal-commands.rst:471:11
    |
471 | ask for a spefic one by adding version numbers
    |           ^^^^^^
    |
error: `reseved` should be `reserved`
  --> doc/cabal-commands.rst:1300:54
     |
1300 | - ``reserved-z-prefix``: package with ``z-`` prexif (reseved for Cabal.
     |                                                      ^^^^^^^
     |
error: `becuase` should be `because`
  --> doc/cabal-commands.rst:1387:61
     |
1387 | - ``glob-no-extension``: glob pattern not matching any file becuase of lack of extension matching (`cabal-version` < 2.4).
     |                                                             ^^^^^^^
     |
error: `executabes` should be `executables`
  --> doc/cabal-package-description-file.rst:1117:12
     |
1117 |  A list of executabes (possibly brought into scope by
     |            ^^^^^^^^^^
     |
error: `seperated` should be `separated`
  --> doc/cabal-package-description-file.rst:1124:47
     |
1124 |  build. They are expected to output a newline-seperated list of
     |                                               ^^^^^^^^^
     |
error: `informations` should be `information`
  --> doc/cabal-package-description-file.rst:3093:27
     |
3093 | Accessing package-related informations
     |                           ^^^^^^^^^^^^
     |
error: `executabes` should be `executables`
  --> doc/file-format-changelog.rst:42:14
   |
42 |   enumerates executabes (possibly brought into scope by  :pkg-field:`build-tool-depends`) that are run after all other
   |              ^^^^^^^^^^
   |
error: `managable` should be `manageable`, `manageably`
  --> doc/getting-started.rst:75:6
   |
75 | more managable building blocks.
   |      ^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:19:56
   |
19 | a package that defines some requirements.  To define a parametrized
   |                                                        ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:34:15
   |
34 |     :caption: parametrized.cabal
   |               ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:37:11
   |
37 |     name: parametrized
   |           ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:48:23
   |
48 | some way to apply the parametrized package with an implementation of
   |                       ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:54:39
   |
54 | module named ``Str``, instantiating ``parametrized`` is as simple as
   |                                       ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:55:43
   |
55 | just depending on both ``str-impl`` and ``parametrized``:
   |                                           ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:64:38
   |
64 |       build-depends: base, str-impl, parametrized
   |                                      ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:78:13
   |
78 |   ``mixins: parametrized requires (Str as Data.Text)``
   |             ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:94:46
   |
94 |       build-depends: base, text, bytestring, parametrized
   |                                              ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:96:9
   |
96 |         parametrized (MyModule as MyModule.Text) requires (Str as Data.Text),
   |         ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:97:9
   |
97 |         parametrized (MyModule as MyModule.BS) requires (Str as Data.ByteString)
   |         ^^^^^^^^^^^^
   |
error: `parametrized` should be `parameterized`
  --> doc/how-to-use-backpack.rst:100:1
    |
100 | parametrized libraries; :ref:`Sublibraries <sublibs>` can be used
    | ^^^^^^^^^^^^
    |

There are other options, such as GitHub Spellcheck Action.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions