Skip to content

Commit 9928689

Browse files
Angelo RossAngelin01
authored andcommitted
Limit features printed during cargo add
1 parent 3a40df8 commit 9928689

File tree

3 files changed

+32
-300
lines changed
  • src/cargo/ops/cargo_add
  • tests/testsuite/cargo_add

3 files changed

+32
-300
lines changed

src/cargo/ops/cargo_add/mod.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -966,16 +966,45 @@ fn print_dep_table_msg(shell: &mut Shell, dep: &DependencyUI) -> CargoResult<()>
966966
} else {
967967
"".to_owned()
968968
};
969+
969970
shell.write_stderr(format_args!("{}Features{}:\n", prefix, suffix), &style::NOP)?;
971+
972+
const MAX_FEATURE_PRINTS: usize = 50;
973+
974+
let mut activated_printed = 0;
975+
let total_activated = activated.len();
970976
for feat in activated {
977+
if activated_printed >= MAX_FEATURE_PRINTS {
978+
let remaining = total_activated - activated_printed;
979+
shell.write_stderr(
980+
format_args!("{prefix}... {remaining} more activated features\n"),
981+
&style::NOP,
982+
)?;
983+
break;
984+
}
985+
971986
shell.write_stderr(&prefix, &style::NOP)?;
972987
shell.write_stderr('+', &style::GOOD)?;
973988
shell.write_stderr(format_args!(" {}\n", feat), &style::NOP)?;
989+
activated_printed += 1;
974990
}
991+
992+
let mut deactivated_printed = 0;
993+
let total_deactivated = deactivated.len();
975994
for feat in deactivated {
995+
if activated_printed + deactivated_printed >= MAX_FEATURE_PRINTS {
996+
let remaining = total_deactivated - deactivated_printed;
997+
shell.write_stderr(
998+
format_args!("{prefix}... {remaining} more deactivated features\n"),
999+
&style::NOP,
1000+
)?;
1001+
break;
1002+
}
1003+
9761004
shell.write_stderr(&prefix, &style::NOP)?;
9771005
shell.write_stderr('-', &style::ERROR)?;
9781006
shell.write_stderr(format_args!(" {}\n", feat), &style::NOP)?;
1007+
deactivated_printed += 1;
9791008
}
9801009
}
9811010

tests/testsuite/cargo_add/features_too_many_activated/stderr.log

Lines changed: 2 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -51,153 +51,5 @@
5151
+ eyes047
5252
+ eyes048
5353
+ eyes049
54-
+ eyes050
55-
+ eyes051
56-
+ eyes052
57-
+ eyes053
58-
+ eyes054
59-
+ eyes055
60-
+ eyes056
61-
+ eyes057
62-
+ eyes058
63-
+ eyes059
64-
+ eyes060
65-
+ eyes061
66-
+ eyes062
67-
+ eyes063
68-
+ eyes064
69-
+ eyes065
70-
+ eyes066
71-
+ eyes067
72-
+ eyes068
73-
+ eyes069
74-
+ eyes070
75-
+ eyes071
76-
+ eyes072
77-
+ eyes073
78-
+ eyes074
79-
+ eyes075
80-
+ eyes076
81-
+ eyes077
82-
+ eyes078
83-
+ eyes079
84-
+ eyes080
85-
+ eyes081
86-
+ eyes082
87-
+ eyes083
88-
+ eyes084
89-
+ eyes085
90-
+ eyes086
91-
+ eyes087
92-
+ eyes088
93-
+ eyes089
94-
+ eyes090
95-
+ eyes091
96-
+ eyes092
97-
+ eyes093
98-
+ eyes094
99-
+ eyes095
100-
+ eyes096
101-
+ eyes097
102-
+ eyes098
103-
+ eyes099
104-
- eyes100
105-
- eyes101
106-
- eyes102
107-
- eyes103
108-
- eyes104
109-
- eyes105
110-
- eyes106
111-
- eyes107
112-
- eyes108
113-
- eyes109
114-
- eyes110
115-
- eyes111
116-
- eyes112
117-
- eyes113
118-
- eyes114
119-
- eyes115
120-
- eyes116
121-
- eyes117
122-
- eyes118
123-
- eyes119
124-
- eyes120
125-
- eyes121
126-
- eyes122
127-
- eyes123
128-
- eyes124
129-
- eyes125
130-
- eyes126
131-
- eyes127
132-
- eyes128
133-
- eyes129
134-
- eyes130
135-
- eyes131
136-
- eyes132
137-
- eyes133
138-
- eyes134
139-
- eyes135
140-
- eyes136
141-
- eyes137
142-
- eyes138
143-
- eyes139
144-
- eyes140
145-
- eyes141
146-
- eyes142
147-
- eyes143
148-
- eyes144
149-
- eyes145
150-
- eyes146
151-
- eyes147
152-
- eyes148
153-
- eyes149
154-
- eyes150
155-
- eyes151
156-
- eyes152
157-
- eyes153
158-
- eyes154
159-
- eyes155
160-
- eyes156
161-
- eyes157
162-
- eyes158
163-
- eyes159
164-
- eyes160
165-
- eyes161
166-
- eyes162
167-
- eyes163
168-
- eyes164
169-
- eyes165
170-
- eyes166
171-
- eyes167
172-
- eyes168
173-
- eyes169
174-
- eyes170
175-
- eyes171
176-
- eyes172
177-
- eyes173
178-
- eyes174
179-
- eyes175
180-
- eyes176
181-
- eyes177
182-
- eyes178
183-
- eyes179
184-
- eyes180
185-
- eyes181
186-
- eyes182
187-
- eyes183
188-
- eyes184
189-
- eyes185
190-
- eyes186
191-
- eyes187
192-
- eyes188
193-
- eyes189
194-
- eyes190
195-
- eyes191
196-
- eyes192
197-
- eyes193
198-
- eyes194
199-
- eyes195
200-
- eyes196
201-
- eyes197
202-
- eyes198
203-
- eyes199
54+
... 50 more activated features
55+
... 100 more deactivated features

tests/testsuite/cargo_add/features_too_many_few_activated/stderr.log

Lines changed: 1 addition & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -51,153 +51,4 @@
5151
- eyes047
5252
- eyes048
5353
- eyes049
54-
- eyes050
55-
- eyes051
56-
- eyes052
57-
- eyes053
58-
- eyes054
59-
- eyes055
60-
- eyes056
61-
- eyes057
62-
- eyes058
63-
- eyes059
64-
- eyes060
65-
- eyes061
66-
- eyes062
67-
- eyes063
68-
- eyes064
69-
- eyes065
70-
- eyes066
71-
- eyes067
72-
- eyes068
73-
- eyes069
74-
- eyes070
75-
- eyes071
76-
- eyes072
77-
- eyes073
78-
- eyes074
79-
- eyes075
80-
- eyes076
81-
- eyes077
82-
- eyes078
83-
- eyes079
84-
- eyes080
85-
- eyes081
86-
- eyes082
87-
- eyes083
88-
- eyes084
89-
- eyes085
90-
- eyes086
91-
- eyes087
92-
- eyes088
93-
- eyes089
94-
- eyes090
95-
- eyes091
96-
- eyes092
97-
- eyes093
98-
- eyes094
99-
- eyes095
100-
- eyes096
101-
- eyes097
102-
- eyes098
103-
- eyes099
104-
- eyes100
105-
- eyes101
106-
- eyes102
107-
- eyes103
108-
- eyes104
109-
- eyes105
110-
- eyes106
111-
- eyes107
112-
- eyes108
113-
- eyes109
114-
- eyes110
115-
- eyes111
116-
- eyes112
117-
- eyes113
118-
- eyes114
119-
- eyes115
120-
- eyes116
121-
- eyes117
122-
- eyes118
123-
- eyes119
124-
- eyes120
125-
- eyes121
126-
- eyes122
127-
- eyes123
128-
- eyes124
129-
- eyes125
130-
- eyes126
131-
- eyes127
132-
- eyes128
133-
- eyes129
134-
- eyes130
135-
- eyes131
136-
- eyes132
137-
- eyes133
138-
- eyes134
139-
- eyes135
140-
- eyes136
141-
- eyes137
142-
- eyes138
143-
- eyes139
144-
- eyes140
145-
- eyes141
146-
- eyes142
147-
- eyes143
148-
- eyes144
149-
- eyes145
150-
- eyes146
151-
- eyes147
152-
- eyes148
153-
- eyes149
154-
- eyes150
155-
- eyes151
156-
- eyes152
157-
- eyes153
158-
- eyes154
159-
- eyes155
160-
- eyes156
161-
- eyes157
162-
- eyes158
163-
- eyes159
164-
- eyes160
165-
- eyes161
166-
- eyes162
167-
- eyes163
168-
- eyes164
169-
- eyes165
170-
- eyes166
171-
- eyes167
172-
- eyes168
173-
- eyes169
174-
- eyes170
175-
- eyes171
176-
- eyes172
177-
- eyes173
178-
- eyes174
179-
- eyes175
180-
- eyes176
181-
- eyes177
182-
- eyes178
183-
- eyes179
184-
- eyes180
185-
- eyes181
186-
- eyes182
187-
- eyes183
188-
- eyes184
189-
- eyes185
190-
- eyes186
191-
- eyes187
192-
- eyes188
193-
- eyes189
194-
- eyes190
195-
- eyes191
196-
- eyes192
197-
- eyes193
198-
- eyes194
199-
- eyes195
200-
- eyes196
201-
- eyes197
202-
- eyes198
203-
- eyes199
54+
... 150 more deactivated features

0 commit comments

Comments
 (0)