aboutsummaryrefslogtreecommitdiff
path: root/snap/parsing.go
diff options
context:
space:
mode:
authorflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-22 00:41:30 -0500
committerflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-22 00:41:30 -0500
commitaf8f52e2e4c879935656dd93c2fb564c6e2ce515 (patch)
tree81498b5f6d84d69fd6a9d83e413b95e1dce7b6c4 /snap/parsing.go
parentfb8aee6c5147b8751a3920f613934d90b79ef4c5 (diff)
downloadzsu-af8f52e2e4c879935656dd93c2fb564c6e2ce515.tar.xz
zsu-af8f52e2e4c879935656dd93c2fb564c6e2ce515.zip
Parse within subcommands
Diffstat (limited to 'snap/parsing.go')
-rw-r--r--snap/parsing.go19
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