An open API service indexing awesome lists of open source software.

https://github.com/cockroachdb/crlfmt

Formatter for CockroachDB's additions to the Go style guide.
https://github.com/cockroachdb/crlfmt

Last synced: 9 days ago
JSON representation

Formatter for CockroachDB's additions to the Go style guide.

Awesome Lists containing this project

README

        

# crlfmt

`crlfmt` is a `gofmt`-style linter for Go code that enforces the CockroachDB Style Guide found [here](https://wiki.crdb.io/wiki/spaces/CRDB/pages/181371303/Go+coding+guidelines).

## Usage

```
$ go install github.com/cockroachdb/crlfmt
$ crlfmt [flags]

Flags:
-diff print diffs (default true)
-fast skip running goimports and simplify
-groupimports group imports by type (default true)
-ignore regex matching files to skip
-tab tab width for column calculations (default 2)
-w overwrite modified files
-wrap column to wrap at (default 100)
-wrapdoc column at which to wrap doc strings for functions, variables, constants, and types. ignores multiline comments denoted by /*
```

## Examples

If you are running `crlfmt` on the http://github.com/cockroachdb/cockroach codebase, you can use the following command to reformat all files in the current directory, ignoring generated code files:

```
$ crlfmt -w -ignore '\.(pb(\.gw)?)|(\.[eo]g)\.go|/testdata/|^sql/parser/sql\.go$|_generated(_test)?\.go$' .
```