Add the available ciphers and analyzer for the help.

dev
KKlochko 2 years ago
parent 6339774bd1
commit 2f0254f677

@ -17,6 +17,12 @@
"" ""
"Options:" "Options:"
options-summary options-summary
""
"Available values"
""
(options/get-available-cipher-options-as-string)
""
(options/get-available-analyzers-options-as-string)
""] ""]
(cs/join \newline))) (cs/join \newline)))

@ -4,14 +4,41 @@
[clojure.string :as cs]) [clojure.string :as cs])
(:gen-class)) (:gen-class))
(defn option-values-as-row
"Return the formatted string of values for an option."
[option values]
(str option ": " (cs/join ", " values)))
(defn option-values-as-list
"Return the formatted string of values for an option as a multiline list."
[option values]
(str option ": \n - " (cs/join "\n - " values)))
(defn map-of-option-value-as-list
"Return the formatted string of values for an option as a multiline list.
The values are a map of pairs (suboption and its options)."
[option values]
(let [values (map #(apply option-values-as-row %) values)]
(option-values-as-list option values)))
(def cipher-options (def cipher-options
#{"Caesar"}) #{"Caesar"})
(def default-cipher "Caesar") (def default-cipher "Caesar")
(defn get-available-cipher-options-as-string
"Return the formatted string of analyzers options."
[]
(option-values-as-row "Ciphers" cipher-options))
(def analyzers-options (def analyzers-options
{"Caesar" #{"Chi^2" "Frequency"}}) {"Caesar" #{"Chi^2" "Frequency"}})
(defn get-available-analyzers-options-as-string
"Return the formatted string of analyzers options."
[]
(map-of-option-value-as-list "Analyzers" analyzers-options))
(def language-options (def language-options
#{"en", "uk"}) #{"en", "uk"})

Loading…
Cancel
Save