Case fixes.
This commit is contained in:
parent
3c1248c1b2
commit
ee952e92fc
4 changed files with 22 additions and 22 deletions
|
|
@ -74,7 +74,7 @@ proc writeHelp() =
|
||||||
quit(QuitSuccess)
|
quit(QuitSuccess)
|
||||||
|
|
||||||
proc writeVersion() =
|
proc writeVersion() =
|
||||||
echo("babel v$# compiled at $# $#" % [babelVersion, compileDate, compileTime])
|
echo("babel v$# compiled at $# $#" % [babelVersion, CompileDate, CompileTime])
|
||||||
quit(QuitSuccess)
|
quit(QuitSuccess)
|
||||||
|
|
||||||
proc getBabelDir(options: TOptions): string =
|
proc getBabelDir(options: TOptions): string =
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ proc getVersionList*(tags: seq[string]): TTable[TVersion, string] =
|
||||||
result = initTable[TVersion, string]()
|
result = initTable[TVersion, string]()
|
||||||
for tag in tags:
|
for tag in tags:
|
||||||
if tag != "":
|
if tag != "":
|
||||||
let i = skipUntil(tag, digits) # skip any chars before the version
|
let i = skipUntil(tag, Digits) # skip any chars before the version
|
||||||
# TODO: Better checking, tags can have any names. Add warnings and such.
|
# TODO: Better checking, tags can have any names. Add warnings and such.
|
||||||
result[newVersion(tag[i .. -1])] = tag
|
result[newVersion(tag[i .. -1])] = tag
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ proc validatePackageInfo(pkgInfo: TPackageInfo, path: string) =
|
||||||
if pkgInfo.backend notin ["c", "cc", "objc", "cpp", "js"]:
|
if pkgInfo.backend notin ["c", "cc", "objc", "cpp", "js"]:
|
||||||
raise newException(EBabel, "'" & pkgInfo.backend & "' is an invalid backend.")
|
raise newException(EBabel, "'" & pkgInfo.backend & "' is an invalid backend.")
|
||||||
for c in pkgInfo.version:
|
for c in pkgInfo.version:
|
||||||
if c notin ({'.'} + digits):
|
if c notin ({'.'} + Digits):
|
||||||
raise newException(EBabel,
|
raise newException(EBabel,
|
||||||
"Version may only consist of numbers and the '.' character " &
|
"Version may only consist of numbers and the '.' character " &
|
||||||
"but found '" & c & "'.")
|
"but found '" & c & "'.")
|
||||||
|
|
@ -85,7 +85,7 @@ proc validatePackageInfo(pkgInfo: TPackageInfo, path: string) =
|
||||||
proc parseRequires(req: string): TPkgTuple =
|
proc parseRequires(req: string): TPkgTuple =
|
||||||
try:
|
try:
|
||||||
if ' ' in req:
|
if ' ' in req:
|
||||||
var i = skipUntil(req, whitespace)
|
var i = skipUntil(req, Whitespace)
|
||||||
result.name = req[0 .. i].strip
|
result.name = req[0 .. i].strip
|
||||||
result.ver = parseVersionRange(req[i .. -1])
|
result.ver = parseVersionRange(req[i .. -1])
|
||||||
elif '#' in req:
|
elif '#' in req:
|
||||||
|
|
|
||||||
|
|
@ -34,15 +34,15 @@ type
|
||||||
proc newVersion*(ver: string): TVersion = return TVersion(ver)
|
proc newVersion*(ver: string): TVersion = return TVersion(ver)
|
||||||
proc newSpecial*(spe: string): TSpecial = return TSpecial(spe)
|
proc newSpecial*(spe: string): TSpecial = return TSpecial(spe)
|
||||||
|
|
||||||
proc `$`*(ver: TVersion): String {.borrow.}
|
proc `$`*(ver: TVersion): string {.borrow.}
|
||||||
|
|
||||||
proc hash*(ver: TVersion): THash {.borrow.}
|
proc hash*(ver: TVersion): THash {.borrow.}
|
||||||
|
|
||||||
proc `$`*(ver: TSpecial): String {.borrow.}
|
proc `$`*(ver: TSpecial): string {.borrow.}
|
||||||
|
|
||||||
proc hash*(ver: TSpecial): THash {.borrow.}
|
proc hash*(ver: TSpecial): THash {.borrow.}
|
||||||
|
|
||||||
proc `<`*(ver: TVersion, ver2: TVersion): Bool =
|
proc `<`*(ver: TVersion, ver2: TVersion): bool =
|
||||||
var sVer = string(ver).split('.')
|
var sVer = string(ver).split('.')
|
||||||
var sVer2 = string(ver2).split('.')
|
var sVer2 = string(ver2).split('.')
|
||||||
for i in 0..max(sVer.len, sVer2.len)-1:
|
for i in 0..max(sVer.len, sVer2.len)-1:
|
||||||
|
|
@ -53,13 +53,13 @@ proc `<`*(ver: TVersion, ver2: TVersion): Bool =
|
||||||
if i < sVer2.len:
|
if i < sVer2.len:
|
||||||
discard parseInt(sVer2[i], sVerI2)
|
discard parseInt(sVer2[i], sVerI2)
|
||||||
if sVerI < sVerI2:
|
if sVerI < sVerI2:
|
||||||
return True
|
return true
|
||||||
elif sVerI == sVerI2:
|
elif sVerI == sVerI2:
|
||||||
nil
|
nil
|
||||||
else:
|
else:
|
||||||
return False
|
return false
|
||||||
|
|
||||||
proc `==`*(ver: TVersion, ver2: TVersion): Bool =
|
proc `==`*(ver: TVersion, ver2: TVersion): bool =
|
||||||
var sVer = string(ver).split('.')
|
var sVer = string(ver).split('.')
|
||||||
var sVer2 = string(ver2).split('.')
|
var sVer2 = string(ver2).split('.')
|
||||||
for i in 0..max(sVer.len, sVer2.len)-1:
|
for i in 0..max(sVer.len, sVer2.len)-1:
|
||||||
|
|
@ -72,15 +72,15 @@ proc `==`*(ver: TVersion, ver2: TVersion): Bool =
|
||||||
if sVerI == sVerI2:
|
if sVerI == sVerI2:
|
||||||
result = true
|
result = true
|
||||||
else:
|
else:
|
||||||
return False
|
return false
|
||||||
|
|
||||||
proc `==`*(spe: TSpecial, spe2: TSpecial): bool =
|
proc `==`*(spe: TSpecial, spe2: TSpecial): bool =
|
||||||
return ($spe).toLower() == ($spe2).toLower()
|
return ($spe).toLower() == ($spe2).toLower()
|
||||||
|
|
||||||
proc `<=`*(ver: TVersion, ver2: TVersion): Bool =
|
proc `<=`*(ver: TVersion, ver2: TVersion): bool =
|
||||||
return (ver == ver2) or (ver < ver2)
|
return (ver == ver2) or (ver < ver2)
|
||||||
|
|
||||||
proc withinRange*(ver: TVersion, ran: PVersionRange): Bool =
|
proc withinRange*(ver: TVersion, ran: PVersionRange): bool =
|
||||||
case ran.kind
|
case ran.kind
|
||||||
of verLater:
|
of verLater:
|
||||||
return ver > ran.ver
|
return ver > ran.ver
|
||||||
|
|
@ -93,20 +93,20 @@ proc withinRange*(ver: TVersion, ran: PVersionRange): Bool =
|
||||||
of verEq:
|
of verEq:
|
||||||
return ver == ran.ver
|
return ver == ran.ver
|
||||||
of verSpecial:
|
of verSpecial:
|
||||||
return False
|
return false
|
||||||
of verIntersect:
|
of verIntersect:
|
||||||
return withinRange(ver, ran.verILeft) and withinRange(ver, ran.verIRight)
|
return withinRange(ver, ran.verILeft) and withinRange(ver, ran.verIRight)
|
||||||
of verAny:
|
of verAny:
|
||||||
return True
|
return true
|
||||||
|
|
||||||
proc withinRange*(spe: TSpecial, ran: PVersionRange): Bool =
|
proc withinRange*(spe: TSpecial, ran: PVersionRange): bool =
|
||||||
case ran.kind
|
case ran.kind
|
||||||
of verLater, verEarlier, verEqLater, verEqEarlier, verEq, verIntersect:
|
of verLater, verEarlier, verEqLater, verEqEarlier, verEq, verIntersect:
|
||||||
return False
|
return false
|
||||||
of verSpecial:
|
of verSpecial:
|
||||||
return spe == ran.spe
|
return spe == ran.spe
|
||||||
of verAny:
|
of verAny:
|
||||||
return True
|
return true
|
||||||
|
|
||||||
proc contains*(ran: PVersionRange, ver: TVersion): bool =
|
proc contains*(ran: PVersionRange, ver: TVersion): bool =
|
||||||
return withinRange(ver, ran)
|
return withinRange(ver, ran)
|
||||||
|
|
@ -144,7 +144,7 @@ proc parseVersionRange*(s: string): PVersionRange =
|
||||||
var i = 0
|
var i = 0
|
||||||
var op = ""
|
var op = ""
|
||||||
var version = ""
|
var version = ""
|
||||||
while True:
|
while true:
|
||||||
case s[i]
|
case s[i]
|
||||||
of '>', '<', '=':
|
of '>', '<', '=':
|
||||||
op.add(s[i])
|
op.add(s[i])
|
||||||
|
|
@ -181,7 +181,7 @@ proc parseVersionRange*(s: string): PVersionRange =
|
||||||
raise newException(EParseVersion, "Unexpected char in version range: " & s[i])
|
raise newException(EParseVersion, "Unexpected char in version range: " & s[i])
|
||||||
inc(i)
|
inc(i)
|
||||||
|
|
||||||
proc `$`*(verRange: PVersionRange): String =
|
proc `$`*(verRange: PVersionRange): string =
|
||||||
case verRange.kind
|
case verRange.kind
|
||||||
of verLater:
|
of verLater:
|
||||||
result = "> "
|
result = "> "
|
||||||
|
|
@ -219,7 +219,7 @@ proc newVRAny*(): PVersionRange =
|
||||||
new(result)
|
new(result)
|
||||||
result.kind = verAny
|
result.kind = verAny
|
||||||
|
|
||||||
proc newVREarlier*(ver: String): PVersionRange =
|
proc newVREarlier*(ver: string): PVersionRange =
|
||||||
new(result)
|
new(result)
|
||||||
result.kind = verEarlier
|
result.kind = verEarlier
|
||||||
result.ver = newVersion(ver)
|
result.ver = newVersion(ver)
|
||||||
|
|
@ -281,4 +281,4 @@ when isMainModule:
|
||||||
doAssert newSpecial("ab26saggdt362") notin sp
|
doAssert newSpecial("ab26saggdt362") notin sp
|
||||||
|
|
||||||
|
|
||||||
echo("Everything works!")
|
echo("Everything works!")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue