summaryrefslogtreecommitdiffstats
path: root/Docs/cmake-completion
diff options
context:
space:
mode:
Diffstat (limited to 'Docs/cmake-completion')
-rw-r--r--Docs/cmake-completion207
1 files changed, 0 insertions, 207 deletions
diff --git a/Docs/cmake-completion b/Docs/cmake-completion
deleted file mode 100644
index d70ac24..0000000
--- a/Docs/cmake-completion
+++ /dev/null
@@ -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