Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
aepromptcmd(1)							aepromptcmd(1)

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 sepa-
	rated 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  lit-
	tle  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  re-
	ally  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 envi-
		ronment	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  sin-
		gle  project, the project name defaults	to that	project.  Oth-
		erwise,	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 op-
	tional.	 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	inter-
	preted	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.25.D510
	Copyright (C) 1991, 1992, 1993,	1994, 1995, 1996,  1997,  1998,	 1999,
	2000,  2001,  2002,  2003,  2004,  2005, 2006, 2007, 2008, 2009, 2010,
	2011, 2012 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:	 pmiller@opensource.org.au
	/\/\*		  WWW:	 http://miller.emu.id.au/pmiller/

Reference Manual		     Aegis			aepromptcmd(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=aepromptcmd&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help