(in-package #:cl-user)

(defpackage #:cl-deck-builder2.toolkit.paths
  (:use #:cl)
  (:import-from #:cl-deck-builder2.config
                #:*public-directory*
                #:*static-directory*)
  (:export #:relative-pathname
           #:public-pathname
           #:static-pathname
           #:ygo-pathname

           #:image-files-list
           #:make-static-filename-kind
           #:probe-file-list
           #:probe-image-files-list
           #:relative-file-list
           #:static-probe-file-list
           #:ydk-rename-files
           #:ygo-probe-file-list
           #:random-pathname-name))

;; #:CL-DECK-BUILDER2.TOOLKIT.GIT depends on #:CL-DECK-BUILDER2.TOOLKIT.PATHS
(defpackage #:cl-deck-builder2.toolkit.git
  (:use #:cl)
  (:import-from #:cl-deck-builder2.toolkit.paths
                #:relative-pathname)
  (:export #:git-revision
           #:parse-git-log
           #:git-log))

(defpackage #:cl-deck-builder2.toolkit.money
  (:use #:cl)
  (:export #:currency-inflate
           #:currency-deflate))

(defpackage #:cl-deck-builder2.toolkit.time
  (:use #:cl)
  (:export #:generate-status-report))

(defpackage #:cl-deck-builder2.toolkit.utils
  (:use #:cl)
  (:export #:grouped
           #:normalize-newlines
           #:strip-bom

           #:query-param
           #:generate-pages
           #:get-opposite-direction

           #:rle-encode
           #:rle-encode-plist
           #:rle-decode
           #:latex-escape))

(uiop:define-package #:cl-deck-builder2.toolkit
  (:use #:cl)
  (:use-reexport #:cl-deck-builder2.toolkit.git
                 #:cl-deck-builder2.toolkit.money
                 #:cl-deck-builder2.toolkit.paths
                 #:cl-deck-builder2.toolkit.time
                 #:cl-deck-builder2.toolkit.utils))
