summaryrefslogtreecommitdiff
path: root/completions/cppcheck
diff options
context:
space:
mode:
Diffstat (limited to 'completions/cppcheck')
-rw-r--r--completions/cppcheck60
1 files changed, 60 insertions, 0 deletions
diff --git a/completions/cppcheck b/completions/cppcheck
new file mode 100644
index 00000000..5dd30931
--- /dev/null
+++ b/completions/cppcheck
@@ -0,0 +1,60 @@
+# bash completion for cppcheck(1) -*- shell-script -*-
+
+_cppcheck()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --append|--exitcode-suppressions|--file-list|--rule-file|\
+ --suppressions-list|-i)
+ _filedir
+ return
+ ;;
+ -D|--rule|--suppress|--template)
+ return
+ ;;
+ --enable)
+ COMPREPLY=( $( compgen -W 'all style performance portability
+ information unusedFunction missingInclude' -- "$cur" ) )
+ return
+ ;;
+ --error-exitcode)
+ COMPREPLY=( $( compgen -W '{0..255}' -- "$cur" ) )
+ return
+ ;;
+ -I)
+ _filedir -d
+ return
+ ;;
+ -j)
+ COMPREPLY=( $( compgen -W '{2..16}' -- "$cur" ) )
+ return
+ ;;
+ --std)
+ COMPREPLY=( $( compgen -W 'c99 posix' -- "$cur" ) )
+ return
+ ;;
+ --platform)
+ COMPREPLY=( $( compgen -W 'unix32 unix64 win32A win32W win64' \
+ -- "$cur" ) )
+ 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 @(cpp|cxx|cc|c++|c|tpp|txx)
+ fi
+} &&
+complete -F _cppcheck cppcheck
+
+# ex: ts=4 sw=4 et filetype=sh