List of pre-commit hooks meant to format your source code.
Project description
Language Formatters Pre Commit Hooks
About
This package provides utilities for ensuring that your code is nicely formatted by using pre-commit
hooks
List of pretty-format hooks
pretty-format-golang
pretty-format-ini
pretty-format-java
pretty-format-kotlin
pretty-format-rust
pretty-format-toml
pretty-format-yaml
⚠: the list above could be out-of-sync respect the exposed pre-commit hooks.
Please refer to .pre-commit-hooks.yaml
for a more updated list.
Example Usage
Add a similar snippet into your .pre-commit-config.yaml
file
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: ${LATEST_SHA_OR_VERSION}
hooks:
- id: pretty-format-java
args: [--autofix]
- id: pretty-format-kotlin
args: [--autofix]
- id: pretty-format-yaml
args: [--autofix, --indent, '2']
Development
This tool uses tox as main tool to build virtual environments.
To get started will be enough to run make development
.
If you have aactivator
installed this step will happen automatically.
Contributing
Contributions are always welcome.
- Fork the project ( http://github.com/macisamuele/language-formatters-pre-commit-hooks/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Add your modifications
- Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
License
language-formatters-pre-commit-hooks
is licensed with Apache License version 2.0
.
Changelog
1.6.0 (2020-10-24)
- Update KTLint to 0.39.0
- Update GoogleJavaFormatter to 1.9
- Run
pretty-format-java
serially to prevent multiple-downloads of the same Java artifact. PR #23 - @ineiti thanks for your contribution - Internal update of download logic to reduce race coditions while download big artifacts from network. PR #24
- Bump min
pre-commit
supported version. PR #27 - Allow
pretty-format-java
to modify the Google Java Formatter to use (--google-java-formatter-version
CLI argument). PR #30 - Allow
pretty-format-kotlin
to modify the KTLint to use (--ktlint-version
CLI argument). PR #30 - Enhance security in commands execution (prevent shell-injection). PR #38
1.5.0 (2020-06-16)
- Add
--preserve-quotes
argument intopretty-format-yaml
. PR #16 - @vbisserie thanks for your contribution
1.4.2 (2020-06-09)
- Update KTLint to 0.37.1
1.4.1 (2020-06-03)
- Update KTLint to 0.37.0
1.4.0 (2020-05-20)
- Improve handling of multi-document YAML files. PR #3 - @dan-cohn thanks for your contribution
pretty-format-java
does default to Google style. Add--aosp
argument for Android Open Source Project style. PR #8 - @ChenAndrew thanks for your contribution.- Update GoogleJavaFormatter to 1.8
1.3.2 (2020-01-25)
- Definitive packaging fix
1.3.1 (2020-01-24)
- Update Packaging informations
:warning: This version broke module retrieval (:disappointed:) while improving quality of PyPi uploaded information. You're recommended to use a more recent version of the library.
1.3.0 (2020-01-24)
- Update KTLint to 0.36.0
- Enhange
pretty-format-yaml
to deal with YAML files containing primitive types only - PR #1 - @dan-cohn thanks for your contribution
1.2.5 (2019-11-22)
- Update KTLint to 0.35.0
1.2.4 (2019-07-19)
- Update KTLint to 0.34.0 and fix KTLint GitHub link
1.2.3 (2019-02-14)
- Update Google Java Formatter to 1.7 and KTlint to 0.30.0
1.2.2 (2018-11-20)
- pretty-format-rust fails if
cargo fmt
fails
1.2.1 (2018-11-20)
- no-diff release
1.2.0 (2018-11-20)
- Bump KTlint to 0.29.0
- Remove duplicated filenames from command execution
1.1.3 (2018-09-02)
- Last fix to cargo invocations to use the environmentally defined toolchain
1.1.2 (2018-09-02)
- Bump KTlint to 0.27.0
1.1.1 (2018-09-02)
- Ensure that generated files end with a new line
- Allow rust toolchain customization via
RUST_TOOLCHAIN
environment variable
1.1.0 (2018-07-29)
- Add pretty formatters for INI, Rust and TOML files
1.0.1 (2018-07-20)
- Improve detection of modified files from kotlin formatter
1.0.0 (2018-07-20)
- Initial release: added pretty formatters for Golang, Java, Kotlin and YAML
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for language_formatters_pre_commit_hooks-1.6.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79cb9cc86e538004e631db8881ebee6069b38c6413e421076e2444ea451e3d71 |
|
MD5 | f1d4fc025d89580326982170f7dbf36f |
|
BLAKE2b-256 | c55edade778459ea1c30b00c79b6e326e901a891cf4e393f1074ba2330b04da0 |
Hashes for language_formatters_pre_commit_hooks-1.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 097a99ebf3757eb4f46af88fa56b87ece21e3da12f0df39afe8e97515bdfd3bb |
|
MD5 | a8e00db31e8804e616e796f0965b5bf1 |
|
BLAKE2b-256 | 36d277c6b219717567fada6f300e243a5faa4699223842106111a3c154ad7194 |