#!/usr/bin/env racket #lang racket (define pastebin-verbose? (make-parameter #false)) (define pastebin-title (make-parameter "")) (define slide-verbose? (make-parameter #false)) (define subcommand (command-line #:program "website-cli" #:args (subcommand . subcommand-options) (match subcommand ["pastebin" (command-line #:program "website-cli pastebin" #:argv subcommand-options #:multi [("-v" "--verbose") "dunno" (pastebin-verbose? #true)] [("-t" "--title") title "The title of the pastebin, will be slugified for creating the filename." (pastebin-title title)])] ["slide" (command-line #:program "website-cli slide" #:argv subcommand-options #:usage-help "woeifj ijfe" #:multi [("-v" "--verbose") "Turn on verbose mode" (slide-verbose? #false)] #:help-labels "oefijeifjeijfiejfijeij ijij" #:ps "ps")] [_ (printf "Invalid subcommand: ~a\n" subcommand) (exit 1)]) subcommand)) (define out (match subcommand ["pastebin" (system "./pastebin/new.sh")] ["slide" (system "./slides/new.sh")])) (exit (if out 0 1))