Skip to content

Commit 5563382

Browse files
committed
Merge pull request #43 from Carthage/some-cleanups
Some cleanups for the codebase
2 parents be9f939 + 3041e80 commit 5563382

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

Commandant/ArgumentParser.swift

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,20 @@ public final class ArgumentParser {
125125
rawArguments.removeAll()
126126

127127
var foundValue: String?
128-
argumentLoop: for var index = 0; index < oldArguments.count; index++ {
128+
var index = 0
129+
130+
while index < oldArguments.count {
131+
defer { index += 1 }
132+
129133
let arg = oldArguments[index]
130134

131135
if arg == .Key(key) {
132-
if ++index < oldArguments.count {
136+
index += 1
137+
if index < oldArguments.count {
133138
switch oldArguments[index] {
134139
case let .Value(value):
135140
foundValue = value
136-
continue argumentLoop
141+
continue
137142

138143
default:
139144
break
@@ -152,8 +157,8 @@ public final class ArgumentParser {
152157
/// Returns the next positional argument that hasn't yet been returned, or
153158
/// nil if there are no more positional arguments.
154159
internal func consumePositionalArgument() -> String? {
155-
for var index = 0; index < rawArguments.count; index++ {
156-
switch rawArguments[index] {
160+
for (index, arg) in rawArguments.enumerate() {
161+
switch arg {
157162
case let .Value(value):
158163
rawArguments.removeAtIndex(index)
159164
return value
@@ -180,7 +185,8 @@ public final class ArgumentParser {
180185
internal func consumeBooleanFlag(flag: Character) -> Bool {
181186
for (index, arg) in rawArguments.enumerate() {
182187
switch arg {
183-
case var .Flag(flags) where flags.contains(flag):
188+
case let .Flag(flags) where flags.contains(flag):
189+
var flags = flags
184190
flags.remove(flag)
185191
if flags.isEmpty {
186192
rawArguments.removeAtIndex(index)

Commandant/Command.swift

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,13 @@ extension CommandRegistry {
138138
/// If a matching command could not be found or a usage error occurred,
139139
/// a helpful error message will be written to `stderr`, then the process
140140
/// will exit with a failure error code.
141-
@noreturn public func main(var arguments arguments: [String], defaultVerb: String, errorHandler: ClientError -> ()) {
141+
@noreturn public func main(arguments arguments: [String], defaultVerb: String, errorHandler: ClientError -> ()) {
142142
assert(arguments.count >= 1)
143143

144+
var arguments = arguments
145+
144146
// Extract the executable name.
145-
let executableName = arguments.first!
146-
arguments.removeAtIndex(0)
147+
let executableName = arguments.removeAtIndex(0)
147148

148149
let verb = arguments.first ?? defaultVerb
149150
if arguments.count > 0 {
@@ -152,10 +153,10 @@ extension CommandRegistry {
152153
}
153154

154155
switch runCommand(verb, arguments: arguments) {
155-
case .Some(.Success):
156+
case .Success?:
156157
exit(EXIT_SUCCESS)
157158

158-
case let .Some(.Failure(error)):
159+
case let .Failure(error)?:
159160
switch error {
160161
case let .UsageError(description):
161162
fputs(description + "\n", stderr)
@@ -166,7 +167,7 @@ extension CommandRegistry {
166167

167168
exit(EXIT_FAILURE)
168169

169-
case .None:
170+
case nil:
170171
fputs("Unrecognized command: '\(verb)'. See `\(executableName) help`.\n", stderr)
171172
exit(EXIT_FAILURE)
172173
}

0 commit comments

Comments
 (0)