aboutsummaryrefslogtreecommitdiff
path: root/snap/parsing.go
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2021-07-22 00:41:30 -0500
committerFurkan Sahin <furkan-dev@proton.me>2021-07-22 00:41:30 -0500
commit193128c3130d415c54380b5bc35686a72543594a (patch)
tree92bacba2ecf4eb43329aefbe68c16db7aa7cfb75 /snap/parsing.go
parent47fbc0ec08ae75c62df1b7ce6c99c56ad9827a9a (diff)
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