Stylize quickly reformats or checkstyles an entire repository of code.
It's a wrapper over other checkstyle programs such as clang-format or yapf that lets you use one command to operate on your entire repo, consisting of multiple types of files.
This repository is archived. I've switched to using treefmt instead: https://github.com/numtide/treefmt.
# install
go get -u github.com/justbuchanan/stylize
# check files and write a patch file to 'patch.txt'. This patch file shows what
# changes the formatter would have made if run with the `-i` (in-place) flag.
# You can also apply this generated patch to the repo using `git apply`.
stylize --patch_output patch.txt
# format all code in-place
# note: make a git commit before doing this - there's no undo button
stylize -i
# format code in place, excluding a couple directories
stylize -i --exclude=build,external
# reformat only files that differ from origin/master
stylize -i --git_diffbase origin/masterBy default, stylize looks for a config file named .stylize.yml in the current directory. A different file can be specified with the --config flag. See config.go for what options are available and see this repo's .stylize.yml file as an example.
Stylize currently has support for:
Other formatters can easily be added. See the files in the 'formatters' directory as examples.