about summary refs log tree commit diff stats
path: root/radish.fnl
blob: acba83f875772e7ab2f8a0a4f61649ba7ab17034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
;;; RADISH
;; A tuner for various streams
;; Copyright (C) 2022 Case Duckworth <acdw@acdw.net>
;; License: Good Choices (https://acdw.casa/gcl)

(local util (require :util))
(local pls (require :pls))
(local radish (require :lib))

(fn usage []
  (util.printlns "RADISH: a tuner for various streams"
                 "Copyright (C) 2022 Case Duckworth <acdw@acdw.net>"
                 "License: Good Choices (https://acdw.casa/gcl)"
                 ""
                 "Commands"
                 "    radish [STATION]"
                 "        Begin playing STATION.  If STATION is not"
                 "        provided, display a list of favorites and"
                 "        allow the user to choose one to play."
                 "    radish play [STATION]"
                 "        Begin playing STATION.  If STATION is not"
                 "        provided, play the most recently-played."
                 "    radish kill"
                 "        Kill the currently-playing station."
                 "    radish add [STATION]"
                 "        Add STATION or the currently-playing one"
                 "        to the favorites list."
                 "    radish del [STATION]"
                 "        Remove STATION or the currently-playing"
                 "        one from the favorites list."
                 "    radish edit [STATION]"
                 "        Edit the information of STATION, or the"
                 "        current one if not given."
                 ""
                 "See radish(1) for more details."))

(fn main [args]
  (match args
    [:play ?station] (radish.play ?station)
    [:kill] (radish.kill)
    [:add ?station] (radish.add ?station)
    [:del ?station] (radish.del ?station)
    [:edit ?station] (radish.edit ?station)
    [station] (radish.play station)
    _ (usage)))

(main arg)