docs/wiki/quickstart/index.mdown @ e2d60e4e3caf

Fix error: don't assume status is a tuple

This fix also works with older versions of Mercurial. `repo.status()` used to
return a named tuple; since 5.2.1 it returns an object. So `st[:5]` no longer
works, but `st.modified` works with both old and new versions of Mercurial.
author Sietse Brouwer <sbbrouwer@gmail.com>
date Tue, 26 May 2020 14:57:58 +0200
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/