improvements in organization of the aliases, still ongoing.
[feisty_meow.git] / scripts / core / generate_aliases.pl
index ab1f6d954d32f582e3a3a53615c35e3cab4bd63b..343df73525987539a407b552e501068d2e67d12e 100644 (file)
@@ -1,25 +1,25 @@
 #!/usr/bin/perl
 
-###############################################################################
-#                                                                             #
-#  Name   : generate_aliases                                                  #
-#  Author : Chris Koeritz                                                     #
-#  Rights : Copyright (C) 1996-$now by Author                                 #
-#                                                                             #
-#  Purpose:                                                                   #
-#                                                                             #
-#    This script generates YETI alias files.  Alias files contain a list of   #
-#  definitions for command aliases that are written in the specified shell    #
-#  dialect (such as bash or perl) and which are additionally tailored for the #
-#  operating system to be used.                                               #
-#                                                                             #
-###############################################################################
-#  This program is free software; you can redistribute it and/or modify it    #
-#  under the terms of the GNU General Public License as published by the Free #
-#  Software Foundation; either version 2 of the License or (at your option)   #
-#  any later version.  See: "http://www.gruntose.com/Info/GNU/GPL.html" for a #
-#  version of the License.  Please send any updates to "fred@gruntose.com".   #
-###############################################################################
+##############
+#
+#  Name   : generate_aliases
+#  Author : Chris Koeritz
+#  Rights : Copyright (C) 1996-$now by Author
+#
+#  Purpose:
+#
+#    This script generates YETI alias files.  Alias files contain a list of
+#  definitions for command aliases that are written in the specified shell
+#  dialect (such as bash or perl) and which are additionally tailored for the
+#  operating system to be used.
+#
+##############
+#  This program is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by the Free
+#  Software Foundation; either version 2 of the License or (at your option)
+#  any later version.  See: "http://www.gruntose.com/Info/GNU/GPL.html" for a
+#  version of the License.  Please send any updates to "fred@gruntose.com".
+##############
 
 require "importenv.pl";
 
@@ -70,9 +70,9 @@ sub load_file_names {
 ##############
 
 # make sure we know where to store the files we're creating.
-if ( ! length("$GENERADIR") ) {
+if ( ! length("$FEISTY_MEOW_GENERATED") ) {
   print "\
-The GENERADIR variable is not defined.  This must point to the location where\n\
+The FEISTY_MEOW_GENERATED variable is not defined.  This must point to the location where\n\
 the generated scripts are stored.  Perhaps you still need to run\n\
 bootstrap_shells.sh and set up some environment variables.  Please see\n\
 http://yeticode.org for more details.\n";
@@ -80,13 +80,13 @@ http://yeticode.org for more details.\n";
 #really need to use better exit codes.
 }
 
-$GENERADIR =~ s/\\/\//g;
-$SHELLDIR =~ s/\\/\//g;
-$YETI_DIR =~ s/\\/\//g;
+$FEISTY_MEOW_GENERATED =~ s/\\/\//g;
+$FEISTY_MEOW_SCRIPTS =~ s/\\/\//g;
+$FEISTY_MEOW_DIR =~ s/\\/\//g;
 
 # create our generated shells directory if it's not already there.
-if (! -d $GENERADIR) {
-  mkdir $GENERADIR;
+if (! -d $FEISTY_MEOW_GENERATED) {
+  mkdir $FEISTY_MEOW_GENERATED;
 }
 
 ##############
@@ -98,28 +98,26 @@ if (-d $BINDIR) {
 
 ##############
 
-system("bash \"$SHELLDIR\"/core/unter_alia.sh");
-  # generate the first set of alias files; these are the root files used
-  # by the shell.  each of them will be written to in turn invoke the
-  # p_alias files which are made from the set of scripts in YETI_SCRIPTS
-  # (see below).
+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.
 
 # trash the old versions.
-unlink("$GENERADIR/p_alias.sh");
+unlink("$FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh");
 
-printf "writing $GENERADIR/p_alias.sh...\n";
+printf "writing $FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh...\n";
 
 # open the alias files to be created.
-open(she, ">> $GENERADIR/p_alias.sh");
+open(she, ">> $FEISTY_MEOW_GENERATED/fmc_aliases_for_scripts.sh");
 
 #print "os is $OS\n";
 
 # find the list of files in the scripts directory.
-#opendir(scripts, "$SHELLDIR");
+#opendir(scripts, "$FEISTY_MEOW_SCRIPTS");
 #@shell_files = sort(readdir(scripts));
 #print "yeti scripts: @shell_files\n";
 
-@shell_files = &load_file_names("$SHELLDIR");
+@shell_files = &load_file_names("$FEISTY_MEOW_SCRIPTS");
 
 # construct aliases for items in the scripts directory.
 foreach $file (@shell_files) {
@@ -127,14 +125,17 @@ foreach $file (@shell_files) {
   if ($file =~ '^\.$'
       || $file =~ '^\.\.$'
       || $file =~ '^.svn$'
+      || $file =~ '^.git$'
       || $file =~ /\/\.$/
       || $file =~ /\/\.\.$/
-      || $file =~ /\/\.svn$/) {
+      || $file =~ /\/\.svn$/
+      || $file =~ /\/\.git$/
+      ) {
     # just skip this item; it's a special directory.
-  } elsif (-d "$SHELLDIR/$file") {
+  } elsif (-d "$FEISTY_MEOW_SCRIPTS/$file") {
     # if we see a subdirectory in the scripts folder, we add all the
     # scripts in it as aliases.  we recurse only one level.
-    opendir(subdir, "$SHELLDIR/$file");
+    opendir(subdir, "$FEISTY_MEOW_SCRIPTS/$file");
     @subdir_files = sort(readdir(subdir));
     foreach $subfile (@subdir_files) {
       push(@shell_files, "$file/$subfile");
@@ -142,7 +143,7 @@ foreach $file (@shell_files) {
   } else {
     # if it's a regular file, we'll try to make an alias for it.  the function
     # will only fire if the ending is appropriate for the script languages we use.
-    &make_alias($file, "$SHELLDIR");
+    &make_alias($file, "$FEISTY_MEOW_SCRIPTS");
   }
 }