aboutsummaryrefslogtreecommitdiff
path: root/Sources/arguments_source.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sources/arguments_source.swift')
-rw-r--r--Sources/arguments_source.swift18
1 files changed, 18 insertions, 0 deletions
diff --git a/Sources/arguments_source.swift b/Sources/arguments_source.swift
new file mode 100644
index 0000000..9615318
--- /dev/null
+++ b/Sources/arguments_source.swift
@@ -0,0 +1,18 @@
+// Source that reads track artist and name from the command line
+class ArgumentsSource: Source {
+
+ // Returns a track based on the arguments. It assumes the track artist
+ // will be the first argument, and the name will be the second, excluding
+ // any flags.
+ var currentTrack: Track? {
+
+ if CommandLine.arguments.count >= 3 {
+ // expected usage: $ ./lyricli <artist> <name>
+ let trackName: String = CommandLine.arguments[2]
+ let trackArtist: String = CommandLine.arguments[1]
+
+ return Track(withName: trackName, andArtist: trackArtist)
+ }
+ return nil
+ }
+}