1
0

formatting

This commit is contained in:
Arpad Ryszka 2025-10-23 02:55:49 +02:00
parent ace14e534c
commit 3b31267823
7 changed files with 52 additions and 52 deletions

14
lib.go
View File

@ -64,18 +64,18 @@ type Entry struct {
wrapWidth int
indent int
indentFirst int
man struct{
section int
date time.Time
version string
man struct {
section int
date time.Time
version string
category string
}
}
type TitleInfo struct {
section int
date time.Time
version string
section int
date time.Time
version string
category string
}

View File

@ -1,23 +1,23 @@
package textfmt
import (
"io"
"errors"
"time"
"fmt"
"bytes"
"errors"
"fmt"
"io"
"strings"
"time"
)
func escapeRoff(s string, additional ...string) string {
const invalidAdditional = "invalid additional escape definition"
var (
e []rune
e []rune
lineStarted bool
)
if len(additional) % 2 != 0 {
if len(additional)%2 != 0 {
panic(errors.New(invalidAdditional))
}
@ -28,7 +28,7 @@ func escapeRoff(s string, additional ...string) string {
panic(errors.New(invalidAdditional))
}
am[r[0]] = []rune(additional[i + 1])
am[r[0]] = []rune(additional[i+1])
}
for _, r := range []rune(s) {
@ -161,9 +161,9 @@ func renderRoffTitle(w writer, e Entry) {
if e.titleLevel != 0 || e.man.section == 0 {
e.text.bold = true
p := Entry{
typ: paragraph,
text: e.text,
indent: e.indent,
typ: paragraph,
text: e.text,
indent: e.indent,
indentFirst: e.indentFirst,
}
@ -188,7 +188,7 @@ func renderRoffTitle(w writer, e Entry) {
}
func renderRoffParagraph(w writer, e Entry) {
w.write(".in ", e.indent, "\n.ti ", e.indent + e.indentFirst, "\n")
w.write(".in ", e.indent, "\n.ti ", e.indent+e.indentFirst, "\n")
renderRoffText(w, e.text)
}
@ -198,7 +198,7 @@ func renderRoffList(w writer, e Entry) {
w.write("\n.br\n")
}
w.write(".in ", e.indent + 2, "\n.ti ", e.indent + e.indentFirst, "\n")
w.write(".in ", e.indent+2, "\n.ti ", e.indent+e.indentFirst, "\n")
w.write("\\(bu ")
renderRoffText(w, item.text)
}
@ -211,8 +211,8 @@ func renderRoffNumberedList(w writer, e Entry) {
w.write("\n.br\n")
}
w.write(".in ", e.indent + maxDigits + 2, "\n.ti ", e.indent + e.indentFirst, "\n")
w.write(padRight(fmt.Sprintf("%d.", i + 1), maxDigits + 2))
w.write(".in ", e.indent+maxDigits+2, "\n.ti ", e.indent+e.indentFirst, "\n")
w.write(padRight(fmt.Sprintf("%d.", i+1), maxDigits+2))
renderRoffText(w, item.text)
}
}
@ -225,10 +225,10 @@ func renderRoffDefinitions(w writer, e Entry) {
w.write("\n.br\n")
}
w.write(".in ", e.indent + maxNameLength + 4, "\n.ti ", e.indent + e.indentFirst, "\n")
w.write(".in ", e.indent+maxNameLength+4, "\n.ti ", e.indent+e.indentFirst, "\n")
w.write("\\(bu ")
renderRoffText(w, definition.name)
w.write(":", timesn("\\~", maxNameLength - len([]rune(names[i])) + 1))
w.write(":", timesn("\\~", maxNameLength-len([]rune(names[i]))+1))
renderRoffText(w, definition.value)
}
}
@ -242,10 +242,10 @@ func renderRoffNumberedDefinitions(w writer, e Entry) {
w.write("\n.br\n")
}
w.write(".in ", e.indent + maxDigits + maxNameLength + 4, "\n.ti ", e.indent + e.indentFirst, "\n")
w.write(padRight(fmt.Sprintf("%d.", i + 1), maxDigits + 2))
w.write(".in ", e.indent+maxDigits+maxNameLength+4, "\n.ti ", e.indent+e.indentFirst, "\n")
w.write(padRight(fmt.Sprintf("%d.", i+1), maxDigits+2))
renderRoffText(w, definition.name)
w.write(":", timesn("\\~", maxNameLength - len([]rune(names[i])) + 1))
w.write(":", timesn("\\~", maxNameLength-len([]rune(names[i]))+1))
renderRoffText(w, definition.value)
}
}
@ -451,7 +451,7 @@ func renderRoffSyntax(w writer, e Entry) {
s.topLevel = true
w.write(".nf\n")
defer w.write("\n.fi")
w.write(timesn("\u00a0", e.indent + e.indentFirst))
w.write(timesn("\u00a0", e.indent+e.indentFirst))
renderRoffSyntaxItem(w, s)
}

