steep 1.3.0 → 1.4.0.dev.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-windows.yml +1 -0
  3. data/.github/workflows/ruby.yml +1 -5
  4. data/Gemfile +3 -1
  5. data/Gemfile.lock +22 -19
  6. data/Gemfile.steep +2 -1
  7. data/Gemfile.steep.lock +18 -14
  8. data/Steepfile +16 -0
  9. data/bin/rbs +21 -0
  10. data/bin/setup +1 -1
  11. data/lib/steep/annotation_parser.rb +40 -20
  12. data/lib/steep/ast/types/factory.rb +56 -10
  13. data/lib/steep/ast/types/name.rb +10 -0
  14. data/lib/steep/diagnostic/ruby.rb +1 -1
  15. data/lib/steep/diagnostic/signature.rb +40 -0
  16. data/lib/steep/index/rbs_index.rb +25 -9
  17. data/lib/steep/index/signature_symbol_provider.rb +1 -1
  18. data/lib/steep/project/dsl.rb +12 -4
  19. data/lib/steep/project/options.rb +3 -1
  20. data/lib/steep/project/target.rb +1 -3
  21. data/lib/steep/server/interaction_worker.rb +37 -20
  22. data/lib/steep/server/lsp_formatter.rb +14 -5
  23. data/lib/steep/services/completion_provider.rb +10 -12
  24. data/lib/steep/services/goto_service.rb +15 -14
  25. data/lib/steep/services/hover_provider/rbs.rb +29 -9
  26. data/lib/steep/services/hover_provider/ruby.rb +16 -10
  27. data/lib/steep/services/signature_service.rb +36 -39
  28. data/lib/steep/signature/validator.rb +28 -6
  29. data/lib/steep/subtyping/check.rb +1 -1
  30. data/lib/steep/type_construction.rb +16 -14
  31. data/lib/steep/type_inference/constant_env.rb +7 -3
  32. data/lib/steep/version.rb +1 -1
  33. data/rbs_collection.steep.lock.yaml +48 -51
  34. data/rbs_collection.steep.yaml +3 -1
  35. data/sample/lib/conference.rb +10 -0
  36. data/sample/sig/conference.rbs +23 -0
  37. data/sig/steep/annotation_parser.rbs +3 -2
  38. data/sig/steep/ast/annotation/collection.rbs +1 -1
  39. data/sig/steep/ast/types/factory.rbs +2 -0
  40. data/sig/steep/ast/types/name.rbs +4 -0
  41. data/sig/steep/diagnostic/signature.rbs +18 -14
  42. data/sig/steep/index/rbs_index.rbs +92 -42
  43. data/sig/steep/project/dsl.rbs +35 -30
  44. data/sig/steep/project/options.rbs +16 -4
  45. data/sig/steep/project/target.rbs +7 -7
  46. data/sig/steep/server/interaction_worker.rbs +2 -2
  47. data/sig/steep/server/lsp_formatter.rbs +4 -2
  48. data/sig/steep/services/completion_provider.rbs +6 -0
  49. data/sig/steep/services/hover_provider/rbs.rbs +6 -4
  50. data/sig/steep/services/hover_provider/ruby.rbs +8 -4
  51. data/sig/steep/services/signature_service.rbs +27 -3
  52. data/sig/steep/signature/validator.rbs +9 -5
  53. data/sig/steep/type_construction.rbs +1 -1
  54. data/sig/steep/type_inference/constant_env.rbs +2 -0
  55. data/smoke/diagnostics-rbs/test_expectations.yml +1 -1
  56. data/smoke/regexp/a.rb +2 -2
  57. data/steep.gemspec +2 -1
  58. metadata +21 -6
data/smoke/regexp/a.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  new_1 = Regexp.new("a")
2
2
  new_1.foo
3
3
 
4
- new_2 = Regexp.new("a", true)
4
+ new_2 = Regexp.new("a", nil)
5
5
  new_2.foo
6
6
 
7
7
  new_3 = Regexp.new("a", Regexp::EXTENDED | Regexp::IGNORECASE)
@@ -13,7 +13,7 @@ new_4.foo
13
13
  compile_1 = Regexp.compile("a")
14
14
  compile_1.foo
15
15
 
16
- compile_2 = Regexp.compile("a", true)
16
+ compile_2 = Regexp.compile("a", false)
17
17
  compile_2.foo
18
18
 
19
19
  compile_3 = Regexp.compile("a", Regexp::EXTENDED | Regexp::IGNORECASE)
data/steep.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.required_ruby_version = '>= 2.6.0'
29
+ spec.required_ruby_version = '>= 2.7.0'
30
30
 
31
31
  spec.add_runtime_dependency "parser", ">= 3.1"
32
32
  spec.add_runtime_dependency "activesupport", ">= 5.1"
@@ -42,4 +42,5 @@ Gem::Specification.new do |spec|
42
42
  spec.add_runtime_dependency "fileutils", ">= 1.1.0"
43
43
  spec.add_runtime_dependency "strscan", ">= 1.0.0"
44
44
  spec.add_runtime_dependency "csv", ">= 3.0.9"
45
+ spec.add_runtime_dependency "pathname", ">= 0.2.1"
45
46
  end
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.3.0
4
+ version: 1.4.0.dev.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-25 00:00:00.000000000 Z
11
+ date: 2023-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -224,6 +224,20 @@ dependencies:
224
224
  - - ">="
225
225
  - !ruby/object:Gem::Version
226
226
  version: 3.0.9
227
+ - !ruby/object:Gem::Dependency
228
+ name: pathname
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: 0.2.1
234
+ type: :runtime
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: 0.2.1
227
241
  description: Gradual Typing for Ruby
228
242
  email:
229
243
  - matsumoto@soutaro.com
@@ -249,6 +263,7 @@ files:
249
263
  - bin/console
250
264
  - bin/output_rebaseline.rb
251
265
  - bin/output_test.rb
266
+ - bin/rbs
252
267
  - bin/setup
253
268
  - bin/steep
254
269
  - bin/steep-prof
@@ -760,14 +775,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
760
775
  requirements:
761
776
  - - ">="
762
777
  - !ruby/object:Gem::Version
763
- version: 2.6.0
778
+ version: 2.7.0
764
779
  required_rubygems_version: !ruby/object:Gem::Requirement
765
780
  requirements:
766
- - - ">="
781
+ - - ">"
767
782
  - !ruby/object:Gem::Version
768
- version: '0'
783
+ version: 1.3.1
769
784
  requirements: []
770
- rubygems_version: 3.3.7
785
+ rubygems_version: 3.4.6
771
786
  signing_key:
772
787
  specification_version: 4
773
788
  summary: Gradual Typing for Ruby