+##############
+
+# The "common.alias" file is used in the generated aliases file as a base
+# set of generally useful aliases. We also add aliases for any script files
+# (perl, bash, python, etc) that we find in the feisty meow script hierarchy.
+# Any *.alias files found in the $FEISTY_MEOW_LOADING_DOCK/custom folder are
+# loaded also.
+sub rebuild_script_aliases {
+
+ if (length($DEBUG_FEISTY_MEOW)) {
+ print "rebuilding generated aliases file...\n";
+ }
+
+ # create our generated shells directory if it's not already.
+ if ( ! -d $FEISTY_MEOW_LOADING_DOCK ) {
+ mkdir $FEISTY_MEOW_LOADING_DOCK;
+ if (length($DEBUG_FEISTY_MEOW)) {
+ print "made FEISTY_MEOW_LOADING_DOCK at '$FEISTY_MEOW_LOADING_DOCK'\n";
+ }
+ }
+
+ # test if we can use color in ls...
+# $test_color=` ls --help 2>&1 | grep -i color `;
+
+ # this is an array of files from which to draw alias definitions.
+ @ALIAS_DEFINITION_FILES = ("$FEISTY_MEOW_SCRIPTS/core/common.alias");
+
+ # if custom aliases files exist, add them to the list.
+#hmmm: would be nice to have this name in a symbol somewhere instead of having "custom" or "customize" everywhere.
+ foreach $i (&glob_list("$FEISTY_MEOW_LOADING_DOCK/custom/*.alias")) {
+ if (-f $i) { push(@ALIAS_DEFINITION_FILES, $i); }
+ }
+ if (length($DEBUG_FEISTY_MEOW)) {
+ print "using these alias files:\n";
+ foreach $i (@ALIAS_DEFINITION_FILES) {
+ local $base_of_dir = &basename(&dirname($i));
+ local $basename = &basename($i);
+ print " $base_of_dir/$basename\n";
+ }
+ }
+
+ # write the aliases for sh and bash scripts.
+ local $GENERATED_ALIAS_FILE = "$FEISTY_MEOW_LOADING_DOCK/fmc_core_and_custom_aliases.sh";
+ if (length($DEBUG_FEISTY_MEOW)) {
+ print "writing generated aliases in $GENERATED_ALIAS_FILE...\n";
+ }
+
+#hmmm: perhaps a good place for a function to create the header,
+# given the appropriate comment code.
+
+ open GENOUT, ">$GENERATED_ALIAS_FILE" or die "cannot open $GENERATED_ALIAS_FILE";
+
+ print GENOUT "##\n";
+ print GENOUT "## generated file: $GENERATED_ALIAS_FILE\n";
+ print GENOUT "## please do not edit.\n";
+ print GENOUT "##\n";
+
+# if (length($test_color)) {
+# print GENOUT "export color_add='--color=auto'\n";
+# } else {
+# print GENOUT "export color_add=\n";
+# }
+
+ # plow in the full set of aliases into the file.
+ foreach $i (@ALIAS_DEFINITION_FILES) {
+ open CURR_ALIASER, "<$i" or die "cannot open current alias file $i";
+ foreach $line (<CURR_ALIASER>) {
+ print GENOUT "$line";
+ }
+ }
+
+ close GENOUT;
+
+ if (length($DEBUG_FEISTY_MEOW)) {
+ print("done rebuilding generated aliases file.\n");
+ }