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)

NAME | SYNOPSIS | DESCRIPTION | Example | OPTIONS | EXIT STATUS | ENVIRONMENT VARIABLES | COPYRIGHT | AUTHOR

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

home | help