Man Linux: Main Page and Category List

NAME

       aepromptcmd - change prompt color by change state

SYNOPSIS

       PROMPT_COMMAND="aepromptcmd"

DESCRIPTION

       The bash(1) shell has an interesting property:  If the PROMPT_COMMAND
       vaiable is set, the value is executed as a command prior to issuing
       each primary prompt.  (Actually, it can be a seties of semicolon
       separated commands.)

       In order to change the text back to normal, the PS1 variable needs to
       have "\33[0m" somewhere near the end, otherwise things can get a little
       difficult to read.  If you are using bash(1), you need to let it know
       these are unprintable (like this: "\[\33[0m\]") or it messes up command
       line editing.

       The aepromptcmd command is used to set the color of the prompt, based
       on the state of the current change.  This is an idea taken from Kent
       Beck’s Test Driven Development book.  If the change is in the being
       developed or being integrated state and it needs to be built, the
       prompt is red; if it is built but it needs to be tested, the prompt is
       magenta, otherwise it is green.

Example

       Here is a short script you can put in your .bashrc file to turn on
       prompt coloring:
              if [ "$PS1" ] then
                  case "$PROMPT_COMMAND" in
                  "" )      PROMPT_COMMAND="aepromptcmd"      PS1="$PS1^[[0m"
                   ;;
                  *aepromptcmd*)      ;;
                  *)      PROMPT_COMMAND="$PROMPT_COMMAND;aepromptcmd"
                   PS1="$PS1\[\33[0m\]"      ;;
                  esac
                  export PROMPT_COMMAND
                  export PS1 fi
       Note that this usually leaves your prompt default (black) when you are
       not somewhere inside a development directory.

   Limitations
       The aepromptcmd command uses the ANSI color escape sequences.  It
       really should to use the tigetstr(3) function from terminfo(3) to do
       this in a terminal independent way.  Code contributions welcome.

OPTIONS

       The following options are understood:

       -Change number
               This option may be used to specify a particular change within a
               project.  See aegis(1) for a complete description of this
               option.

       -Project name
               This option may be used to select the project of interest.
               When no -Project option is specified, the AEGIS_PROJECT
               environment variable is consulted.  If that does not exist, the
               user’s $HOME/.aegisrc file is examined for a default project
               field (see aeuconf(5) for more information).  If that does not
               exist, when the user is only working on changes within a single
               project, the project name defaults to that project.  Otherwise,
               it is an error.

       -Help
               This option may be used to obtain more information about how to
               use the aepromptcmd program.

       -Verbose
               By default error messages are supressed, so that the prompt
               will be normal when you are outside an Aegis work area.  Use
               this option to tuen error messages back on.

       See also aegis(1) for options common to all aegis commands.

       All options may be abbreviated; the abbreviation is documented as the
       upper case letters, all lower case letters and underscores (_) are
       optional.  You must use consecutive sequences of optional letters.

       All options are case insensitive, you may type them in upper case or
       lower case or a combination of both, case is not important.

       For example: the arguments "-project, "-PROJ" and "-p" are all
       interpreted to mean the -Project option.  The argument "-prj" will not
       be understood, because consecutive optional characters were not
       supplied.

       Options and other command line arguments may be mixed arbitrarily on
       the command line, after the function selectors.

       The GNU long option names are understood.  Since all option names for
       aepromptcmd are long, this means ignoring the extra leading ’-’.  The
       "--option=value" convention is also understood.

EXIT STATUS

       The aepromptcmd command will exit with a status of 1 on any error.  The
       aepromptcmd command will only exit with a status of 0 if there are no
       errors.

ENVIRONMENT VARIABLES

       See aegis(1) for a list of environment variables which may affect this
       command.  See aepconf(5) for the project configuration file’s project_
       specific field for how to set environment variables for all commands
       executed by Aegis.

COPYRIGHT

       aepromptcmd version 4.24.3.D001
       Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
       2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter
       Miller

       The aepromptcmd program comes with ABSOLUTELY NO WARRANTY; for details
       use the ’aepromptcmd -VERSion License’ command.  This is free software
       and you are welcome to redistribute it under certain conditions; for
       details use the ’aepromptcmd -VERSion License’ command.

AUTHOR

       Peter Miller   E-Mail:   millerp@canb.auug.org.au
       /\/\*             WWW:   http://www.canb.auug.org.au/~millerp/