From eb6164bd523e85180c352d5a5b0a653cfde6f561 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 28 Jul 2022 21:36:38 -0500 Subject: Modularize This ... doesn't work. --- radish.fnl | 89 ++++++++++++++++++++++++-------------------------------------- 1 file changed, 35 insertions(+), 54 deletions(-) (limited to 'radish.fnl') diff --git a/radish.fnl b/radish.fnl index 4ce6e22..acba83f 100644 --- a/radish.fnl +++ b/radish.fnl @@ -3,64 +3,45 @@ ;; Copyright (C) 2022 Case Duckworth ;; License: Good Choices (https://acdw.casa/gcl) -;;; Entry point +(local util (require :util)) +(local pls (require :pls)) +(local radish (require :lib)) (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.")) + (util.printlns "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) + [: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) +(main arg) -- cgit 1.4.1-21-gabe81