anansi 0.0.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.
@@ -0,0 +1,2371 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `spoom` gem.
5
+ # Please instead update this file by running `bin/tapioca gem spoom`.
6
+
7
+ # source://spoom//lib/spoom.rb#7
8
+ module Spoom
9
+ class << self
10
+ # source://spoom//lib/spoom.rb#45
11
+ sig { params(cmd: ::String, arg: ::String, path: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
12
+ def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil)); end
13
+ end
14
+ end
15
+
16
+ # source://spoom//lib/spoom/cli/helper.rb#9
17
+ module Spoom::Cli; end
18
+
19
+ # source://spoom//lib/spoom/cli/bump.rb#9
20
+ class Spoom::Cli::Bump < ::Thor
21
+ include ::Spoom::Colorize
22
+ include ::Spoom::Cli::Helper
23
+
24
+ # source://spoom//lib/spoom/cli/bump.rb#32
25
+ sig { params(directory: ::String).void }
26
+ def bump(directory = T.unsafe(nil)); end
27
+
28
+ # source://spoom//lib/spoom/cli/bump.rb#160
29
+ def config_files(path: T.unsafe(nil)); end
30
+
31
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
32
+
33
+ # source://spoom//lib/spoom/cli/bump.rb#134
34
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
35
+
36
+ # source://spoom//lib/spoom/cli/bump.rb#156
37
+ def undo_changes(files, from_strictness); end
38
+ end
39
+
40
+ # source://spoom//lib/spoom/cli/config.rb#9
41
+ class Spoom::Cli::Config < ::Thor
42
+ include ::Spoom::Colorize
43
+ include ::Spoom::Cli::Helper
44
+
45
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
46
+
47
+ # source://spoom//lib/spoom/cli/config.rb#15
48
+ def show; end
49
+ end
50
+
51
+ # source://spoom//lib/spoom/cli/coverage.rb#9
52
+ class Spoom::Cli::Coverage < ::Thor
53
+ include ::Spoom::Colorize
54
+ include ::Spoom::Cli::Helper
55
+
56
+ # source://spoom//lib/spoom/cli/coverage.rb#186
57
+ def bundle_install(path, sha); end
58
+
59
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
60
+
61
+ # source://spoom//lib/spoom/cli/coverage.rb#198
62
+ def message_no_data(file); end
63
+
64
+ # source://spoom//lib/spoom/cli/coverage.rb#161
65
+ def open(file = T.unsafe(nil)); end
66
+
67
+ # source://spoom//lib/spoom/cli/coverage.rb#177
68
+ def parse_time(string, option); end
69
+
70
+ # source://spoom//lib/spoom/cli/coverage.rb#130
71
+ def report; end
72
+
73
+ # source://spoom//lib/spoom/cli/coverage.rb#20
74
+ def snapshot; end
75
+
76
+ # source://spoom//lib/spoom/cli/coverage.rb#43
77
+ def timeline; end
78
+ end
79
+
80
+ # source://spoom//lib/spoom/cli/coverage.rb#12
81
+ Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
82
+
83
+ # source://spoom//lib/spoom/cli/helper.rb#10
84
+ module Spoom::Cli::Helper
85
+ include ::Spoom::Colorize
86
+
87
+ requires_ancestor { Thor }
88
+
89
+ # source://spoom//lib/spoom/cli/helper.rb#143
90
+ sig { params(string: ::String).returns(::String) }
91
+ def blue(string); end
92
+
93
+ # source://spoom//lib/spoom/cli/helper.rb#87
94
+ sig { params(exit_code: ::Integer, block: T.nilable(T.proc.void)).void }
95
+ def check_sorbet_segfault(exit_code, &block); end
96
+
97
+ # Is the `--color` option true?
98
+ #
99
+ # source://spoom//lib/spoom/cli/helper.rb#107
100
+ sig { returns(T::Boolean) }
101
+ def color?; end
102
+
103
+ # Colorize a string if `color?`
104
+ #
105
+ # source://spoom//lib/spoom/cli/helper.rb#136
106
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
107
+ def colorize(string, *color); end
108
+
109
+ # source://spoom//lib/spoom/cli/helper.rb#148
110
+ sig { params(string: ::String).returns(::String) }
111
+ def cyan(string); end
112
+
113
+ # Return the path specified through `--path`
114
+ #
115
+ # source://spoom//lib/spoom/cli/helper.rb#72
116
+ sig { returns(::String) }
117
+ def exec_path; end
118
+
119
+ # source://spoom//lib/spoom/cli/helper.rb#153
120
+ sig { params(string: ::String).returns(::String) }
121
+ def gray(string); end
122
+
123
+ # source://spoom//lib/spoom/cli/helper.rb#158
124
+ sig { params(string: ::String).returns(::String) }
125
+ def green(string); end
126
+
127
+ # source://spoom//lib/spoom/cli/helper.rb#112
128
+ sig { params(string: ::String).returns(::String) }
129
+ def highlight(string); end
130
+
131
+ # Enforce that `spoom` is ran inside a project with a `sorbet/config` file
132
+ #
133
+ # Display an error message and exit otherwise.
134
+ #
135
+ # source://spoom//lib/spoom/cli/helper.rb#59
136
+ sig { void }
137
+ def in_sorbet_project!; end
138
+
139
+ # Is `spoom` ran inside a project with a `sorbet/config` file?
140
+ #
141
+ # source://spoom//lib/spoom/cli/helper.rb#51
142
+ sig { returns(T::Boolean) }
143
+ def in_sorbet_project?; end
144
+
145
+ # source://spoom//lib/spoom/cli/helper.rb#163
146
+ sig { params(string: ::String).returns(::String) }
147
+ def red(string); end
148
+
149
+ # Print `message` on `$stdout`
150
+ #
151
+ # source://spoom//lib/spoom/cli/helper.rb#20
152
+ sig { params(message: ::String).void }
153
+ def say(message); end
154
+
155
+ # Print `message` on `$stderr`
156
+ #
157
+ # The message is prefixed by a status (default: `Error`).
158
+ #
159
+ # source://spoom//lib/spoom/cli/helper.rb#39
160
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
161
+ def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
162
+
163
+ # source://spoom//lib/spoom/cli/helper.rb#82
164
+ sig { returns(::Spoom::Sorbet::Config) }
165
+ def sorbet_config; end
166
+
167
+ # source://spoom//lib/spoom/cli/helper.rb#77
168
+ sig { returns(::String) }
169
+ def sorbet_config_file; end
170
+
171
+ # source://spoom//lib/spoom/cli/helper.rb#168
172
+ sig { params(string: ::String).returns(::String) }
173
+ def yellow(string); end
174
+ end
175
+
176
+ # source://spoom//lib/spoom/cli/lsp.rb#10
177
+ class Spoom::Cli::LSP < ::Thor
178
+ include ::Spoom::Colorize
179
+ include ::Spoom::Cli::Helper
180
+
181
+ # TODO: options, filter, limit, kind etc.. filter rbi
182
+ #
183
+ # source://spoom//lib/spoom/cli/lsp.rb#54
184
+ def defs(file, line, col); end
185
+
186
+ # TODO: options, filter, limit, kind etc.. filter rbi
187
+ #
188
+ # source://spoom//lib/spoom/cli/lsp.rb#64
189
+ def find(query); end
190
+
191
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
192
+
193
+ # TODO: options, filter, limit, kind etc.. filter rbi
194
+ #
195
+ # source://spoom//lib/spoom/cli/lsp.rb#40
196
+ def hover(file, line, col); end
197
+
198
+ # TODO: options, filter, limit, kind etc.. filter rbi
199
+ #
200
+ # source://spoom//lib/spoom/cli/lsp.rb#25
201
+ def list; end
202
+
203
+ # source://spoom//lib/spoom/cli/lsp.rb#113
204
+ def lsp_client; end
205
+
206
+ # TODO: options, filter, limit, kind etc.. filter rbi
207
+ #
208
+ # source://spoom//lib/spoom/cli/lsp.rb#84
209
+ def refs(file, line, col); end
210
+
211
+ # source://spoom//lib/spoom/cli/lsp.rb#135
212
+ def run(&block); end
213
+
214
+ # source://spoom//lib/spoom/cli/lsp.rb#16
215
+ def show; end
216
+
217
+ # TODO: options, filter, limit, kind etc.. filter rbi
218
+ #
219
+ # source://spoom//lib/spoom/cli/lsp.rb#94
220
+ def sigs(file, line, col); end
221
+
222
+ # source://spoom//lib/spoom/cli/lsp.rb#127
223
+ def symbol_printer; end
224
+
225
+ # TODO: options, filter, limit, kind etc.. filter rbi
226
+ #
227
+ # source://spoom//lib/spoom/cli/lsp.rb#74
228
+ def symbols(file); end
229
+
230
+ # source://spoom//lib/spoom/cli/lsp.rb#160
231
+ def to_uri(path); end
232
+
233
+ # TODO: options, filter, limit, kind etc.. filter rbi
234
+ #
235
+ # source://spoom//lib/spoom/cli/lsp.rb#104
236
+ def types(file, line, col); end
237
+ end
238
+
239
+ # source://spoom//lib/spoom/cli.rb#16
240
+ class Spoom::Cli::Main < ::Thor
241
+ include ::Spoom::Colorize
242
+ include ::Spoom::Cli::Helper
243
+
244
+ # source://spoom//lib/spoom/cli.rb#68
245
+ def __print_version; end
246
+
247
+ # source://thor/1.2.1/lib/thor.rb#239
248
+ def bump(*args); end
249
+
250
+ # source://thor/1.2.1/lib/thor.rb#239
251
+ def config(*args); end
252
+
253
+ # source://thor/1.2.1/lib/thor.rb#239
254
+ def coverage(*args); end
255
+
256
+ # source://spoom//lib/spoom/cli.rb#43
257
+ def files; end
258
+
259
+ # source://thor/1.2.1/lib/thor.rb#239
260
+ def lsp(*args); end
261
+
262
+ # source://thor/1.2.1/lib/thor.rb#239
263
+ def tc(*args); end
264
+
265
+ class << self
266
+ # @return [Boolean]
267
+ #
268
+ # source://spoom//lib/spoom/cli.rb#75
269
+ def exit_on_failure?; end
270
+ end
271
+ end
272
+
273
+ # source://spoom//lib/spoom/cli/run.rb#6
274
+ class Spoom::Cli::Run < ::Thor
275
+ include ::Spoom::Colorize
276
+ include ::Spoom::Cli::Helper
277
+
278
+ # source://spoom//lib/spoom/cli/run.rb#117
279
+ def colorize_message(message); end
280
+
281
+ # source://spoom//lib/spoom/cli/run.rb#108
282
+ def format_error(error, format); end
283
+
284
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
285
+
286
+ # source://spoom//lib/spoom/cli/run.rb#26
287
+ def tc(*paths_to_select); end
288
+ end
289
+
290
+ # source://spoom//lib/spoom/cli/run.rb#15
291
+ Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
292
+
293
+ # source://spoom//lib/spoom/cli/run.rb#11
294
+ Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
295
+
296
+ # source://spoom//lib/spoom/cli/run.rb#13
297
+ Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
298
+
299
+ # source://spoom//lib/spoom/cli/run.rb#12
300
+ Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
301
+
302
+ # source://spoom//lib/spoom/colors.rb#5
303
+ class Spoom::Color < ::T::Enum
304
+ enums do
305
+ CLEAR = new
306
+ BOLD = new
307
+ BLACK = new
308
+ RED = new
309
+ GREEN = new
310
+ YELLOW = new
311
+ BLUE = new
312
+ MAGENTA = new
313
+ CYAN = new
314
+ WHITE = new
315
+ LIGHT_BLACK = new
316
+ LIGHT_RED = new
317
+ LIGHT_GREEN = new
318
+ LIGHT_YELLOW = new
319
+ LIGHT_BLUE = new
320
+ LIGHT_MAGENTA = new
321
+ LIGHT_CYAN = new
322
+ LIGHT_WHITE = new
323
+ end
324
+
325
+ # source://spoom//lib/spoom/colors.rb#32
326
+ sig { returns(::String) }
327
+ def ansi_code; end
328
+ end
329
+
330
+ # source://spoom//lib/spoom/colors.rb#37
331
+ module Spoom::Colorize
332
+ # source://spoom//lib/spoom/colors.rb#41
333
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
334
+ def set_color(string, *color); end
335
+ end
336
+
337
+ # An abstraction to a Ruby project context
338
+ #
339
+ # A context maps to a directory in the file system.
340
+ # It is used to manipulate files and run commands in the context of this directory.
341
+ #
342
+ # source://spoom//lib/spoom/context.rb#12
343
+ class Spoom::Context
344
+ # Create a new context about `absolute_path`
345
+ #
346
+ # The directory will not be created if it doesn't exist.
347
+ # Call `#make!` to create it.
348
+ #
349
+ # source://spoom//lib/spoom/context.rb#37
350
+ sig { params(absolute_path: ::String).void }
351
+ def initialize(absolute_path); end
352
+
353
+ # The absolute path to the directory this context is about
354
+ #
355
+ # source://spoom//lib/spoom/context.rb#17
356
+ sig { returns(::String) }
357
+ def absolute_path; end
358
+
359
+ # Returns the absolute path to `relative_path` in the context's directory
360
+ #
361
+ # source://spoom//lib/spoom/context.rb#43
362
+ sig { params(relative_path: ::String).returns(::String) }
363
+ def absolute_path_to(relative_path); end
364
+
365
+ # Run a command with `bundle` in this context directory
366
+ #
367
+ # source://spoom//lib/spoom/context.rb#150
368
+ sig { params(command: ::String, version: T.nilable(::String)).returns(::Spoom::ExecResult) }
369
+ def bundle(command, version: T.unsafe(nil)); end
370
+
371
+ # Run a command `bundle exec` in this context directory
372
+ #
373
+ # source://spoom//lib/spoom/context.rb#163
374
+ sig { params(command: ::String, version: T.nilable(::String)).returns(::Spoom::ExecResult) }
375
+ def bundle_exec(command, version: T.unsafe(nil)); end
376
+
377
+ # Run `bundle install` in this context directory
378
+ #
379
+ # source://spoom//lib/spoom/context.rb#157
380
+ sig { params(version: T.nilable(::String)).returns(::Spoom::ExecResult) }
381
+ def bundle_install!(version: T.unsafe(nil)); end
382
+
383
+ # Delete this context and its content
384
+ #
385
+ # Warning: it will `rm -rf` the context directory on the file system.
386
+ #
387
+ # source://spoom//lib/spoom/context.rb#112
388
+ sig { void }
389
+ def destroy!; end
390
+
391
+ # Run a command in this context directory
392
+ #
393
+ # source://spoom//lib/spoom/context.rb#120
394
+ sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
395
+ def exec(command, capture_err: T.unsafe(nil)); end
396
+
397
+ # Does `relative_path` point to an existing file in this context directory?
398
+ #
399
+ # source://spoom//lib/spoom/context.rb#72
400
+ sig { params(relative_path: ::String).returns(T::Boolean) }
401
+ def file?(relative_path); end
402
+
403
+ # Run a command prefixed by `git` in this context directory
404
+ #
405
+ # source://spoom//lib/spoom/context.rb#171
406
+ sig { params(command: ::String).returns(::Spoom::ExecResult) }
407
+ def git(command); end
408
+
409
+ # Run `git checkout` in this context directory
410
+ #
411
+ # source://spoom//lib/spoom/context.rb#183
412
+ sig { params(ref: ::String).returns(::Spoom::ExecResult) }
413
+ def git_checkout!(ref: T.unsafe(nil)); end
414
+
415
+ # Get the current git branch in this context directory
416
+ #
417
+ # source://spoom//lib/spoom/context.rb#189
418
+ sig { returns(T.nilable(::String)) }
419
+ def git_current_branch; end
420
+
421
+ # Run `git init` in this context directory
422
+ #
423
+ # source://spoom//lib/spoom/context.rb#177
424
+ sig { params(branch: ::String).void }
425
+ def git_init!(branch: T.unsafe(nil)); end
426
+
427
+ # List all files in this context matching `pattern`
428
+ #
429
+ # source://spoom//lib/spoom/context.rb#58
430
+ sig { params(pattern: ::String).returns(T::Array[::String]) }
431
+ def glob(pattern = T.unsafe(nil)); end
432
+
433
+ # List all files at the top level of this context directory
434
+ #
435
+ # source://spoom//lib/spoom/context.rb#66
436
+ sig { returns(T::Array[::String]) }
437
+ def list; end
438
+
439
+ # Create the context directory at `absolute_path`
440
+ #
441
+ # source://spoom//lib/spoom/context.rb#51
442
+ sig { void }
443
+ def mkdir!; end
444
+
445
+ # Move the file or directory from `from_relative_path` to `to_relative_path`
446
+ #
447
+ # source://spoom//lib/spoom/context.rb#102
448
+ sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
449
+ def move!(from_relative_path, to_relative_path); end
450
+
451
+ # Return the contents of the file at `relative_path` in this context directory
452
+ #
453
+ # Will raise if the file doesn't exist.
454
+ #
455
+ # source://spoom//lib/spoom/context.rb#80
456
+ sig { params(relative_path: ::String).returns(::String) }
457
+ def read(relative_path); end
458
+
459
+ # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil)
460
+ #
461
+ # source://spoom//lib/spoom/context.rb#215
462
+ sig { params(relative_path: ::String).returns(T.nilable(::String)) }
463
+ def read_file_strictness(relative_path); end
464
+
465
+ # Read the `contents` of the Gemfile in this context directory
466
+ #
467
+ # source://spoom//lib/spoom/context.rb#138
468
+ sig { returns(T.nilable(::String)) }
469
+ def read_gemfile; end
470
+
471
+ # Read the contents of `sorbet/config` in this context directory
472
+ #
473
+ # source://spoom//lib/spoom/context.rb#203
474
+ sig { returns(::String) }
475
+ def read_sorbet_config; end
476
+
477
+ # Remove the path at `relative_path` (recursive + force) in this context directory
478
+ #
479
+ # source://spoom//lib/spoom/context.rb#96
480
+ sig { params(relative_path: ::String).void }
481
+ def remove!(relative_path); end
482
+
483
+ # Run `bundle exec srb` in this context directory
484
+ #
485
+ # source://spoom//lib/spoom/context.rb#197
486
+ sig { params(command: ::String).returns(::Spoom::ExecResult) }
487
+ def srb(command); end
488
+
489
+ # Write `contents` in the file at `relative_path` in this context directory
490
+ #
491
+ # Append to the file if `append` is true.
492
+ #
493
+ # source://spoom//lib/spoom/context.rb#88
494
+ sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
495
+ def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end
496
+
497
+ # Set the `contents` of the Gemfile in this context directory
498
+ #
499
+ # source://spoom//lib/spoom/context.rb#144
500
+ sig { params(contents: ::String, append: T::Boolean).void }
501
+ def write_gemfile!(contents, append: T.unsafe(nil)); end
502
+
503
+ # Set the `contents` of `sorbet/config` in this context directory
504
+ #
505
+ # source://spoom//lib/spoom/context.rb#209
506
+ sig { params(contents: ::String, append: T::Boolean).void }
507
+ def write_sorbet_config!(contents, append: T.unsafe(nil)); end
508
+
509
+ class << self
510
+ # Create a new context in the system's temporary directory
511
+ #
512
+ # `name` is used as prefix to the temporary directory name.
513
+ # The directory will be created if it doesn't exist.
514
+ #
515
+ # source://spoom//lib/spoom/context.rb#27
516
+ sig { params(name: T.nilable(::String)).returns(T.attached_class) }
517
+ def mktmp!(name = T.unsafe(nil)); end
518
+ end
519
+ end
520
+
521
+ # source://spoom//lib/spoom/coverage/snapshot.rb#5
522
+ module Spoom::Coverage
523
+ class << self
524
+ # source://spoom//lib/spoom/coverage.rb#90
525
+ sig do
526
+ params(
527
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
528
+ palette: ::Spoom::Coverage::D3::ColorPalette,
529
+ path: ::String
530
+ ).returns(::Spoom::Coverage::Report)
531
+ end
532
+ def report(snapshots, palette:, path: T.unsafe(nil)); end
533
+
534
+ # source://spoom//lib/spoom/coverage.rb#109
535
+ sig { params(path: ::String).returns(::Spoom::FileTree) }
536
+ def sigils_tree(path: T.unsafe(nil)); end
537
+
538
+ # source://spoom//lib/spoom/coverage.rb#16
539
+ sig do
540
+ params(
541
+ path: ::String,
542
+ rbi: T::Boolean,
543
+ sorbet_bin: T.nilable(::String)
544
+ ).returns(::Spoom::Coverage::Snapshot)
545
+ end
546
+ def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
547
+
548
+ # source://spoom//lib/spoom/coverage.rb#104
549
+ sig { params(path: ::String).returns(::Spoom::Sorbet::Config) }
550
+ def sorbet_config(path: T.unsafe(nil)); end
551
+ end
552
+ end
553
+
554
+ # source://spoom//lib/spoom/coverage/report.rb#88
555
+ module Spoom::Coverage::Cards; end
556
+
557
+ # source://spoom//lib/spoom/coverage/report.rb#89
558
+ class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
559
+ # source://spoom//lib/spoom/coverage/report.rb#98
560
+ sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void }
561
+ def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
562
+
563
+ # @return [String, nil]
564
+ #
565
+ # source://spoom//lib/spoom/coverage/report.rb#95
566
+ def body; end
567
+
568
+ # source://spoom//lib/spoom/coverage/report.rb#95
569
+ sig { returns(T.nilable(::String)) }
570
+ def title; end
571
+ end
572
+
573
+ # source://spoom//lib/spoom/coverage/report.rb#92
574
+ Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
575
+
576
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
577
+ #
578
+ # source://spoom//lib/spoom/coverage/report.rb#105
579
+ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
580
+ abstract!
581
+
582
+ # source://spoom//lib/spoom/coverage/report.rb#112
583
+ sig { void }
584
+ def initialize; end
585
+
586
+ # @abstract
587
+ #
588
+ # source://spoom//lib/spoom/coverage/report.rb#120
589
+ sig { abstract.returns(::String) }
590
+ def erb; end
591
+
592
+ # source://spoom//lib/spoom/coverage/report.rb#115
593
+ sig { override.returns(::String) }
594
+ def html; end
595
+ end
596
+
597
+ # source://spoom//lib/spoom/coverage/report.rb#153
598
+ class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
599
+ # source://spoom//lib/spoom/coverage/report.rb#157
600
+ sig { params(sigils_tree: ::Spoom::FileTree, title: ::String).void }
601
+ def initialize(sigils_tree:, title: T.unsafe(nil)); end
602
+ end
603
+
604
+ # source://spoom//lib/spoom/coverage/report.rb#123
605
+ class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
606
+ # source://spoom//lib/spoom/coverage/report.rb#132
607
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void }
608
+ def initialize(snapshot:, title: T.unsafe(nil)); end
609
+
610
+ # source://spoom//lib/spoom/coverage/report.rb#143
611
+ sig { returns(::Spoom::Coverage::D3::Pie::Calls) }
612
+ def pie_calls; end
613
+
614
+ # source://spoom//lib/spoom/coverage/report.rb#138
615
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigils) }
616
+ def pie_sigils; end
617
+
618
+ # source://spoom//lib/spoom/coverage/report.rb#148
619
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigs) }
620
+ def pie_sigs; end
621
+
622
+ # source://spoom//lib/spoom/coverage/report.rb#129
623
+ sig { returns(::Spoom::Coverage::Snapshot) }
624
+ def snapshot; end
625
+ end
626
+
627
+ # source://spoom//lib/spoom/coverage/report.rb#126
628
+ Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
629
+
630
+ # source://spoom//lib/spoom/coverage/report.rb#225
631
+ class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
632
+ # source://spoom//lib/spoom/coverage/report.rb#229
633
+ sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void }
634
+ def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
635
+
636
+ # source://spoom//lib/spoom/coverage/report.rb#235
637
+ sig { override.returns(::String) }
638
+ def erb; end
639
+ end
640
+
641
+ # source://spoom//lib/spoom/coverage/report.rb#162
642
+ class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
643
+ # source://spoom//lib/spoom/coverage/report.rb#166
644
+ sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void }
645
+ def initialize(title:, timeline:); end
646
+ end
647
+
648
+ # source://spoom//lib/spoom/coverage/report.rb#179
649
+ class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
650
+ # source://spoom//lib/spoom/coverage/report.rb#183
651
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
652
+ def initialize(snapshots:, title: T.unsafe(nil)); end
653
+ end
654
+
655
+ # source://spoom//lib/spoom/coverage/report.rb#197
656
+ class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
657
+ # source://spoom//lib/spoom/coverage/report.rb#201
658
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
659
+ def initialize(snapshots:, title: T.unsafe(nil)); end
660
+ end
661
+
662
+ # source://spoom//lib/spoom/coverage/report.rb#215
663
+ class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
664
+ # source://spoom//lib/spoom/coverage/report.rb#219
665
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
666
+ def initialize(snapshots:, title: T.unsafe(nil)); end
667
+ end
668
+
669
+ # source://spoom//lib/spoom/coverage/report.rb#170
670
+ class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
671
+ # source://spoom//lib/spoom/coverage/report.rb#174
672
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
673
+ def initialize(snapshots:, title: T.unsafe(nil)); end
674
+ end
675
+
676
+ # source://spoom//lib/spoom/coverage/report.rb#188
677
+ class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
678
+ # source://spoom//lib/spoom/coverage/report.rb#192
679
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
680
+ def initialize(snapshots:, title: T.unsafe(nil)); end
681
+ end
682
+
683
+ # source://spoom//lib/spoom/coverage/report.rb#206
684
+ class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
685
+ # source://spoom//lib/spoom/coverage/report.rb#210
686
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
687
+ def initialize(snapshots:, title: T.unsafe(nil)); end
688
+ end
689
+
690
+ # source://spoom//lib/spoom/coverage/d3/base.rb#6
691
+ module Spoom::Coverage::D3
692
+ class << self
693
+ # source://spoom//lib/spoom/coverage/d3.rb#61
694
+ sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) }
695
+ def header_script(palette); end
696
+
697
+ # source://spoom//lib/spoom/coverage/d3.rb#21
698
+ sig { returns(::String) }
699
+ def header_style; end
700
+ end
701
+ end
702
+
703
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
704
+ #
705
+ # source://spoom//lib/spoom/coverage/d3/base.rb#7
706
+ class Spoom::Coverage::D3::Base
707
+ abstract!
708
+
709
+ # source://spoom//lib/spoom/coverage/d3/base.rb#17
710
+ sig { params(id: ::String, data: T.untyped).void }
711
+ def initialize(id, data); end
712
+
713
+ # source://spoom//lib/spoom/coverage/d3/base.rb#37
714
+ sig { returns(::String) }
715
+ def html; end
716
+
717
+ # source://spoom//lib/spoom/coverage/d3/base.rb#14
718
+ sig { returns(::String) }
719
+ def id; end
720
+
721
+ # @abstract
722
+ #
723
+ # source://spoom//lib/spoom/coverage/d3/base.rb#50
724
+ sig { abstract.returns(::String) }
725
+ def script; end
726
+
727
+ # source://spoom//lib/spoom/coverage/d3/base.rb#45
728
+ sig { returns(::String) }
729
+ def tooltip; end
730
+
731
+ class << self
732
+ # source://spoom//lib/spoom/coverage/d3/base.rb#31
733
+ sig { returns(::String) }
734
+ def header_script; end
735
+
736
+ # source://spoom//lib/spoom/coverage/d3/base.rb#26
737
+ sig { returns(::String) }
738
+ def header_style; end
739
+ end
740
+ end
741
+
742
+ # source://spoom//lib/spoom/coverage/d3.rb#12
743
+ Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
744
+
745
+ # source://spoom//lib/spoom/coverage/d3.rb#11
746
+ Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
747
+
748
+ # source://spoom//lib/spoom/coverage/d3.rb#14
749
+ Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
750
+
751
+ # source://spoom//lib/spoom/coverage/d3.rb#15
752
+ Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
753
+
754
+ # source://spoom//lib/spoom/coverage/d3.rb#13
755
+ Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
756
+
757
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#9
758
+ class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
759
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#59
760
+ sig { override.returns(::String) }
761
+ def script; end
762
+
763
+ class << self
764
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#40
765
+ sig { returns(::String) }
766
+ def header_script; end
767
+
768
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#14
769
+ sig { returns(::String) }
770
+ def header_style; end
771
+ end
772
+ end
773
+
774
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#148
775
+ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
776
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#152
777
+ sig { params(id: ::String, sigils_tree: ::Spoom::FileTree).void }
778
+ def initialize(id, sigils_tree); end
779
+
780
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#181
781
+ sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
782
+ def tree_node_score(node); end
783
+
784
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#173
785
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
786
+ def tree_node_strictness(node); end
787
+
788
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#160
789
+ sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) }
790
+ def tree_node_to_json(node); end
791
+ end
792
+
793
+ # source://spoom//lib/spoom/coverage/d3.rb#103
794
+ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
795
+ prop :ignore, ::String
796
+ prop :false, ::String
797
+ prop :true, ::String
798
+ prop :strict, ::String
799
+ prop :strong, ::String
800
+
801
+ class << self
802
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
803
+ def inherited(s); end
804
+ end
805
+ end
806
+
807
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
808
+ #
809
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#9
810
+ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
811
+ abstract!
812
+
813
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#16
814
+ sig { params(id: ::String, title: ::String, data: T.untyped).void }
815
+ def initialize(id, title, data); end
816
+
817
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#56
818
+ sig { override.returns(::String) }
819
+ def script; end
820
+
821
+ class << self
822
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#43
823
+ sig { returns(::String) }
824
+ def header_script; end
825
+
826
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#25
827
+ sig { returns(::String) }
828
+ def header_style; end
829
+ end
830
+ end
831
+
832
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#141
833
+ class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
834
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#145
835
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
836
+ def initialize(id, title, snapshot); end
837
+
838
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#150
839
+ sig { override.returns(::String) }
840
+ def tooltip; end
841
+ end
842
+
843
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#123
844
+ class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
845
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#127
846
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
847
+ def initialize(id, title, snapshot); end
848
+
849
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#132
850
+ sig { override.returns(::String) }
851
+ def tooltip; end
852
+ end
853
+
854
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#159
855
+ class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
856
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#163
857
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
858
+ def initialize(id, title, snapshot); end
859
+
860
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#172
861
+ sig { override.returns(::String) }
862
+ def tooltip; end
863
+ end
864
+
865
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
866
+ #
867
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#9
868
+ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
869
+ abstract!
870
+
871
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#16
872
+ sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void }
873
+ def initialize(id, data, keys); end
874
+
875
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#187
876
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
877
+ def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
878
+
879
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#203
880
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
881
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
882
+
883
+ # @abstract
884
+ #
885
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#126
886
+ sig { abstract.returns(::String) }
887
+ def plot; end
888
+
889
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#217
890
+ sig { params(y: ::String).returns(::String) }
891
+ def points(y:); end
892
+
893
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#101
894
+ sig { override.returns(::String) }
895
+ def script; end
896
+
897
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#129
898
+ sig { returns(::String) }
899
+ def x_scale; end
900
+
901
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#145
902
+ sig { returns(::String) }
903
+ def x_ticks; end
904
+
905
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#158
906
+ sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) }
907
+ def y_scale(min:, max:, ticks:); end
908
+
909
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#174
910
+ sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) }
911
+ def y_ticks(ticks:, format:, padding:); end
912
+
913
+ class << self
914
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#79
915
+ sig { returns(::String) }
916
+ def header_script; end
917
+
918
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#25
919
+ sig { returns(::String) }
920
+ def header_style; end
921
+ end
922
+ end
923
+
924
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#448
925
+ class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
926
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#452
927
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
928
+ def initialize(id, snapshots); end
929
+
930
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#466
931
+ sig { override.returns(::String) }
932
+ def tooltip; end
933
+ end
934
+
935
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#505
936
+ class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
937
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#509
938
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
939
+ def initialize(id, snapshots); end
940
+
941
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#577
942
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
943
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
944
+
945
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#617
946
+ sig { override.returns(::String) }
947
+ def plot; end
948
+
949
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#537
950
+ sig { override.returns(::String) }
951
+ def script; end
952
+
953
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#523
954
+ sig { override.returns(::String) }
955
+ def tooltip; end
956
+ end
957
+
958
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#282
959
+ class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
960
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#286
961
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
962
+ def initialize(id, snapshots); end
963
+
964
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#311
965
+ sig { override.returns(::String) }
966
+ def plot; end
967
+
968
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#298
969
+ sig { override.returns(::String) }
970
+ def tooltip; end
971
+ end
972
+
973
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#421
974
+ class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
975
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#425
976
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
977
+ def initialize(id, snapshots); end
978
+
979
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#439
980
+ sig { override.returns(::String) }
981
+ def tooltip; end
982
+ end
983
+
984
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#475
985
+ class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
986
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#479
987
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
988
+ def initialize(id, snapshots); end
989
+
990
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#496
991
+ sig { override.returns(::String) }
992
+ def tooltip; end
993
+ end
994
+
995
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
996
+ #
997
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#329
998
+ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
999
+ abstract!
1000
+
1001
+ # source://sorbet-runtime/0.5.10568/lib/types/private/abstract/declare.rb#37
1002
+ def initialize(*args, &blk); end
1003
+
1004
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#388
1005
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1006
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1007
+
1008
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#377
1009
+ sig { override.returns(::String) }
1010
+ def plot; end
1011
+
1012
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#336
1013
+ sig { override.returns(::String) }
1014
+ def script; end
1015
+ end
1016
+
1017
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#232
1018
+ class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
1019
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#236
1020
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1021
+ def initialize(id, snapshots); end
1022
+
1023
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#263
1024
+ sig { override.returns(::String) }
1025
+ def plot; end
1026
+
1027
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#249
1028
+ sig { override.returns(::String) }
1029
+ def tooltip; end
1030
+ end
1031
+
1032
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1033
+ #
1034
+ # source://spoom//lib/spoom/coverage/report.rb#38
1035
+ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
1036
+ abstract!
1037
+
1038
+ # source://spoom//lib/spoom/coverage/report.rb#53
1039
+ sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void }
1040
+ def initialize(title:, palette:, template: T.unsafe(nil)); end
1041
+
1042
+ # source://spoom//lib/spoom/coverage/report.rb#75
1043
+ sig { returns(::String) }
1044
+ def body_html; end
1045
+
1046
+ # @abstract
1047
+ #
1048
+ # source://spoom//lib/spoom/coverage/report.rb#80
1049
+ sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1050
+ def cards; end
1051
+
1052
+ # source://spoom//lib/spoom/coverage/report.rb#83
1053
+ sig { returns(::String) }
1054
+ def footer_html; end
1055
+
1056
+ # source://spoom//lib/spoom/coverage/report.rb#70
1057
+ sig { returns(::String) }
1058
+ def header_html; end
1059
+
1060
+ # source://spoom//lib/spoom/coverage/report.rb#65
1061
+ sig { returns(::String) }
1062
+ def header_script; end
1063
+
1064
+ # source://spoom//lib/spoom/coverage/report.rb#60
1065
+ sig { returns(::String) }
1066
+ def header_style; end
1067
+
1068
+ # source://spoom//lib/spoom/coverage/report.rb#50
1069
+ sig { returns(::Spoom::Coverage::D3::ColorPalette) }
1070
+ def palette; end
1071
+
1072
+ # source://spoom//lib/spoom/coverage/report.rb#47
1073
+ sig { returns(::String) }
1074
+ def title; end
1075
+ end
1076
+
1077
+ # source://spoom//lib/spoom/coverage/report.rb#44
1078
+ Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
1079
+
1080
+ # source://spoom//lib/spoom/coverage/report.rb#246
1081
+ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
1082
+ # source://spoom//lib/spoom/coverage/report.rb#274
1083
+ sig do
1084
+ params(
1085
+ project_name: ::String,
1086
+ palette: ::Spoom::Coverage::D3::ColorPalette,
1087
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
1088
+ sigils_tree: ::Spoom::FileTree,
1089
+ sorbet_intro_commit: T.nilable(::String),
1090
+ sorbet_intro_date: T.nilable(::Time)
1091
+ ).void
1092
+ end
1093
+ def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
1094
+
1095
+ # source://spoom//lib/spoom/coverage/report.rb#302
1096
+ sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1097
+ def cards; end
1098
+
1099
+ # source://spoom//lib/spoom/coverage/report.rb#291
1100
+ sig { override.returns(::String) }
1101
+ def header_html; end
1102
+
1103
+ # source://spoom//lib/spoom/coverage/report.rb#250
1104
+ sig { returns(::String) }
1105
+ def project_name; end
1106
+
1107
+ # source://spoom//lib/spoom/coverage/report.rb#262
1108
+ sig { returns(::Spoom::FileTree) }
1109
+ def sigils_tree; end
1110
+
1111
+ # source://spoom//lib/spoom/coverage/report.rb#259
1112
+ sig { returns(T::Array[::Spoom::Coverage::Snapshot]) }
1113
+ def snapshots; end
1114
+
1115
+ # source://spoom//lib/spoom/coverage/report.rb#253
1116
+ sig { returns(T.nilable(::String)) }
1117
+ def sorbet_intro_commit; end
1118
+
1119
+ # source://spoom//lib/spoom/coverage/report.rb#256
1120
+ sig { returns(T.nilable(::Time)) }
1121
+ def sorbet_intro_date; end
1122
+ end
1123
+
1124
+ # source://spoom//lib/spoom/coverage/snapshot.rb#6
1125
+ class Spoom::Coverage::Snapshot < ::T::Struct
1126
+ prop :timestamp, ::Integer, default: T.unsafe(nil)
1127
+ prop :version_static, T.nilable(::String), default: T.unsafe(nil)
1128
+ prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
1129
+ prop :duration, ::Integer, default: T.unsafe(nil)
1130
+ prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
1131
+ prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
1132
+ prop :files, ::Integer, default: T.unsafe(nil)
1133
+ prop :rbi_files, ::Integer, default: T.unsafe(nil)
1134
+ prop :modules, ::Integer, default: T.unsafe(nil)
1135
+ prop :classes, ::Integer, default: T.unsafe(nil)
1136
+ prop :singleton_classes, ::Integer, default: T.unsafe(nil)
1137
+ prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
1138
+ prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
1139
+ prop :calls_untyped, ::Integer, default: T.unsafe(nil)
1140
+ prop :calls_typed, ::Integer, default: T.unsafe(nil)
1141
+ prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1142
+ prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1143
+ prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1144
+ prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1145
+
1146
+ # source://spoom//lib/spoom/coverage/snapshot.rb#33
1147
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1148
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1149
+
1150
+ # source://spoom//lib/spoom/coverage/snapshot.rb#39
1151
+ sig { params(arg: T.untyped).returns(::String) }
1152
+ def to_json(*arg); end
1153
+
1154
+ class << self
1155
+ # source://spoom//lib/spoom/coverage/snapshot.rb#47
1156
+ sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
1157
+ def from_json(json); end
1158
+
1159
+ # source://spoom//lib/spoom/coverage/snapshot.rb#52
1160
+ sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1161
+ def from_obj(obj); end
1162
+
1163
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1164
+ def inherited(s); end
1165
+ end
1166
+ end
1167
+
1168
+ # The strictness name as found in the Sorbet metrics file
1169
+ #
1170
+ # source://spoom//lib/spoom/coverage/snapshot.rb#30
1171
+ Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
1172
+
1173
+ # source://spoom//lib/spoom/coverage/snapshot.rb#95
1174
+ class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
1175
+ # source://spoom//lib/spoom/coverage/snapshot.rb#99
1176
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot).void }
1177
+ def print_snapshot(snapshot); end
1178
+
1179
+ private
1180
+
1181
+ # source://spoom//lib/spoom/coverage/snapshot.rb#158
1182
+ sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) }
1183
+ def percent(value, total); end
1184
+
1185
+ # source://spoom//lib/spoom/coverage/snapshot.rb#147
1186
+ sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void }
1187
+ def print_map(hash, total); end
1188
+ end
1189
+
1190
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1191
+ #
1192
+ # source://spoom//lib/spoom/coverage/report.rb#10
1193
+ class Spoom::Coverage::Template
1194
+ abstract!
1195
+
1196
+ # Create a new template from an Erb file path
1197
+ #
1198
+ # source://spoom//lib/spoom/coverage/report.rb#18
1199
+ sig { params(template: ::String).void }
1200
+ def initialize(template:); end
1201
+
1202
+ # source://spoom//lib/spoom/coverage/report.rb#23
1203
+ sig { returns(::String) }
1204
+ def erb; end
1205
+
1206
+ # source://spoom//lib/spoom/coverage/report.rb#33
1207
+ sig { returns(::Binding) }
1208
+ def get_binding; end
1209
+
1210
+ # source://spoom//lib/spoom/coverage/report.rb#28
1211
+ sig { returns(::String) }
1212
+ def html; end
1213
+ end
1214
+
1215
+ # source://spoom//lib/spoom.rb#12
1216
+ class Spoom::Error < ::StandardError; end
1217
+
1218
+ # source://spoom//lib/spoom.rb#14
1219
+ class Spoom::ExecResult < ::T::Struct
1220
+ const :out, ::String
1221
+ const :err, ::String
1222
+ const :status, T::Boolean
1223
+ const :exit_code, ::Integer
1224
+
1225
+ # source://spoom//lib/spoom.rb#23
1226
+ sig { returns(::String) }
1227
+ def to_s; end
1228
+
1229
+ class << self
1230
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1231
+ def inherited(s); end
1232
+ end
1233
+ end
1234
+
1235
+ # Build a file hierarchy from a set of file paths.
1236
+ #
1237
+ # source://spoom//lib/spoom/file_tree.rb#6
1238
+ class Spoom::FileTree
1239
+ # source://spoom//lib/spoom/file_tree.rb#13
1240
+ sig { params(paths: T::Enumerable[::String], strip_prefix: T.nilable(::String)).void }
1241
+ def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil)); end
1242
+
1243
+ # Add a `path` to the tree
1244
+ #
1245
+ # This will create all nodes until the root of `path`.
1246
+ #
1247
+ # source://spoom//lib/spoom/file_tree.rb#29
1248
+ sig { params(path: ::String).returns(::Spoom::FileTree::Node) }
1249
+ def add_path(path); end
1250
+
1251
+ # Add all `paths` to the tree
1252
+ #
1253
+ # source://spoom//lib/spoom/file_tree.rb#21
1254
+ sig { params(paths: T::Enumerable[::String]).void }
1255
+ def add_paths(paths); end
1256
+
1257
+ # All the nodes in this tree
1258
+ #
1259
+ # source://spoom//lib/spoom/file_tree.rb#51
1260
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1261
+ def nodes; end
1262
+
1263
+ # All the paths in this tree
1264
+ #
1265
+ # source://spoom//lib/spoom/file_tree.rb#59
1266
+ sig { returns(T::Array[::String]) }
1267
+ def paths; end
1268
+
1269
+ # source://spoom//lib/spoom/file_tree.rb#71
1270
+ sig do
1271
+ params(
1272
+ out: T.any(::IO, ::StringIO),
1273
+ show_strictness: T::Boolean,
1274
+ colors: T::Boolean,
1275
+ indent_level: ::Integer
1276
+ ).void
1277
+ end
1278
+ def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1279
+
1280
+ # All root nodes
1281
+ #
1282
+ # source://spoom//lib/spoom/file_tree.rb#45
1283
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1284
+ def roots; end
1285
+
1286
+ # source://spoom//lib/spoom/file_tree.rb#10
1287
+ sig { returns(T.nilable(::String)) }
1288
+ def strip_prefix; end
1289
+
1290
+ private
1291
+
1292
+ # source://spoom//lib/spoom/file_tree.rb#85
1293
+ sig do
1294
+ params(
1295
+ node: ::Spoom::FileTree::Node,
1296
+ collected_nodes: T::Array[::Spoom::FileTree::Node]
1297
+ ).returns(T::Array[::Spoom::FileTree::Node])
1298
+ end
1299
+ def collect_nodes(node, collected_nodes = T.unsafe(nil)); end
1300
+ end
1301
+
1302
+ # A node representing either a file or a directory inside a FileTree
1303
+ #
1304
+ # source://spoom//lib/spoom/file_tree.rb#92
1305
+ class Spoom::FileTree::Node < ::T::Struct
1306
+ const :parent, T.nilable(::Spoom::FileTree::Node)
1307
+ const :name, ::String
1308
+ const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
1309
+
1310
+ # Full path to this node from root
1311
+ #
1312
+ # source://spoom//lib/spoom/file_tree.rb#106
1313
+ sig { returns(::String) }
1314
+ def path; end
1315
+
1316
+ class << self
1317
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1318
+ def inherited(s); end
1319
+ end
1320
+ end
1321
+
1322
+ # An internal class used to print a FileTree
1323
+ #
1324
+ # See `FileTree#print`
1325
+ #
1326
+ # source://spoom//lib/spoom/file_tree.rb#117
1327
+ class Spoom::FileTree::TreePrinter < ::Spoom::Printer
1328
+ # source://spoom//lib/spoom/file_tree.rb#132
1329
+ sig do
1330
+ params(
1331
+ tree: ::Spoom::FileTree,
1332
+ out: T.any(::IO, ::StringIO),
1333
+ show_strictness: T::Boolean,
1334
+ colors: T::Boolean,
1335
+ indent_level: ::Integer
1336
+ ).void
1337
+ end
1338
+ def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1339
+
1340
+ # source://spoom//lib/spoom/file_tree.rb#144
1341
+ sig { params(node: ::Spoom::FileTree::Node).void }
1342
+ def print_node(node); end
1343
+
1344
+ # source://spoom//lib/spoom/file_tree.rb#171
1345
+ sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
1346
+ def print_nodes(nodes); end
1347
+
1348
+ # source://spoom//lib/spoom/file_tree.rb#139
1349
+ sig { void }
1350
+ def print_tree; end
1351
+
1352
+ # source://spoom//lib/spoom/file_tree.rb#121
1353
+ sig { returns(::Spoom::FileTree) }
1354
+ def tree; end
1355
+
1356
+ private
1357
+
1358
+ # source://spoom//lib/spoom/file_tree.rb#178
1359
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
1360
+ def node_strictness(node); end
1361
+
1362
+ # source://spoom//lib/spoom/file_tree.rb#186
1363
+ sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
1364
+ def strictness_color(strictness); end
1365
+ end
1366
+
1367
+ # Execute git commands
1368
+ #
1369
+ # source://spoom//lib/spoom/git.rb#8
1370
+ module Spoom::Git
1371
+ class << self
1372
+ # Git commands
1373
+ #
1374
+ # source://spoom//lib/spoom/git.rb#48
1375
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1376
+ def checkout(*arg, path: T.unsafe(nil)); end
1377
+
1378
+ # source://spoom//lib/spoom/git.rb#68
1379
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1380
+ def current_branch(path: T.unsafe(nil)); end
1381
+
1382
+ # source://spoom//lib/spoom/git.rb#53
1383
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1384
+ def diff(*arg, path: T.unsafe(nil)); end
1385
+
1386
+ # Execute a `command`
1387
+ #
1388
+ # source://spoom//lib/spoom/git.rb#26
1389
+ sig { params(command: ::String, arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1390
+ def exec(command, *arg, path: T.unsafe(nil)); end
1391
+
1392
+ # Get the last commit in the currently checked out branch
1393
+ #
1394
+ # source://spoom//lib/spoom/git.rb#79
1395
+ sig { params(path: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
1396
+ def last_commit(path: T.unsafe(nil)); end
1397
+
1398
+ # source://spoom//lib/spoom/git.rb#58
1399
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1400
+ def log(*arg, path: T.unsafe(nil)); end
1401
+
1402
+ # Parse a line formated as `%h %at` into a `Commit`
1403
+ #
1404
+ # source://spoom//lib/spoom/git.rb#121
1405
+ sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
1406
+ def parse_commit(string); end
1407
+
1408
+ # source://spoom//lib/spoom/git.rb#63
1409
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1410
+ def show(*arg, path: T.unsafe(nil)); end
1411
+
1412
+ # Get the commit introducing the `sorbet/config` file
1413
+ #
1414
+ # source://spoom//lib/spoom/git.rb#97
1415
+ sig { params(path: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
1416
+ def sorbet_intro_commit(path: T.unsafe(nil)); end
1417
+
1418
+ # Get the commit removing the `sorbet/config` file
1419
+ #
1420
+ # source://spoom//lib/spoom/git.rb#109
1421
+ sig { params(path: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
1422
+ def sorbet_removal_commit(path: T.unsafe(nil)); end
1423
+
1424
+ # Is there uncommited changes in `path`?
1425
+ #
1426
+ # source://spoom//lib/spoom/git.rb#91
1427
+ sig { params(path: ::String).returns(T::Boolean) }
1428
+ def workdir_clean?(path: T.unsafe(nil)); end
1429
+ end
1430
+ end
1431
+
1432
+ # source://spoom//lib/spoom/git.rb#9
1433
+ class Spoom::Git::Commit < ::T::Struct
1434
+ const :sha, ::String
1435
+ const :time, ::Time
1436
+
1437
+ # source://spoom//lib/spoom/git.rb#16
1438
+ sig { returns(::Integer) }
1439
+ def timestamp; end
1440
+
1441
+ class << self
1442
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1443
+ def inherited(s); end
1444
+ end
1445
+ end
1446
+
1447
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#5
1448
+ module Spoom::LSP; end
1449
+
1450
+ # source://spoom//lib/spoom/sorbet/lsp.rb#13
1451
+ class Spoom::LSP::Client
1452
+ # source://spoom//lib/spoom/sorbet/lsp.rb#17
1453
+ sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void }
1454
+ def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
1455
+
1456
+ # source://spoom//lib/spoom/sorbet/lsp.rb#229
1457
+ sig { void }
1458
+ def close; end
1459
+
1460
+ # source://spoom//lib/spoom/sorbet/lsp.rb#131
1461
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1462
+ def definitions(uri, line, column); end
1463
+
1464
+ # source://spoom//lib/spoom/sorbet/lsp.rb#212
1465
+ sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1466
+ def document_symbols(uri); end
1467
+
1468
+ # source://spoom//lib/spoom/sorbet/lsp.rb#89
1469
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) }
1470
+ def hover(uri, line, column); end
1471
+
1472
+ # source://spoom//lib/spoom/sorbet/lsp.rb#27
1473
+ sig { returns(::Integer) }
1474
+ def next_id; end
1475
+
1476
+ # LSP requests
1477
+ #
1478
+ # @raise [Error::AlreadyOpen]
1479
+ #
1480
+ # source://spoom//lib/spoom/sorbet/lsp.rb#72
1481
+ sig { params(workspace_path: ::String).void }
1482
+ def open(workspace_path); end
1483
+
1484
+ # source://spoom//lib/spoom/sorbet/lsp.rb#54
1485
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1486
+ def read; end
1487
+
1488
+ # @raise [Error::BadHeaders]
1489
+ #
1490
+ # source://spoom//lib/spoom/sorbet/lsp.rb#43
1491
+ sig { returns(T.nilable(::String)) }
1492
+ def read_raw; end
1493
+
1494
+ # source://spoom//lib/spoom/sorbet/lsp.rb#173
1495
+ sig do
1496
+ params(
1497
+ uri: ::String,
1498
+ line: ::Integer,
1499
+ column: ::Integer,
1500
+ include_decl: T::Boolean
1501
+ ).returns(T::Array[::Spoom::LSP::Location])
1502
+ end
1503
+ def references(uri, line, column, include_decl = T.unsafe(nil)); end
1504
+
1505
+ # source://spoom//lib/spoom/sorbet/lsp.rb#37
1506
+ sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1507
+ def send(message); end
1508
+
1509
+ # source://spoom//lib/spoom/sorbet/lsp.rb#32
1510
+ sig { params(json_string: ::String).void }
1511
+ def send_raw(json_string); end
1512
+
1513
+ # source://spoom//lib/spoom/sorbet/lsp.rb#110
1514
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) }
1515
+ def signatures(uri, line, column); end
1516
+
1517
+ # source://spoom//lib/spoom/sorbet/lsp.rb#197
1518
+ sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1519
+ def symbols(query); end
1520
+
1521
+ # source://spoom//lib/spoom/sorbet/lsp.rb#152
1522
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1523
+ def type_definitions(uri, line, column); end
1524
+ end
1525
+
1526
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#178
1527
+ class Spoom::LSP::Diagnostic < ::T::Struct
1528
+ include ::Spoom::LSP::PrintableSymbol
1529
+
1530
+ const :range, ::Spoom::LSP::Range
1531
+ const :code, ::Integer
1532
+ const :message, ::String
1533
+ const :informations, ::Object
1534
+
1535
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#202
1536
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1537
+ def accept_printer(printer); end
1538
+
1539
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#207
1540
+ sig { returns(::String) }
1541
+ def to_s; end
1542
+
1543
+ class << self
1544
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#191
1545
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
1546
+ def from_json(json); end
1547
+
1548
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1549
+ def inherited(s); end
1550
+ end
1551
+ end
1552
+
1553
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#212
1554
+ class Spoom::LSP::DocumentSymbol < ::T::Struct
1555
+ include ::Spoom::LSP::PrintableSymbol
1556
+
1557
+ const :name, ::String
1558
+ const :detail, T.nilable(::String)
1559
+ const :kind, ::Integer
1560
+ const :location, T.nilable(::Spoom::LSP::Location)
1561
+ const :range, T.nilable(::Spoom::LSP::Range)
1562
+ const :children, T::Array[::Spoom::LSP::DocumentSymbol]
1563
+
1564
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#240
1565
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1566
+ def accept_printer(printer); end
1567
+
1568
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#272
1569
+ sig { returns(::String) }
1570
+ def kind_string; end
1571
+
1572
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#267
1573
+ sig { returns(::String) }
1574
+ def to_s; end
1575
+
1576
+ class << self
1577
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#227
1578
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
1579
+ def from_json(json); end
1580
+
1581
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1582
+ def inherited(s); end
1583
+ end
1584
+ end
1585
+
1586
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#276
1587
+ Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
1588
+
1589
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6
1590
+ class Spoom::LSP::Error < ::StandardError; end
1591
+
1592
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#7
1593
+ class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
1594
+
1595
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#8
1596
+ class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
1597
+
1598
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#10
1599
+ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
1600
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#32
1601
+ sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void }
1602
+ def initialize(uri, diagnostics); end
1603
+
1604
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#17
1605
+ sig { returns(T::Array[::Spoom::LSP::Diagnostic]) }
1606
+ def diagnostics; end
1607
+
1608
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#14
1609
+ sig { returns(::String) }
1610
+ def uri; end
1611
+
1612
+ class << self
1613
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#23
1614
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) }
1615
+ def from_json(json); end
1616
+ end
1617
+ end
1618
+
1619
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#19
1620
+ class Spoom::LSP::Hover < ::T::Struct
1621
+ include ::Spoom::LSP::PrintableSymbol
1622
+
1623
+ const :contents, ::String
1624
+ const :range, T.nilable(T::Range[T.untyped])
1625
+
1626
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#39
1627
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1628
+ def accept_printer(printer); end
1629
+
1630
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#45
1631
+ sig { returns(::String) }
1632
+ def to_s; end
1633
+
1634
+ class << self
1635
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#30
1636
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
1637
+ def from_json(json); end
1638
+
1639
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1640
+ def inherited(s); end
1641
+ end
1642
+ end
1643
+
1644
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#112
1645
+ class Spoom::LSP::Location < ::T::Struct
1646
+ include ::Spoom::LSP::PrintableSymbol
1647
+
1648
+ const :uri, ::String
1649
+ const :range, ::Spoom::LSP::Range
1650
+
1651
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#132
1652
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1653
+ def accept_printer(printer); end
1654
+
1655
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#138
1656
+ sig { returns(::String) }
1657
+ def to_s; end
1658
+
1659
+ class << self
1660
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#123
1661
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
1662
+ def from_json(json); end
1663
+
1664
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1665
+ def inherited(s); end
1666
+ end
1667
+ end
1668
+
1669
+ # A general message as defined by JSON-RPC.
1670
+ #
1671
+ # The language server protocol always uses `"2.0"` as the `jsonrpc` version.
1672
+ #
1673
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#12
1674
+ class Spoom::LSP::Message
1675
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#19
1676
+ sig { void }
1677
+ def initialize; end
1678
+
1679
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#24
1680
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1681
+ def as_json; end
1682
+
1683
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
1684
+ sig { returns(::String) }
1685
+ def jsonrpc; end
1686
+
1687
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#32
1688
+ sig { params(args: T.untyped).returns(::String) }
1689
+ def to_json(*args); end
1690
+ end
1691
+
1692
+ # A notification message.
1693
+ #
1694
+ # A processed notification message must not send a response back. They work like events.
1695
+ #
1696
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#64
1697
+ class Spoom::LSP::Notification < ::Spoom::LSP::Message
1698
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#74
1699
+ sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
1700
+ def initialize(method, params); end
1701
+
1702
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
1703
+ sig { returns(::String) }
1704
+ def method; end
1705
+
1706
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#71
1707
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1708
+ def params; end
1709
+ end
1710
+
1711
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#50
1712
+ class Spoom::LSP::Position < ::T::Struct
1713
+ include ::Spoom::LSP::PrintableSymbol
1714
+
1715
+ const :line, ::Integer
1716
+ const :char, ::Integer
1717
+
1718
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#70
1719
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1720
+ def accept_printer(printer); end
1721
+
1722
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#75
1723
+ sig { returns(::String) }
1724
+ def to_s; end
1725
+
1726
+ class << self
1727
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#61
1728
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
1729
+ def from_json(json); end
1730
+
1731
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1732
+ def inherited(s); end
1733
+ end
1734
+ end
1735
+
1736
+ # @abstract Subclasses must implement the `abstract` methods below.
1737
+ #
1738
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#9
1739
+ module Spoom::LSP::PrintableSymbol
1740
+ interface!
1741
+
1742
+ # @abstract
1743
+ #
1744
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#16
1745
+ sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1746
+ def accept_printer(printer); end
1747
+ end
1748
+
1749
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#80
1750
+ class Spoom::LSP::Range < ::T::Struct
1751
+ include ::Spoom::LSP::PrintableSymbol
1752
+
1753
+ const :start, ::Spoom::LSP::Position
1754
+ const :end, ::Spoom::LSP::Position
1755
+
1756
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#100
1757
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1758
+ def accept_printer(printer); end
1759
+
1760
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#107
1761
+ sig { returns(::String) }
1762
+ def to_s; end
1763
+
1764
+ class << self
1765
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#91
1766
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
1767
+ def from_json(json); end
1768
+
1769
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1770
+ def inherited(s); end
1771
+ end
1772
+ end
1773
+
1774
+ # A request message to describe a request between the client and the server.
1775
+ #
1776
+ # Every processed request must send a response back to the sender of the request.
1777
+ #
1778
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#40
1779
+ class Spoom::LSP::Request < ::Spoom::LSP::Message
1780
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#53
1781
+ sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
1782
+ def initialize(id, method, params); end
1783
+
1784
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
1785
+ sig { returns(::Integer) }
1786
+ def id; end
1787
+
1788
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
1789
+ sig { returns(::String) }
1790
+ def method; end
1791
+
1792
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#50
1793
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1794
+ def params; end
1795
+ end
1796
+
1797
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#40
1798
+ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
1799
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#63
1800
+ sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void }
1801
+ def initialize(code, message, data); end
1802
+
1803
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#44
1804
+ sig { returns(::Integer) }
1805
+ def code; end
1806
+
1807
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#47
1808
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1809
+ def data; end
1810
+
1811
+ class << self
1812
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#53
1813
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) }
1814
+ def from_json(json); end
1815
+ end
1816
+ end
1817
+
1818
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#143
1819
+ class Spoom::LSP::SignatureHelp < ::T::Struct
1820
+ include ::Spoom::LSP::PrintableSymbol
1821
+
1822
+ const :label, T.nilable(::String)
1823
+ const :doc, ::Object
1824
+ const :params, T::Array[T.untyped]
1825
+
1826
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#165
1827
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1828
+ def accept_printer(printer); end
1829
+
1830
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#173
1831
+ sig { returns(::String) }
1832
+ def to_s; end
1833
+
1834
+ class << self
1835
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#155
1836
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
1837
+ def from_json(json); end
1838
+
1839
+ # source://sorbet-runtime/0.5.10568/lib/types/struct.rb#13
1840
+ def inherited(s); end
1841
+ end
1842
+ end
1843
+
1844
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#306
1845
+ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
1846
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#323
1847
+ sig do
1848
+ params(
1849
+ out: T.any(::IO, ::StringIO),
1850
+ colors: T::Boolean,
1851
+ indent_level: ::Integer,
1852
+ prefix: T.nilable(::String)
1853
+ ).void
1854
+ end
1855
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
1856
+
1857
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#345
1858
+ sig { params(uri: ::String).returns(::String) }
1859
+ def clean_uri(uri); end
1860
+
1861
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
1862
+ sig { returns(T.nilable(::String)) }
1863
+ def prefix; end
1864
+
1865
+ # @return [String, nil]
1866
+ #
1867
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
1868
+ def prefix=(_arg0); end
1869
+
1870
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#353
1871
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
1872
+ def print_list(objects); end
1873
+
1874
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#333
1875
+ sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void }
1876
+ def print_object(object); end
1877
+
1878
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#340
1879
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
1880
+ def print_objects(objects); end
1881
+
1882
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#310
1883
+ sig { returns(T::Set[::Integer]) }
1884
+ def seen; end
1885
+
1886
+ # @return [Set<Integer>]
1887
+ #
1888
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#310
1889
+ def seen=(_arg0); end
1890
+ end
1891
+
1892
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1893
+ #
1894
+ # source://spoom//lib/spoom/printer.rb#7
1895
+ class Spoom::Printer
1896
+ include ::Spoom::Colorize
1897
+
1898
+ abstract!
1899
+
1900
+ # source://spoom//lib/spoom/printer.rb#19
1901
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1902
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1903
+
1904
+ # Colorize `string` with color if `@colors`
1905
+ #
1906
+ # source://spoom//lib/spoom/printer.rb#80
1907
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
1908
+ def colorize(string, *color); end
1909
+
1910
+ # Decrease indent level
1911
+ #
1912
+ # source://spoom//lib/spoom/printer.rb#33
1913
+ sig { void }
1914
+ def dedent; end
1915
+
1916
+ # Increase indent level
1917
+ #
1918
+ # source://spoom//lib/spoom/printer.rb#27
1919
+ sig { void }
1920
+ def indent; end
1921
+
1922
+ # source://spoom//lib/spoom/printer.rb#16
1923
+ sig { returns(T.any(::IO, ::StringIO)) }
1924
+ def out; end
1925
+
1926
+ # @return [IO, StringIO]
1927
+ #
1928
+ # source://spoom//lib/spoom/printer.rb#16
1929
+ def out=(_arg0); end
1930
+
1931
+ # Print `string` into `out`
1932
+ #
1933
+ # source://spoom//lib/spoom/printer.rb#39
1934
+ sig { params(string: T.nilable(::String)).void }
1935
+ def print(string); end
1936
+
1937
+ # Print `string` colored with `color` into `out`
1938
+ #
1939
+ # Does not use colors unless `@colors`.
1940
+ #
1941
+ # source://spoom//lib/spoom/printer.rb#49
1942
+ sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
1943
+ def print_colored(string, *color); end
1944
+
1945
+ # Print `string` with indent and newline
1946
+ #
1947
+ # source://spoom//lib/spoom/printer.rb#64
1948
+ sig { params(string: T.nilable(::String)).void }
1949
+ def printl(string); end
1950
+
1951
+ # Print a new line into `out`
1952
+ #
1953
+ # source://spoom//lib/spoom/printer.rb#58
1954
+ sig { void }
1955
+ def printn; end
1956
+
1957
+ # Print an indent space into `out`
1958
+ #
1959
+ # source://spoom//lib/spoom/printer.rb#74
1960
+ sig { void }
1961
+ def printt; end
1962
+ end
1963
+
1964
+ # source://spoom//lib/spoom.rb#10
1965
+ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
1966
+
1967
+ # source://spoom//lib/spoom/sorbet/config.rb#5
1968
+ module Spoom::Sorbet
1969
+ class << self
1970
+ # source://spoom//lib/spoom/sorbet.rb#31
1971
+ sig do
1972
+ params(
1973
+ arg: ::String,
1974
+ path: ::String,
1975
+ capture_err: T::Boolean,
1976
+ sorbet_bin: T.nilable(::String)
1977
+ ).returns(::Spoom::ExecResult)
1978
+ end
1979
+ def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1980
+
1981
+ # List all files typechecked by Sorbet from its `config`
1982
+ #
1983
+ # source://spoom//lib/spoom/sorbet.rb#55
1984
+ sig { params(config: ::Spoom::Sorbet::Config, path: ::String).returns(T::Array[::String]) }
1985
+ def srb_files(config, path: T.unsafe(nil)); end
1986
+
1987
+ # source://spoom//lib/spoom/sorbet.rb#93
1988
+ sig do
1989
+ params(
1990
+ arg: ::String,
1991
+ path: ::String,
1992
+ capture_err: T::Boolean,
1993
+ sorbet_bin: T.nilable(::String)
1994
+ ).returns(T.nilable(T::Hash[::String, ::Integer]))
1995
+ end
1996
+ def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1997
+
1998
+ # source://spoom//lib/spoom/sorbet.rb#48
1999
+ sig do
2000
+ params(
2001
+ arg: ::String,
2002
+ path: ::String,
2003
+ capture_err: T::Boolean,
2004
+ sorbet_bin: T.nilable(::String)
2005
+ ).returns(::Spoom::ExecResult)
2006
+ end
2007
+ def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
2008
+
2009
+ # source://spoom//lib/spoom/sorbet.rb#71
2010
+ sig do
2011
+ params(
2012
+ arg: ::String,
2013
+ path: ::String,
2014
+ capture_err: T::Boolean,
2015
+ sorbet_bin: T.nilable(::String)
2016
+ ).returns(T.nilable(::String))
2017
+ end
2018
+ def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
2019
+
2020
+ # Get `gem` version from the `Gemfile.lock` content
2021
+ #
2022
+ # Returns `nil` if `gem` cannot be found in the Gemfile.
2023
+ #
2024
+ # source://spoom//lib/spoom/sorbet.rb#116
2025
+ sig { params(gem: ::String, path: ::String).returns(T.nilable(::String)) }
2026
+ def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil)); end
2027
+ end
2028
+ end
2029
+
2030
+ # source://spoom//lib/spoom/sorbet.rb#16
2031
+ Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
2032
+
2033
+ # source://spoom//lib/spoom/sorbet.rb#14
2034
+ Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
2035
+
2036
+ # Parse Sorbet config files
2037
+ #
2038
+ # Parses a Sorbet config file:
2039
+ #
2040
+ # ```ruby
2041
+ # config = Spoom::Sorbet::Config.parse_file("sorbet/config")
2042
+ # puts config.paths # "."
2043
+ # ```
2044
+ #
2045
+ # Parses a Sorbet config string:
2046
+ #
2047
+ # ```ruby
2048
+ # config = Spoom::Sorbet::Config.parse_string(<<~CONFIG)
2049
+ # a
2050
+ # --file=b
2051
+ # --ignore=c
2052
+ # CONFIG
2053
+ # puts config.paths # "a", "b"
2054
+ # puts config.ignore # "c"
2055
+ # ```
2056
+ #
2057
+ # source://spoom//lib/spoom/sorbet/config.rb#26
2058
+ class Spoom::Sorbet::Config
2059
+ # source://spoom//lib/spoom/sorbet/config.rb#36
2060
+ sig { void }
2061
+ def initialize; end
2062
+
2063
+ # @return [Array<String>]
2064
+ #
2065
+ # source://spoom//lib/spoom/sorbet/config.rb#30
2066
+ def allowed_extensions; end
2067
+
2068
+ # source://spoom//lib/spoom/sorbet/config.rb#44
2069
+ sig { returns(::Spoom::Sorbet::Config) }
2070
+ def copy; end
2071
+
2072
+ # @return [Array<String>]
2073
+ #
2074
+ # source://spoom//lib/spoom/sorbet/config.rb#30
2075
+ def ignore; end
2076
+
2077
+ # source://spoom//lib/spoom/sorbet/config.rb#33
2078
+ sig { returns(T::Boolean) }
2079
+ def no_stdlib; end
2080
+
2081
+ # @return [Boolean]
2082
+ #
2083
+ # source://spoom//lib/spoom/sorbet/config.rb#33
2084
+ def no_stdlib=(_arg0); end
2085
+
2086
+ # Returns self as a string of options that can be passed to Sorbet
2087
+ #
2088
+ # Example:
2089
+ # ~~~rb
2090
+ # config = Sorbet::Config.new
2091
+ # config.paths << "/foo"
2092
+ # config.paths << "/bar"
2093
+ # config.ignore << "/baz"
2094
+ # config.allowed_extensions << ".rb"
2095
+ #
2096
+ # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb"
2097
+ # ~~~
2098
+ #
2099
+ # source://spoom//lib/spoom/sorbet/config.rb#66
2100
+ sig { returns(::String) }
2101
+ def options_string; end
2102
+
2103
+ # source://spoom//lib/spoom/sorbet/config.rb#30
2104
+ sig { returns(T::Array[::String]) }
2105
+ def paths; end
2106
+
2107
+ class << self
2108
+ # source://spoom//lib/spoom/sorbet/config.rb#79
2109
+ sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) }
2110
+ def parse_file(sorbet_config_path); end
2111
+
2112
+ # source://spoom//lib/spoom/sorbet/config.rb#84
2113
+ sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) }
2114
+ def parse_string(sorbet_config); end
2115
+
2116
+ private
2117
+
2118
+ # source://spoom//lib/spoom/sorbet/config.rb#148
2119
+ sig { params(line: ::String).returns(::String) }
2120
+ def parse_option(line); end
2121
+ end
2122
+ end
2123
+
2124
+ # source://spoom//lib/spoom/sorbet/errors.rb#6
2125
+ module Spoom::Sorbet::Errors
2126
+ class << self
2127
+ # source://spoom//lib/spoom/sorbet/errors.rb#13
2128
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2129
+ def sort_errors_by_code(errors); end
2130
+ end
2131
+ end
2132
+
2133
+ # source://spoom//lib/spoom/sorbet/errors.rb#7
2134
+ Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
2135
+
2136
+ # source://spoom//lib/spoom/sorbet/errors.rb#122
2137
+ class Spoom::Sorbet::Errors::Error
2138
+ include ::Comparable
2139
+
2140
+ # source://spoom//lib/spoom/sorbet/errors.rb#148
2141
+ sig do
2142
+ params(
2143
+ file: T.nilable(::String),
2144
+ line: T.nilable(::Integer),
2145
+ message: T.nilable(::String),
2146
+ code: T.nilable(::Integer),
2147
+ more: T::Array[::String]
2148
+ ).void
2149
+ end
2150
+ def initialize(file, line, message, code, more = T.unsafe(nil)); end
2151
+
2152
+ # By default errors are sorted by location
2153
+ #
2154
+ # source://spoom//lib/spoom/sorbet/errors.rb#159
2155
+ sig { params(other: T.untyped).returns(::Integer) }
2156
+ def <=>(other); end
2157
+
2158
+ # @return [Integer, nil]
2159
+ #
2160
+ # source://spoom//lib/spoom/sorbet/errors.rb#130
2161
+ def code; end
2162
+
2163
+ # source://spoom//lib/spoom/sorbet/errors.rb#127
2164
+ sig { returns(T.nilable(::String)) }
2165
+ def file; end
2166
+
2167
+ # Other files associated with the error
2168
+ #
2169
+ # source://spoom//lib/spoom/sorbet/errors.rb#137
2170
+ sig { returns(T::Set[::String]) }
2171
+ def files_from_error_sections; end
2172
+
2173
+ # source://spoom//lib/spoom/sorbet/errors.rb#130
2174
+ sig { returns(T.nilable(::Integer)) }
2175
+ def line; end
2176
+
2177
+ # @return [String, nil]
2178
+ #
2179
+ # source://spoom//lib/spoom/sorbet/errors.rb#127
2180
+ def message; end
2181
+
2182
+ # source://spoom//lib/spoom/sorbet/errors.rb#133
2183
+ sig { returns(T::Array[::String]) }
2184
+ def more; end
2185
+
2186
+ # source://spoom//lib/spoom/sorbet/errors.rb#166
2187
+ sig { returns(::String) }
2188
+ def to_s; end
2189
+ end
2190
+
2191
+ # Parse errors from Sorbet output
2192
+ #
2193
+ # source://spoom//lib/spoom/sorbet/errors.rb#18
2194
+ class Spoom::Sorbet::Errors::Parser
2195
+ # source://spoom//lib/spoom/sorbet/errors.rb#40
2196
+ sig { params(error_url_base: ::String).void }
2197
+ def initialize(error_url_base: T.unsafe(nil)); end
2198
+
2199
+ # source://spoom//lib/spoom/sorbet/errors.rb#47
2200
+ sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2201
+ def parse(output); end
2202
+
2203
+ private
2204
+
2205
+ # source://spoom//lib/spoom/sorbet/errors.rb#111
2206
+ sig { params(line: ::String).void }
2207
+ def append_error(line); end
2208
+
2209
+ # source://spoom//lib/spoom/sorbet/errors.rb#103
2210
+ sig { void }
2211
+ def close_error; end
2212
+
2213
+ # source://spoom//lib/spoom/sorbet/errors.rb#70
2214
+ sig { params(error_url_base: ::String).returns(::Regexp) }
2215
+ def error_line_match_regexp(error_url_base); end
2216
+
2217
+ # source://spoom//lib/spoom/sorbet/errors.rb#87
2218
+ sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
2219
+ def match_error_line(line); end
2220
+
2221
+ # source://spoom//lib/spoom/sorbet/errors.rb#96
2222
+ sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
2223
+ def open_error(error); end
2224
+
2225
+ class << self
2226
+ # source://spoom//lib/spoom/sorbet/errors.rb#33
2227
+ sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2228
+ def parse_string(output, error_url_base: T.unsafe(nil)); end
2229
+ end
2230
+ end
2231
+
2232
+ # source://spoom//lib/spoom/sorbet/errors.rb#21
2233
+ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
2234
+
2235
+ # source://spoom//lib/spoom/sorbet.rb#15
2236
+ Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
2237
+
2238
+ # source://spoom//lib/spoom/sorbet/metrics.rb#8
2239
+ module Spoom::Sorbet::MetricsParser
2240
+ class << self
2241
+ # source://spoom//lib/spoom/sorbet/metrics.rb#15
2242
+ sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2243
+ def parse_file(path, prefix = T.unsafe(nil)); end
2244
+
2245
+ # source://spoom//lib/spoom/sorbet/metrics.rb#25
2246
+ sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2247
+ def parse_hash(obj, prefix = T.unsafe(nil)); end
2248
+
2249
+ # source://spoom//lib/spoom/sorbet/metrics.rb#20
2250
+ sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2251
+ def parse_string(string, prefix = T.unsafe(nil)); end
2252
+ end
2253
+ end
2254
+
2255
+ # source://spoom//lib/spoom/sorbet/metrics.rb#9
2256
+ Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
2257
+
2258
+ # source://spoom//lib/spoom/sorbet.rb#18
2259
+ Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
2260
+
2261
+ # source://spoom//lib/spoom/sorbet/sigils.rb#9
2262
+ module Spoom::Sorbet::Sigils
2263
+ class << self
2264
+ # changes the sigil in the file at the passed path to the specified new strictness
2265
+ #
2266
+ # source://spoom//lib/spoom/sorbet/sigils.rb#69
2267
+ sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) }
2268
+ def change_sigil_in_file(path, new_strictness); end
2269
+
2270
+ # changes the sigil to have a new strictness in a list of files
2271
+ #
2272
+ # source://spoom//lib/spoom/sorbet/sigils.rb#80
2273
+ sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) }
2274
+ def change_sigil_in_files(path_list, new_strictness); end
2275
+
2276
+ # returns a string containing the strictness of a sigil in a file at the passed path
2277
+ # * returns nil if no sigil
2278
+ #
2279
+ # source://spoom//lib/spoom/sorbet/sigils.rb#60
2280
+ sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) }
2281
+ def file_strictness(path); end
2282
+
2283
+ # finds all files in the specified directory with the passed strictness
2284
+ #
2285
+ # source://spoom//lib/spoom/sorbet/sigils.rb#94
2286
+ sig do
2287
+ params(
2288
+ directory: T.any(::Pathname, ::String),
2289
+ strictness: ::String,
2290
+ extension: ::String
2291
+ ).returns(T::Array[::String])
2292
+ end
2293
+ def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil)); end
2294
+
2295
+ # returns the full sigil comment string for the passed strictness
2296
+ #
2297
+ # source://spoom//lib/spoom/sorbet/sigils.rb#35
2298
+ sig { params(strictness: ::String).returns(::String) }
2299
+ def sigil_string(strictness); end
2300
+
2301
+ # returns the strictness of a sigil in the passed file content string (nil if no sigil)
2302
+ #
2303
+ # source://spoom//lib/spoom/sorbet/sigils.rb#47
2304
+ sig { params(content: ::String).returns(T.nilable(::String)) }
2305
+ def strictness_in_content(content); end
2306
+
2307
+ # returns a string which is the passed content but with the sigil updated to a new strictness
2308
+ #
2309
+ # source://spoom//lib/spoom/sorbet/sigils.rb#53
2310
+ sig { params(content: ::String, new_strictness: ::String).returns(::String) }
2311
+ def update_sigil(content, new_strictness); end
2312
+
2313
+ # returns true if the passed string is a valid strictness (else false)
2314
+ #
2315
+ # source://spoom//lib/spoom/sorbet/sigils.rb#41
2316
+ sig { params(strictness: ::String).returns(T::Boolean) }
2317
+ def valid_strictness?(strictness); end
2318
+ end
2319
+ end
2320
+
2321
+ # source://spoom//lib/spoom/sorbet/sigils.rb#28
2322
+ Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
2323
+
2324
+ # source://spoom//lib/spoom/sorbet/sigils.rb#13
2325
+ Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
2326
+
2327
+ # source://spoom//lib/spoom/sorbet/sigils.rb#12
2328
+ Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
2329
+
2330
+ # source://spoom//lib/spoom/sorbet/sigils.rb#17
2331
+ Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
2332
+
2333
+ # source://spoom//lib/spoom/sorbet/sigils.rb#15
2334
+ Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
2335
+
2336
+ # source://spoom//lib/spoom/sorbet/sigils.rb#16
2337
+ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
2338
+
2339
+ # source://spoom//lib/spoom/sorbet/sigils.rb#14
2340
+ Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
2341
+
2342
+ # source://spoom//lib/spoom/sorbet/sigils.rb#19
2343
+ Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
2344
+
2345
+ # source://spoom//lib/spoom/timeline.rb#7
2346
+ class Spoom::Timeline
2347
+ # source://spoom//lib/spoom/timeline.rb#11
2348
+ sig { params(from: ::Time, to: ::Time, path: ::String).void }
2349
+ def initialize(from, to, path: T.unsafe(nil)); end
2350
+
2351
+ # Return one commit for each date in `dates`
2352
+ #
2353
+ # source://spoom//lib/spoom/timeline.rb#38
2354
+ sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) }
2355
+ def commits_for_dates(dates); end
2356
+
2357
+ # Return all months between `from` and `to`
2358
+ #
2359
+ # source://spoom//lib/spoom/timeline.rb#25
2360
+ sig { returns(T::Array[::Time]) }
2361
+ def months; end
2362
+
2363
+ # Return one commit for each month between `from` and `to`
2364
+ #
2365
+ # source://spoom//lib/spoom/timeline.rb#19
2366
+ sig { returns(T::Array[::Spoom::Git::Commit]) }
2367
+ def ticks; end
2368
+ end
2369
+
2370
+ # source://spoom//lib/spoom/version.rb#5
2371
+ Spoom::VERSION = T.let(T.unsafe(nil), String)