Merge pull request #572 from pseyfert/iwyu
WIP: adding include-what-you-use completion
This commit is contained in:
		
						commit
						69d7166518
					
				|  | @ -0,0 +1,65 @@ | ||||||
|  | #compdef include-what-you-use | ||||||
|  | 
 | ||||||
|  | # Copyright 2018 CERN for the benefit of the LHCb Collaboration. | ||||||
|  | # All rights reserved. | ||||||
|  | # | ||||||
|  | # Developed by: | ||||||
|  | #  | ||||||
|  | #     CERN LBC group | ||||||
|  | #  | ||||||
|  | #     CERN | ||||||
|  | #  | ||||||
|  | #     http://cern.ch | ||||||
|  | #  | ||||||
|  | # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | # of this software and associated documentation files (the "Software"), to deal | ||||||
|  | # with the Software without restriction, including without limitation the | ||||||
|  | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | # sell copies of the Software, and to permit persons to whom the Software is | ||||||
|  | # furnished to do so, subject to the following conditions: | ||||||
|  | #  | ||||||
|  | #     * Redistributions of source code must retain the above copyright notice, | ||||||
|  | #       this list of conditions and the following disclaimers. | ||||||
|  | #  | ||||||
|  | #     * Redistributions in binary form must reproduce the above copyright | ||||||
|  | #       notice, this list of conditions and the following disclaimers in the | ||||||
|  | #       documentation and/or other materials provided with the distribution. | ||||||
|  | #  | ||||||
|  | #     * Neither the names of the LBC group, CERN, nor the names of its | ||||||
|  | #       contributors may be used to endorse or promote products derived from | ||||||
|  | #       this Software without specific prior written permission. | ||||||
|  | #  | ||||||
|  | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE | ||||||
|  | # CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||||
|  | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH | ||||||
|  | # THE SOFTWARE. | ||||||
|  | # | ||||||
|  | # In applying this licence, CERN does not waive the privileges and immunities | ||||||
|  | # granted to it by virtue of its status as an Intergovernmental Organization or | ||||||
|  | # submit itself to any jurisdiction. | ||||||
|  | 
 | ||||||
|  | # TODO: | ||||||
|  | # - prevent _iwyu_opts from running once the first clang option got passed | ||||||
|  | 
 | ||||||
|  | _iwyu_opts() { | ||||||
|  |   _arguments '--check_also=[print iwyu-violation info for files matching the given glob pattern]:glob pattern:' \ | ||||||
|  |              '--cwd=[specify the current working directory]:current working directory:_path_files -/' \ | ||||||
|  |              '--howtodebug[print instructions on how to run iwyu under gdb]' \ | ||||||
|  |              '--howtodebug=[print instructions on how to run iwyu under gdb if file matches argument]:file for debug run:_path_files' \ | ||||||
|  |              '*'"--mapping_file=[iwyu mapping file]:iwyu mapping file:_path_files -g '*(/) *.imp'" \ | ||||||
|  |              "--no_default_mappings[do not add iwyu's default mappings]" \ | ||||||
|  |              '--pch_in_code[mark the first include in a translation unit as a precompiled header]' \ | ||||||
|  |              '--prefix_header_includes=[what to do with command line includes]:command line include treatment:(add keep remove)' \ | ||||||
|  |              "--transitive_includes_only[do not suggest that a file add headers that aren't already visible]" \ | ||||||
|  |              '--max_line_length=[maximum line length for includes]:a number:' \ | ||||||
|  |              '--no_comments[do not add "why" comments]' \ | ||||||
|  |              '--no_fwd_decls[do not use forward declarations]' \ | ||||||
|  |              '--verbose=[the higher the level, the more output]:a number:' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | _arguments "*-Xiwyu[include-what-you-use options]:include-what-you-use options:_iwyu_opts" | ||||||
|  | # gcc will also provide --version and --help. Not ideal. | ||||||
|  | _gcc | ||||||
		Loading…
	
		Reference in New Issue