From d2073cfead2de49ca48198cf4e8110cb189358d1 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 28 Jul 2022 21:21:13 -0500 Subject: Begin converting to fennel --- radish.fnl | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 radish.fnl (limited to 'radish.fnl') diff --git a/radish.fnl b/radish.fnl new file mode 100644 index 0000000..4ce6e22 --- /dev/null +++ b/radish.fnl @@ -0,0 +1,66 @@ +;;; RADISH +;; A tuner for various streams +;; Copyright (C) 2022 Case Duckworth +;; License: Good Choices (https://acdw.casa/gcl) + +;;; Entry point + +(fn usage [] + (printn* "RADISH: a tuner for various streams" + "Copyright (C) 2022 Case Duckworth " + "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))) + +;;; Utilities + +(lambda printn* [?sep ...] + "Print arguments as strings, delimited by ?SEP. +?SEP defaults to '\n', but can be anything." + (print (table.concat [...] (or ?sep "\n")))) + +;;; Functionality + +(lambda radish-play [?station]) + +(lambda radish-kill []) + +(lambda radish-add [?station]) + +(lambda radish-del [?station]) + +(lambda radish-edit [?station]) + +;;; End + +(main args) -- cgit 1.4.1-21-gabe81