contrib/bash_completion
author Bryan O'Sullivan <bos@serpentine.com>
Sat, 17 Sep 2005 00:27:27 -0700
changeset 1270 fc3b41570082
parent 1263 bc1815cf89a7
child 1308 2073e5a71008
permissions -rw-r--r--
Switch to new syntax for .hgignore files. Here is the new syntax, in summary. Trailing white space is dropped. The escape character is "\". Comments start with #. Empty lines are skipped. Lines can be of the following formats: syntax: regexp # defaults following lines to non-rooted regexps syntax: glob # defaults following lines to non-rooted globs re:pattern # non-rooted regular expression glob:pattern # non-rooted glob pattern # pattern of the current default type The default pattern type is regexp, which is completely backwards compatible with the old hgignore syntax. In the dirstate class, the ignore method has been reworked to be based on the util.matcher function, by way of a new dirstate.hgignore method.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1115
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
     1
#!/bin/bash
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
     2
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     3
_hg_commands()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     4
{
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     5
    local commands="$(hg -v help | sed -e '1,/^list of commands:/d' \
952
dbfabfcb485e bash_completion: support GNU sed 3 and non-GNU sed
TK Soh <teekaysoh@yahoo.com>
parents: 935
diff changeset
     6
                                       -e '/^global options:/,$d' \
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     7
				       -e '/^ [^ ]/!d; s/[,:]//g;')"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     8
    
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
     9
    # hide debug commands from users, but complete them if 
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    10
    # specifically asked for
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    11
    if [[ "$cur" == de* ]]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    12
	commands="$commands debugcheckstate debugstate debugindex"
1115
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
    13
	commands="$commands debugindexdot debugwalk debugdata"
1263
bc1815cf89a7 Added new debug commands to bash_completion.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1153
diff changeset
    14
	commands="$commands debugancestor debugconfig debugrename"
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    15
    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    16
    COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$commands" -- "$cur") )
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    17
}
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    18
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    19
_hg_paths()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    20
{
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    21
    local paths="$(hg paths | sed -e 's/ = .*$//')"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    22
    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$paths" -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    23
}
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    24
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    25
_hg_status()
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    26
{
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    27
    local files="$( hg status -$1 | cut -b 3- )"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    28
    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$files" -- "$cur" ))
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    29
}
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
    30
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    31
_hg_tags()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    32
{
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    33
    local tags="$(hg tags | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//')"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    34
    COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$tags" -- "$cur") )
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    35
}
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    36
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    37
# this is "kind of" ugly...
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    38
_hg_count_non_option()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    39
{
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    40
    local i count=0
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    41
    local filters="$1"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    42
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    43
    for (( i=1; $i<=$COMP_CWORD; i++ )); do
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    44
	if [[ "${COMP_WORDS[i]}" != -* ]]; then
1152
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
    45
	    if [[ ${COMP_WORDS[i-1]} == @($filters|$global_args) ]]; then
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
    46
		continue
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
    47
	    fi
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    48
	    count=$(($count + 1))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    49
	fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    50
    done
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    51
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    52
    echo $(($count - 1))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    53
}
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    54
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    55
_hg()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    56
{
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    57
    local cur prev cmd opts i
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    58
    # global options that receive an argument
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    59
    local global_args='--cwd|-R|--repository'
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    60
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    61
    COMPREPLY=()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    62
    cur="$2"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    63
    prev="$3"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    64
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    65
    # searching for the command 
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    66
    # (first non-option argument that doesn't follow a global option that
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    67
    #  receives an argument)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    68
    for (( i=1; $i<=$COMP_CWORD; i++ )); do
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    69
	if [[ ${COMP_WORDS[i]} != -* ]]; then
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    70
	    if [[ ${COMP_WORDS[i-1]} != @($global_args) ]]; then
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    71
		cmd="${COMP_WORDS[i]}"
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    72
		break
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    73
	    fi
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    74
	fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    75
    done
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    76
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    77
    if [[ "$cur" == -* ]]; then
1149
f82b084bd904 bash_completion: update for new help output format
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1115
diff changeset
    78
	# this assumes that there are no commands with spaces in the name
f82b084bd904 bash_completion: update for new help output format
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1115
diff changeset
    79
	opts=$(hg -v help $cmd | sed -e '/^ *-/!d; s/ [^- ].*//')
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    80
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    81
	COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$opts" -- "$cur") )
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    82
	return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    83
    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    84
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    85
    # global options
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    86
    case "$prev" in
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    87
	-R|--repository)
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    88
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    89
	    return
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    90
	;;
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    91
	--cwd)
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    92
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    93
	    return
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    94
	;;
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
    95
    esac
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    96
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    97
    if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    98
	_hg_commands
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
    99
	return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   100
    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   101
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   102
    # canonicalize command name
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   103
    cmd=$(hg -q help "$cmd" | sed -e 's/^hg //; s/ .*//; 1q')
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   104
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   105
    if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" = --rev ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   106
	_hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   107
	return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   108
    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   109
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   110
    case "$cmd" in
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   111
	help)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   112
	    _hg_commands
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   113
	;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   114
	export|manifest|update)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   115
	    _hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   116
	;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   117
	pull|push|outgoing|incoming)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   118
	    _hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   119
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   120
	;;
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   121
	paths)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   122
	    _hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   123
	;;
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   124
	add)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   125
	    _hg_status "u"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   126
	;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
   127
	commit)
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   128
	    _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   129
	;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   130
	remove)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   131
	    _hg_status "r"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   132
	;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   133
	forget)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   134
	    _hg_status "a"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   135
	;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   136
	diff)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   137
	    _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   138
	;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   139
	revert)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   140
	    _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
   141
	;;
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   142
	clone)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   143
	    local count=$(_hg_count_non_option)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   144
	    if [ $count = 1 ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   145
		_hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   146
	    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   147
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   148
	;;
1115
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   149
	debugindex|debugindexdot)
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   150
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.i" -- "$cur" ))
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   151
	;;
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   152
	debugdata)
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   153
	    COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.d" -- "$cur" ))
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
   154
	;;
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   155
	cat)
1152
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
   156
	    local count=$(_hg_count_non_option '-o|--output')
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   157
	    if [ $count = 2 ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   158
		_hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   159
	    else
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   160
		COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   161
	    fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   162
	;;
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   163
	*) 
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   164
            COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   165
	;;
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   166
    esac
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   167
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   168
}
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
   169
1153
fa9ae7df88a9 bash_completion: try to use bash3 features if they're available
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1152
diff changeset
   170
complete -o bashdefault -o default -F _hg hg 2> /dev/null \
fa9ae7df88a9 bash_completion: try to use bash3 features if they're available
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1152
diff changeset
   171
    || complete -o default -F _hg hg