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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/README.md +18 -0
- data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
- data/lib/steep/rake_task.rb +132 -0
- data/lib/steep/type_construction.rb +1 -0
- data/lib/steep/version.rb +1 -1
- data/steep.gemspec +4 -1
- metadata +4 -143
- data/.github/dependabot.yml +0 -28
- data/.github/workflows/ruby-windows.yml +0 -35
- data/.github/workflows/ruby.yml +0 -32
- data/.vscode/steep-shared.code-snippets +0 -41
- data/Gemfile +0 -14
- data/Gemfile.lock +0 -104
- data/Gemfile.steep +0 -0
- data/gemfile_steep/Gemfile +0 -3
- data/gemfile_steep/Gemfile.lock +0 -77
- data/rbs_collection.steep.lock.yaml +0 -108
- data/rbs_collection.steep.yaml +0 -23
- data/sig/shims/bundler.rbs +0 -3
- data/sig/shims/concurrent-ruby.rbs +0 -39
- data/sig/shims/exception.rbs +0 -4
- data/sig/shims/language-server_protocol.rbs +0 -450
- data/sig/shims/parser/comment.rbs +0 -33
- data/sig/shims/parser/nodes.rbs +0 -252
- data/sig/shims/parser/source/map.rbs +0 -146
- data/sig/shims/parser/source/range.rbs +0 -237
- data/sig/shims/parser.rbs +0 -69
- data/sig/shims/string.rbs +0 -4
- data/sig/shims/tagged_logging.rbs +0 -6
- data/sig/shims/yaml.rbs +0 -4
- data/sig/steep/annotation_parser.rbs +0 -60
- data/sig/steep/ast/annotation/collection.rbs +0 -78
- data/sig/steep/ast/annotation.rbs +0 -121
- data/sig/steep/ast/builtin.rbs +0 -69
- data/sig/steep/ast/ignore.rbs +0 -66
- data/sig/steep/ast/node/type_application.rbs +0 -31
- data/sig/steep/ast/node/type_assertion.rbs +0 -32
- data/sig/steep/ast/types/any.rbs +0 -29
- data/sig/steep/ast/types/boolean.rbs +0 -31
- data/sig/steep/ast/types/bot.rbs +0 -29
- data/sig/steep/ast/types/class.rbs +0 -33
- data/sig/steep/ast/types/factory.rbs +0 -110
- data/sig/steep/ast/types/helper.rbs +0 -24
- data/sig/steep/ast/types/instance.rbs +0 -33
- data/sig/steep/ast/types/intersection.rbs +0 -40
- data/sig/steep/ast/types/literal.rbs +0 -35
- data/sig/steep/ast/types/logic.rbs +0 -83
- data/sig/steep/ast/types/name.rbs +0 -84
- data/sig/steep/ast/types/nil.rbs +0 -31
- data/sig/steep/ast/types/proc.rbs +0 -53
- data/sig/steep/ast/types/record.rbs +0 -39
- data/sig/steep/ast/types/self.rbs +0 -33
- data/sig/steep/ast/types/top.rbs +0 -29
- data/sig/steep/ast/types/tuple.rbs +0 -37
- data/sig/steep/ast/types/union.rbs +0 -40
- data/sig/steep/ast/types/var.rbs +0 -42
- data/sig/steep/ast/types/void.rbs +0 -29
- data/sig/steep/ast/types.rbs +0 -16
- data/sig/steep/cli.rbs +0 -55
- data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +0 -13
- data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +0 -15
- data/sig/steep/diagnostic/helper.rbs +0 -15
- data/sig/steep/diagnostic/lsp_formatter.rbs +0 -36
- data/sig/steep/diagnostic/ruby.rbs +0 -703
- data/sig/steep/diagnostic/signature.rbs +0 -252
- data/sig/steep/drivers/annotations.rbs +0 -17
- data/sig/steep/drivers/check.rbs +0 -33
- data/sig/steep/drivers/checkfile.rbs +0 -27
- data/sig/steep/drivers/diagnostic_printer.rbs +0 -25
- data/sig/steep/drivers/init.rbs +0 -19
- data/sig/steep/drivers/langserver.rbs +0 -36
- data/sig/steep/drivers/print_project.rbs +0 -15
- data/sig/steep/drivers/stats.rbs +0 -47
- data/sig/steep/drivers/utils/driver_helper.rbs +0 -25
- data/sig/steep/drivers/utils/jobs_option.rbs +0 -19
- data/sig/steep/drivers/validate.rbs +0 -15
- data/sig/steep/drivers/vendor.rbs +0 -19
- data/sig/steep/drivers/watch.rbs +0 -27
- data/sig/steep/drivers/worker.rbs +0 -29
- data/sig/steep/equatable.rbs +0 -11
- data/sig/steep/expectations.rbs +0 -72
- data/sig/steep/index/rbs_index.rbs +0 -141
- data/sig/steep/index/signature_symbol_provider.rbs +0 -41
- data/sig/steep/index/source_index.rbs +0 -63
- data/sig/steep/interface/block.rbs +0 -41
- data/sig/steep/interface/builder.rbs +0 -111
- data/sig/steep/interface/function.rbs +0 -271
- data/sig/steep/interface/method_type.rbs +0 -105
- data/sig/steep/interface/shape.rbs +0 -80
- data/sig/steep/interface/substitution.rbs +0 -51
- data/sig/steep/interface/type_param.rbs +0 -43
- data/sig/steep/method_name.rbs +0 -30
- data/sig/steep/module_helper.rbs +0 -16
- data/sig/steep/node_helper.rbs +0 -91
- data/sig/steep/path_helper.rbs +0 -15
- data/sig/steep/project/dsl.rbs +0 -108
- data/sig/steep/project/options.rbs +0 -47
- data/sig/steep/project/pattern.rbs +0 -47
- data/sig/steep/project/target.rbs +0 -25
- data/sig/steep/project.rbs +0 -26
- data/sig/steep/range_extension.rbs +0 -7
- data/sig/steep/server/base_worker.rbs +0 -49
- data/sig/steep/server/change_buffer.rbs +0 -38
- data/sig/steep/server/delay_queue.rbs +0 -37
- data/sig/steep/server/interaction_worker.rbs +0 -90
- data/sig/steep/server/lsp_formatter.rbs +0 -63
- data/sig/steep/server/master.rbs +0 -299
- data/sig/steep/server/type_check_worker.rbs +0 -141
- data/sig/steep/server/worker_process.rbs +0 -97
- data/sig/steep/services/completion_provider.rbs +0 -264
- data/sig/steep/services/content_change.rbs +0 -37
- data/sig/steep/services/file_loader.rbs +0 -21
- data/sig/steep/services/goto_service.rbs +0 -106
- data/sig/steep/services/hover_provider/rbs.rbs +0 -47
- data/sig/steep/services/hover_provider/ruby.rbs +0 -127
- data/sig/steep/services/hover_provider/singleton_methods.rbs +0 -11
- data/sig/steep/services/path_assignment.rbs +0 -21
- data/sig/steep/services/signature_help_provider.rbs +0 -51
- data/sig/steep/services/signature_service.rbs +0 -156
- data/sig/steep/services/stats_calculator.rbs +0 -41
- data/sig/steep/services/type_check_service.rbs +0 -112
- data/sig/steep/services/type_name_completion.rbs +0 -135
- data/sig/steep/signature/validator.rbs +0 -85
- data/sig/steep/source/ignore_ranges.rbs +0 -38
- data/sig/steep/source.rbs +0 -105
- data/sig/steep/subtyping/cache.rbs +0 -17
- data/sig/steep/subtyping/check.rbs +0 -131
- data/sig/steep/subtyping/constraints.rbs +0 -111
- data/sig/steep/subtyping/relation.rbs +0 -63
- data/sig/steep/subtyping/result.rbs +0 -179
- data/sig/steep/subtyping/variable_variance.rbs +0 -25
- data/sig/steep/thread_waiter.rbs +0 -13
- data/sig/steep/type_construction.rbs +0 -542
- data/sig/steep/type_inference/block_params.rbs +0 -170
- data/sig/steep/type_inference/case_when.rbs +0 -130
- data/sig/steep/type_inference/constant_env.rbs +0 -29
- data/sig/steep/type_inference/context.rbs +0 -216
- data/sig/steep/type_inference/context_array.rbs +0 -38
- data/sig/steep/type_inference/logic_type_interpreter.rbs +0 -108
- data/sig/steep/type_inference/method_call.rbs +0 -124
- data/sig/steep/type_inference/method_params.rbs +0 -127
- data/sig/steep/type_inference/multiple_assignment.rbs +0 -76
- data/sig/steep/type_inference/send_args.rbs +0 -243
- data/sig/steep/type_inference/type_env.rbs +0 -160
- data/sig/steep/type_inference/type_env_builder.rbs +0 -81
- data/sig/steep/typing.rbs +0 -75
- data/sig/steep.rbs +0 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee680022ab2333d1fcfeff84ee0513c389ccfb6cf52fbc04f3f53edace112931
|
4
|
+
data.tar.gz: 400fd763d24b8154fea38900c988cf651c6a0e646485a1aa4d4e6c5ba285a453
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
16
|
-
|
17
|
-
```
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
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
|
-
|
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
|
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-
|
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.
|
404
|
+
rubygems_version: 3.5.9
|
544
405
|
signing_key:
|
545
406
|
specification_version: 4
|
546
407
|
summary: Gradual Typing for Ruby
|
data/.github/dependabot.yml
DELETED
@@ -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}}
|
data/.github/workflows/ruby.yml
DELETED
@@ -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
|