# b ; cd to bookmark.
# bm ; add bookmark,
# brm ; remove bookmark,
# bclear ; remove all bookmarks,
# bl ; list bookmarks,
# bf ; find bookmark.


bm ()
{
if [ -z $1 ]; then
1=`basename $PWD`
fi
export $1="`pwd`"
bmlist=`for i in $bmlist $1; do echo $i; done | sort -u`
export bmlist
}

brm ()
{
for j in $@; do
export $j=
bmlist=`for i in $bmlist; do if [ $i != $j ]; then echo $i; fi; done | sort -u`
done
export bmlist
}

bl ()
{
for i in $bmlist; do
p="echo \$${i}"
echo " ${COLOR_RED}$i#${COLOR_BLUE}-->#${COLOR_DARK_CYAN}`eval $p`${COLOR_NEUTRAL}"
done | column -s \# -t
}

bf ()
{
bl | egrep $@
}

bclear ()
{
#todo; unset all variables
export bmlist=
}

b ()
{
p="echo \$$1"
if echo $bmlist | egrep -q "\b$1\b"; then
cd "`eval $p`"
else
echo $COLOR_RED unknown bookmark: $1 $COLOR_NEUTRAL
fi
}

_bookmark_completion () {
reply=(`echo $bmlist | sed -re 's/ *$//'`)
}

# Add zsh completion:

compctl -K _bookmark_completion b
compctl -K _bookmark_completion brm