diff options
author | flu0r1ne <flu0r1ne@flu0r1ne.net> | 2021-07-22 00:41:30 -0500 |
---|---|---|
committer | flu0r1ne <flu0r1ne@flu0r1ne.net> | 2021-07-22 00:41:30 -0500 |
commit | af8f52e2e4c879935656dd93c2fb564c6e2ce515 (patch) | |
tree | 81498b5f6d84d69fd6a9d83e413b95e1dce7b6c4 /snap/parsing.go | |
parent | fb8aee6c5147b8751a3920f613934d90b79ef4c5 (diff) | |
download | zsu-af8f52e2e4c879935656dd93c2fb564c6e2ce515.tar.xz zsu-af8f52e2e4c879935656dd93c2fb564c6e2ce515.zip |
Parse within subcommands
Diffstat (limited to 'snap/parsing.go')
-rw-r--r-- | snap/parsing.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/snap/parsing.go b/snap/parsing.go index a848c33..e878077 100644 --- a/snap/parsing.go +++ b/snap/parsing.go @@ -78,7 +78,7 @@ func ToRelative(snapish string) * Relative { return ref; } - if ref := parseRelativeSyntax(snapish, "-"); ref != nil { + if ref := parseRelativeSyntax(snapish, "~"); ref != nil { ref.offset = -ref.offset; return ref; } @@ -86,4 +86,21 @@ func ToRelative(snapish string) * Relative { return &Relative{ snapshot: snapish, }; +} + +// FROM, TO +func ParseDiff(snapdiff string) (fromRel, toRel *Relative) { + snapishes := strings.Split(snapdiff, "..") + + if(len(snapishes) > 2) { + die.Fatal("Cannot diff more than two snapshots"); + } + + fromRel = ToRelative(snapishes[0]) + toRel = &Relative{} + if(len(snapishes) == 2) { + toRel = ToRelative(snapishes[1]) + } + + return }
\ No newline at end of file |