steep 1.10.0.pre.3 → 2.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +87 -0
- data/CLAUDE.md +114 -0
- data/README.md +1 -1
- data/Rakefile +15 -3
- data/Steepfile +13 -13
- data/lib/steep/annotation_parser.rb +5 -1
- data/lib/steep/annotations_helper.rb +12 -2
- data/lib/steep/ast/node/type_application.rb +22 -16
- data/lib/steep/ast/node/type_assertion.rb +7 -4
- data/lib/steep/ast/types/factory.rb +3 -2
- data/lib/steep/cli.rb +246 -2
- data/lib/steep/daemon/configuration.rb +19 -0
- data/lib/steep/daemon/server.rb +476 -0
- data/lib/steep/daemon.rb +201 -0
- data/lib/steep/diagnostic/ruby.rb +50 -8
- data/lib/steep/diagnostic/signature.rb +31 -8
- data/lib/steep/drivers/check.rb +301 -140
- data/lib/steep/drivers/print_project.rb +9 -10
- data/lib/steep/drivers/query.rb +102 -0
- data/lib/steep/drivers/start_server.rb +19 -0
- data/lib/steep/drivers/stop_server.rb +20 -0
- data/lib/steep/drivers/watch.rb +2 -2
- data/lib/steep/index/rbs_index.rb +38 -13
- data/lib/steep/index/signature_symbol_provider.rb +24 -3
- data/lib/steep/interface/builder.rb +48 -15
- data/lib/steep/interface/shape.rb +13 -5
- data/lib/steep/locator.rb +377 -0
- data/lib/steep/project/dsl.rb +26 -5
- data/lib/steep/project/group.rb +8 -2
- data/lib/steep/project/target.rb +16 -2
- data/lib/steep/project.rb +21 -2
- data/lib/steep/server/base_worker.rb +2 -2
- data/lib/steep/server/change_buffer.rb +2 -1
- data/lib/steep/server/custom_methods.rb +12 -0
- data/lib/steep/server/inline_source_change_detector.rb +94 -0
- data/lib/steep/server/interaction_worker.rb +51 -74
- data/lib/steep/server/lsp_formatter.rb +48 -12
- data/lib/steep/server/master.rb +100 -18
- data/lib/steep/server/target_group_files.rb +124 -151
- data/lib/steep/server/type_check_controller.rb +276 -123
- data/lib/steep/server/type_check_worker.rb +104 -3
- data/lib/steep/services/completion_provider/rbs.rb +74 -0
- data/lib/steep/services/completion_provider/ruby.rb +652 -0
- data/lib/steep/services/completion_provider/type_name.rb +243 -0
- data/lib/steep/services/completion_provider.rb +39 -662
- data/lib/steep/services/content_change.rb +14 -1
- data/lib/steep/services/file_loader.rb +4 -2
- data/lib/steep/services/goto_service.rb +271 -68
- data/lib/steep/services/hover_provider/content.rb +67 -0
- data/lib/steep/services/hover_provider/rbs.rb +8 -9
- data/lib/steep/services/hover_provider/ruby.rb +123 -64
- data/lib/steep/services/hover_provider/singleton_methods.rb +4 -0
- data/lib/steep/services/signature_service.rb +129 -54
- data/lib/steep/services/type_check_service.rb +72 -27
- data/lib/steep/signature/validator.rb +30 -18
- data/lib/steep/source/ignore_ranges.rb +14 -4
- data/lib/steep/source.rb +16 -2
- data/lib/steep/tagged_logging.rb +39 -0
- data/lib/steep/type_construction.rb +94 -21
- data/lib/steep/type_inference/block_params.rb +7 -7
- data/lib/steep/type_inference/context.rb +4 -2
- data/lib/steep/type_inference/logic_type_interpreter.rb +21 -3
- data/lib/steep/type_inference/method_call.rb +4 -0
- data/lib/steep/type_inference/type_env.rb +1 -1
- data/lib/steep/typing.rb +0 -2
- data/lib/steep/version.rb +1 -1
- data/lib/steep.rb +42 -32
- data/manual/ruby-diagnostics.md +67 -0
- data/sample/Steepfile +1 -0
- data/sample/lib/conference.rb +1 -0
- data/sample/lib/deprecated.rb +6 -0
- data/sample/lib/inline.rb +43 -0
- data/sample/sig/generics.rbs +3 -0
- data/steep.gemspec +4 -5
- metadata +26 -26
- data/lib/steep/services/type_name_completion.rb +0 -236
data/lib/steep.rb
CHANGED
|
@@ -2,9 +2,7 @@ require "steep/version"
|
|
|
2
2
|
|
|
3
3
|
require "pathname"
|
|
4
4
|
require "parser/ruby33"
|
|
5
|
-
require "
|
|
6
|
-
require "active_support/core_ext/object/try"
|
|
7
|
-
require "active_support/core_ext/string/inflections"
|
|
5
|
+
require "prism"
|
|
8
6
|
require "logger"
|
|
9
7
|
require "rainbow"
|
|
10
8
|
require "listen"
|
|
@@ -15,7 +13,6 @@ require "stringio"
|
|
|
15
13
|
require 'uri'
|
|
16
14
|
require "yaml"
|
|
17
15
|
require "securerandom"
|
|
18
|
-
require "base64"
|
|
19
16
|
require "time"
|
|
20
17
|
require 'socket'
|
|
21
18
|
|
|
@@ -26,6 +23,7 @@ require "rbs"
|
|
|
26
23
|
|
|
27
24
|
require "steep/path_helper"
|
|
28
25
|
require "steep/located_value"
|
|
26
|
+
require "steep/tagged_logging"
|
|
29
27
|
require "steep/thread_waiter"
|
|
30
28
|
require "steep/equatable"
|
|
31
29
|
require "steep/method_name"
|
|
@@ -99,6 +97,8 @@ require "steep/type_inference/multiple_assignment"
|
|
|
99
97
|
require "steep/type_inference/method_call"
|
|
100
98
|
require "steep/type_inference/case_when"
|
|
101
99
|
|
|
100
|
+
require "steep/locator.rb"
|
|
101
|
+
|
|
102
102
|
require "steep/index/rbs_index"
|
|
103
103
|
require "steep/index/signature_symbol_provider"
|
|
104
104
|
require "steep/index/source_index"
|
|
@@ -107,11 +107,14 @@ require "steep/services/content_change"
|
|
|
107
107
|
require "steep/services/path_assignment"
|
|
108
108
|
require "steep/services/signature_service"
|
|
109
109
|
require "steep/services/type_check_service"
|
|
110
|
+
require "steep/services/hover_provider/content"
|
|
110
111
|
require "steep/services/hover_provider/singleton_methods"
|
|
111
112
|
require "steep/services/hover_provider/ruby"
|
|
112
113
|
require "steep/services/hover_provider/rbs"
|
|
113
|
-
require "steep/services/type_name_completion"
|
|
114
114
|
require "steep/services/completion_provider"
|
|
115
|
+
require "steep/services/completion_provider/type_name"
|
|
116
|
+
require "steep/services/completion_provider/ruby"
|
|
117
|
+
require "steep/services/completion_provider/rbs"
|
|
115
118
|
require "steep/services/signature_help_provider"
|
|
116
119
|
require "steep/services/stats_calculator"
|
|
117
120
|
require "steep/services/file_loader"
|
|
@@ -128,7 +131,9 @@ require "steep/server/interaction_worker"
|
|
|
128
131
|
require "steep/server/type_check_worker"
|
|
129
132
|
require "steep/server/target_group_files"
|
|
130
133
|
require "steep/server/type_check_controller"
|
|
134
|
+
require "steep/server/inline_source_change_detector"
|
|
131
135
|
require "steep/server/master"
|
|
136
|
+
require "steep/daemon"
|
|
132
137
|
|
|
133
138
|
require "steep/project"
|
|
134
139
|
require "steep/project/pattern"
|
|
@@ -150,6 +155,9 @@ require "steep/drivers/print_project"
|
|
|
150
155
|
require "steep/drivers/init"
|
|
151
156
|
require "steep/drivers/vendor"
|
|
152
157
|
require "steep/drivers/worker"
|
|
158
|
+
require "steep/drivers/start_server"
|
|
159
|
+
require "steep/drivers/stop_server"
|
|
160
|
+
require "steep/drivers/query"
|
|
153
161
|
require "steep/drivers/diagnostic_printer"
|
|
154
162
|
require "steep/drivers/diagnostic_printer/base_formatter"
|
|
155
163
|
require "steep/drivers/diagnostic_printer/code_formatter"
|
|
@@ -173,19 +181,7 @@ module Steep
|
|
|
173
181
|
end
|
|
174
182
|
|
|
175
183
|
def self.new_logger(output, prev_level)
|
|
176
|
-
|
|
177
|
-
logger.formatter = proc do |severity, datetime, progname, msg|
|
|
178
|
-
# @type var severity: String
|
|
179
|
-
# @type var datetime: Time
|
|
180
|
-
# @type var progname: untyped
|
|
181
|
-
# @type var msg: untyped
|
|
182
|
-
# @type block: String
|
|
183
|
-
"#{datetime.strftime('%Y-%m-%d %H:%M:%S.%L')}: #{severity}: #{msg}\n"
|
|
184
|
-
end
|
|
185
|
-
ActiveSupport::TaggedLogging.new(logger).tap do |logger|
|
|
186
|
-
logger.push_tags "Steep #{VERSION}"
|
|
187
|
-
logger.level = prev_level || Logger::ERROR
|
|
188
|
-
end
|
|
184
|
+
TaggedLogging.new(output, level: prev_level || Logger::ERROR)
|
|
189
185
|
end
|
|
190
186
|
|
|
191
187
|
def self.log_output
|
|
@@ -195,11 +191,17 @@ module Steep
|
|
|
195
191
|
def self.log_output=(output)
|
|
196
192
|
@log_output = output
|
|
197
193
|
|
|
194
|
+
if output.is_a?(String)
|
|
195
|
+
io = File.open(output, "a")
|
|
196
|
+
else
|
|
197
|
+
io = output
|
|
198
|
+
end
|
|
199
|
+
|
|
198
200
|
prev_level = @logger&.level
|
|
199
|
-
@logger = new_logger(
|
|
201
|
+
@logger = new_logger(io, prev_level)
|
|
200
202
|
|
|
201
203
|
prev_level = @ui_logger&.level
|
|
202
|
-
@ui_logger = new_logger(
|
|
204
|
+
@ui_logger = new_logger(io, prev_level)
|
|
203
205
|
|
|
204
206
|
output
|
|
205
207
|
end
|
|
@@ -233,7 +235,15 @@ module Steep
|
|
|
233
235
|
end
|
|
234
236
|
|
|
235
237
|
def self.can_fork?
|
|
236
|
-
defined?(
|
|
238
|
+
return @can_fork if defined?(@can_fork)
|
|
239
|
+
|
|
240
|
+
@can_fork = begin
|
|
241
|
+
pid = fork { exit!(0) }
|
|
242
|
+
Process.waitpid(pid) if pid
|
|
243
|
+
true
|
|
244
|
+
rescue NotImplementedError
|
|
245
|
+
false
|
|
246
|
+
end
|
|
237
247
|
end
|
|
238
248
|
|
|
239
249
|
class Sampler
|
|
@@ -299,17 +309,17 @@ module Steep
|
|
|
299
309
|
end
|
|
300
310
|
end
|
|
301
311
|
|
|
302
|
-
klasses = [
|
|
303
|
-
|
|
304
|
-
] #: Array[Class]
|
|
305
|
-
|
|
306
|
-
klasses.each do |klass|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
end
|
|
312
|
+
# klasses = [
|
|
313
|
+
# # Steep::Interface::MethodType
|
|
314
|
+
# ] #: Array[Class]
|
|
315
|
+
#
|
|
316
|
+
# klasses.each do |klass|
|
|
317
|
+
# klass.instance_eval do
|
|
318
|
+
# def self.new(*_a, **_b, &_c)
|
|
319
|
+
# super
|
|
320
|
+
# end
|
|
321
|
+
# end
|
|
322
|
+
# end
|
|
313
323
|
|
|
314
324
|
module GCCounter
|
|
315
325
|
module_function
|
data/manual/ruby-diagnostics.md
CHANGED
|
@@ -667,6 +667,45 @@ test.rb:1:0: [error] Invalid ignore comment
|
|
|
667
667
|
| - | - | - | - | - |
|
|
668
668
|
| error | warning | warning | warning | - |
|
|
669
669
|
|
|
670
|
+
<a name='Ruby::LibraryRBSError'></a>
|
|
671
|
+
## Ruby::LibraryRBSError
|
|
672
|
+
|
|
673
|
+
Type checking failed because of errors in library RBS files.
|
|
674
|
+
|
|
675
|
+
This diagnostic is reported on source files when RBS signatures from library or standard library
|
|
676
|
+
have validation errors, such as superclass mismatches. Each error is reported as a separate diagnostic.
|
|
677
|
+
|
|
678
|
+
### RBS
|
|
679
|
+
|
|
680
|
+
```rbs
|
|
681
|
+
class Integer < String
|
|
682
|
+
end
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
### Ruby code
|
|
686
|
+
|
|
687
|
+
```ruby
|
|
688
|
+
1 + 2
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
### Diagnostic
|
|
692
|
+
|
|
693
|
+
```
|
|
694
|
+
a.rb:1:0: [error] Type checking failed due to error in library RBS file
|
|
695
|
+
│ Different superclasses are specified for `::Integer`
|
|
696
|
+
│ Diagnostic ID: Ruby::LibraryRBSError
|
|
697
|
+
│
|
|
698
|
+
└ 1 + 2
|
|
699
|
+
~~~~~
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
### Severity
|
|
704
|
+
|
|
705
|
+
| all_error | strict | default | lenient | silent |
|
|
706
|
+
| - | - | - | - | - |
|
|
707
|
+
| error | error | error | error | - |
|
|
708
|
+
|
|
670
709
|
<a name='Ruby::MethodArityMismatch'></a>
|
|
671
710
|
## Ruby::MethodArityMismatch
|
|
672
711
|
|
|
@@ -1022,6 +1061,34 @@ test.rb:1:9: [error] Cannot find type `::Int`
|
|
|
1022
1061
|
| - | - | - | - | - |
|
|
1023
1062
|
| error | error | information | information | - |
|
|
1024
1063
|
|
|
1064
|
+
<a name='Ruby::RedundantIgnoreComment'></a>
|
|
1065
|
+
## Ruby::RedundantIgnoreComment
|
|
1066
|
+
|
|
1067
|
+
`steep:ignore` comment is redundant.
|
|
1068
|
+
|
|
1069
|
+
### Ruby code
|
|
1070
|
+
|
|
1071
|
+
```ruby
|
|
1072
|
+
1 + 1 # steep:ignore
|
|
1073
|
+
```
|
|
1074
|
+
|
|
1075
|
+
### Diagnostic
|
|
1076
|
+
|
|
1077
|
+
```
|
|
1078
|
+
test.rb:1:6: [hint] Redundant ignore comment
|
|
1079
|
+
│ Diagnostic ID: Ruby::RedundantIgnoreComment
|
|
1080
|
+
│
|
|
1081
|
+
└ 1 + 1 # steep:ignore
|
|
1082
|
+
~~~~~~~~~~~~~~
|
|
1083
|
+
```
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
### Severity
|
|
1087
|
+
|
|
1088
|
+
| all_error | strict | default | lenient | silent |
|
|
1089
|
+
| - | - | - | - | - |
|
|
1090
|
+
| error | warning | warning | hint | - |
|
|
1091
|
+
|
|
1025
1092
|
<a name='Ruby::RequiredBlockMissing'></a>
|
|
1026
1093
|
## Ruby::RequiredBlockMissing
|
|
1027
1094
|
|
data/sample/Steepfile
CHANGED
data/sample/lib/conference.rb
CHANGED
data/sample/lib/deprecated.rb
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Inline
|
|
2
|
+
# This is a bar class
|
|
3
|
+
class Bar
|
|
4
|
+
# @rbs () -> Integer
|
|
5
|
+
def from_bar
|
|
6
|
+
123
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
class Foo < HelloWorld #[String]
|
|
11
|
+
# @rbs (Integer, Integer) -> String
|
|
12
|
+
def foo(x, y)
|
|
13
|
+
(x + y).to_s
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
#: () -> untyped
|
|
17
|
+
def bar
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @rbs return: String?
|
|
22
|
+
def baz
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @rbs (Integer) -> void
|
|
27
|
+
def initialize(x)
|
|
28
|
+
@name
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @rbs @name: String -- the name of something
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
foo = Foo.new(1)
|
|
36
|
+
foo.foo(1, 2)
|
|
37
|
+
foo.foo(1, "2")
|
|
38
|
+
foo.foo(1, 2, "3")
|
|
39
|
+
|
|
40
|
+
foo.hello_world
|
|
41
|
+
|
|
42
|
+
x = nil #: String?
|
|
43
|
+
end
|
data/sample/sig/generics.rbs
CHANGED
data/steep.gemspec
CHANGED
|
@@ -35,14 +35,14 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
spec.required_ruby_version = ">= 3.3.0"
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
spec.required_ruby_version = '>= 3.
|
|
38
|
+
spec.required_ruby_version = '>= 3.2.0'
|
|
39
39
|
|
|
40
|
-
spec.add_runtime_dependency "parser", ">= 3.
|
|
41
|
-
spec.add_runtime_dependency "
|
|
40
|
+
spec.add_runtime_dependency "parser", ">= 3.2"
|
|
41
|
+
spec.add_runtime_dependency "prism", ">= 0.25.0"
|
|
42
42
|
spec.add_runtime_dependency "rainbow", ">= 2.2.2", "< 4.0"
|
|
43
43
|
spec.add_runtime_dependency "listen", "~> 3.0"
|
|
44
44
|
spec.add_runtime_dependency "language_server-protocol", ">= 3.17.0.4", "< 4.0"
|
|
45
|
-
spec.add_runtime_dependency "rbs", "~>
|
|
45
|
+
spec.add_runtime_dependency "rbs", "~> 4.0"
|
|
46
46
|
spec.add_runtime_dependency "concurrent-ruby", ">= 1.1.10"
|
|
47
47
|
spec.add_runtime_dependency "terminal-table", ">= 2", "< 5"
|
|
48
48
|
spec.add_runtime_dependency "securerandom", ">= 0.1"
|
|
@@ -52,5 +52,4 @@ Gem::Specification.new do |spec|
|
|
|
52
52
|
spec.add_runtime_dependency "strscan", ">= 1.0.0"
|
|
53
53
|
spec.add_runtime_dependency "csv", ">= 3.0.9"
|
|
54
54
|
spec.add_runtime_dependency "uri", ">= 0.12.0"
|
|
55
|
-
spec.add_runtime_dependency "mutex_m", ">= 0.3.0"
|
|
56
55
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: steep
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Soutaro Matsumoto
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: parser
|
|
@@ -15,28 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '3.
|
|
18
|
+
version: '3.2'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '3.
|
|
25
|
+
version: '3.2'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: prism
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 0.25.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version:
|
|
39
|
+
version: 0.25.0
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rainbow
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -97,14 +97,14 @@ dependencies:
|
|
|
97
97
|
requirements:
|
|
98
98
|
- - "~>"
|
|
99
99
|
- !ruby/object:Gem::Version
|
|
100
|
-
version:
|
|
100
|
+
version: '4.0'
|
|
101
101
|
type: :runtime
|
|
102
102
|
prerelease: false
|
|
103
103
|
version_requirements: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements:
|
|
105
105
|
- - "~>"
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
|
-
version:
|
|
107
|
+
version: '4.0'
|
|
108
108
|
- !ruby/object:Gem::Dependency
|
|
109
109
|
name: concurrent-ruby
|
|
110
110
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -237,20 +237,6 @@ dependencies:
|
|
|
237
237
|
- - ">="
|
|
238
238
|
- !ruby/object:Gem::Version
|
|
239
239
|
version: 0.12.0
|
|
240
|
-
- !ruby/object:Gem::Dependency
|
|
241
|
-
name: mutex_m
|
|
242
|
-
requirement: !ruby/object:Gem::Requirement
|
|
243
|
-
requirements:
|
|
244
|
-
- - ">="
|
|
245
|
-
- !ruby/object:Gem::Version
|
|
246
|
-
version: 0.3.0
|
|
247
|
-
type: :runtime
|
|
248
|
-
prerelease: false
|
|
249
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
250
|
-
requirements:
|
|
251
|
-
- - ">="
|
|
252
|
-
- !ruby/object:Gem::Version
|
|
253
|
-
version: 0.3.0
|
|
254
240
|
description: Gradual Typing for Ruby
|
|
255
241
|
email:
|
|
256
242
|
- matsumoto@soutaro.com
|
|
@@ -262,6 +248,7 @@ files:
|
|
|
262
248
|
- ".gitignore"
|
|
263
249
|
- ".gitmodules"
|
|
264
250
|
- CHANGELOG.md
|
|
251
|
+
- CLAUDE.md
|
|
265
252
|
- LICENSE
|
|
266
253
|
- README.md
|
|
267
254
|
- Rakefile
|
|
@@ -317,6 +304,9 @@ files:
|
|
|
317
304
|
- lib/steep/ast/types/var.rb
|
|
318
305
|
- lib/steep/ast/types/void.rb
|
|
319
306
|
- lib/steep/cli.rb
|
|
307
|
+
- lib/steep/daemon.rb
|
|
308
|
+
- lib/steep/daemon/configuration.rb
|
|
309
|
+
- lib/steep/daemon/server.rb
|
|
320
310
|
- lib/steep/diagnostic/deprecated/else_on_exhaustive_case.rb
|
|
321
311
|
- lib/steep/diagnostic/deprecated/unknown_constant_assigned.rb
|
|
322
312
|
- lib/steep/diagnostic/helper.rb
|
|
@@ -334,7 +324,10 @@ files:
|
|
|
334
324
|
- lib/steep/drivers/init.rb
|
|
335
325
|
- lib/steep/drivers/langserver.rb
|
|
336
326
|
- lib/steep/drivers/print_project.rb
|
|
327
|
+
- lib/steep/drivers/query.rb
|
|
328
|
+
- lib/steep/drivers/start_server.rb
|
|
337
329
|
- lib/steep/drivers/stats.rb
|
|
330
|
+
- lib/steep/drivers/stop_server.rb
|
|
338
331
|
- lib/steep/drivers/utils/driver_helper.rb
|
|
339
332
|
- lib/steep/drivers/utils/jobs_option.rb
|
|
340
333
|
- lib/steep/drivers/vendor.rb
|
|
@@ -353,6 +346,7 @@ files:
|
|
|
353
346
|
- lib/steep/interface/substitution.rb
|
|
354
347
|
- lib/steep/interface/type_param.rb
|
|
355
348
|
- lib/steep/located_value.rb
|
|
349
|
+
- lib/steep/locator.rb
|
|
356
350
|
- lib/steep/method_name.rb
|
|
357
351
|
- lib/steep/module_helper.rb
|
|
358
352
|
- lib/steep/node_helper.rb
|
|
@@ -369,6 +363,7 @@ files:
|
|
|
369
363
|
- lib/steep/server/change_buffer.rb
|
|
370
364
|
- lib/steep/server/custom_methods.rb
|
|
371
365
|
- lib/steep/server/delay_queue.rb
|
|
366
|
+
- lib/steep/server/inline_source_change_detector.rb
|
|
372
367
|
- lib/steep/server/interaction_worker.rb
|
|
373
368
|
- lib/steep/server/lsp_formatter.rb
|
|
374
369
|
- lib/steep/server/master.rb
|
|
@@ -378,9 +373,13 @@ files:
|
|
|
378
373
|
- lib/steep/server/work_done_progress.rb
|
|
379
374
|
- lib/steep/server/worker_process.rb
|
|
380
375
|
- lib/steep/services/completion_provider.rb
|
|
376
|
+
- lib/steep/services/completion_provider/rbs.rb
|
|
377
|
+
- lib/steep/services/completion_provider/ruby.rb
|
|
378
|
+
- lib/steep/services/completion_provider/type_name.rb
|
|
381
379
|
- lib/steep/services/content_change.rb
|
|
382
380
|
- lib/steep/services/file_loader.rb
|
|
383
381
|
- lib/steep/services/goto_service.rb
|
|
382
|
+
- lib/steep/services/hover_provider/content.rb
|
|
384
383
|
- lib/steep/services/hover_provider/rbs.rb
|
|
385
384
|
- lib/steep/services/hover_provider/ruby.rb
|
|
386
385
|
- lib/steep/services/hover_provider/singleton_methods.rb
|
|
@@ -389,7 +388,6 @@ files:
|
|
|
389
388
|
- lib/steep/services/signature_service.rb
|
|
390
389
|
- lib/steep/services/stats_calculator.rb
|
|
391
390
|
- lib/steep/services/type_check_service.rb
|
|
392
|
-
- lib/steep/services/type_name_completion.rb
|
|
393
391
|
- lib/steep/signature/validator.rb
|
|
394
392
|
- lib/steep/source.rb
|
|
395
393
|
- lib/steep/source/ignore_ranges.rb
|
|
@@ -399,6 +397,7 @@ files:
|
|
|
399
397
|
- lib/steep/subtyping/relation.rb
|
|
400
398
|
- lib/steep/subtyping/result.rb
|
|
401
399
|
- lib/steep/subtyping/variable_variance.rb
|
|
400
|
+
- lib/steep/tagged_logging.rb
|
|
402
401
|
- lib/steep/test.rb
|
|
403
402
|
- lib/steep/thread_waiter.rb
|
|
404
403
|
- lib/steep/type_construction.rb
|
|
@@ -421,6 +420,7 @@ files:
|
|
|
421
420
|
- sample/Steepfile
|
|
422
421
|
- sample/lib/conference.rb
|
|
423
422
|
- sample/lib/deprecated.rb
|
|
423
|
+
- sample/lib/inline.rb
|
|
424
424
|
- sample/lib/length.rb
|
|
425
425
|
- sample/sig/conference.rbs
|
|
426
426
|
- sample/sig/deprecated.rbs
|
|
@@ -441,14 +441,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
441
441
|
requirements:
|
|
442
442
|
- - ">="
|
|
443
443
|
- !ruby/object:Gem::Version
|
|
444
|
-
version: 3.
|
|
444
|
+
version: 3.2.0
|
|
445
445
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
446
446
|
requirements:
|
|
447
447
|
- - ">="
|
|
448
448
|
- !ruby/object:Gem::Version
|
|
449
449
|
version: '0'
|
|
450
450
|
requirements: []
|
|
451
|
-
rubygems_version:
|
|
451
|
+
rubygems_version: 4.0.6
|
|
452
452
|
specification_version: 4
|
|
453
453
|
summary: Gradual Typing for Ruby
|
|
454
454
|
test_files: []
|