diff --git a/aligned.go b/aligned.go index 00e787a..9743f73 100644 --- a/aligned.go +++ b/aligned.go @@ -12,7 +12,7 @@ var ( alignedEquals = leftAligned(" = ") alignedShortEquals = leftAligned("=") alignedSpace = leftAligned(" ") - alignedComma = leftAligned(",") + alignedComma = leftAligned(", ") alignedEmpty = leftAligned("") ) diff --git a/formatter.go b/formatter.go index 56bad25..bdb69a6 100644 --- a/formatter.go +++ b/formatter.go @@ -55,14 +55,7 @@ func (f *Formatter) VisitEnum(e *Enum) { func (f *Formatter) VisitEnumField(e *EnumField) {} // VisitImport formats a Import. -func (f *Formatter) VisitImport(i *Import) { - f.begin("import") - kind := "" - if len(i.Kind) > 0 { - kind = fmt.Sprintf(" %s ", i.Kind) - } - fmt.Fprintf(f.w, "import %s%q;\n", kind, i.Filename) -} +func (f *Formatter) VisitImport(i *Import) {} // VisitMessage formats a Message. func (f *Formatter) VisitMessage(m *Message) { @@ -84,7 +77,7 @@ func (f *Formatter) VisitOption(o *Option) {} // VisitPackage formats a Package. func (f *Formatter) VisitPackage(p *Package) { f.begin("package") - fmt.Fprintf(f.w, "package %s;\n", p.Name) + fmt.Fprintf(f.w, "package %s;\n\n", p.Name) } // VisitService formats a Service. diff --git a/formatter_test.go b/formatter_test.go index 4578571..ccc7d14 100644 --- a/formatter_test.go +++ b/formatter_test.go @@ -28,8 +28,8 @@ func TestPrintListOfColumns(t *testing.T) { b := new(bytes.Buffer) f := NewFormatter(b, " ") f.printListOfColumns(list, "enum") - formatted := `A = 1 [a =1234]; -ABC = 12 [ab=1234]; + formatted := `A = 1 [a = 1234]; +ABC = 12 [ab = 1234]; ` if got, want := b.String(), formatted; got != want { t.Errorf("got [%v] want [%v]", got, want) diff --git a/import.go b/import.go index 67c3b53..b612636 100644 --- a/import.go +++ b/import.go @@ -19,9 +19,9 @@ func (i *Import) columns() (cols []aligned) { if len(i.Kind) > 0 { cols = append(cols, leftAligned(i.Kind)) } else { - cols = append(cols, alignedSpace) + cols = append(cols, alignedEmpty) } - cols = append(cols, alignedSpace, notAligned(fmt.Sprintf("%q", i.Filename))) + cols = append(cols, alignedEmpty, notAligned(fmt.Sprintf("%q", i.Filename))) return } diff --git a/option.go b/option.go index fccc1b6..94640db 100644 --- a/option.go +++ b/option.go @@ -1,6 +1,7 @@ package proto import "fmt" +import "strings" // Option is a protoc compiler option type Option struct { @@ -31,10 +32,14 @@ func (o *Option) columns() (cols []aligned) { // keyValuePair returns key = value or "value" func (o *Option) keyValuePair(embedded bool) (cols []aligned) { equals := alignedEquals + name := o.Name + if strings.Contains(name, ".") { + name = fmt.Sprintf("(%s)", name) + } if embedded { - equals = alignedShortEquals + return append(cols, notAligned(name), equals, rightAligned(o.Constant.String())) } - return append(cols, leftAligned(o.Name), equals, rightAligned(o.Constant.String())) + return append(cols, rightAligned(name), equals, rightAligned(o.Constant.String())) } // parse reads an Option body