view contrib/tcsh_completion_build.sh @ 31769:594dd384803c

test-serve: make the 'listening at *' lines optional The daemonized serve process doesn't print these lines out (see 448d0c452140). I was able to get it to with the following hack: diff --git a/mercurial/win32.py b/mercurial/win32.py --- a/mercurial/win32.py +++ b/mercurial/win32.py @@ -418,6 +418,11 @@ return str(ppid) def spawndetached(args): + + import subprocess + return subprocess.Popen(args, cwd=pycompat.getcwd(), env=encoding.environ, + creationflags=subprocess.CREATE_NEW_PROCESS_GROUP).pid + # No standard library function really spawns a fully detached # process under win32 because they allocate pipes or other objects # to handle standard streams communications. Passing these objects However, MSYS translates --prefixes starting with '/' to 'C:/MinGW/msys/1.0', which changes the output. The output isn't so important that I want to spend a bunch of time on this, and risk breaking some subtle behavior of `hg serve -d` with the more complicated code.
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 02 Apr 2017 00:56:52 -0400
parents 2616325766e3
children
line wrap: on
line source

#!/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
# option) any later version.
#
#
# 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' \
            -e '/^enabled extensions:/,$d' \
            -e '/^additional help topics:/,$d' \
            -e '/^ [^ ]/!d; s/[,:]//g;' | \
        xargs -n5 | \
        sed -e '$!s/$/ \\\\/g; 2,$s/^ */    /g'`

hg_global_options=`hg -v help | \
        sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \
        sed -e 's/ *$//; $!s/$/ \\\\/g; 2,$s/^ */    /g'`

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
# $hg_version
#
# 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
# option) any later version.
#

complete hg \\
  'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \\
  'C/-/($hg_global_options)/' \\
  'p/1/($hg_commands)/'

END