Mercurial > hg
comparison contrib/tcsh_completion_build.sh @ 1155:92697ad28f08
Add contrib script for generating tcsh completion source
author | TK Soh <teekaysoh@yahoo.com> |
---|---|
date | Tue, 30 Aug 2005 11:16:31 +0200 |
parents | |
children | 6e66235084d9 |
comparison
equal
deleted
inserted
replaced
1154:c3cb9f39a91f | 1155:92697ad28f08 |
---|---|
1 #!/bin/sh | |
2 | |
3 # | |
4 # tcsh_completion_build.sh - script to generate tcsh completion | |
5 # | |
6 # | |
7 # Copyright (C) 2005 TK Soh. | |
8 # | |
9 # This is free software; you can redistribute it and/or modify it under | |
10 # the terms of the GNU General Public License as published by the Free | |
11 # Software Foundation; either version 2 of the License, or (at your | |
12 # option) any later version. | |
13 # | |
14 # | |
15 # Description | |
16 # ----------- | |
17 # This script generates a tcsh source file to support completion | |
18 # of Mercurial commands and options. | |
19 # | |
20 # Instruction: | |
21 # ----------- | |
22 # Run this script to generate the tcsh source file, and source | |
23 # the file to add command completion support for Mercurial. | |
24 # | |
25 # tcsh% tcsh_completion.sh FILE | |
26 # tcsh% source FILE | |
27 # | |
28 # If FILE is not specified, tcsh_completion will be generated. | |
29 # | |
30 # Bugs: | |
31 # ---- | |
32 # 1. command specific options are not supported | |
33 # 2. hg commands must be specified immediately after 'hg'. | |
34 # | |
35 | |
36 tcsh_file=${1-tcsh_completion} | |
37 | |
38 hg_commands=`hg --debug help | \ | |
39 sed -e '1,/^list of commands:/d' \ | |
40 -e '/^global options:/,$d' \ | |
41 -e '/^ [^ ]/!d; s/[,:]//g;' | | |
42 xargs -n5 | \ | |
43 sed -e '$!s/$/ \\\\/g; 2,$s/^ \{0,\}/ /g'` | |
44 | |
45 hg_global_options=`hg -v help | \ | |
46 sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \ | |
47 xargs -n5 | \ | |
48 sed -e '$!s/$/ \\\\/g; 2,$s/^ \{0,\}/ /g'` | |
49 | |
50 hg_version=`hg version | sed -e '1q'` | |
51 | |
52 script_name=`basename $0` | |
53 | |
54 cat > $tcsh_file <<END | |
55 # | |
56 # tcsh completion for Mercurial | |
57 # | |
58 # This file has been auto-generated by $script_name for | |
59 # $hg_version | |
60 # | |
61 # Copyright (C) 2005 TK Soh. | |
62 # | |
63 # This is free software; you can redistribute it and/or modify it under | |
64 # the terms of the GNU General Public License as published by the Free | |
65 # Software Foundation; either version 2 of the License, or (at your | |
66 # option) any later version. | |
67 # | |
68 | |
69 complete hg \\ | |
70 'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \\ | |
71 'C/-/($hg_global_options)/' \\ | |
72 'p/1/($hg_commands)/' | |
73 | |
74 END |