summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wit.go19
1 files changed, 15 insertions, 4 deletions
diff --git a/wit.go b/wit.go
index 124404f..a364de3 100644
--- a/wit.go
+++ b/wit.go
@@ -91,11 +91,22 @@ func (m *Machine) FindByVersion(name string, version string) *Package {
if name == p.Name {
if version == "" {
return p
- } else {
- if version == p.Version {
- return p
- }
}
+ if strings.HasPrefix(p.Version, version+"-") {
+ return p
+ }
+ if strings.HasPrefix(p.Version, version+".") {
+ return p
+ }
+ if version == p.Version {
+ return p
+ }
+ }
+ }
+ // give anything with the same name
+ for p := range m.Wit.IterByName() {
+ if name == p.Name {
+ return p
}
}