summaryrefslogtreecommitdiffstats
path: root/completions/cppcheck
diff options
context:
space:
mode:
Diffstat (limited to 'completions/cppcheck')
-rw-r--r--completions/cppcheck91
1 files changed, 91 insertions, 0 deletions
diff --git a/completions/cppcheck b/completions/cppcheck
new file mode 100644
index 0000000..8ea9571
--- /dev/null
+++ b/completions/cppcheck
@@ -0,0 +1,91 @@
+# bash completion for cppcheck(1) -*- shell-script -*-
+
+_cppcheck()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --append | --exitcode-suppressions | --rule-file | --config-excludes-file | \
+ --suppressions-list | --includes-file | --include | -i)
+ _filedir
+ return
+ ;;
+ -D | -U | --rule | --suppress | --template | --max-configs | -h | --help | --version | \
+ --errorlist | --config-exclude | -l)
+ return
+ ;;
+ --enable)
+ # split comma-separated list
+ split=false
+ if [[ $cur == ?*,* ]]; then
+ prev="${cur%,*}"
+ cur="${cur##*,}"
+ split=true
+ fi
+ COMPREPLY=($(compgen -W 'all warning style performance
+ portability information unusedFunction missingInclude' \
+ -- "$cur"))
+ $split && COMPREPLY=(${COMPREPLY[@]/#/"$prev,"})
+ return
+ ;;
+ --error-exitcode)
+ COMPREPLY=($(compgen -W '{0..255}' -- "$cur"))
+ return
+ ;;
+ --file-list)
+ _filedir
+ [[ -z $cur || $cur == - ]] && COMPREPLY+=(-)
+ return
+ ;;
+ -I)
+ _filedir -d
+ return
+ ;;
+ -j)
+ COMPREPLY=($(compgen -W "{2..$(_ncpus)}" -- "$cur"))
+ return
+ ;;
+ --language | -x)
+ COMPREPLY=($(compgen -W 'c c++' -- "$cur"))
+ return
+ ;;
+ --std)
+ COMPREPLY=($(compgen -W 'c89 c99 c11 c++03 c++11 c++14 c++17
+ c++20' -- "$cur"))
+ return
+ ;;
+ --platform)
+ _filedir
+ COMPREPLY+=($(compgen -W 'unix32 unix64 win32A win32W win64
+ native' -- "$cur"))
+ return
+ ;;
+ -rp | --relative-paths)
+ if $split; then # -rp without argument is allowed
+ _filedir -d
+ return
+ fi
+ ;;
+ --library)
+ _filedir cfg
+ return
+ ;;
+ --xml-version)
+ COMPREPLY=($(compgen -W '1 2' -- "$cur"))
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ else
+ _filedir '@([cht]pp|[cht]xx|cc|[ch]++|[ch])'
+ fi
+} &&
+ complete -F _cppcheck cppcheck
+
+# ex: filetype=sh