docs/wiki/quickstart/index.mdown @ 046811b7cb2d

Use format string from HGRC if available

This allows repository specific prompts (e.g. no status in large repos
or no incoming/outgoing on repos where the remote communication is too
slow).
author Oben Sonne <obensonne@googlemail.com>
date Thu, 27 Feb 2014 14:22:43 +0100
parents e35a2b4aa170
children (none)
Quick Start
===========

This guide will get you up and running so you can put some useful information
into your shell prompt.

If you haven't already [installed][install] it, do that now.

[install]: /installation/

A Simple (But Useful) Prompt
----------------------------

Edit your `~/.bashrc` file to include something like this:

    :::bash
    hg_ps1() {
        hg prompt "{ on {branch}}{ at {bookmark}}{status}" 2> /dev/null
    }
    
    export PS1='\u at \h in \w$(hg_ps1)\n$ '

`source ~/.bashrc` after to test it out. Make sure you're in a Mercurial
repository or you won't see anything. This little prompt will give you
something like this:

    :::console
    steve at myhost in ~/src/hg-prompt on default at feature-bookmark?
    $

An Advanced Prompt
------------------

How about something a little more interesting?

    :::bash
    hg_ps1() {
        hg prompt "{[+{incoming|count}]-->}{root|basename}{/{branch}}{-->[+{outgoing|count}]}{ at {bookmark}}{status}" 2> /dev/null
    }
    
    export PS1='$(hg_ps1)\n\u at \h in \w\n$ '

And the result (this example assumes one incoming changeset and two outgoing):

    :::console
    [+1]-->hg-prompt/default-->[+2] at feature-bookmark
    steve at myhost in ~/src/hg-prompt
    $

Learn More
----------

From here you can take a look at the [full documentation][] to see all the
interesting things `hg-prompt` can do.

[full documentation]: /documentation/