View File

@ -1199,7 +1199,7 @@ This is a paragraph.
\(bu blue:\~\~looks like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -1236,7 +1236,7 @@ This is a paragraph.
\(bu blue:\~\~looks like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -1343,7 +1343,7 @@ This is a paragraph.
3.\~blue:\~\~looks like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -1380,7 +1380,7 @@ This is a paragraph.
3.\~blue:\~\~looks like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -2021,7 +2021,7 @@ and silver birch\~\~\~\~ | their canopies creating\~ | and shadow on the
t.Fatal(err)
}
if b.String() != ".nf\n" + code+"\n.fi\n" {
if b.String() != ".nf\n"+code+"\n.fi\n" {
t.Fatal(b.String())
}
})
@ -2064,7 +2064,7 @@ and silver birch\~\~\~\~ | their canopies creating\~ | and shadow on the
t.Fatal(err)
}
if b.String() != ".nf\n" + code+"\n.fi\n" {
if b.String() != ".nf\n"+code+"\n.fi\n" {
t.Fatal(b.String())
}
})

View File

@ -81,9 +81,9 @@ func renderTTYText(w writer, text Txt) {
func itemToParagraph(list Entry, itemText Txt, prefix string) Entry {
p := Entry{
typ: paragraph,
wrapWidth: list.wrapWidth,
indent: list.indent + len([]rune(prefix)) + 1,
typ: paragraph,
wrapWidth: list.wrapWidth,
indent: list.indent + len([]rune(prefix)) + 1,
indentFirst: list.indentFirst - len([]rune(prefix)) - 1,
}
@ -128,7 +128,7 @@ func renderTTYNumberedList(w writer, e Entry) {
w.write("\n")
}
p := itemToParagraph(e, item.text, padRight(fmt.Sprintf("%d.", i + 1), maxDigits + 1))
p := itemToParagraph(e, item.text, padRight(fmt.Sprintf("%d.", i+1), maxDigits+1))
renderTTYParagraph(w, p)
}
}
@ -149,7 +149,7 @@ func renderTTYDefinitions(w writer, e Entry) {
p := itemToParagraph(
e,
definition.value,
padRight(fmt.Sprintf("- %s:", names[i]), maxNameLength + 3),
padRight(fmt.Sprintf("- %s:", names[i]), maxNameLength+3),
)
renderTTYParagraph(w, p)
@ -176,10 +176,10 @@ func renderTTYNumberedDefinitions(w writer, e Entry) {
padRight(
fmt.Sprintf(
"%s %s:",
padRight(fmt.Sprintf("%d.", i + 1), maxDigits + 1),
padRight(fmt.Sprintf("%d.", i+1), maxDigits+1),
names[i],
),
maxNameLength + maxDigits + 3,
maxNameLength+maxDigits+3,
),
)
@ -400,7 +400,7 @@ func renderTTYSyntaxItem(w writer, s SyntaxItem) {
func renderTTYSyntax(w writer, e Entry) {
s := e.syntax
s.topLevel = true
w.write(timesn(" ", e.indent + e.indentFirst))
w.write(timesn(" ", e.indent+e.indentFirst))
renderTTYSyntaxItem(w, s)
}

View File

@ -930,7 +930,7 @@ third item
like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -965,7 +965,7 @@ third item
sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -1083,7 +1083,7 @@ third item
like sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})
@ -1118,7 +1118,7 @@ third item
sky
`
if "\n" + b.String() != expect {
if "\n"+b.String() != expect {
t.Fatal("\n" + b.String())
}
})

View File

@ -1,10 +1,10 @@
package textfmt
import (
"bytes"
"fmt"
"strings"
"unicode"
"fmt"
"bytes"
)
func timesn(s string, n int) string {

View File

@ -1,8 +1,8 @@
package textfmt
import (
"io"
"fmt"
"io"
"strings"
)
@ -13,15 +13,15 @@ type writer interface {
}
type ttyWriter struct {
w io.Writer
w io.Writer
internal bool
err error
err error
}
type roffWriter struct {
w io.Writer
w io.Writer
internal bool
err error
err error
}
func (w *ttyWriter) write(a ...any) {