Mercurial > vim-crosoft
view scripts/build_sln_cache.py @ 10:f444739dd8af
Improvements to YCM dynamic flags.
- Fallback to a "companion" item (e.g. header/source) or a nearby item
when no flags are found for an item.
- Finding a "companion" is also exposed as a standalone script.
- Ability to pass extra clang flags, including some from a special
file found in the .vimcrosoft directory.
- Add support for PCH and other forced-include files.
- Add options for short/long args, or forcing forward slashes.
- Debugging/troubleshooting options, including dumping a batch file and
response file to run clang directly, and the ability to auto-load a
solution's last known environment when running in command line.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 24 Sep 2020 23:02:16 -0700 |
parents | 5d2c0db51914 |
children |
line wrap: on
line source
import os.path import logging import argparse from vsutil import SolutionCache def main(): parser = argparse.ArgumentParser() parser.add_argument('solution', help="The path to the solution file") parser.add_argument('cache', help="The path to the cache file") parser.add_argument('-v', '--verbose', action='store_true') args = parser.parse_args() loglevel = logging.INFO if args.verbose: loglevel = logging.DEBUG logging.basicConfig(level=loglevel) logger = logging.getLogger() cache, loaded = SolutionCache.load_or_rebuild(args.solution, args.cache) if not loaded: total_items = sum([len(i) for i in cache.index.values()]) logger.debug(f"Built cache with {total_items} items.") if __name__ == '__main__': main()