annotate contrib/tcsh_completion_build.sh @ 1721:801756d0ca84

add pretxncommit hook. hook allows check of changeset after create, but before transaction is committed. hook failure rolls transaction back. makes place for local policies like commit message must contain bug id or reviewer signoff. change also adds parent changeset ids to commit hook environment, because is cheap and useful.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Tue, 14 Feb 2006 17:13:18 -0800
parents 2073e5a71008
children 2b2548342265
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
1 #!/bin/sh
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
2
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
3 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
4 # tcsh_completion_build.sh - script to generate tcsh completion
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
5 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
6 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
7 # Copyright (C) 2005 TK Soh.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
8 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
9 # This is free software; you can redistribute it and/or modify it under
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
10 # the terms of the GNU General Public License as published by the Free
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
11 # Software Foundation; either version 2 of the License, or (at your
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1157
diff changeset
12 # option) any later version.
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
13 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
14 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
15 # Description
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
16 # -----------
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
17 # This script generates a tcsh source file to support completion
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
18 # of Mercurial commands and options.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
19 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
20 # Instruction:
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
21 # -----------
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
22 # Run this script to generate the tcsh source file, and source
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
23 # the file to add command completion support for Mercurial.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
24 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
25 # tcsh% tcsh_completion.sh FILE
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
26 # tcsh% source FILE
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
27 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
28 # If FILE is not specified, tcsh_completion will be generated.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
29 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
30 # Bugs:
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
31 # ----
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
32 # 1. command specific options are not supported
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
33 # 2. hg commands must be specified immediately after 'hg'.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
34 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
35
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
36 tcsh_file=${1-tcsh_completion}
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
37
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
38 hg_commands=`hg --debug help | \
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
39 sed -e '1,/^list of commands:/d' \
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
40 -e '/^global options:/,$d' \
1157
6e66235084d9 tcsh_completion_build.sh: fixed error caused by xargs on Linux
TK Soh <tksoh@freescale.com>
parents: 1155
diff changeset
41 -e '/^ [^ ]/!d; s/[,:]//g;' | \
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
42 xargs -n5 | \
1157
6e66235084d9 tcsh_completion_build.sh: fixed error caused by xargs on Linux
TK Soh <tksoh@freescale.com>
parents: 1155
diff changeset
43 sed -e '$!s/$/ \\\\/g; 2,$s/^ */ /g'`
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
44
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
45 hg_global_options=`hg -v help | \
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
46 sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \
1157
6e66235084d9 tcsh_completion_build.sh: fixed error caused by xargs on Linux
TK Soh <tksoh@freescale.com>
parents: 1155
diff changeset
47 sed -e 's/ *$//; $!s/$/ \\\\/g; 2,$s/^ */ /g'`
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
48
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
49 hg_version=`hg version | sed -e '1q'`
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
50
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
51 script_name=`basename $0`
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
52
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
53 cat > $tcsh_file <<END
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
54 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
55 # tcsh completion for Mercurial
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
56 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
57 # This file has been auto-generated by $script_name for
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1157
diff changeset
58 # $hg_version
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
59 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
60 # Copyright (C) 2005 TK Soh.
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
61 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
62 # This is free software; you can redistribute it and/or modify it under
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
63 # the terms of the GNU General Public License as published by the Free
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
64 # Software Foundation; either version 2 of the License, or (at your
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1157
diff changeset
65 # option) any later version.
1155
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
66 #
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
67
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
68 complete hg \\
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
69 'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \\
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
70 'C/-/($hg_global_options)/' \\
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
71 'p/1/($hg_commands)/'
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
72
92697ad28f08 Add contrib script for generating tcsh completion source
TK Soh <teekaysoh@yahoo.com>
parents:
diff changeset
73 END