threads / discuss / 43291

Re: StGit-enabled bash-prompt

Subject: Re: StGit-enabled bash-prompt

## tl;dr

3 messages between Oct 26, 2006 and Oct 27, 2006.

replies: 2people: 2as markdown or json

Robin Rosenberg· Oct 26, 2006, 21:17 UTC · lore

StGit-enabled bash-prompt

Hi,

I added the following snippet to my .bashrc to help me keep track of what patch I'm working on. I got annoyed at typing stg top/stg series all the time.

This changes the bash prompt to include the current git branch and the top stgit patch to the prompt.

Of course you will read and understand this code. I don't know how good an idea it is to use the DEBUG trap this way.

NO WARRANTY (as always)
-- robin
if [ "$PS1" ]; then
    function stgtag
    {
        br=$(stg branch 2>/dev/null)
        top=$(stg top 2>/dev/null)
        if [[ -n "$br$top" ]];then
            echo " [$top@$br] "
        fi
    }
    trap 'PS1="\u@\h$(stgtag)\w]\$ "' DEBUG
Ben Clifford· Oct 27, 2006, 10:01 UTC · re: Robin Rosenberg · lore
On Thu, 26 Oct 2006, Robin Rosenberg wrote:
> Of course you will read and understand this code. I don't know how good an 
> idea it is to use the DEBUG trap this way.

I set my prompt without using it, with something approximating this being defined in my .bash_profile. I think the use of ' instead of " causes evaluation of __prompt_githead be delayed until the prompt is displayed.

  PS1='$(__prompt_githead) '$PS1
  __prompt_githead() {
  PS_GIT=$(git-symbolic-ref HEAD 2>/dev/null) || exit
  echo -n " $(basename $PS_GIT)" 
  }
Robin Rosenberg· Oct 27, 2006, 18:54 UTC · re: Ben Clifford · lore
fredag 27 oktober 2006 12:01 skrev Ben Clifford:
Show 8 quoted lines
> On Thu, 26 Oct 2006, Robin Rosenberg wrote:
> > Of course you will read and understand this code. I don't know how good
> > an idea it is to use the DEBUG trap this way.
>
> I set my prompt without using it, with something approximating this
> being defined in my .bash_profile. I think the use of ' instead of "
> causes evaluation of __prompt_githead be delayed until the prompt is
> displayed.
Ahh, ofcourse. Thanks.

← back to recent threads