Show More
@@ -0,0 +1,74 | |||||
|
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 |
General Comments 0
You need to be logged in to leave comments.
Login now