simplecov 0.22.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +173 -875
  4. data/exe/simplecov +8 -0
  5. data/lib/minitest/simplecov_plugin.rb +18 -7
  6. data/lib/simplecov/atomic_file.rb +67 -0
  7. data/lib/simplecov/autostart.rb +9 -0
  8. data/lib/simplecov/baseline/parser.rb +58 -0
  9. data/lib/simplecov/baseline.rb +170 -0
  10. data/lib/simplecov/cli/affected/changed_files.rb +57 -0
  11. data/lib/simplecov/cli/affected/selection.rb +117 -0
  12. data/lib/simplecov/cli/affected.rb +148 -0
  13. data/lib/simplecov/cli/annotations.rb +166 -0
  14. data/lib/simplecov/cli/badge/svg.rb +70 -0
  15. data/lib/simplecov/cli/badge.rb +62 -0
  16. data/lib/simplecov/cli/clean.rb +86 -0
  17. data/lib/simplecov/cli/command_helpers.rb +91 -0
  18. data/lib/simplecov/cli/completions/scripts.rb +114 -0
  19. data/lib/simplecov/cli/completions.rb +83 -0
  20. data/lib/simplecov/cli/coverage.rb +83 -0
  21. data/lib/simplecov/cli/coverage_file.rb +109 -0
  22. data/lib/simplecov/cli/dead_code/output.rb +100 -0
  23. data/lib/simplecov/cli/dead_code.rb +139 -0
  24. data/lib/simplecov/cli/diff/output.rb +45 -0
  25. data/lib/simplecov/cli/diff.rb +115 -0
  26. data/lib/simplecov/cli/dotfile.rb +156 -0
  27. data/lib/simplecov/cli/git.rb +41 -0
  28. data/lib/simplecov/cli/history/output.rb +135 -0
  29. data/lib/simplecov/cli/history.rb +67 -0
  30. data/lib/simplecov/cli/merge.rb +115 -0
  31. data/lib/simplecov/cli/open.rb +45 -0
  32. data/lib/simplecov/cli/patch/changed_lines.rb +149 -0
  33. data/lib/simplecov/cli/patch/output.rb +151 -0
  34. data/lib/simplecov/cli/patch.rb +175 -0
  35. data/lib/simplecov/cli/ratchet/output.rb +44 -0
  36. data/lib/simplecov/cli/ratchet.rb +83 -0
  37. data/lib/simplecov/cli/report.rb +91 -0
  38. data/lib/simplecov/cli/run.rb +35 -0
  39. data/lib/simplecov/cli/serve/report_preparer.rb +30 -0
  40. data/lib/simplecov/cli/serve/static_file_handler.rb +128 -0
  41. data/lib/simplecov/cli/serve.rb +88 -0
  42. data/lib/simplecov/cli/show/annotator.rb +87 -0
  43. data/lib/simplecov/cli/show/sweep.rb +36 -0
  44. data/lib/simplecov/cli/show.rb +133 -0
  45. data/lib/simplecov/cli/status/facts.rb +87 -0
  46. data/lib/simplecov/cli/status.rb +93 -0
  47. data/lib/simplecov/cli/tests/redundancy.rb +78 -0
  48. data/lib/simplecov/cli/tests.rb +148 -0
  49. data/lib/simplecov/cli/uncovered/misses.rb +33 -0
  50. data/lib/simplecov/cli/uncovered.rb +127 -0
  51. data/lib/simplecov/cli/usage.rb +153 -0
  52. data/lib/simplecov/cli/watch/live_report.rb +73 -0
  53. data/lib/simplecov/cli/watch/narrator.rb +55 -0
  54. data/lib/simplecov/cli/watch/poller.rb +45 -0
  55. data/lib/simplecov/cli/watch/session.rb +134 -0
  56. data/lib/simplecov/cli/watch/test_plan.rb +43 -0
  57. data/lib/simplecov/cli/watch.rb +85 -0
  58. data/lib/simplecov/cli.rb +114 -0
  59. data/lib/simplecov/color.rb +65 -0
  60. data/lib/simplecov/combine/branches_combiner.rb +44 -21
  61. data/lib/simplecov/combine/coverage_accumulator.rb +175 -0
  62. data/lib/simplecov/combine/identity_interner.rb +27 -0
  63. data/lib/simplecov/combine/interned_counts.rb +28 -0
  64. data/lib/simplecov/combine/lines_combiner.rb +35 -29
  65. data/lib/simplecov/combine/methods_combiner.rb +48 -0
  66. data/lib/simplecov/combine/results_combiner.rb +9 -49
  67. data/lib/simplecov/combine.rb +0 -24
  68. data/lib/simplecov/command_guesser.rb +99 -42
  69. data/lib/simplecov/configuration/baseline.rb +31 -0
  70. data/lib/simplecov/configuration/coverage.rb +184 -0
  71. data/lib/simplecov/configuration/coverage_criteria.rb +143 -0
  72. data/lib/simplecov/configuration/deprecations.rb +21 -0
  73. data/lib/simplecov/configuration/eval_coverage.rb +37 -0
  74. data/lib/simplecov/configuration/filters.rb +131 -0
  75. data/lib/simplecov/configuration/formatting.rb +129 -0
  76. data/lib/simplecov/configuration/groups.rb +48 -0
  77. data/lib/simplecov/configuration/history.rb +44 -0
  78. data/lib/simplecov/configuration/ignored_entries.rb +72 -0
  79. data/lib/simplecov/configuration/merging.rb +197 -0
  80. data/lib/simplecov/configuration/missed_caps.rb +51 -0
  81. data/lib/simplecov/configuration/production.rb +23 -0
  82. data/lib/simplecov/configuration/test_tracking.rb +48 -0
  83. data/lib/simplecov/configuration/thresholds.rb +150 -0
  84. data/lib/simplecov/configuration/view_coverage.rb +37 -0
  85. data/lib/simplecov/configuration.rb +100 -443
  86. data/lib/simplecov/configuration_error.rb +5 -0
  87. data/lib/simplecov/context_map/union.rb +81 -0
  88. data/lib/simplecov/context_map.rb +187 -0
  89. data/lib/simplecov/coverage_json.rb +21 -0
  90. data/lib/simplecov/coverage_statistics.rb +24 -28
  91. data/lib/simplecov/coverage_violations.rb +254 -0
  92. data/lib/simplecov/current_run.rb +61 -0
  93. data/lib/simplecov/defaults.rb +20 -28
  94. data/lib/simplecov/deprecation.rb +63 -0
  95. data/lib/simplecov/directive/erb.rb +44 -0
  96. data/lib/simplecov/directive/haml.rb +33 -0
  97. data/lib/simplecov/directive/indented_template.rb +37 -0
  98. data/lib/simplecov/directive/slim.rb +35 -0
  99. data/lib/simplecov/directive/template.rb +29 -0
  100. data/lib/simplecov/directive.rb +152 -0
  101. data/lib/simplecov/exit_codes/baseline_check.rb +46 -0
  102. data/lib/simplecov/exit_codes/check.rb +39 -0
  103. data/lib/simplecov/exit_codes/exit_code_handling.rb +24 -5
  104. data/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +17 -67
  105. data/lib/simplecov/exit_codes/maximum_missed_check.rb +26 -0
  106. data/lib/simplecov/exit_codes/maximum_missed_per_file_check.rb +34 -0
  107. data/lib/simplecov/exit_codes/maximum_overall_coverage_check.rb +27 -0
  108. data/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +20 -38
  109. data/lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb +28 -0
  110. data/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +37 -34
  111. data/lib/simplecov/exit_codes.rb +26 -0
  112. data/lib/simplecov/exit_handling.rb +163 -0
  113. data/lib/simplecov/file_list.rb +63 -48
  114. data/lib/simplecov/filter.rb +98 -42
  115. data/lib/simplecov/formatter/base.rb +100 -0
  116. data/lib/simplecov/formatter/baseline_formatter.rb +98 -0
  117. data/lib/simplecov/formatter/coverage_json_writer.rb +95 -0
  118. data/lib/simplecov/formatter/html_formatter/public/index.html +93 -0
  119. data/lib/simplecov/formatter/html_formatter/viewer_data_validator.rb +153 -0
  120. data/lib/simplecov/formatter/html_formatter.rb +88 -0
  121. data/lib/simplecov/formatter/json_formatter/errors_formatter.rb +122 -0
  122. data/lib/simplecov/formatter/json_formatter/production_section_formatter.rb +48 -0
  123. data/lib/simplecov/formatter/json_formatter/result_hash_formatter.rb +132 -0
  124. data/lib/simplecov/formatter/json_formatter/source_file_formatter.rb +97 -0
  125. data/lib/simplecov/formatter/json_formatter.rb +40 -0
  126. data/lib/simplecov/formatter/multi_formatter.rb +8 -10
  127. data/lib/simplecov/formatter/simple_formatter.rb +12 -15
  128. data/lib/simplecov/formatter.rb +21 -1
  129. data/lib/simplecov/group_names.rb +33 -0
  130. data/lib/simplecov/history.rb +115 -0
  131. data/lib/simplecov/last_run.rb +16 -5
  132. data/lib/simplecov/lines_classifier.rb +67 -19
  133. data/lib/simplecov/load_global_config.rb +12 -4
  134. data/lib/simplecov/parallel_adapters/base.rb +50 -0
  135. data/lib/simplecov/parallel_adapters/generic.rb +33 -0
  136. data/lib/simplecov/parallel_adapters/parallel_tests.rb +72 -0
  137. data/lib/simplecov/parallel_adapters.rb +54 -0
  138. data/lib/simplecov/parallel_coordination.rb +124 -0
  139. data/lib/simplecov/parallel_result_merger/worker_payload.rb +33 -0
  140. data/lib/simplecov/parallel_result_merger.rb +171 -0
  141. data/lib/simplecov/process.rb +34 -12
  142. data/lib/simplecov/production/error.rb +11 -0
  143. data/lib/simplecov/production/file_sink.rb +130 -0
  144. data/lib/simplecov/production.rb +249 -0
  145. data/lib/simplecov/profiles/bundler_filter.rb +1 -1
  146. data/lib/simplecov/profiles/hidden_filter.rb +1 -1
  147. data/lib/simplecov/profiles/rails.rb +13 -10
  148. data/lib/simplecov/profiles/root_filter.rb +2 -5
  149. data/lib/simplecov/profiles/strict.rb +22 -0
  150. data/lib/simplecov/profiles/test_frameworks.rb +1 -4
  151. data/lib/simplecov/profiles.rb +26 -19
  152. data/lib/simplecov/report_deferral.rb +45 -0
  153. data/lib/simplecov/report_stamp.rb +25 -0
  154. data/lib/simplecov/result/filter_config.rb +19 -0
  155. data/lib/simplecov/result/missing_source_files_reporter.rb +48 -0
  156. data/lib/simplecov/result/serialization.rb +43 -0
  157. data/lib/simplecov/result/source_file_builder.rb +46 -0
  158. data/lib/simplecov/result.rb +123 -47
  159. data/lib/simplecov/result_adapter.rb +130 -11
  160. data/lib/simplecov/result_merger/contexts.rb +22 -0
  161. data/lib/simplecov/result_merger/legacy_format_adapter.rb +24 -0
  162. data/lib/simplecov/result_merger/resultset_file.rb +67 -0
  163. data/lib/simplecov/result_merger/resultset_run_identity.rb +65 -0
  164. data/lib/simplecov/result_merger/resultset_store.rb +62 -0
  165. data/lib/simplecov/result_merger/unloaded_files.rb +95 -0
  166. data/lib/simplecov/result_merger.rb +120 -124
  167. data/lib/simplecov/result_processing.rb +188 -0
  168. data/lib/simplecov/run_identity.rb +75 -0
  169. data/lib/simplecov/simulate_coverage.rb +72 -17
  170. data/lib/simplecov/source_file/branch.rb +8 -35
  171. data/lib/simplecov/source_file/branch_builder.rb +95 -0
  172. data/lib/simplecov/source_file/builder_context.rb +28 -0
  173. data/lib/simplecov/source_file/line.rb +17 -32
  174. data/lib/simplecov/source_file/line_builder.rb +37 -0
  175. data/lib/simplecov/source_file/method.rb +54 -0
  176. data/lib/simplecov/source_file/method_builder.rb +51 -0
  177. data/lib/simplecov/source_file/ruby_data_parser.rb +103 -0
  178. data/lib/simplecov/source_file/skip_chunks.rb +72 -0
  179. data/lib/simplecov/source_file/source_loader.rb +89 -0
  180. data/lib/simplecov/source_file/statistics.rb +76 -0
  181. data/lib/simplecov/source_file.rb +64 -260
  182. data/lib/simplecov/static_coverage_extractor/condition_folding.rb +155 -0
  183. data/lib/simplecov/static_coverage_extractor/location_conventions.rb +191 -0
  184. data/lib/simplecov/static_coverage_extractor/method_collector.rb +45 -0
  185. data/lib/simplecov/static_coverage_extractor/prism_compat.rb +46 -0
  186. data/lib/simplecov/static_coverage_extractor/value_position.rb +61 -0
  187. data/lib/simplecov/static_coverage_extractor/visitor.rb +163 -0
  188. data/lib/simplecov/static_coverage_extractor.rb +78 -0
  189. data/lib/simplecov/test_tracker/accessors.rb +34 -0
  190. data/lib/simplecov/test_tracker/constant_watch.rb +49 -0
  191. data/lib/simplecov/test_tracker/delta.rb +69 -0
  192. data/lib/simplecov/test_tracker/framework_hooks.rb +130 -0
  193. data/lib/simplecov/test_tracker.rb +162 -0
  194. data/lib/simplecov/unloaded_file_injector.rb +62 -0
  195. data/lib/simplecov/useless_results_remover.rb +17 -7
  196. data/lib/simplecov/version.rb +1 -1
  197. data/lib/simplecov/view_coverage/template_compiler.rb +83 -0
  198. data/lib/simplecov/view_coverage.rb +55 -0
  199. data/lib/simplecov-html.rb +5 -0
  200. data/lib/simplecov.rb +143 -394
  201. data/lib/simplecov_json_formatter.rb +5 -0
  202. data/man/simplecov.1 +354 -0
  203. data/sig/simplecov.rbs +1710 -0
  204. metadata +183 -61
  205. data/CHANGELOG.md +0 -191
  206. data/doc/alternate-formatters.md +0 -71
  207. data/doc/commercial-services.md +0 -25
  208. data/doc/editor-integration.md +0 -18
  209. data/lib/simplecov/combine/files_combiner.rb +0 -24
  210. data/lib/simplecov/default_formatter.rb +0 -20
