Skip to content

Commit

Permalink
add sample
Browse files Browse the repository at this point in the history
  • Loading branch information
ddddddO committed Dec 11, 2021
1 parent bb96e29 commit d05c98e
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README_Package_2.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,3 +228,7 @@ func main() {
}

```

- Convert `go list -deps ./...` to tree. (inspired by https://github.com/nikolaydubina/go-recipes#readme)

[link](https://github.com/ddddddO/gtree/blob/master/sample/go-list_pipe_programmable-gtree/main.go)
112 changes: 112 additions & 0 deletions sample/go-list_pipe_programmable-gtree/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
package main

import (
"bufio"
"os"
"strings"

"github.com/ddddddO/gtree"
)

// cd github.com/ddddddO/gtree
// go list -deps ./... | go run sample/go-list_pipe_programmable-gtree/main.go
func main() {
var (
root = gtree.NewRoot("[All Dependencies]")
node *gtree.Node
)
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
line := scanner.Text()
splited := strings.Split(line, "/")

for i, s := range splited {
if i == 0 {
node = root.Add(s)
continue
}
node = node.Add(s)
}
node = root
}

if err := gtree.ExecuteProgrammably(os.Stdout, root); err != nil {
panic(err)
}
// Output:
// [All Dependencies]
// ├── unsafe
// ├── internal
// │ ├── unsafeheader
// │ ├── abi
// │ ├── cpu
// │ ├── bytealg
// │ ├── goexperiment
// │ ├── reflectlite
// │ ├── race
// │ ├── itoa
// │ ├── fmtsort
// │ ├── oserror
// │ ├── syscall
// │ │ ├── unix
// │ │ └── execenv
// │ ├── poll
// │ └── testlog
// ├── runtime
// │ └── internal
// │ ├── atomic
// │ ├── sys
// │ └── math
// ├── errors
// ├── sync
// │ └── atomic
// ├── io
// │ ├── fs
// │ └── ioutil
// ├── unicode
// │ ├── utf8
// │ └── utf16
// ├── bytes
// ├── strings
// ├── bufio
// ├── encoding
// │ ├── binary
// │ ├── base64
// │ └── json
// ├── math
// │ └── bits
// ├── strconv
// ├── reflect
// ├── sort
// ├── syscall
// ├── time
// ├── path
// │ └── filepath
// ├── os
// ├── fmt
// ├── github.com
// │ ├── pelletier
// │ │ └── go-toml
// │ │ └── v2
// │ │ └── internal
// │ │ ├── danger
// │ │ ├── ast
// │ │ └── tracker
// │ ├── pkg
// │ │ └── errors
// │ └── ddddddO
// │ └── gtree
// │ ├── cmd
// │ │ └── gtree
// │ └── sample
// │ ├── find_pipe_programmable-gtree
// │ ├── go-list_pipe_programmable-gtree
// │ ├── like_cli
// │ │ └── adapter
// │ └── programmable
// ├── regexp
// │ └── syntax
// ├── gopkg.in
// │ └── yaml.v2
// └── flag
}

0 comments on commit d05c98e

Please sign in to comment.