428ece0b1df21cc8c608d8f40db667fcdf6bb4c6
[feisty_meow.git] / scripts / core / unter_alia.sh
1 #!/bin/bash
2
3 # generates alias files for bash.
4 #
5 # The "common.alias" file is used in the generated aliases file as a base
6 # set of generally useful aliases.  We also add aliases for any script files
7 # (perl, bash, python, etc) that we find in the feisty meow script hierarchy.
8 # Any *.alias files found in the $FEISTY_MEOW_GENERATED/custom folder are
9 # loaded also.
10
11 if [ ! -z "$SHELL_DEBUG" ]; then echo rebuiling generated aliases file...; fi
12
13 # create our generated shells directory if it's not already.
14 if [ ! -d $FEISTY_MEOW_GENERATED ]; then mkdir $FEISTY_MEOW_GENERATED; fi
15
16 # test if we can use color in ls...
17 test_color=$(ls --help 2>&1 | grep -i color)
18
19 # the main one is our common alias set.
20 ALIAS_DEFINITION_FILES=("$FEISTY_MEOW_SCRIPTS/core/common.alias")
21
22 # if custom aliases files exist, add them to the list.
23 for i in "$FEISTY_MEOW_GENERATED/custom/*.alias"; do
24   ALIAS_DEFINITION_FILES+=("$i")
25 done
26 echo "alias files:"
27 for i in "${ALIAS_DEFINITION_FILES[@]}"; do
28   echo "  $(basename $(dirname $i))/$(basename $i)"
29 done
30
31 # write the aliases for sh and bash scripts.
32
33 GENERATED_ALIAS_FILE="$FEISTY_MEOW_GENERATED/fmc_core_and_custom_aliases.sh"
34 echo "writing generated aliases in $GENERATED_ALIAS_FILE..."
35
36 #hmmm: perhaps a good place for a function to create the header,
37 #      given the appropriate comment code.
38
39 echo "##" >$GENERATED_ALIAS_FILE
40 echo "## generated file: $GENERATED_ALIAS_FILE" >>$GENERATED_ALIAS_FILE
41 echo "## please do not edit." >>$GENERATED_ALIAS_FILE
42 echo "##" >>$GENERATED_ALIAS_FILE
43
44 if [ ! -z "$test_color" ]; then
45   echo "color_add=--color=auto" >>$GENERATED_ALIAS_FILE
46 else
47   echo "color_add=" >>$GENERATED_ALIAS_FILE
48 fi
49
50 # plow in the full set of aliases into the file.
51 for i in "${ALIAS_DEFINITION_FILES[@]}"; do
52   cat $i >>$GENERATED_ALIAS_FILE 
53 done
54
55 if [ ! -z "$SHELL_DEBUG" ]; then echo done rebuiling generated aliases file.; fi
56