#lang racket/base (require "coreutils.rkt" "extended.rkt" "racket-tools.rkt") (provide (struct-out coreutils-command) coreutils-commands find-coreutils-command) (struct coreutils-command (name procedure documentation-term) #:transparent) (define coreutils-commands (list (coreutils-command 'pwd coreutils-pwd 'rash-coreutils-pwd) (coreutils-command 'ls coreutils-ls 'rash-coreutils-ls) (coreutils-command 'mkdir coreutils-mkdir 'rash-coreutils-mkdir) (coreutils-command 'rmdir coreutils-rmdir 'rash-coreutils-rmdir) (coreutils-command 'rm coreutils-rm 'rash-coreutils-rm) (coreutils-command 'cp coreutils-cp 'rash-coreutils-cp) (coreutils-command 'mv coreutils-mv 'rash-coreutils-mv) (coreutils-command 'cat coreutils-cat 'rash-coreutils-cat) (coreutils-command 'touch coreutils-touch 'rash-coreutils-touch) (coreutils-command 'echo coreutils-echo 'rash-coreutils-echo) (coreutils-command 'which coreutils-which 'rash-coreutils-which) (coreutils-command 'head coreutils-head 'rash-coreutils-head) (coreutils-command 'tail coreutils-tail 'rash-coreutils-tail) (coreutils-command 'wc coreutils-wc 'rash-coreutils-wc) (coreutils-command 'sort coreutils-sort 'rash-coreutils-sort) (coreutils-command 'uniq coreutils-uniq 'rash-coreutils-uniq) (coreutils-command 'cut coreutils-cut 'rash-coreutils-cut) (coreutils-command 'tee coreutils-tee 'rash-coreutils-tee) (coreutils-command 'tr coreutils-tr 'rash-coreutils-tr) (coreutils-command 'basename coreutils-basename 'rash-coreutils-basename) (coreutils-command 'dirname coreutils-dirname 'rash-coreutils-dirname) (coreutils-command 'realpath coreutils-realpath 'rash-coreutils-realpath) (coreutils-command 'readlink coreutils-readlink 'rash-coreutils-readlink) (coreutils-command 'stat coreutils-stat 'rash-coreutils-stat) (coreutils-command 'du coreutils-du 'rash-coreutils-du) (coreutils-command 'df coreutils-df 'rash-coreutils-df) (coreutils-command 'mktemp coreutils-mktemp 'rash-coreutils-mktemp) (coreutils-command 'printenv coreutils-printenv 'rash-coreutils-printenv) (coreutils-command 'env coreutils-env 'rash-coreutils-env) (coreutils-command 'date coreutils-date 'rash-coreutils-date) (coreutils-command 'raco coreutils-raco 'rash-coreutils-raco))) (define (find-coreutils-command name) (for/first ([command (in-list coreutils-commands)] #:when (eq? name (coreutils-command-name command))) command))