Eliminate /usr/share/dict/words dependency
This commit is contained in:
@@ -216,7 +216,7 @@ err() { echo "Error: $*" >&2; }
|
||||
ask_pn() {
|
||||
unset PROJECT
|
||||
declare -ag ADD_PROJECTS
|
||||
example_pn="${PROJECT_PREFIX}_$(random_words 3)"
|
||||
example_pn="${PROJECT_PREFIX}_$(random_three_words)"
|
||||
cat <<-EOF
|
||||
Enter a new or existing project name
|
||||
If entering a new project, use the suggested prefix: ${PROJECT_PREFIX}_
|
||||
@@ -245,17 +245,57 @@ ask_pn() {
|
||||
}
|
||||
debug() { (( DEBUG )) && echo "Debug: $*"; }
|
||||
# Not super portable but nice to have
|
||||
random_words() {
|
||||
local num=${1:-2}
|
||||
random_three_words() {
|
||||
local -a arr
|
||||
for ((i=0;i<num;i++)); do
|
||||
word=$(shuf -n1 /usr/share/dict/words | sed -e 's/-//g' -e 's/_//g')
|
||||
# Sanitize
|
||||
word="${word//-/}"
|
||||
word="${word//_/}"
|
||||
word="${word,,}"
|
||||
arr+=("$word")
|
||||
done
|
||||
|
||||
adjectives=(
|
||||
"adorable" "adventurous" "agile" "amazing" "angry" "beautiful" "bold" "brave" "bright" "calm"
|
||||
"charming" "cheerful" "courageous" "creative" "delicate" "elegant" "energetic" "exciting" "fast" "friendly"
|
||||
"gentle" "happy" "healthy" "helpful" "honest" "humble" "intelligent" "jovial" "kind" "lively"
|
||||
"lovable" "magnificent" "mellow" "modest" "noble" "outgoing" "passionate" "peaceful" "powerful" "quick"
|
||||
"radiant" "reliable" "resourceful" "respectful" "shy" "smart" "strong" "sweet" "tender" "thoughtful"
|
||||
"timid" "unique" "upbeat" "vibrant" "warm" "wise" "wonderful" "youthful" "zealous" "eager"
|
||||
"friendly" "generous" "imaginative" "independent" "inspired" "joyful" "luminous" "mysterious" "playful" "serene"
|
||||
"spontaneous" "steady" "spirited" "stylish" "tough" "understanding" "vivid" "zany" "bold" "calm"
|
||||
"dynamic" "innovative" "proud" "reliable" "sincere" "strong" "talented" "trustworthy" "vivid" "zealous"
|
||||
)
|
||||
|
||||
participles=(
|
||||
"abandoning" "absorbing" "accelerating" "achieving" "acquiring" "admiring" "advising" "agreeing"
|
||||
"allowing" "analyzing" "appearing" "applying" "arguing" "assembling" "assisting" "attracting"
|
||||
"believing" "browsing" "calculating" "calling" "caring" "celebrating" "cleaning" "climbing"
|
||||
"coaching" "collecting" "combining" "communicating" "competing" "confessing" "considering"
|
||||
"cooking" "correcting" "creating" "debating" "defining" "delivering" "designing" "discussing"
|
||||
"driving" "enjoying" "exploring" "feeling" "finishing" "fixing" "forming" "gathering" "growing"
|
||||
"guiding" "happening" "helping" "hoping" "improving" "increasing" "influencing" "involving"
|
||||
"learning" "leading" "looking" "managing" "measuring" "moving" "noticing" "observing" "offering"
|
||||
"organizing" "performing" "preparing" "presenting" "producing" "protecting" "questioning"
|
||||
"recommending" "recovering" "running" "saving" "searching" "seeing" "sharing" "solving"
|
||||
"starting" "studying" "succeeding" "supporting" "teaching" "thinking" "understanding" "using"
|
||||
"validating" "waiting" "working" "writing"
|
||||
)
|
||||
|
||||
animals=(
|
||||
"antelope" "baboon" "badger" "bat" "bear" "beaver" "bison" "booby" "buffalo" "bull"
|
||||
"camel" "cat" "cheetah" "chicken" "chimpanzee" "clam" "cobra" "cougar" "cow" "crab"
|
||||
"crane" "crocodile" "crow" "deer" "dog" "dolphin" "dove" "duck" "eagle" "echidna"
|
||||
"eel" "elephant" "emu" "falcon" "ferret" "fish" "flamingo" "fox" "frog" "gazelle"
|
||||
"giraffe" "goat" "goose" "gorilla" "hare" "hawk" "hedgehog" "hippo" "horse" "hyena"
|
||||
"iguana" "impala" "jaguar" "kangaroo" "koala" "lion" "llama" "lobster" "lynx" "macaw"
|
||||
"manatee" "mole" "monkey" "moose" "mouse" "mule" "octopus" "okapi" "opossum" "ostrich"
|
||||
"otter" "owl" "panda" "panther" "parrot" "penguin" "pig" "platypus" "porcupine" "quail"
|
||||
"rabbit" "rat" "raven" "reindeer" "rhinoceros" "robin" "salmon" "seal" "shark" "sheep"
|
||||
"shrimp" "skunk" "sloth" "snail" "snake" "sparrow" "spider" "squid" "squirrel" "starling"
|
||||
"stingray" "swan" "tapir" "tiger" "toad" "toucan" "turtle" "vulture" "walrus" "wolverine"
|
||||
"wolf" "wombat" "zebra"
|
||||
)
|
||||
|
||||
arr+=(
|
||||
"$(shuf -n1 -e "${adjectives[@]}")"
|
||||
"$(shuf -n1 -e "${participles[@]}")"
|
||||
"$(shuf -n1 -e "${animals[@]}")"
|
||||
)
|
||||
|
||||
printf "%s_" "${arr[@]}" | sed 's/_$//'
|
||||
}
|
||||
# @description Backup one or more files to an incremented .bk file
|
||||
@@ -306,8 +346,12 @@ interactive_header() {
|
||||
echo "This script uses a local R library at $HOME/R/$SCRIPT_NAME"
|
||||
echo "You can install the R dependencies to this library using the install_dependencies module"
|
||||
if ((YES)) || ask "Would you like to make this library the default for your user?"; then
|
||||
echo "Adding R_LIBS_USER=$HOME/R/$SCRIPT_NAME to your .bashrc"
|
||||
echo "export R_LIBS_USER=$HOME/R/$SCRIPT_NAME" >> "$HOME/.bashrc"
|
||||
line="export R_LIBS_USER=$HOME/R/$SCRIPT_NAME"
|
||||
if ! grep -qF "$line" ~/.bashrc; then
|
||||
echo "Adding $line to your .bashrc"
|
||||
echo "If you use a different shell, update your R_LIBS_USER environment variable accordingly"
|
||||
echo "$line" >> ~/.bashrc
|
||||
fi
|
||||
fi
|
||||
else
|
||||
debug "R_LIBS_USER already set to $HOME/R/$SCRIPT_NAME"
|
||||
|
||||
Reference in New Issue
Block a user