typos-git-commit 0.5.2

This program analyzes a json file produced with `typos` and makes commits for each correction.
Documentation
# Description

`typos-git-commit` is a command line tool that processes a [`typos`](https://crates.io/crates/typos-cli)
generated json file in order to :

1. correct typos in detected files (via sed)
2. make a commit for each correction (via a simple git commit command)
   grouping every affected file with that correction in a single commit.

It has been written for a one shot project but one may find it to
be useful. Use `typos-git-commit --help` to get usage help.

# Usage

You can use the option `--noop` to print what will be executed without
effectively execute anything.

If you need to have a summary of all typos you can use `--only-list-typos`
option. You can add some details to this summary with `--details` option.

You can filter out what will be done using `--exclude-file`, `--exclude-typo`
and `--exclude-correction` (options may be invoked more than once) to
exclude a specific file, typo or correction from being taken into account.

Follow these steps to correct the typos found in all file but Python
and Javascript scripts of a project:

* Generate a json file with `typos`, for instance:
  `typos doc/ --exclude *.py --exclude *.js --format json >typos.json`
* In the directory of the repository use `typos-git-commit` :
  `typos-git-commit --filename typos.json`.
  This command will correct only typos with more than 5 (by default)
  characters and the ones that got only one correction proposal. To
  modify the minimum length one may use `--minlen`.
* Review carefully the generated commits even if everything is done to
  mitigate errors when replacing typos there are situations where this
  correction is really an error.
* `--message` option allows to change your commit message. One may use
  the special notations {typo} and {correction} that will be replaced
  respectively by the typo to be corrected and the correction of that
  typo. Tip: use `--noop` to see how the git message will be before
  applying.

# Completion

The command has no short version arguments except for `--help` (`-h`)
and `--version` (`-V`) thus to ease writing arguments at command
line typos-git-commit can generate shell's completion scripts with
`--completion bash` option (see help to get all supported shells).

* Bash completion script is generated using `typos-git-commit --completion
  bash`. You can add this completion script to your local profile using
  these commands:
  ```
  mkdir -p ~/.local/share/bash-completion/completions
  typos-git-commit --completion bash > ~/.local/share/bash-completion/completions/typos-git-commit
  ```

# Changelog

See [ChangeLog](ChangeLog) file or use `typos-git-commit --changelog`