steep 1.7.0.dev.4 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.md +18 -0
  4. data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
  5. data/lib/steep/rake_task.rb +132 -0
  6. data/lib/steep/type_construction.rb +1 -0
  7. data/lib/steep/version.rb +1 -1
  8. data/steep.gemspec +4 -1
  9. metadata +4 -143
  10. data/.github/dependabot.yml +0 -28
  11. data/.github/workflows/ruby-windows.yml +0 -35
  12. data/.github/workflows/ruby.yml +0 -32
  13. data/.vscode/steep-shared.code-snippets +0 -41
  14. data/Gemfile +0 -14
  15. data/Gemfile.lock +0 -104
  16. data/Gemfile.steep +0 -0
  17. data/gemfile_steep/Gemfile +0 -3
  18. data/gemfile_steep/Gemfile.lock +0 -77
  19. data/rbs_collection.steep.lock.yaml +0 -108
  20. data/rbs_collection.steep.yaml +0 -23
  21. data/sig/shims/bundler.rbs +0 -3
  22. data/sig/shims/concurrent-ruby.rbs +0 -39
  23. data/sig/shims/exception.rbs +0 -4
  24. data/sig/shims/language-server_protocol.rbs +0 -450
  25. data/sig/shims/parser/comment.rbs +0 -33
  26. data/sig/shims/parser/nodes.rbs +0 -252
  27. data/sig/shims/parser/source/map.rbs +0 -146
  28. data/sig/shims/parser/source/range.rbs +0 -237
  29. data/sig/shims/parser.rbs +0 -69
  30. data/sig/shims/string.rbs +0 -4
  31. data/sig/shims/tagged_logging.rbs +0 -6
  32. data/sig/shims/yaml.rbs +0 -4
  33. data/sig/steep/annotation_parser.rbs +0 -60
  34. data/sig/steep/ast/annotation/collection.rbs +0 -78
  35. data/sig/steep/ast/annotation.rbs +0 -121
  36. data/sig/steep/ast/builtin.rbs +0 -69
  37. data/sig/steep/ast/ignore.rbs +0 -66
  38. data/sig/steep/ast/node/type_application.rbs +0 -31
  39. data/sig/steep/ast/node/type_assertion.rbs +0 -32
  40. data/sig/steep/ast/types/any.rbs +0 -29
  41. data/sig/steep/ast/types/boolean.rbs +0 -31
  42. data/sig/steep/ast/types/bot.rbs +0 -29
  43. data/sig/steep/ast/types/class.rbs +0 -33
  44. data/sig/steep/ast/types/factory.rbs +0 -110
  45. data/sig/steep/ast/types/helper.rbs +0 -24
  46. data/sig/steep/ast/types/instance.rbs +0 -33
  47. data/sig/steep/ast/types/intersection.rbs +0 -40
  48. data/sig/steep/ast/types/literal.rbs +0 -35
  49. data/sig/steep/ast/types/logic.rbs +0 -83
  50. data/sig/steep/ast/types/name.rbs +0 -84
  51. data/sig/steep/ast/types/nil.rbs +0 -31
  52. data/sig/steep/ast/types/proc.rbs +0 -53
  53. data/sig/steep/ast/types/record.rbs +0 -39
  54. data/sig/steep/ast/types/self.rbs +0 -33
  55. data/sig/steep/ast/types/top.rbs +0 -29
  56. data/sig/steep/ast/types/tuple.rbs +0 -37
  57. data/sig/steep/ast/types/union.rbs +0 -40
  58. data/sig/steep/ast/types/var.rbs +0 -42
  59. data/sig/steep/ast/types/void.rbs +0 -29
  60. data/sig/steep/ast/types.rbs +0 -16
  61. data/sig/steep/cli.rbs +0 -55
  62. data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +0 -13
  63. data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +0 -15
  64. data/sig/steep/diagnostic/helper.rbs +0 -15
  65. data/sig/steep/diagnostic/lsp_formatter.rbs +0 -36
  66. data/sig/steep/diagnostic/ruby.rbs +0 -703
  67. data/sig/steep/diagnostic/signature.rbs +0 -252
  68. data/sig/steep/drivers/annotations.rbs +0 -17
  69. data/sig/steep/drivers/check.rbs +0 -33
  70. data/sig/steep/drivers/checkfile.rbs +0 -27
  71. data/sig/steep/drivers/diagnostic_printer.rbs +0 -25
  72. data/sig/steep/drivers/init.rbs +0 -19
  73. data/sig/steep/drivers/langserver.rbs +0 -36
  74. data/sig/steep/drivers/print_project.rbs +0 -15
  75. data/sig/steep/drivers/stats.rbs +0 -47
  76. data/sig/steep/drivers/utils/driver_helper.rbs +0 -25
  77. data/sig/steep/drivers/utils/jobs_option.rbs +0 -19
  78. data/sig/steep/drivers/validate.rbs +0 -15
  79. data/sig/steep/drivers/vendor.rbs +0 -19
  80. data/sig/steep/drivers/watch.rbs +0 -27
  81. data/sig/steep/drivers/worker.rbs +0 -29
  82. data/sig/steep/equatable.rbs +0 -11
  83. data/sig/steep/expectations.rbs +0 -72
  84. data/sig/steep/index/rbs_index.rbs +0 -141
  85. data/sig/steep/index/signature_symbol_provider.rbs +0 -41
  86. data/sig/steep/index/source_index.rbs +0 -63
  87. data/sig/steep/interface/block.rbs +0 -41
  88. data/sig/steep/interface/builder.rbs +0 -111
  89. data/sig/steep/interface/function.rbs +0 -271
  90. data/sig/steep/interface/method_type.rbs +0 -105
  91. data/sig/steep/interface/shape.rbs +0 -80
  92. data/sig/steep/interface/substitution.rbs +0 -51
  93. data/sig/steep/interface/type_param.rbs +0 -43
  94. data/sig/steep/method_name.rbs +0 -30
  95. data/sig/steep/module_helper.rbs +0 -16
  96. data/sig/steep/node_helper.rbs +0 -91
  97. data/sig/steep/path_helper.rbs +0 -15
  98. data/sig/steep/project/dsl.rbs +0 -108
  99. data/sig/steep/project/options.rbs +0 -47
  100. data/sig/steep/project/pattern.rbs +0 -47
  101. data/sig/steep/project/target.rbs +0 -25
  102. data/sig/steep/project.rbs +0 -26
  103. data/sig/steep/range_extension.rbs +0 -7
  104. data/sig/steep/server/base_worker.rbs +0 -49
  105. data/sig/steep/server/change_buffer.rbs +0 -38
  106. data/sig/steep/server/delay_queue.rbs +0 -37
  107. data/sig/steep/server/interaction_worker.rbs +0 -90
  108. data/sig/steep/server/lsp_formatter.rbs +0 -63
  109. data/sig/steep/server/master.rbs +0 -299
  110. data/sig/steep/server/type_check_worker.rbs +0 -141
  111. data/sig/steep/server/worker_process.rbs +0 -97
  112. data/sig/steep/services/completion_provider.rbs +0 -264
  113. data/sig/steep/services/content_change.rbs +0 -37
  114. data/sig/steep/services/file_loader.rbs +0 -21
  115. data/sig/steep/services/goto_service.rbs +0 -106
  116. data/sig/steep/services/hover_provider/rbs.rbs +0 -47
  117. data/sig/steep/services/hover_provider/ruby.rbs +0 -127
  118. data/sig/steep/services/hover_provider/singleton_methods.rbs +0 -11
  119. data/sig/steep/services/path_assignment.rbs +0 -21
  120. data/sig/steep/services/signature_help_provider.rbs +0 -51
  121. data/sig/steep/services/signature_service.rbs +0 -156
  122. data/sig/steep/services/stats_calculator.rbs +0 -41
  123. data/sig/steep/services/type_check_service.rbs +0 -112
  124. data/sig/steep/services/type_name_completion.rbs +0 -135
  125. data/sig/steep/signature/validator.rbs +0 -85
  126. data/sig/steep/source/ignore_ranges.rbs +0 -38
  127. data/sig/steep/source.rbs +0 -105
  128. data/sig/steep/subtyping/cache.rbs +0 -17
  129. data/sig/steep/subtyping/check.rbs +0 -131
  130. data/sig/steep/subtyping/constraints.rbs +0 -111
  131. data/sig/steep/subtyping/relation.rbs +0 -63
  132. data/sig/steep/subtyping/result.rbs +0 -179
  133. data/sig/steep/subtyping/variable_variance.rbs +0 -25
  134. data/sig/steep/thread_waiter.rbs +0 -13
  135. data/sig/steep/type_construction.rbs +0 -542
  136. data/sig/steep/type_inference/block_params.rbs +0 -170
  137. data/sig/steep/type_inference/case_when.rbs +0 -130
  138. data/sig/steep/type_inference/constant_env.rbs +0 -29
  139. data/sig/steep/type_inference/context.rbs +0 -216
  140. data/sig/steep/type_inference/context_array.rbs +0 -38
  141. data/sig/steep/type_inference/logic_type_interpreter.rbs +0 -108
  142. data/sig/steep/type_inference/method_call.rbs +0 -124
  143. data/sig/steep/type_inference/method_params.rbs +0 -127
  144. data/sig/steep/type_inference/multiple_assignment.rbs +0 -76
  145. data/sig/steep/type_inference/send_args.rbs +0 -243
  146. data/sig/steep/type_inference/type_env.rbs +0 -160
  147. data/sig/steep/type_inference/type_env_builder.rbs +0 -81
  148. data/sig/steep/typing.rbs +0 -75
  149. data/sig/steep.rbs +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17795ed14e183d6e8858e6ea8f57f71dbd3cdced0e4d9cf7e43c646188e486cd
