Reformat-gherkin
Table of Contents
About
Reformat-gherkin automatically formats Gherkin files. It ensures a consistent look regardless of who wrote the file.
It can be used either as a command-line tool, or a pre-commit hook.
Installation
Install reformat-gherkin using pip.
pip install reformat-gherkin
It requires Python 3.7+ to run.
Usage
To get started straight away:
reformat-gherkin {source_file_or_directory}
You should get good results without specifying any options, as reformat-gherkin uses sensible defaults.
Command-line options
You can list the available options by running reformat-gherkin --help.
Usage: reformat-gherkin [OPTIONS] [SRC]...
Reformat the given SRC files and all .feature files in SRC folders. If -
is passed as a file, reformat stdin and print the result to stdout.
Options:
--check Don't write the files back, just return the
status. Return code 0 means nothing would
change. Return code 1 means some files would
be reformatted. Return code 123 means there
was an internal error.
-a, --alignment [left|right] Specify the alignment of step keywords
(Given, When, Then,...). If specified, all
statements after step keywords are left-
aligned, spaces are inserted before/after
the keywords to right/left align them. By
default, step keywords are left-aligned, and
there is a single space between the step
keyword and the statement.
-n, --newline [LF|CRLF] Specify the line separators when formatting
files inplace. If not specified, line
separators are preserved.
--fast / --safe If --fast given, skip the sanity checks of
file contents. [default: --safe]
--single-line-tags / --multi-line-tags
If --single-line-tags given, output
consecutive tags on one line. If --multi-
line-tags given, output one tag per line.
[default: --single-line-tags]
--tab-width INTEGER Specify the number of spaces per
indentation-level. [default: 2]
--use-tabs Indent lines with tabs instead of spaces.
--config FILE Read configuration from FILE.
--version Show the version and exit.
--help Show this message and exit.
Reformat-gherkin is a well-behaved Unix-style command-line tool:
- it does nothing if no sources are passed to it;
- it will read from standard input and write to standard output if - is used as the filename;
- it only outputs messages to users on standard error;
- it exits with code 0 unless an internal error occurred (or --check was used).
Config file
Reformat-gherkin can read project-specific default values for its command line
options from a .reformat-gherkin.yaml file.
By default, reformat-gherkin looks for the config file starting from the
common base directory of all files and directories passed on the command line.
If it's not there, it looks in parent directories. It stops looking when it
finds the file, or a .git directory, or a .hg directory, or the root of the file
system, whichever comes first.
Example config file:
check: False
alignment: left
tab_width: 4
Version control integration
You can integrate reformat-gherkin into your version control workflow by using
pre-commit. Once you have installed pre-commit, add
this to the .pre-commit-config.yaml file in your repository:
repos:
- repo: https://github.com/ducminh-phan/reformat-gherkin
rev: stable
hooks:
- id: reformat-gherkin
Then run pre-commit install and you're ready to go.
Acknowledgements
This project is inspired by black. Some
functions are taken from black's source code.
Metadata
Release files for reformat-gherkin 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| reformat-gherkin-3.0.1.tar.gz | 21.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reformat_gherkin-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / reformat-gherkin-3.0.1.tar.gz
| Download URL | reformat-gherkin-3.0.1.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a25e89fac3b632a7db7a3f217f4bfdc0f9cf4d8333d3ae9a830b0270beba6f3b
|
|
BLAKE2b-256 checksum How to use checksums |
7c666da6919eb32a12e73b7af0fe4f82feb98a2280de9783a17d488cf4bb1bc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.14 Linux/5.15.0-1020-azure
|
Release files / reformat_gherkin-3.0.1-py3-none-any.whl
| Download URL | reformat_gherkin-3.0.1-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
50c17a69e93b83b7f3a7c36a5a6265aa5c051c351fb46ab539e04333317a6791
|
|
BLAKE2b-256 checksum How to use checksums |
bc9feedbc852e9f28cce0763ae9af973cb320c5463a2d4a07f90d51ac0573a81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.14 Linux/5.15.0-1020-azure
|
Security for reformat-gherkin 3.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.