Skip to content

Commit

Permalink
cmd/gofmt: remove -tabwidth and -tabs flags
Browse files Browse the repository at this point in the history
Having these flags misleads people into thinking they're acceptable
for code that "must be gofmt'd".

If an organization wishes to use gofmt internally with
different settings, they can fork gofmt trivially. But "gofmt"
as used by the community with open source Go code should not
support these old knobs.

Also removes the -comments flag.

Fixes #7101

R=r, gri
CC=golang-codereviews
https://golang.org/cl/52170043
  • Loading branch information
bradfitz committed Jan 14, 2014
1 parent 077faf2 commit 014f3dc
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 37 deletions.
11 changes: 4 additions & 7 deletions src/cmd/gofmt/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

/*
Gofmt formats Go programs.
It uses tabs (width = 8) for indentation and blanks for alignment.
Without an explicit path, it processes the standard input. Given a file,
it operates on that file; given a directory, it operates on all .go files in
Expand Down Expand Up @@ -33,13 +34,9 @@ The flags are:
If a file's formatting is different from gofmt's, overwrite it
with gofmt's version.
Formatting control flags:
-comments=true
Print comments; if false, all comments are elided from the output.
-tabs=true
Indent with tabs; if false, spaces are used instead.
-tabwidth=8
Tab width in spaces.
Debugging support:
-cpuprofile filename
Write cpu profile to the specified file.
The rewrite rule specified with the -r flag must be a string of the form:
Expand Down
39 changes: 11 additions & 28 deletions src/cmd/gofmt/gofmt.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,20 @@ var (
doDiff = flag.Bool("d", false, "display diffs instead of rewriting files")
allErrors = flag.Bool("e", false, "report all errors (not just the first 10 on different lines)")

// layout control
comments = flag.Bool("comments", true, "print comments")
tabWidth = flag.Int("tabwidth", 8, "tab width")
tabIndent = flag.Bool("tabs", true, "indent with tabs")

// debugging
cpuprofile = flag.String("cpuprofile", "", "write cpu profile to this file")
)

const (
tabWidth = 8
printerMode = printer.UseSpaces | printer.TabIndent
)

var (
fileSet = token.NewFileSet() // per process FileSet
exitCode = 0
rewrite func(*ast.File) *ast.File
parserMode parser.Mode
printerMode printer.Mode
fileSet = token.NewFileSet() // per process FileSet
exitCode = 0
rewrite func(*ast.File) *ast.File
parserMode parser.Mode
)

func report(err error) {
Expand All @@ -60,22 +59,12 @@ func usage() {
}

func initParserMode() {
parserMode = parser.Mode(0)
if *comments {
parserMode |= parser.ParseComments
}
parserMode = parser.ParseComments
if *allErrors {
parserMode |= parser.AllErrors
}
}

func initPrinterMode() {
printerMode = printer.UseSpaces
if *tabIndent {
printerMode |= printer.TabIndent
}
}

func isGoFile(f os.FileInfo) bool {
// ignore non-Go files
name := f.Name()
Expand Down Expand Up @@ -118,7 +107,7 @@ func processFile(filename string, in io.Reader, out io.Writer, stdin bool) error
}

var buf bytes.Buffer
err = (&printer.Config{Mode: printerMode, Tabwidth: *tabWidth}).Fprint(&buf, fileSet, file)
err = (&printer.Config{Mode: printerMode, Tabwidth: tabWidth}).Fprint(&buf, fileSet, file)
if err != nil {
return err
}
Expand Down Expand Up @@ -180,11 +169,6 @@ func main() {
func gofmtMain() {
flag.Usage = usage
flag.Parse()
if *tabWidth < 0 {
fmt.Fprintf(os.Stderr, "negative tabwidth %d\n", *tabWidth)
exitCode = 2
return
}

if *cpuprofile != "" {
f, err := os.Create(*cpuprofile)
Expand All @@ -199,7 +183,6 @@ func gofmtMain() {
}

initParserMode()
initPrinterMode()
initRewrite()

if flag.NArg() == 0 {
Expand Down
1 change: 0 additions & 1 deletion src/cmd/gofmt/gofmt_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ func runTest(t *testing.T, in, out, flags string) {
}

initParserMode()
initPrinterMode()
initRewrite()

var buf bytes.Buffer
Expand Down
2 changes: 1 addition & 1 deletion src/cmd/gofmt/long_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func gofmt(fset *token.FileSet, filename string, src *bytes.Buffer) error {
}
ast.SortImports(fset, f)
src.Reset()
return (&printer.Config{Mode: printerMode, Tabwidth: *tabWidth}).Fprint(src, fset, f)
return (&printer.Config{Mode: printerMode, Tabwidth: tabWidth}).Fprint(src, fset, f)
}

func testFile(t *testing.T, b1, b2 *bytes.Buffer, filename string) {
Expand Down

0 comments on commit 014f3dc

Please sign in to comment.