mirror of
https://github.com/vbatts/go-mtree.git
synced 2025-07-01 05:28:30 +00:00
*: entry linking and keyword filter
Setting up sibling and parent relationships for entries, so they can be easier to walk. Also, making "keyword=value" easier to parse. This helps filtering. Both of these ready us for checking/validating a hierarchy. Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
parent
ef9ba54f10
commit
3b6cb6e117
4 changed files with 91 additions and 20 deletions
13
hierarchy.go
13
hierarchy.go
|
@ -35,11 +35,14 @@ func (bp byPos) Swap(i, j int) { bp[i], bp[j] = bp[j], bp[i] }
|
|||
|
||||
// Entry is each component of content in the mtree spec file
|
||||
type Entry struct {
|
||||
Pos int // order in the spec
|
||||
Raw string // file or directory name
|
||||
Name string // file or directory name
|
||||
Keywords []string // TODO(vbatts) maybe a keyword typed set of values?
|
||||
Type EntryType
|
||||
Parent, Child *Entry // up, down
|
||||
Prev, Next *Entry // left, right
|
||||
Set *Entry // current `/set` for additional keywords
|
||||
Pos int // order in the spec
|
||||
Raw string // file or directory name
|
||||
Name string // file or directory name
|
||||
Keywords []string // TODO(vbatts) maybe a keyword typed set of values?
|
||||
Type EntryType
|
||||
}
|
||||
|
||||
func (e Entry) String() string {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue