File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -748,7 +748,9 @@ def write_to(self, stream: TextIO):
748
748
def files (
749
749
codebase : CodeBase ,
750
750
state : ParserState | None = None ,
751
+ * ,
751
752
stream : TextIO = sys .stdout ,
753
+ prune : bool = False ,
752
754
):
753
755
"""
754
756
Produce a file tree representing the code base.
@@ -787,6 +789,11 @@ def files(
787
789
):
788
790
platform = frozenset (association [node ])
789
791
setmap [platform ] += node .num_lines
792
+ if prune :
793
+ # Prune unused files from the tree.
794
+ platforms = set ().union (* setmap .keys ())
795
+ if len (platforms ) == 0 :
796
+ continue
790
797
tree .insert (f , setmap )
791
798
792
799
# Print a legend.
Original file line number Diff line number Diff line change @@ -61,6 +61,15 @@ def _build_parser() -> argparse.ArgumentParser:
61
61
"May be specified multiple times." ,
62
62
"If not specified, all platforms will be included." ,
63
63
is_long = True ,
64
+ ),
65
+ )
66
+ parser .add_argument (
67
+ "--prune" ,
68
+ dest = "prune" ,
69
+ action = "store_true" ,
70
+ help = _help_string (
71
+ "Prune unused files from the tree." ,
72
+ is_long = True ,
64
73
is_last = True ,
65
74
),
66
75
)
@@ -131,7 +140,7 @@ def _tree(args: argparse.Namespace):
131
140
)
132
141
133
142
# Print the file tree.
134
- report .files (codebase , state )
143
+ report .files (codebase , state , prune = args . prune )
135
144
sys .exit (0 )
136
145
137
146
You can’t perform that action at this time.
0 commit comments