mootool 0.1.2 → 0.2.2

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