steep 1.7.0.dev.4 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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