X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Fgenerate_aliases.pl;h=a96fae3f04da20e9dbcf52b6126736eef86215da;hb=7bacff5b8da2d5a944d6a4795a6d615e5e4be25c;hp=6662f1fb883d2cad6de99ae057b84cfd60a60ee1;hpb=73762077041da828b24ffb9993bae49267f02507;p=feisty_meow.git diff --git a/scripts/core/generate_aliases.pl b/scripts/core/generate_aliases.pl index 6662f1fb..a96fae3f 100644 --- a/scripts/core/generate_aliases.pl +++ b/scripts/core/generate_aliases.pl @@ -8,10 +8,10 @@ # # 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 script generates feisty meow script 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 @@ -23,7 +23,7 @@ require "filename_helper.pl"; -require "importenv.pl"; +use Env qw(BINDIR BUILD_TOP FEISTY_MEOW_DIR FEISTY_MEOW_GENERATED FEISTY_MEOW_SCRIPTS SHELL_DEBUG ); # given a possible aliasable filename, this will decide whether to create a perl # or bash alias for it. it needs the filename of the possible alias and the @@ -47,7 +47,7 @@ sub make_bash_alias { #print "alias became $aliasname\n"; local($source_dir) = shift(@_); #print "bash alias is $aliasname, dir is $source_dir\n"; - print she "alias $aliasname=\"bash $source_dir/$full_alias.sh\"\n"; + print she "define_yeti_alias $aliasname=\"bash $source_dir/$full_alias.sh\"\n"; } # makes an alias for a perl script given the alias name. @@ -58,7 +58,7 @@ sub make_perl_alias { #print "alias became $aliasname\n"; local($source_dir) = shift(@_); #print "perl alias is $aliasname, dir is $source_dir\n"; - print she "alias $aliasname=\"perl $source_dir/$full_alias.pl\"\n"; + print she "define_yeti_alias $aliasname=\"perl $source_dir/$full_alias.pl\"\n"; } # given a directory, this returns an array of all the filenames found therein. @@ -79,7 +79,7 @@ sub load_file_names { sub rebuild_script_aliases { if (length($SHELL_DEBUG)) { - print "rebuiling generated aliases file...\n"; + print "rebuilding generated aliases file...\n"; } # create our generated shells directory if it's not already. @@ -127,9 +127,9 @@ sub rebuild_script_aliases { print GENOUT "##\n"; if (length($test_color)) { - print GENOUT "color_add=--color=auto\n"; + print GENOUT "export color_add=--color=auto\n"; } else { - print GENOUT "color_add=\n"; + print GENOUT "export color_add=\n"; } # plow in the full set of aliases into the file. @@ -143,7 +143,7 @@ sub rebuild_script_aliases { close GENOUT; if (length($SHELL_DEBUG)) { - print("done rebuiling generated aliases file.\n"); + print("done rebuilding generated aliases file.\n"); } } @@ -155,7 +155,7 @@ if ( ! length("$FEISTY_MEOW_GENERATED") ) { 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"; +http://feistymeow.org for more details.\n"; exit 1; #really need to use better exit codes. } @@ -171,7 +171,7 @@ if (! -d $FEISTY_MEOW_GENERATED) { ############## -# set the executable bit for yeti binaries for just this current user. +# set the executable bit for binaries for just this current user. if (-d $BINDIR) { system("chmod -R u+x \"$BINDIR\"/*"); } @@ -190,14 +190,13 @@ if (length($SHELL_DEBUG)) { # open the alias files to be created. 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, "$FEISTY_MEOW_SCRIPTS"); #@shell_files = sort(readdir(scripts)); -#print "yeti scripts: @shell_files\n"; +#print "scripts: @shell_files\n"; -@shell_files = &load_file_names("$FEISTY_MEOW_SCRIPTS"); +@shell_files = (&load_file_names("$FEISTY_MEOW_SCRIPTS"), + &load_file_names("$FEISTY_MEOW_GENERATED/custom/scripts")); # construct aliases for items in the scripts directory. foreach $file (@shell_files) { @@ -220,6 +219,11 @@ foreach $file (@shell_files) { foreach $subfile (@subdir_files) { push(@shell_files, "$file/$subfile"); } + } elsif (-f "$FEISTY_MEOW_GENERATED/custom/scripts/$file") { + # if we see a file in the auto-generated area that comes from the + # customized scripts folder, we add it as an alias. + make_alias($file, "$FEISTY_MEOW_GENERATED/custom/scripts/"); + #print "added custom script file: $FEISTY_MEOW_GENERATED/custom/scripts/$file\n"; } 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.