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.
- 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
|