#compdef cppcheck # ------------------------------------------------------------------------------ # Copyright (c) 2019 Github zsh-users - http://github.com/zsh-users # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # * Neither the name of the zsh-users nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for cppcheck -- a tool for static C/C++ code analysis (http://cppcheck.sourceforge.net) # # ------------------------------------------------------------------------------ # Authors # ------- # # * Georgy Komarov (https://github.com/jubnzv) # # ------------------------------------------------------------------------------ # Notes # ----- # # Created for Cppcheck version 1.90. # # ------------------------------------------------------------------------------ _cppcheck() { local curcontext="$curcontext" state line typeset -A opt_args _arguments -C \ ":command:->command" \ "*::options:->options" \ "--addon=[Execute addon]" \ "--cppcheck-build-dir=[Analysis output directory]:directory:_files -/" \ "--check-config[Check cppcheck configuration]" \ "--check-library[Show information when library files have incomplete info]" \ "--config-exclude=[Path to be excluded from configuration checking]:directory:_files -/" \ "--config-exclude-files=[A file that contains a list of config-excludes]:file:_files" \ "--doc[Print a list of all available checks]" \ "--dump[Dump xml data for each translation unit]" \ "-D[Define preprocessor symbol]" \ "-U[Undefine preprocessor symbol]" \ "-E[Print preprocessor output on stdout and don't do any further processing]" \ "--enable[Enable additional checks]:id:(all warning style performance portability information unusedFunction missingInclude)" \ "--error-exitcode=[Integer to return if errors are found]" \ "--errorlist[Print a list of all the error messages in XML format]" \ "--exitcode-suppressions=[Used when certain messages should be displayed but should not cause a non-zero exitcode]:_files" \ "--file-list=[Specify the files to check in a text file]:_files" \ {-f,--force}"[Force checking of all configurations in files]" \ {-h,--help}"[Print this help]" \ "-I[A file that contains a list of config-excludes]:directory:_files -/" \ "--include-file=[Specify directory paths to search for included header files in a text file]:file:_files" \ "--include=[Force inclusion of a file before the checked file]:file:_files" \ "-i[Give a source file or source file directory to exclude from the check]:directory or file:_files" \ "--inconclusive[Report even though the analysis is inconclusive]" \ "--inline-suppr[Enable inline suppressions]" \ "-j[Number of threads to do the checking simultaneously]" \ "-l[No new threads should be started if the load average is exceeds this value]" \ {-x,--language=}"[Forces cppcheck to check all files as the given language]:language:(c c++)" \ "--cfg=[Load file that contains information about types and functions]" \ "--max-ctu-depth=[Maximum depth in whole program analysis]" \ "--output-file=[File to save results]:file:_files" \ "--project=[Run Cppcheck on project]:file:_files" \ "--max-configs=[Maximum number of configurations to check in a file]" \ "--platform=[Set platform specific types and sizes]:platforms:(unix32 unix64 win32A win32W win64 native unspecified)" \ "--plist-output=[Generate Clang-plist output files in folder]:_files" \ {-q,--quiet}"[Do not show progress reports]" \ {-rp,--relative-paths}"[Use relative paths in output]" \ {-rp,--relative-paths}"=[Use relative paths in output (separated with ;)]:_files" \ "--report-progress[Report progress messages while checking a file]" \ "--std=[Set standard]:std:(c89 c99 c11 c++03 c++11 c++14 c++17 c++20)" \ "--suppress=[Suppress warnings (format: \[error id\]:\[filename\]:\[line\])]" \ "--suppressions-list=[Suppress warnings listed in the file]:_files" \ "--template=[Format the error messages]" \ "--template=[Format the error message location]" \ {-v,--verbose}"[Output more detailed error information]" \ "--version[Print out version number]" \ "--xml[Write results in xml format to stderr]" \ "--xml-version=[Select the XML file version]" } _cppcheck "$@" # Local Variables: # mode: Shell-Script # sh-indentation: 2 # indent-tabs-mode: nil # sh-basic-offset: 2 # End: # vim: ft=zsh sw=2 ts=2 et