##// END OF EJS Templates
contrib: add a partial-merge tool for sorted lists (such as Python imports)...
contrib: add a partial-merge tool for sorted lists (such as Python imports) This is a pretty naive tool that uses a regular expression for matching lines. It is based on a Google-internal tool that worked in a similar way. For now, the regular expression is hard-coded to attempt to match single-line Python imports. The only commit I've found in the hg core repo where the tool helped was commit 9cd6292abfdf. I think that's because we often use multiple imports per import statement. I think this tool is still a decent first step (especially once the regex is made configurable in the next patch). The merging should ideally use a proper Python parser and do the merge at the AST (or CST?) level, but that's significantly harder, especially if you want to preserve comments and whitespace. It's also less generic. Differential Revision: https://phab.mercurial-scm.org/D12380

File last commit:

r13515:26163257 1.8 stable
r49874:681b25ea default
Show More
tcsh_completion_build.sh
74 lines | 1.9 KiB | application/x-sh | BashLexer
/ contrib / tcsh_completion_build.sh
TK Soh
Add contrib script for generating tcsh completion source
r1155 #!/bin/sh
#
# tcsh_completion_build.sh - script to generate tcsh completion
#
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
Thomas Arendsen Hein
Cleanup of tabs and trailing spaces.
r1308 # option) any later version.
TK Soh
Add contrib script for generating tcsh completion source
r1155 #
#
# Description
# -----------
# This script generates a tcsh source file to support completion
# of Mercurial commands and options.
#
# Instruction:
# -----------
# Run this script to generate the tcsh source file, and source
# the file to add command completion support for Mercurial.
#
# tcsh% tcsh_completion.sh FILE
# tcsh% source FILE
#
# If FILE is not specified, tcsh_completion will be generated.
#
# Bugs:
# ----
# 1. command specific options are not supported
# 2. hg commands must be specified immediately after 'hg'.
#
tcsh_file=${1-tcsh_completion}
hg_commands=`hg --debug help | \
sed -e '1,/^list of commands:/d' \
Gilles Moris
Update tcsh completion scripts with new commands and for new help output....
r7766 -e '/^enabled extensions:/,$d' \
Gilles Moris
contrib: update tcsh_completion for Mercurial 1.8...
r13515 -e '/^additional help topics:/,$d' \
TK Soh
tcsh_completion_build.sh: fixed error caused by xargs on Linux
r1157 -e '/^ [^ ]/!d; s/[,:]//g;' | \
TK Soh
Add contrib script for generating tcsh completion source
r1155 xargs -n5 | \
TK Soh
tcsh_completion_build.sh: fixed error caused by xargs on Linux
r1157 sed -e '$!s/$/ \\\\/g; 2,$s/^ */ /g'`
TK Soh
Add contrib script for generating tcsh completion source
r1155
hg_global_options=`hg -v help | \
sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \
TK Soh
tcsh_completion_build.sh: fixed error caused by xargs on Linux
r1157 sed -e 's/ *$//; $!s/$/ \\\\/g; 2,$s/^ */ /g'`
TK Soh
Add contrib script for generating tcsh completion source
r1155
hg_version=`hg version | sed -e '1q'`
script_name=`basename $0`
cat > $tcsh_file <<END
#
# tcsh completion for Mercurial
#
# This file has been auto-generated by $script_name for
Thomas Arendsen Hein
Cleanup of tabs and trailing spaces.
r1308 # $hg_version
TK Soh
Add contrib script for generating tcsh completion source
r1155 #
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
Thomas Arendsen Hein
Cleanup of tabs and trailing spaces.
r1308 # option) any later version.
TK Soh
Add contrib script for generating tcsh completion source
r1155 #
complete hg \\
'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \\
'C/-/($hg_global_options)/' \\
'p/1/($hg_commands)/'
END