Mercurial > vim-crosoft
view scripts/list_sln_files.py @ 0:5d2c0db51914
Initial commit
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 17 Sep 2019 13:24:24 -0700 |
parents | |
children | bac97082e229 |
line wrap: on
line source
import argparse import logging import os.path from logutil import setup_logging from vsutil import SolutionCache logger = logging.getLogger(__name__) def main(args=None): parser = argparse.ArgumentParser() parser.add_argument('solution', help="The path to the Visual Studio solution file.") parser.add_argument('-p', '--project', help="Only list files in the named project.") parser.add_argument('-c', '--cache', help="Use a cache file to store the file list.") parser.add_argument('-v', '--verbose', action='store_true', help="Show verbose information.") args = parser.parse_args(args) setup_logging(args.verbose) cache, _ = SolutionCache.load_or_rebuild(args.solution, args.cache) slnobj = cache.slnobj projs = slnobj.projects if args.project: projs = [slnobj.find_project_by_name(args.project)] projs = list(filter(lambda p: not p.is_folder, projs)) for p in projs: ig = p.defaultitemgroup() for i in ig.get_source_items(): file_path = os.path.abspath(os.path.join(p.absdirpath, i.include)) print(file_path) if __name__ == '__main__': main()