From a17549167641d7aba82eff607b3c83dc9fca03b4 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Thu, 9 Feb 2012 00:03:46 -0500 Subject: [PATCH] moved totally to perl script for generating aliases; unter_alia is gone now. updated header for different shells one might want to use. --- scripts/core/generate_aliases.pl | 82 ++++++++++++++++++++++++++++++-- scripts/core/shell_header.txt | 4 +- scripts/core/unter_alia.sh | 58 ---------------------- 3 files changed, 81 insertions(+), 63 deletions(-) delete mode 100644 scripts/core/unter_alia.sh diff --git a/scripts/core/generate_aliases.pl b/scripts/core/generate_aliases.pl index 343df735..a97247e9 100644 --- a/scripts/core/generate_aliases.pl +++ b/scripts/core/generate_aliases.pl @@ -21,6 +21,8 @@ # version of the License. Please send any updates to "fred@gruntose.com". ############## +require "filename_helper.pl"; + require "importenv.pl"; # given a possible aliasable filename, this will decide whether to create a perl @@ -69,6 +71,78 @@ sub load_file_names { ############## +# 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_GENERATED/custom folder are +# loaded also. +sub rebuild_script_aliases { + + if (length($SHELL_DEBUG)) { + print "rebuiling generated aliases file...\n"; + } + + # create our generated shells directory if it's not already. + if ( ! -d $FEISTY_MEOW_GENERATED ) { + mkdir $FEISTY_MEOW_GENERATED; +print "made gener dir $FEISTY_MEOW_GENERATED\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. + foreach $i (&glob_list("$FEISTY_MEOW_GENERATED/custom/*.alias")) { + if (-f $i) { push(@ALIAS_DEFINITION_FILES, $i); } + } + print "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_GENERATED/fmc_core_and_custom_aliases.sh"; + 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 "color_add=--color=auto\n"; + } else { + print GENOUT "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 () { + print GENOUT "$line\n"; + } + } + + close GENOUT; + + if (length($SHELL_DEBUG)) { + print("done rebuiling generated aliases file.\n"); + } +} + +############## + # make sure we know where to store the files we're creating. if ( ! length("$FEISTY_MEOW_GENERATED") ) { print "\ @@ -96,11 +170,11 @@ if (-d $BINDIR) { system("chmod -R u+x \"$BINDIR\"/*"); } -############## -system("bash \"$FEISTY_MEOW_SCRIPTS\"/core/unter_alia.sh"); - # generate the first set of alias files that are defined in the core - # and custom scripts directories. +# generate the first set of alias files that are defined in the core +# and custom scripts directories. +&rebuild_script_aliases; +###system("bash \"$FEISTY_MEOW_SCRIPTS\"/core/unter_alia.sh"); # trash the old versions. unlink("$FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh"); diff --git a/scripts/core/shell_header.txt b/scripts/core/shell_header.txt index e07bfa0f..d88eea76 100644 --- a/scripts/core/shell_header.txt +++ b/scripts/core/shell_header.txt @@ -1,4 +1,6 @@ -#!/shell/name (replace this) +#!/bin/bash +#!/usr/bin/perl +#!/usr/bin/python #### # Name : {script name} # Author : {your name} diff --git a/scripts/core/unter_alia.sh b/scripts/core/unter_alia.sh deleted file mode 100644 index dbf788ff..00000000 --- a/scripts/core/unter_alia.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash - -# generates alias files for bash. -# -# 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_GENERATED/custom folder are -# loaded also. - -if [ ! -z "$SHELL_DEBUG" ]; then echo rebuiling generated aliases file...; fi - -# create our generated shells directory if it's not already. -if [ ! -d $FEISTY_MEOW_GENERATED ]; then mkdir $FEISTY_MEOW_GENERATED; fi - -# test if we can use color in ls... -test_color=$(ls --help 2>&1 | grep -i color) - -# the main one is our common alias set. -ALIAS_DEFINITION_FILES=("$FEISTY_MEOW_SCRIPTS/core/common.alias") - -# if custom aliases files exist, add them to the list. -for i in "$FEISTY_MEOW_GENERATED/custom/*.alias"; do - if [ -f "$i" ]; then - ALIAS_DEFINITION_FILES+=("$i") - fi -done -echo "alias files:" -for i in "${ALIAS_DEFINITION_FILES[@]}"; do - echo " $(basename $(dirname $i))/$(basename $i)" -done - -# write the aliases for sh and bash scripts. - -GENERATED_ALIAS_FILE="$FEISTY_MEOW_GENERATED/fmc_core_and_custom_aliases.sh" -echo "writing generated aliases in $GENERATED_ALIAS_FILE..." - -#hmmm: perhaps a good place for a function to create the header, -# given the appropriate comment code. - -echo "##" >$GENERATED_ALIAS_FILE -echo "## generated file: $GENERATED_ALIAS_FILE" >>$GENERATED_ALIAS_FILE -echo "## please do not edit." >>$GENERATED_ALIAS_FILE -echo "##" >>$GENERATED_ALIAS_FILE - -if [ ! -z "$test_color" ]; then - echo "color_add=--color=auto" >>$GENERATED_ALIAS_FILE -else - echo "color_add=" >>$GENERATED_ALIAS_FILE -fi - -# plow in the full set of aliases into the file. -for i in "${ALIAS_DEFINITION_FILES[@]}"; do - cat $i >>$GENERATED_ALIAS_FILE -done - -if [ ! -z "$SHELL_DEBUG" ]; then echo done rebuiling generated aliases file.; fi - -- 2.34.1