Enhancement of bash completion scripts given by Igor Murzov.
The orginal patch has been reworked in order to follow CMake source tree layout habit. Inspired-By: Igor Murzov <e-mail@date.by>
This commit is contained in:
parent
3a50392601
commit
5b97942cbb
|
@ -620,6 +620,9 @@ INSTALL(
|
||||||
WORLD_READ WORLD_EXECUTE
|
WORLD_READ WORLD_EXECUTE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# process docs related install
|
||||||
|
ADD_SUBDIRECTORY(Docs)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# End of the main section of the CMakeLists file
|
# End of the main section of the CMakeLists file
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
string(REGEX REPLACE "^/(.*)" "\\1" REL_CMAKE_DATA_DIR "${CMAKE_DATA_DIR}")
|
||||||
|
ADD_SUBDIRECTORY (bash-completion)
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Always install completion file in local dir
|
||||||
|
# in order to be sure to always be able to install
|
||||||
|
# in a local user directory rooted in a single directory.
|
||||||
|
# packager should either patch that out or
|
||||||
|
# add symlinks to the files in appropriate places
|
||||||
|
# /etc/bash_completion.d/
|
||||||
|
# DATADIR/completions (may be /usr/share/<package>/completions
|
||||||
|
install(FILES cmake cpack ctest DESTINATION ${REL_CMAKE_DATA_DIR}/completions)
|
|
@ -0,0 +1,149 @@
|
||||||
|
# bash completion for cmake(1) -*- shell-script -*-
|
||||||
|
|
||||||
|
_cmake()
|
||||||
|
{
|
||||||
|
local cur prev words cword split=false
|
||||||
|
_init_completion -n := || return
|
||||||
|
|
||||||
|
# Workaround for options like -DCMAKE_BUILD_TYPE=Release
|
||||||
|
local prefix=
|
||||||
|
if [[ $cur == -D* ]]; then
|
||||||
|
prev=-D
|
||||||
|
prefix=-D
|
||||||
|
cur="${cur#-D}"
|
||||||
|
elif [[ $cur == -U* ]]; then
|
||||||
|
prev=-U
|
||||||
|
prefix=-U
|
||||||
|
cur="${cur#-U}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$prev" in
|
||||||
|
-D)
|
||||||
|
if [[ $cur == *=* ]]; then
|
||||||
|
# complete values for variables
|
||||||
|
local var type value
|
||||||
|
var="${cur%%[:=]*}"
|
||||||
|
value="${cur#*=}"
|
||||||
|
|
||||||
|
if [[ $cur == CMAKE_BUILD_TYPE* ]]; then # most widely used case
|
||||||
|
COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
|
||||||
|
MinSizeRel' -- "$value" ) )
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $cur == *:* ]]; then
|
||||||
|
type="${cur#*:}"
|
||||||
|
type="${type%%=*}"
|
||||||
|
else # get type from cache if it's not set explicitly
|
||||||
|
type=$( cmake -LA -N 2>/dev/null | grep "$var:" \
|
||||||
|
2>/dev/null )
|
||||||
|
type="${type#*:}"
|
||||||
|
type="${type%%=*}"
|
||||||
|
fi
|
||||||
|
case "$type" in
|
||||||
|
FILEPATH)
|
||||||
|
cur="$value"
|
||||||
|
_filedir
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
PATH)
|
||||||
|
cur="$value"
|
||||||
|
_filedir -d
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
BOOL)
|
||||||
|
COMPREPLY=( $( compgen -W 'ON OFF TRUE FALSE' -- \
|
||||||
|
"$value" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
STRING|INTERNAL)
|
||||||
|
# no completion available
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
elif [[ $cur == *:* ]]; then
|
||||||
|
# complete types
|
||||||
|
local type="${cur#*:}"
|
||||||
|
COMPREPLY=( $( compgen -W 'FILEPATH PATH STRING BOOL INTERNAL'\
|
||||||
|
-S = -- "$type" ) )
|
||||||
|
compopt -o nospace
|
||||||
|
else
|
||||||
|
# complete variable names
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
|
||||||
|
cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
|
||||||
|
compopt -o nospace
|
||||||
|
fi
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-U)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 |
|
||||||
|
cut -f1 -d: )' -P "$prefix" -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
_split_longopt && split=true
|
||||||
|
|
||||||
|
case "$prev" in
|
||||||
|
-C|-P|--graphviz|--system-information)
|
||||||
|
_filedir
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--build)
|
||||||
|
_filedir -d
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-E)
|
||||||
|
COMPREPLY=( $( compgen -W "$( cmake -E help |& sed -n \
|
||||||
|
'/^ /{s|^ \([^ ]\{1,\}\) .*$|\1|;p}' 2>/dev/null )" \
|
||||||
|
-- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-G)
|
||||||
|
# FIXME: doesn't work properly
|
||||||
|
local IFS=$'\n'
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help 2>/dev/null | sed -n \
|
||||||
|
"/^.*[^ ].*= Generates/{s|^ *\(.*[^ ]\) *= Generates.*$|\1|;s| |\\\\ |g;p}" \
|
||||||
|
2>/dev/null )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-command)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-command-list 2>/dev/null|
|
||||||
|
tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-module)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null|
|
||||||
|
tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-policy)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-policies 2>/dev/null |
|
||||||
|
grep "^ CMP" 2>/dev/null )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-property)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-property-list \
|
||||||
|
2>/dev/null | tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-variable)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-variable-list \
|
||||||
|
2>/dev/null | tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
$split && return
|
||||||
|
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
|
||||||
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
||||||
|
[[ $COMPREPLY ]] && return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_filedir
|
||||||
|
} &&
|
||||||
|
complete -F _cmake cmake
|
||||||
|
|
||||||
|
# ex: ts=4 sw=4 et filetype=sh
|
|
@ -0,0 +1,61 @@
|
||||||
|
# bash completion for cpack(1) -*- shell-script -*-
|
||||||
|
|
||||||
|
_cpack()
|
||||||
|
{
|
||||||
|
local cur prev words cword
|
||||||
|
_init_completion -n = || return
|
||||||
|
|
||||||
|
case "$prev" in
|
||||||
|
-G)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help 2>/dev/null |
|
||||||
|
grep "^ .*=\ .*" 2> /dev/null | grep -v "^ -" 2>/dev/null |
|
||||||
|
cut -d" " -f 3 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-C)
|
||||||
|
COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
|
||||||
|
MinSizeRel' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-D)
|
||||||
|
[[ $cur == *=* ]] && return # no completion for values
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
|
||||||
|
2>/dev/null | tail -n +2 )' -S = -- "$cur" ) )
|
||||||
|
compopt -o nospace
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-P|-R|--vendor)
|
||||||
|
# argument required but no completions available
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-B)
|
||||||
|
_filedir -d
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--config)
|
||||||
|
_filedir
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-command)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-command-list 2>/dev/null|
|
||||||
|
tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-variable)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
|
||||||
|
2>/dev/null | tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
|
||||||
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
||||||
|
[[ $COMPREPLY ]] && return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_filedir
|
||||||
|
} &&
|
||||||
|
complete -F _cpack cpack
|
||||||
|
|
||||||
|
# ex: ts=4 sw=4 et filetype=sh
|
|
@ -0,0 +1,81 @@
|
||||||
|
# bash completion for ctest(1) -*- shell-script -*-
|
||||||
|
|
||||||
|
_ctest()
|
||||||
|
{
|
||||||
|
local cur prev words cword
|
||||||
|
_init_completion -n = || return
|
||||||
|
|
||||||
|
case "$prev" in
|
||||||
|
-C|--build-config)
|
||||||
|
COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
|
||||||
|
MinSizeRel' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-j|--parallel)
|
||||||
|
COMPREPLY=( $( compgen -W "{1..$(( $(_ncpus)*2 ))}" -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-O|--output-log|-A|--add-notes|--extra-submit)
|
||||||
|
_filedir
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-L|--label-regex|-LE|--label-exclude|--track|-I|--tests-information|\
|
||||||
|
--max-width|--timeout|--stop-time)
|
||||||
|
# argument required but no completions available
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-R|--tests-regex|-E|--exclude-regex)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest -N 2>/dev/null |
|
||||||
|
grep "^ Test" 2>/dev/null | cut -d: -f 2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-D|--dashboard)
|
||||||
|
if [[ $cur == @(Experimental|Nightly|Continuous)* ]]; then
|
||||||
|
local model action
|
||||||
|
action=${cur#@(Experimental|Nightly|Continuous)}
|
||||||
|
model=${cur%"$action"}
|
||||||
|
COMPREPLY=( $( compgen -W 'Start Update Configure Build Test
|
||||||
|
Coverage Submit MemCheck' -P "$model" -- "$action" ) )
|
||||||
|
else
|
||||||
|
COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' \
|
||||||
|
-- "$cur" ) )
|
||||||
|
compopt -o nospace
|
||||||
|
fi
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-M|--test-model)
|
||||||
|
COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' -- \
|
||||||
|
"$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-T|--test-action)
|
||||||
|
COMPREPLY=( $( compgen -W 'Start Update Configure Build Test
|
||||||
|
Coverage Submit MemCheck' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-S|--script|-SP|--script-new-process)
|
||||||
|
# FIXME ?
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--interactive-debug-mode)
|
||||||
|
COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-command)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-command-list 2>/dev/null|
|
||||||
|
tail -n +2 )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ "$cur" == -* ]]; then
|
||||||
|
COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
|
||||||
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
||||||
|
[[ $COMPREPLY ]] && return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_filedir
|
||||||
|
} &&
|
||||||
|
complete -F _ctest ctest
|
||||||
|
|
||||||
|
# ex: ts=4 sw=4 et filetype=sh
|
|
@ -1,207 +0,0 @@
|
||||||
#
|
|
||||||
# bash-completion file for CMake
|
|
||||||
# Provided by Eric NOULARD - eric.noulard@gmail.com
|
|
||||||
#
|
|
||||||
# see http://bash-completion.alioth.debian.org/
|
|
||||||
# and http://www.cmake.org
|
|
||||||
#
|
|
||||||
# We will try to complete cmake commands options
|
|
||||||
# at 2 (or may be 3 levels)
|
|
||||||
# [cmake|cpack|ctest] <level0> <level1> <level2>
|
|
||||||
#
|
|
||||||
# level0 is top level cmake/cpack/ctest options
|
|
||||||
# level1 is the first argument of level0 option
|
|
||||||
# level2 is the seconf argument of level1 argument
|
|
||||||
# FIXME: I don't know how to handle level2
|
|
||||||
#
|
|
||||||
# The file has been proposed for inclusion in the bash-completion package
|
|
||||||
# https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=312632&group_id=100114
|
|
||||||
# In the meantime,
|
|
||||||
# 1) If you want to test bash completion for cmake/cpack/ctest
|
|
||||||
# just source the current file at bash prompt
|
|
||||||
# . ./cmake-completion
|
|
||||||
#
|
|
||||||
# 2) If you want to install it for good copy this file to
|
|
||||||
# cp cmake-completion /etc/bash_completion.d/cmake
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# cmake command
|
|
||||||
#
|
|
||||||
# have cmake &&
|
|
||||||
_cmake()
|
|
||||||
{
|
|
||||||
local cur prev opts words cword
|
|
||||||
COMPREPLY=()
|
|
||||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
||||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
||||||
# seems to be only available on bash-completion 1.2
|
|
||||||
#_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
# cmake command line option we want to complete
|
|
||||||
opts=`cmake --help | grep "^ \-.*=\ .*" | cut -d" " -f 3 | cut -d= -f 1 | cut -d[ -f 1`
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the arguments to some of
|
|
||||||
# the most commonly used commands (Level 1).
|
|
||||||
#
|
|
||||||
case "${prev}" in
|
|
||||||
-E)
|
|
||||||
local running=$(for x in `cmake -E |& grep "^ " | cut -d" " -f 3`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
# FIXME: don't know how to handle multi words completion
|
|
||||||
# or more precisely word that contains space in them like "Unix Makefiles"
|
|
||||||
# -G)
|
|
||||||
# local running=$(for x in `cmake --help | grep "^ .*=\ .*" | grep -v "^ -" | cut -d"=" -f 1 | grep -v "^ "`; do echo \"${x}\" ; done )
|
|
||||||
# COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
# return 0
|
|
||||||
# ;;
|
|
||||||
--help-command)
|
|
||||||
local running=$(for x in `cmake --help-command-list | grep -v "cmake version"`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-module)
|
|
||||||
local running=$(for x in `cmake --help-module-list | grep -v "cmake version"`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-policy)
|
|
||||||
local running=$(for x in `cmake --help-policies | grep "^ CMP"`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-property)
|
|
||||||
local running=$(for x in `cmake --help-property-list | grep -v "cmake version"`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-variable)
|
|
||||||
local running=$(for x in `cmake --help-variable-list | grep -v "cmake version"`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the arguments to some of
|
|
||||||
# the most commonly used commands (Level 2).
|
|
||||||
# ?? How to do that ..
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the option (Level 0 - right after cmake)
|
|
||||||
#
|
|
||||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
||||||
} &&
|
|
||||||
complete -F _cmake -o default cmake
|
|
||||||
|
|
||||||
#
|
|
||||||
# cpack command
|
|
||||||
#
|
|
||||||
#have cpack &&
|
|
||||||
_cpack()
|
|
||||||
{
|
|
||||||
local cur prev opts words cword
|
|
||||||
COMPREPLY=()
|
|
||||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
||||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
||||||
# seems to be only available on bash-completion 1.2
|
|
||||||
#_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
# cpack command line option we want to complete
|
|
||||||
opts=`cpack --help | grep "^ \-.*=\ .*" | cut -d" " -f 3 | cut -d= -f 1`
|
|
||||||
opts="${opts} --help -V"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the arguments to some of
|
|
||||||
# the most commonly used commands (Level 1).
|
|
||||||
#
|
|
||||||
case "${prev}" in
|
|
||||||
-G)
|
|
||||||
local running=$(for x in `cpack --help | grep "^ .*=\ .*" | grep -v "^ -" | cut -d" " -f 3`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--config)
|
|
||||||
COMPREPLY=( $(compgen -f ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-variable)
|
|
||||||
local running=$(for x in `cpack --help-variable-list | grep -v "cpack version" `; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
--help-command)
|
|
||||||
local running=$(for x in `cpack --help-command-list | grep -v "cpack version" `; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the option (Level 0 - right after cpack)
|
|
||||||
#
|
|
||||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
||||||
} &&
|
|
||||||
complete -F _cpack -o default cpack
|
|
||||||
|
|
||||||
#
|
|
||||||
# ctest command
|
|
||||||
#
|
|
||||||
# have ctest &&
|
|
||||||
_ctest()
|
|
||||||
{
|
|
||||||
local cur prev opts words cword
|
|
||||||
COMPREPLY=()
|
|
||||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
||||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
||||||
# seems to be only available on bash-completion 1.2
|
|
||||||
#_get_comp_words_by_ref cur prev
|
|
||||||
|
|
||||||
# cmake command line option we want to complete
|
|
||||||
opts=`ctest --help | grep "\-\-.*" | cut -d" " -f 3 | sed s/,/\\\n/g`
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the arguments to some of
|
|
||||||
# the most commonly used commands (Level 1).
|
|
||||||
#
|
|
||||||
case "${prev}" in
|
|
||||||
--help-command)
|
|
||||||
local running=$(for x in `ctest --help-command-list | grep -v "ctest version" `; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
-R|-E)
|
|
||||||
local running=$(for x in `ctest -N 2> /dev/null | grep "^ Test" | cut -d: -f 2`; do echo ${x} ; done )
|
|
||||||
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the arguments to some of
|
|
||||||
# the most commonly used commands (Level 2).
|
|
||||||
# ?? How to do that ..
|
|
||||||
|
|
||||||
#
|
|
||||||
# Complete the option (Level 0 - right after cmake)
|
|
||||||
#
|
|
||||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
||||||
} &&
|
|
||||||
complete -F _ctest -o default ctest
|
|
||||||
|
|
||||||
# Local variables:
|
|
||||||
# mode: shell-script
|
|
||||||
# sh-basic-offset: 4
|
|
||||||
# sh-indent-comment: t
|
|
||||||
# indent-tabs-mode: nil
|
|
||||||
# End:
|
|
||||||
# ex: ts=4 sw=4 et filetype=sh
|
|
Loading…
Reference in New Issue