data/man/simplecov.1 ADDED
@@ -0,0 +1,354 @@
1
+ .TH SIMPLECOV 1 "2026-09-12" "simplecov 1.3.0" "User Commands"
2
+ .SH NAME
3
+ simplecov \- coverage reports and questions from the terminal
4
+ .SH SYNOPSIS
5
+ .B simplecov
6
+ .I command
7
+ .RI [ options ]
8
+ .SH DESCRIPTION
9
+ The simplecov command reads the JSON report a SimpleCov run writes next to its
10
+ HTML report (coverage/coverage.json by default) and answers coverage questions
11
+ from the terminal. Default paths follow SimpleCov.coverage_dir from a
12
+ project's .simplecov when one is present. Every command answers \-\-help with
13
+ its own usage.
14
+ .SH COMMANDS
15
+ .TP
16
+ .B run <command...>
17
+ Execute <command> with SimpleCov pre\-loaded
18
+ .TP
19
+ .B coverage <path>
20
+ Print coverage stats for the given file
21
+ .TP
22
+ .B show <path>
23
+ Print the file's source annotated with hit counts and misses
24
+ .TP
25
+ .B report
26
+ Print the overall summary and group totals
27
+ .TP
28
+ .B status
29
+ Report freshness: age, commit distance, recorded tests
30
+ .TP
31
+ .B history
32
+ Print the recorded coverage trend, a sparkline per criterion
33
+ .TP
34
+ .B badge
35
+ Render the coverage percent as an SVG badge
36
+ .TP
37
+ .B uncovered
38
+ List the lowest\-coverage files
39
+ .TP
40
+ .B tests [<path>[:<line>]]
41
+ List recorded tests for a file or line (needs track_tests)
42
+ .TP
43
+ .B affected
44
+ List test files touching code changed since a git ref (needs track_tests)
45
+ .TP
46
+ .B merge <files...>
47
+ Merge multiple .resultset.json files
48
+ .TP
49
+ .B diff <baseline>
50
+ Show per\-file coverage delta vs baseline
51
+ .TP
52
+ .B patch
53
+ Show coverage of the lines a change touched
54
+ .TP
55
+ .B ratchet
56
+ Rewrite the per\-file coverage baseline, only ever tightening
57
+ .TP
58
+ .B dead\-code
59
+ Cross production coverage with the report to find dead code
60
+ .TP
61
+ .B open
62
+ Open the HTML report in the default browser
63
+ .TP
64
+ .B serve
65
+ Serve the coverage report over HTTP
66
+ .TP
67
+ .B watch <command...>
68
+ Re\-run <command> on save and live\-reload the served report
69
+ .TP
70
+ .B clean
71
+ Remove the coverage report directory
72
+ .TP
73
+ .B completions <shell>
74
+ Emit the completion script for fish, bash, or zsh
75
+ .TP
76
+ .B help
77
+ Show this message
78
+ .TP
79
+ .B version
80
+ Print the version (also \-\-version / \-v)
81
+ .SH OPTIONS
82
+ .SS coverage
83
+ .TP
84
+ .B \-\-input PATH
85
+ Read from PATH instead of coverage/coverage.json
86
+ .TP
87
+ .B \-\-no\-color
88
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
89
+ .TP
90
+ .B \-\-json
91
+ Print the file's JSON entry verbatim
92
+ .SS show
93
+ .TP
94
+ .B \-\-input PATH
95
+ Read from PATH instead of coverage/coverage.json
96
+ .TP
97
+ .B \-\-no\-color
98
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
99
+ .TP
100
+ .B \-\-uncovered\-only
101
+ Print only <path>:<ranges> of the missed lines
102
+ .TP
103
+ .B \-\-json
104
+ Emit path, missed lines, per\-line hits, and markers as JSON
105
+ .SS report
106
+ .TP
107
+ .B \-\-input PATH
108
+ Read from PATH instead of coverage/coverage.json
109
+ .TP
110
+ .B \-\-no\-color
111
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
112
+ .TP
113
+ .B \-\-json
114
+ Emit totals and group sections as JSON
115
+ .SS status
116
+ .TP
117
+ .B \-\-input PATH
118
+ Read from PATH instead of coverage/coverage.json
119
+ .TP
120
+ .B \-\-no\-color
121
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
122
+ .TP
123
+ .B \-\-json
124
+ Emit the freshness facts as a JSON object
125
+ .SS history
126
+ .TP
127
+ .B \-\-input PATH
128
+ Read from PATH instead of the coverage directory's .history.json
129
+ .TP
130
+ .B \-\-file PATH
131
+ Follow one file's trajectory instead of the totals
132
+ .TP
133
+ .B \-\-json
134
+ Emit the entries (or the file's trajectory) as JSON
135
+ .TP
136
+ .B \-\-no\-color
137
+ Disable colorized deltas (also honors NO_COLOR / FORCE_COLOR env)
138
+ .SS badge
139
+ .TP
140
+ .B \-\-input PATH
141
+ Read from PATH instead of coverage/coverage.json
142
+ .TP
143
+ .B \-\-output PATH
144
+ Write the badge to PATH instead of stdout
145
+ .TP
146
+ .B \-\-criterion C
147
+ line, branch, or method (default: line)
148
+ .TP
149
+ .B \-\-label TEXT
150
+ The badge's left\-side text (default: the criterion's, like "line coverage")
151
+ .SS uncovered
152
+ .TP
153
+ .B \-\-input PATH
154
+ Read from PATH instead of coverage/coverage.json
155
+ .TP
156
+ .B \-\-no\-color
157
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
158
+ .TP
159
+ .B \-\-threshold N
160
+ Only show files below N% coverage
161
+ .TP
162
+ .B \-\-top N
163
+ Show at most N files (default: 10)
164
+ .TP
165
+ .B \-\-criterion C
166
+ line, branch, or method (default: line)
167
+ .TP
168
+ .B \-\-missing
169
+ Append the missed line ranges to each row
170
+ .TP
171
+ .B \-\-annotate KIND
172
+ Emit CI annotations instead of rows: github, gitlab, rdjson, azure, teamcity,
173
+ or buildkite
174
+ .TP
175
+ .B \-\-json
176
+ Emit results as a JSON array (for CI)
177
+ .SS tests
178
+ .TP
179
+ .B \-\-input PATH
180
+ Read from PATH instead of coverage/coverage.json
181
+ .TP
182
+ .B \-\-no\-color
183
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
184
+ .TP
185
+ .B \-\-redundant
186
+ List only tests whose covered lines other tests also cover
187
+ .TP
188
+ .B \-\-json
189
+ Emit the test ids as a JSON array
190
+ .SS affected
191
+ .TP
192
+ .B \-\-input PATH
193
+ Read from PATH instead of coverage/coverage.json
194
+ .TP
195
+ .B \-\-no\-color
196
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
197
+ .TP
198
+ .B \-\-base REF
199
+ Diff against the merge base of REF and HEAD (default: origin's HEAD, else
200
+ main)
201
+ .TP
202
+ .B \-\-run <command...>
203
+ Run <command> (all args after \-\-run) with the selection appended, or bare on
204
+ a full\-suite fallback, exiting with the command's status
205
+ .TP
206
+ .B \-\-json
207
+ Emit {full_suite, triggers, tests} as a JSON object
208
+ .SS merge
209
+ .TP
210
+ .B \-\-output PATH
211
+ Write merged resultset to PATH (default: coverage/.resultset.json)
212
+ .TP
213
+ .B \-\-honor\-timeout
214
+ Drop entries older than merge_timeout
215
+ .TP
216
+ .B \-\-dry\-run
217
+ Print what would be written without writing
218
+ .TP
219
+ .B \-q, \-\-quiet
220
+ Suppress the success status line
221
+ .SS diff
222
+ .TP
223
+ .B \-\-input PATH
224
+ Read from PATH instead of coverage/coverage.json
225
+ .TP
226
+ .B \-\-no\-color
227
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
228
+ .TP
229
+ .B \-\-fail\-on\-drop
230
+ Exit non\-zero when any file's coverage dropped vs baseline (deletions don't
231
+ count)
232
+ .TP
233
+ .B \-\-json
234
+ Emit results as a JSON array (for CI)
235
+ .TP
236
+ .B \-\-threshold N
237
+ Only show files whose absolute delta in any criterion is at least N%
238
+ .SS patch
239
+ .TP
240
+ .B \-\-input PATH
241
+ Read from PATH instead of coverage/coverage.json
242
+ .TP
243
+ .B \-\-no\-color
244
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
245
+ .TP
246
+ .B \-\-base REF
247
+ Diff against the merge\-base of REF for the touched lines (default: origin's
248
+ HEAD, else main, or in CI the PR's target branch)
249
+ .TP
250
+ .B \-\-minimum N
251
+ Exit non\-zero when patch coverage on any measured criterion is below N%
252
+ .TP
253
+ .B \-\-find\-renames
254
+ Follow a renamed file instead of counting the moved file as all\-new
255
+ .TP
256
+ .B \-\-annotate KIND
257
+ Emit CI annotations instead of rows: github, gitlab, rdjson, azure, teamcity,
258
+ or buildkite
259
+ .TP
260
+ .B \-\-json
261
+ Emit results as a JSON array (for CI)
262
+ .SS ratchet
263
+ .TP
264
+ .B \-\-input PATH
265
+ Read from PATH instead of coverage/coverage.json
266
+ .TP
267
+ .B \-\-no\-color
268
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
269
+ .TP
270
+ .B \-\-baseline PATH
271
+ The baseline file to rewrite (default: the project's `baseline_file`,
272
+ \&.simplecov_baseline.yml)
273
+ .TP
274
+ .B \-\-init
275
+ Regenerate from scratch: add entries for new files and reset every floor to
276
+ the current state
277
+ .TP
278
+ .B \-\-dry\-run
279
+ Print what would change without writing
280
+ .TP
281
+ .B \-\-json
282
+ Emit the summary (tightened / pruned / regressed entries) as JSON
283
+ .SS dead-code
284
+ .TP
285
+ .B \-\-input PATH
286
+ Read from PATH instead of coverage/coverage.json
287
+ .TP
288
+ .B \-\-no\-color
289
+ Disable colorized percentages (also honors NO_COLOR / FORCE_COLOR env)
290
+ .TP
291
+ .B \-\-production PATH
292
+ The production coverage file a SimpleCov::Production sink wrote (default: the
293
+ project's `production_coverage`, required when none is configured)
294
+ .TP
295
+ .B \-\-untested\-in\-production
296
+ Print code production runs that no test covers, instead of the dead rows
297
+ .TP
298
+ .B \-\-json
299
+ Emit every category (dead, possibly dead, untested in production) as JSON
300
+ .SS open
301
+ .TP
302
+ .B \-\-report PATH
303
+ Open PATH instead of coverage/index.html
304
+ .SS serve
305
+ .TP
306
+ .B \-\-port N
307
+ Bind to port N (default: random open port)
308
+ .TP
309
+ .B \-\-host HOST
310
+ Bind to HOST (default: 127.0.0.1)
311
+ .SS watch
312
+ .TP
313
+ .B \-\-port N
314
+ Bind to port N (default: random open port)
315
+ .TP
316
+ .B \-\-host HOST
317
+ Bind to HOST (default: 127.0.0.1)
318
+ .TP
319
+ .B \-\-interval SECONDS
320
+ Poll the tracked files this often (default: 0.5)
321
+ .TP
322
+ .B \-\-open
323
+ Open the served report in the default browser
324
+ .SS clean
325
+ .TP
326
+ .B \-\-dry\-run
327
+ Print what would be removed without deleting
328
+ .TP
329
+ .B \-q, \-\-quiet
330
+ Suppress status lines
331
+ .SH ENVIRONMENT
332
+ .TP
333
+ .B NO_COLOR
334
+ Disable colorized output. FORCE_COLOR forces it on, and \-\-no\-color beats
335
+ both.
336
+ .TP
337
+ .B SIMPLECOV_MERGE_TIMEOUT
338
+ Override merge_timeout in seconds. The watch command sets it for child runs so
339
+ subset re\-runs keep merging into a whole report.
340
+ .SH FILES
341
+ .TP
342
+ .B coverage/coverage.json
343
+ The JSON report the read\-only commands consume. The bundled HTML formatter
344
+ writes it alongside index.html.
345
+ .TP
346
+ .B coverage/.resultset.json
347
+ The merged raw resultset the merge command reads and writes.
348
+ .TP
349
+ .B .simplecov
350
+ Project configuration. Its SimpleCov.coverage_dir setting moves every default
351
+ path above.
352
+ .SH SEE ALSO
353
+ Full documentation with examples for every command lives in docs/CLI.md in the
354
+ source tree and at https://github.com/simplecov\-ruby/simplecov