From 6da098b46cb2918d34da8d168db1bd7986c6ee80 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Fri, 28 Jan 2011 11:39:02 +0000 Subject: [PATCH] Slight dependency error message tweak. --- installer.nim | 4 ++-- version.nim | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/installer.nim b/installer.nim index 3870d06..7db603d 100644 --- a/installer.nim +++ b/installer.nim @@ -30,8 +30,8 @@ proc dependExists(name: string, verRange: PVersionRange): Bool = if name == "nimrod": var nimVer = getNimVersion() if not withinRange(newVersion(nimVer), verRange): - raise newException(EInstall, "Nimrod version(" & - nimVer & ") doesn't satisfy dependency") + raise newException(EInstall, "Nimrod version doesn't satisfy dependency: " & + nimVer & " " & $verRange) else: return True else: for kind, path in walkDir(getBabelDir() / "lib"): diff --git a/version.nim b/version.nim index cf13796..3ff6506 100644 --- a/version.nim +++ b/version.nim @@ -121,6 +121,23 @@ proc parseVersionRange*(s: string): PVersionRange = raise newException(EParseVersion, "Unexpected char in version range: " & s[i]) inc(i) +proc `$`*(verRange: PVersionRange): String = + case verRange.kind + of verLater: + result = "> " + of verEarlier: + result = "< " + of verEqLater: + result = ">= " + of verEqEarlier: + result = "<= " + of verIntersect: + result = $verRange.verILeft & " & " & $verRange.verIRight + of verAny: + return "Any" + + result.add(string(verRange.ver)) + when isMainModule: assert(newVersion("1.0") < newVersion("1.4")) assert(newVersion("1.0.1") > newVersion("1.0"))