Skip to content

Commit

Permalink
hide unused veth pairs by default
Browse files Browse the repository at this point in the history
  • Loading branch information
t1anz0ng committed Aug 3, 2022
1 parent 363dd82 commit 8571932
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 30 deletions.
9 changes: 5 additions & 4 deletions cmd/iftree/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ import (
var (
debug = pflag.BoolP("debug", "d", false, "print debug message")

oGraph = pflag.BoolP("graph", "g", false, "output in png by defaul")
oGraphType = pflag.StringP("gtype", "T", "png", `graph output type, "jpg", "png", "svg", "dot"(graphviz dot language(https://graphviz.org/doc/info/lang.html)`)
oGraphName = pflag.StringP("output", "O", "output", "graph output name/path")
oUnusedVeths = pflag.BoolP("all", "a", false, "show all veths, including unused.")
oGraph = pflag.BoolP("graph", "g", false, "output in png by defaul")
oGraphType = pflag.StringP("gtype", "T", "png", `graph output type, "jpg", "png", "svg", "dot"(graphviz dot language(https://graphviz.org/doc/info/lang.html)`)
oGraphName = pflag.StringP("output", "O", "output", "graph output name/path")

oTable = pflag.BoolP("table", "t", false, "output in table")

Expand Down Expand Up @@ -242,7 +243,7 @@ func main() {
return
}

if err := formatter.Print(os.Stdout, vm, netNsMap, vpairs); err != nil {
if err := formatter.Print(os.Stdout, vm, netNsMap, vpairs, *oUnusedVeths); err != nil {
log.Fatal(err)
}

Expand Down
56 changes: 30 additions & 26 deletions pkg/formatter/text.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ import (
"github.com/t1anz0ng/iftree/pkg"
)

func Print(w io.Writer, vm map[string][]pkg.Node, netNsMap map[int]string, vpairs []pkg.Node) error {
func Print(w io.Writer, vm map[string][]pkg.Node,
netNsMap map[int]string,
vpairs []pkg.Node,
all bool) error {

var content strings.Builder
var vpair strings.Builder
Expand Down Expand Up @@ -61,32 +64,33 @@ func Print(w io.Writer, vm map[string][]pkg.Node, netNsMap map[int]string, vpair
lw.SetStyle(list.StyleConnectedRounded)
lw.Render()

lw.Reset()
lw.SetOutputMirror(&vpair)
var contents []string
contents = append(contents, mainStype.Render(content.String()))
if all {
lw.Reset()
lw.SetOutputMirror(&vpair)

fmt.Fprintln(&vpair, lipgloss.NewStyle().
Background(lipgloss.Color("#F25D94")).
MarginLeft(5).
MarginRight(5).
Padding(0, 1).
Italic(true).
Foreground(lipgloss.Color("#FFF7DB")).
SetString("unused veth pairs"))
lw.SetStyle(list.StyleConnectedRounded)
for _, veth := range vpairs {
lw.AppendItem(fmt.Sprintf("%s%s%s", veth.Veth,
lipgloss.NewStyle().
MarginRight(1).
MarginLeft(1).
Padding(0, 1).
Foreground(special).SetString("<----->"),
veth.Peer))
fmt.Fprintln(&vpair, lipgloss.NewStyle().
Background(lipgloss.Color("#F25D94")).
MarginLeft(5).
MarginRight(5).
Padding(0, 1).
Italic(true).
Foreground(lipgloss.Color("#FFF7DB")).
SetString("unused veth pairs"))
lw.SetStyle(list.StyleConnectedRounded)
for _, veth := range vpairs {
lw.AppendItem(fmt.Sprintf("%s%s%s", veth.Veth,
lipgloss.NewStyle().
MarginRight(1).
MarginLeft(1).
Padding(0, 1).
Foreground(special).SetString("<----->"),
veth.Peer))
}
lw.Render()
contents = append(contents, vethPairStyle.Render(vpair.String()))
}
lw.Render()
fmt.Fprintln(w,
lipgloss.JoinHorizontal(
lipgloss.Top,
mainStype.Render(content.String()),
vethPairStyle.Render(vpair.String())))
fmt.Fprintln(w, lipgloss.JoinVertical(lipgloss.Top, contents...))
return nil
}

0 comments on commit 8571932

Please sign in to comment.