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