4
- data.tar.gz: 7005e9d96f44f23a47f1844597b86fd3d774f000b1de5cf100d235e68c56a0b5
3
+ metadata.gz: ee680022ab2333d1fcfeff84ee0513c389ccfb6cf52fbc04f3f53edace112931
4
+ data.tar.gz: 400fd763d24b8154fea38900c988cf651c6a0e646485a1aa4d4e6c5ba285a453
5
5
  SHA512:
6
- metadata.gz: e178baa7a185edaafb359032266bfa7f29d082c9da30ca418e5ef4030b5723423f3f36ba4165a640d996e252bb91883dcfe55b1f750f51c3153452b368e5a9ee
7
- data.tar.gz: 8919d4c047097e7e7fd63ecba71ae96f412a56588c7b6ff1d381838d2d935d2ba7dc382ca83fe5b679f35ebbe298460e80e87047c88b6ebcc5e3e6ef258e2535
6
+ metadata.gz: 6836114d1f2e78eea1b2d19528a480ca234cc02f1339d8c70543e20a6c7b969d59b11a9434290e0fa2a4116ffe8f2b646bb0a9c642a0978102e5752be06ae808
7
+ data.tar.gz: 0476bc765f54bba0442aafdd08a64c2985a0d16fe25efaac69f9c3ddad8cca44628d78d1fb62e2c5e0727627cdcddd1a7cdc5987e3de6ef4cdc1e1a5761bcb99
data/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.7.0 (2024-06-07)
4
+
5
+ ### Type checker core
6
+
7
+ * Implement untyped function params ([#1101](https://github.com/soutaro/steep/pull/1101))
8
+ * Fix method call type narrowing with`||` operator ([#1085](https://github.com/soutaro/steep/pull/1085))
9
+ * Refactor `Interface::Builder` ([#1081](https://github.com/soutaro/steep/pull/1081))
10
+ * Fix UnexpectedError with unnamed arguments ([#1041](https://github.com/soutaro/steep/pull/1041))
11
+ * Abort if subtyping fails to (possible) infinite loop ([#1055](https://github.com/soutaro/steep/pull/1055))
12
+ * Ignore diagnostics by `steep:ignore` comment ([#1034](https://github.com/soutaro/steep/pull/1034))
13
+ * Make defined? accept any type ([#1031](https://github.com/soutaro/steep/pull/1031))
14
+ * Refactor case-when syntax ([#999](https://github.com/soutaro/steep/pull/999))
15
+ * Update `Steep::Subtyping::Check#check` types ([#972](https://github.com/soutaro/steep/pull/972))
16
+
17
+ ### Commandline tool
18
+
19
+ * Improve wildcard handling in pattern matching for directory paths ([#1121](https://github.com/soutaro/steep/pull/1121))
20
+ * Fix issue with wildcard expansion in FileLoader ([#1113](https://github.com/soutaro/steep/pull/1113))
21
+ * Avoid unnecessary calling `RBS::Location#to_s` on debug log ([#1092](https://github.com/soutaro/steep/pull/1092))
22
+ * Better recovery from collection problems ([#987](https://github.com/soutaro/steep/pull/987))
23
+ * Handle absolute path ([#975](https://github.com/soutaro/steep/pull/975))
24
+ * Default to check the entire current directory when there is no `Steepfile` ([#968](https://github.com/soutaro/steep/pull/968))
25
+
26
+ ### Language server
27
+
28
+ * Fix variable untyped hover issue in rescue clause ([#1147](https://github.com/soutaro/steep/pull/1147))
29
+ * Handle `$/file/reset` request in interaction worker ([#1122](https://github.com/soutaro/steep/pull/1122))
30
+ * Skip pending UI jobs ([#1035](https://github.com/soutaro/steep/pull/1035))
31
+ * Fix no method error ([#1040](https://github.com/soutaro/steep/pull/1040))
32
+ * Implement completion for comments ([#1039](https://github.com/soutaro/steep/pull/1039))
33
+ * Fix signature help ([#1038](https://github.com/soutaro/steep/pull/1038))
34
+
35
+ ### Miscellaneous
36
+
37
+ * Revise rake tasks ([#1156](https://github.com/soutaro/steep/pull/1156))
38
+ * Update `steep.gemspec` ([#1155](https://github.com/soutaro/steep/pull/1155))
39
+ * Add `Steep::RakeTask` ([#995](https://github.com/soutaro/steep/pull/995))
40
+ * Stop to distribute sig dir ([#1144](https://github.com/soutaro/steep/pull/1144))
41
+ * Update gem-rbs-collection.md ([#1127](https://github.com/soutaro/steep/pull/1127))
42
+ * Add shape docs ([#1089](https://github.com/soutaro/steep/pull/1089))
43
+ * Ignore smoke tests when packaging gem ([#962](https://github.com/soutaro/steep/pull/962))
44
+ * Fix setup for Ruby 3.3 ([#1000](https://github.com/soutaro/steep/pull/1000))
45
+
3
46
  ## master
4
47
 
5
48
  ## 1.6.0 (2023-11-09)
data/README.md CHANGED
@@ -219,6 +219,24 @@ Steep implements some of the Language Server Protocol features.
219
219
 
220
220
  Other LSP supporting tools may work with Steep where it starts the server as `steep langserver`.
221
221
 
222
+ ## Rake Tasks
223
+
224
+ Steep comes with a set of configurable Rake tasks.
225
+
226
+ ```ruby
227
+ # Rakefile
228
+
229
+ require "steep/rake_task"
230
+ Steep::RakeTask.new do |t|
231
+ t.check.severity_level = :error
232
+ t.watch.verbose
233
+ end
234
+
235
+ task default: [:steep]
236
+ ```
237
+
238
+ Use `bundle exec rake -T` to see all available tasks.
239
+
222
240
  ## Development
223
241
 
224
242
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -12,30 +12,13 @@ Run rbs-collection-init to start setup.
12
12
  $ rbs collection init
13
13
  ```
14
14
 
15
- You have to edit the generated `rbs_collection.yaml` file. Add a few lines under gems section.
16
-
17
- ```yaml
18
- # Download sources
19
- sources:
20
- - name: ruby/gem_rbs_collection
21
- remote: https://github.com/ruby/gem_rbs_collection.git
22
- revision: main
23
- repo_dir: gems
24
-
25
- # A directory to install the downloaded RBSs
26
- path: .gem_rbs_collection
27
-
28
- gems:
29
- # Skip loading rbs gem's RBS.
30
- # It's unnecessary if you don't use rbs as a library.
31
- - name: rbs
32
- ignore: true
33
- - name: steep
34
- ignore: true
35
- - name: rbs_rails # Add these lines if you use rbs_rails
36
- ignore: true
37
- - name: rbs_protobuf # Add these lines if you use rbs_protobuf
38
- ignore: true
15
+ You have to edit your `Gemfile`. Specify `require: false` for gems for which you do not want type definitions.
16
+
17
+ ```ruby
18
+ gem 'rbs', require: false
19
+ gem 'steep, require: false
20
+ gem 'rbs_rails', require: false
21
+ gem 'rbs_protobuf', require: false
39
22
  ```
40
23
 
41
24
  Once you save the file, run the install command.
@@ -0,0 +1,132 @@
1
+ require "rake"
2
+ require "rake/tasklib"
3
+ require "steep/cli"
4
+
5
+ module Steep
6
+ # Provides Rake tasks for running Steep commands.
7
+ #
8
+ # require "steep/rake_task"
9
+ # Steep::RakeTask.new do |t|
10
+ # t.check.severity_level = :error
11
+ # t.watch.verbose
12
+ # t.stats << "--format=table"
13
+ # end
14
+ class RakeTask < Rake::TaskLib # steep:ignore UnknownConstant
15
+ attr_accessor :name
16
+
17
+ def self.available_commands
18
+ %i(init check stats binstub project watch)
19
+ end
20
+
21
+ def initialize(name = :steep, cli_runner = default_cli_runner)
22
+ super()
23
+
24
+ @name = name
25
+
26
+ configuration = TaskConfiguration.new
27
+
28
+ yield configuration if block_given?
29
+
30
+ define_tasks(configuration, cli_runner)
31
+ end
32
+
33
+ private
34
+
35
+ # :nodoc:
36
+ class TaskConfiguration
37
+ def initialize
38
+ @commands = {}
39
+ end
40
+
41
+ def method_missing(command)
42
+ if respond_to?(command)
43
+ @commands[command] ||= CommandConfiguration.new
44
+ else
45
+ super
46
+ end
47
+ end
48
+
49
+ def respond_to_missing?(name, include_private = false)
50
+ RakeTask.available_commands.include?(name) || super
51
+ end
52
+
53
+ def options(command)
54
+ @commands[command]&.to_a || []
55
+ end
56
+ end
57
+
58
+ # :nodoc:
59
+ class CommandConfiguration
60
+ def initialize
61
+ @options = []
62
+ end
63
+
64
+ def method_missing(name, value = nil)
65
+ option = "--#{name.to_s.gsub(/_/, '-').gsub(/=/, '')}"
66
+ option << "=#{value}" if value
67
+
68
+ self << option
69
+ end
70
+
71
+ def respond_to_missing?(_name)
72
+ true
73
+ end
74
+
75
+ def <<(value)
76
+ @options << value
77
+ self
78
+ end
79
+
80
+ def to_a
81
+ @options
82
+ end
83
+ end
84
+
85
+ def default_cli_runner
86
+ lambda do |arguments|
87
+ require "steep"
88
+
89
+ cli = Steep::CLI.new(
90
+ stdout: $stdout,
91
+ stdin: $stdin,
92
+ stderr: $stderr,
93
+ argv: arguments
94
+ )
95
+
96
+ cli.run
97
+ end
98
+ end
99
+
100
+ def define_tasks(configuration, cli_runner)
101
+ namespace name do
102
+ RakeTask.available_commands.each do |command|
103
+ desc "Run steep #{command}"
104
+ task command do |_, args|
105
+ configured_options = configuration.options(command)
106
+
107
+ argv = [
108
+ command.to_s,
109
+ *configured_options,
110
+ *args.extras
111
+ ]
112
+
113
+ result = cli_runner[argv]
114
+
115
+ raise "Steep failed" if result.nonzero?
116
+ end
117
+ end
118
+
119
+ desc "Run steep help"
120
+ task "help" do
121
+ arguments = ["--help"]
122
+
123
+ cli_runner[arguments]
124
+ end
125
+ end
126
+
127
+ # Default steep task to steep:check
128
+ desc "Run steep check" unless ::Rake.application.last_description # steep:ignore UnknownConstant
129
+ task name => ["#{name}:check"]
130
+ end
131
+ end
132
+ end
@@ -2106,6 +2106,7 @@ module Steep
2106
2106
  end
2107
2107
 
2108
2108
  if body
2109
+ resbody_construction.typing.add_context_for_node(body, context: resbody_construction.context)
2109
2110
  resbody_construction.synthesize(body, hint: hint)
2110
2111
  else
2111
2112
  Pair.new(constr: body_constr, type: AST::Builtin.nil_type)
data/lib/steep/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Steep
2
- VERSION = "1.7.0.dev.4"
2
+ VERSION = "1.7.0"
3
3
  end
data/steep.gemspec CHANGED
@@ -18,8 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.metadata["source_code_uri"] = "https://github.com/soutaro/steep"
19
19
  spec.metadata["changelog_uri"] = "https://github.com/soutaro/steep/blob/master/CHANGELOG.md"
20
20
 
21
+ skip_dirs = %w(test spec features smoke sig gemfile_steep .github .vscode)
22
+ skip_files = %w(Gemfile Gemfile.lock rbs_collection.steep.yaml rbs_collection.steep.lock.yaml)
23
+
21
24
  spec.files = `git ls-files -z`.split("\x0").reject {|f|
22
- f.match(%r{^(test|spec|features|smoke)/})
25
+ skip_dirs.any? {|dir| f.start_with?(dir + File::SEPARATOR) } || skip_files.include?(f)
23
26
  }
24
27
 
25
28
  spec.bindir = "exe"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: steep
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0.dev.4
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-12 00:00:00.000000000 Z
11
+ date: 2024-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -232,16 +232,9 @@ executables:
232
232
  extensions: []
233
233
  extra_rdoc_files: []
234
234
  files:
235
- - ".github/dependabot.yml"
236
- - ".github/workflows/ruby-windows.yml"
237
- - ".github/workflows/ruby.yml"
238
235
  - ".gitignore"
239
236
  - ".gitmodules"
240
- - ".vscode/steep-shared.code-snippets"
241
237
  - CHANGELOG.md
242
- - Gemfile
243
- - Gemfile.lock
244
- - Gemfile.steep
245
238
  - LICENSE
246
239
  - README.md
247
240
  - Rakefile
@@ -256,8 +249,6 @@ files:
256
249
  - doc/narrowing.md
257
250
  - doc/shape.md
258
251
  - exe/steep
259
- - gemfile_steep/Gemfile
260
- - gemfile_steep/Gemfile.lock
261
252
  - guides/README.md
262
253
  - guides/src/gem-rbs-collection/gem-rbs-collection.md
263
254
  - guides/src/getting-started/getting-started.md
@@ -332,6 +323,7 @@ files:
332
323
  - lib/steep/project/options.rb
333
324
  - lib/steep/project/pattern.rb
334
325
  - lib/steep/project/target.rb
326
+ - lib/steep/rake_task.rb
335
327
  - lib/steep/range_extension.rb
336
328
  - lib/steep/server/base_worker.rb
337
329
  - lib/steep/server/change_buffer.rb
@@ -381,142 +373,11 @@ files:
381
373
  - lib/steep/typing.rb
382
374
  - lib/steep/version.rb
383
375
  - manual/annotations.md
384
- - rbs_collection.steep.lock.yaml
385
- - rbs_collection.steep.yaml
386
376
  - sample/Steepfile
387
377
  - sample/lib/conference.rb
388
378
  - sample/lib/length.rb
389
379
  - sample/sig/conference.rbs
390
380
  - sample/sig/length.rbs
391
- - sig/shims/bundler.rbs
392
- - sig/shims/concurrent-ruby.rbs
393
- - sig/shims/exception.rbs
394
- - sig/shims/language-server_protocol.rbs
395
- - sig/shims/parser.rbs
396
- - sig/shims/parser/comment.rbs
397
- - sig/shims/parser/nodes.rbs
398
- - sig/shims/parser/source/map.rbs
399
- - sig/shims/parser/source/range.rbs
400
- - sig/shims/string.rbs
401
- - sig/shims/tagged_logging.rbs
402
- - sig/shims/yaml.rbs
403
- - sig/steep.rbs
404
- - sig/steep/annotation_parser.rbs
405
- - sig/steep/ast/annotation.rbs
406
- - sig/steep/ast/annotation/collection.rbs
407
- - sig/steep/ast/builtin.rbs
408
- - sig/steep/ast/ignore.rbs
409
- - sig/steep/ast/node/type_application.rbs
410
- - sig/steep/ast/node/type_assertion.rbs
411
- - sig/steep/ast/types.rbs
412
- - sig/steep/ast/types/any.rbs
413
- - sig/steep/ast/types/boolean.rbs
414
- - sig/steep/ast/types/bot.rbs
415
- - sig/steep/ast/types/class.rbs
416
- - sig/steep/ast/types/factory.rbs
417
- - sig/steep/ast/types/helper.rbs
418
- - sig/steep/ast/types/instance.rbs
419
- - sig/steep/ast/types/intersection.rbs
420
- - sig/steep/ast/types/literal.rbs
421
- - sig/steep/ast/types/logic.rbs
422
- - sig/steep/ast/types/name.rbs
423
- - sig/steep/ast/types/nil.rbs
424
- - sig/steep/ast/types/proc.rbs
425
- - sig/steep/ast/types/record.rbs
426
- - sig/steep/ast/types/self.rbs
427
- - sig/steep/ast/types/top.rbs
428
- - sig/steep/ast/types/tuple.rbs
429
- - sig/steep/ast/types/union.rbs
430
- - sig/steep/ast/types/var.rbs
431
- - sig/steep/ast/types/void.rbs
432
- - sig/steep/cli.rbs
433
- - sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs
434
- - sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs
435
- - sig/steep/diagnostic/helper.rbs
436
- - sig/steep/diagnostic/lsp_formatter.rbs
437
- - sig/steep/diagnostic/ruby.rbs
438
- - sig/steep/diagnostic/signature.rbs
439
- - sig/steep/drivers/annotations.rbs
440
- - sig/steep/drivers/check.rbs
441
- - sig/steep/drivers/checkfile.rbs
442
- - sig/steep/drivers/diagnostic_printer.rbs
443
- - sig/steep/drivers/init.rbs
444
- - sig/steep/drivers/langserver.rbs
445
- - sig/steep/drivers/print_project.rbs
446
- - sig/steep/drivers/stats.rbs
447
- - sig/steep/drivers/utils/driver_helper.rbs
448
- - sig/steep/drivers/utils/jobs_option.rbs
449
- - sig/steep/drivers/validate.rbs
450
- - sig/steep/drivers/vendor.rbs
451
- - sig/steep/drivers/watch.rbs
452
- - sig/steep/drivers/worker.rbs
453
- - sig/steep/equatable.rbs
454
- - sig/steep/expectations.rbs
455
- - sig/steep/index/rbs_index.rbs
456
- - sig/steep/index/signature_symbol_provider.rbs
457
- - sig/steep/index/source_index.rbs
458
- - sig/steep/interface/block.rbs
459
- - sig/steep/interface/builder.rbs
460
- - sig/steep/interface/function.rbs
461
- - sig/steep/interface/method_type.rbs
462
- - sig/steep/interface/shape.rbs
463
- - sig/steep/interface/substitution.rbs
464
- - sig/steep/interface/type_param.rbs
465
- - sig/steep/method_name.rbs
466
- - sig/steep/module_helper.rbs
467
- - sig/steep/node_helper.rbs
468
- - sig/steep/path_helper.rbs
469
- - sig/steep/project.rbs
470
- - sig/steep/project/dsl.rbs
471
- - sig/steep/project/options.rbs
472
- - sig/steep/project/pattern.rbs
473
- - sig/steep/project/target.rbs
474
- - sig/steep/range_extension.rbs
475
- - sig/steep/server/base_worker.rbs
476
- - sig/steep/server/change_buffer.rbs
477
- - sig/steep/server/delay_queue.rbs
478
- - sig/steep/server/interaction_worker.rbs
479
- - sig/steep/server/lsp_formatter.rbs
480
- - sig/steep/server/master.rbs
481
- - sig/steep/server/type_check_worker.rbs
482
- - sig/steep/server/worker_process.rbs
483
- - sig/steep/services/completion_provider.rbs
484
- - sig/steep/services/content_change.rbs
485
- - sig/steep/services/file_loader.rbs
486
- - sig/steep/services/goto_service.rbs
487
- - sig/steep/services/hover_provider/rbs.rbs
488
- - sig/steep/services/hover_provider/ruby.rbs
489
- - sig/steep/services/hover_provider/singleton_methods.rbs
490
- - sig/steep/services/path_assignment.rbs
491
- - sig/steep/services/signature_help_provider.rbs
492
- - sig/steep/services/signature_service.rbs
493
- - sig/steep/services/stats_calculator.rbs
494
- - sig/steep/services/type_check_service.rbs
495
- - sig/steep/services/type_name_completion.rbs
496
- - sig/steep/signature/validator.rbs
497
- - sig/steep/source.rbs
498
- - sig/steep/source/ignore_ranges.rbs
499
- - sig/steep/subtyping/cache.rbs
500
- - sig/steep/subtyping/check.rbs
501
- - sig/steep/subtyping/constraints.rbs
502
- - sig/steep/subtyping/relation.rbs
503
- - sig/steep/subtyping/result.rbs
504
- - sig/steep/subtyping/variable_variance.rbs
505
- - sig/steep/thread_waiter.rbs
506
- - sig/steep/type_construction.rbs
507
- - sig/steep/type_inference/block_params.rbs
508
- - sig/steep/type_inference/case_when.rbs
509
- - sig/steep/type_inference/constant_env.rbs
510
- - sig/steep/type_inference/context.rbs
511
- - sig/steep/type_inference/context_array.rbs
512
- - sig/steep/type_inference/logic_type_interpreter.rbs
513
- - sig/steep/type_inference/method_call.rbs
514
- - sig/steep/type_inference/method_params.rbs
515
- - sig/steep/type_inference/multiple_assignment.rbs
516
- - sig/steep/type_inference/send_args.rbs
517
- - sig/steep/type_inference/type_env.rbs
518
- - sig/steep/type_inference/type_env_builder.rbs
519
- - sig/steep/typing.rbs
520
381
  - steep.gemspec
521
382
  homepage: https://github.com/soutaro/steep
522
383
  licenses:
@@ -540,7 +401,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
540
401
  - !ruby/object:Gem::Version
541
402
  version: '0'
542
403
  requirements: []
543
- rubygems_version: 3.5.3
404
+ rubygems_version: 3.5.9
544
405
  signing_key:
545
406
  specification_version: 4
546
407
  summary: Gradual Typing for Ruby
@@ -1,28 +0,0 @@
1
- version: 2
2
-
3
- updates:
4
- - package-ecosystem: bundler
5
- directory: "/"
6
- schedule:
7
- interval: daily
8
- time: "20:00"
9
- open-pull-requests-limit: 10
10
- allow:
11
- - dependency-type: all
12
- versioning-strategy: lockfile-only
13
-
14
- - package-ecosystem: bundler
15
- directory: "/gemfile_steep"
16
- schedule:
17
- interval: daily
18
- time: "20:00"
19
- open-pull-requests-limit: 10
20
- allow:
21
- - dependency-type: all
22
- versioning-strategy: lockfile-only
23
-
24
- - package-ecosystem: "github-actions"
25
- directory: "/"
26
- schedule:
27
- # Check for updates to GitHub Actions every weekday
28
- interval: "daily"
@@ -1,35 +0,0 @@
1
- name: Run test on Windows
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- pull_request: {}
8
-
9
- jobs:
10
- windows:
11
- strategy:
12
- matrix:
13
- ruby_version:
14
- - "3.0"
15
- - "3.1"
16
- - "3.2"
17
- - "3.3"
18
- task:
19
- - test
20
- # - test:output Ignored because the order of diagnostics changes somehow
21
- - build
22
- runs-on: windows-latest
23
- steps:
24
- - uses: actions/checkout@v4
25
- - uses: ruby/setup-ruby@v1
26
- with:
27
- ruby-version: ${{ matrix.ruby_version }}
28
- - name: Run test
29
- run: |
30
- git config --global --add safe.directory /__w/steep/steep
31
- ruby -v
32
- gem install bundler
33
- bundle install --jobs 4 --retry 3
34
- bin/setup
35
- bundle exec rake ${{matrix.task}}
@@ -1,32 +0,0 @@
1
- name: Run test on container
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- pull_request: {}
8
-
9
- jobs:
10
- test:
11
- strategy:
12
- fail-fast: false
13
- matrix:
14
- ruby: ['3.0', '3.1', '3.2', '3.3']
15
- task:
16
- - test
17
- - test:output
18
- - build
19
- runs-on: ubuntu-latest
20
- steps:
21
- - uses: actions/checkout@v4
22
- - uses: ruby/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- bundler: none
26
- - name: Run test
27
- run: |
28
- git config --global --add safe.directory /__w/steep/steep
29
- ruby -v
30
- gem install bundler
31
- bin/setup
32
- bundle exec rake ${{matrix.task}}
@@ -1,41 +0,0 @@
1
- {
2
- // Place your steep workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
3
- // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
4
- // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
5
- // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
6
- // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
7
- // Placeholders with the same ids are connected.
8
- // Example:
9
- // "Print to console": {
10
- // "scope": "javascript,typescript",
11
- // "prefix": "log",
12
- // "body": [
13
- // "console.log('$1');",
14
- // "$2"
15
- // ],
16
- // "description": "Log output to console"
17
- // }
18
-
19
- "Add type_check_test case": {
20
- "scope": "ruby",
21
- "body": [
22
- "def test_${1:name}",
23
- " run_type_check_test(",
24
- " signatures: {",
25
- " \"a.rbs\" => <<~RBS",
26
- " ${2:rbs}",
27
- " RBS",
28
- " },",
29
- " code: {",
30
- " \"a.rb\" => <<~RUBY",
31
- " ${3:ruby code}",
32
- " RUBY",
33
- " },",
34
- " expectations: <<~YAML",
35
- " YAML",
36
- " )",
37
- "end",
38
- ],
39
- "description": "Insert a new test case"
40
- }
41
- }
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in steep.gemspec
4
- gemspec
5
-
6
- gem "rake"
7
- gem "minitest", "~> 5.21"
8
- gem "minitest-hooks"
9
- group :stackprof, optional: true do
10
- gem "stackprof"
11
- end
12
- gem 'minitest-slow_test'
13
-
14
- gem "debug", require: false, platform: :mri