ruby-lsp-rails 0.2.7 → 0.2.8
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c3d8b40085e6c7ca1e23283423a0966da489180e36e4fb50415f41b1a37f5294
|
|
4
|
+
data.tar.gz: e98455cb80f6c386e9aa1c3fa516a29cbf0027826aed8c5af029cc1de61aaa05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff23cfda2194b449136438eee3475801c4568d7efa9dea08c9c60bd11f732af31c10a30b95014c7d366fbf5ad86dd7471dd3419ef4ef2808f031307d1ffc841e
|
|
7
|
+
data.tar.gz: 4a776b1c73b4c2683ba6db906afc3dccd2221f0dd4943a56d1a7fd1f0b4c43f92a789231d82e85aec2ba664fd505013c3c3a594a7b57d6931b35bfd433998ca0
|
|
@@ -17,8 +17,8 @@ module RubyLsp
|
|
|
17
17
|
@client ||= T.let(RailsClient.new, T.nilable(RailsClient))
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
sig { override.void }
|
|
21
|
-
def activate
|
|
20
|
+
sig { override.params(message_queue: Thread::Queue).void }
|
|
21
|
+
def activate(message_queue)
|
|
22
22
|
client.check_if_server_is_running!
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -30,11 +30,10 @@ module RubyLsp
|
|
|
30
30
|
override.params(
|
|
31
31
|
uri: URI::Generic,
|
|
32
32
|
dispatcher: Prism::Dispatcher,
|
|
33
|
-
message_queue: Thread::Queue,
|
|
34
33
|
).returns(T.nilable(Listener[T::Array[Interface::CodeLens]]))
|
|
35
34
|
end
|
|
36
|
-
def create_code_lens_listener(uri, dispatcher
|
|
37
|
-
CodeLens.new(uri, dispatcher
|
|
35
|
+
def create_code_lens_listener(uri, dispatcher)
|
|
36
|
+
CodeLens.new(uri, dispatcher)
|
|
38
37
|
end
|
|
39
38
|
|
|
40
39
|
sig do
|
|
@@ -42,11 +41,10 @@ module RubyLsp
|
|
|
42
41
|
nesting: T::Array[String],
|
|
43
42
|
index: RubyIndexer::Index,
|
|
44
43
|
dispatcher: Prism::Dispatcher,
|
|
45
|
-
message_queue: Thread::Queue,
|
|
46
44
|
).returns(T.nilable(Listener[T.nilable(Interface::Hover)]))
|
|
47
45
|
end
|
|
48
|
-
def create_hover_listener(nesting, index, dispatcher
|
|
49
|
-
Hover.new(client, nesting, index, dispatcher
|
|
46
|
+
def create_hover_listener(nesting, index, dispatcher)
|
|
47
|
+
Hover.new(client, nesting, index, dispatcher)
|
|
50
48
|
end
|
|
51
49
|
|
|
52
50
|
sig { override.returns(String) }
|
|
@@ -42,13 +42,16 @@ module RubyLsp
|
|
|
42
42
|
sig { override.returns(ResponseType) }
|
|
43
43
|
attr_reader :_response
|
|
44
44
|
|
|
45
|
-
sig { params(uri: URI::Generic, dispatcher: Prism::Dispatcher
|
|
46
|
-
def initialize(uri, dispatcher
|
|
45
|
+
sig { params(uri: URI::Generic, dispatcher: Prism::Dispatcher).void }
|
|
46
|
+
def initialize(uri, dispatcher)
|
|
47
47
|
@_response = T.let([], ResponseType)
|
|
48
48
|
@path = T.let(uri.to_standardized_path, T.nilable(String))
|
|
49
|
-
|
|
49
|
+
@group_id = T.let(1, Integer)
|
|
50
|
+
@group_id_stack = T.let([], T::Array[Integer])
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
dispatcher.register(self, :on_call_node_enter, :on_class_node_enter, :on_def_node_enter, :on_class_node_leave)
|
|
53
|
+
|
|
54
|
+
super(dispatcher)
|
|
52
55
|
end
|
|
53
56
|
|
|
54
57
|
sig { params(node: Prism::CallNode).void }
|
|
@@ -62,13 +65,11 @@ module RubyLsp
|
|
|
62
65
|
first_argument = arguments.first
|
|
63
66
|
|
|
64
67
|
content = case first_argument
|
|
65
|
-
when Prism::
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
right.is_a?(Prism::StringNode)
|
|
71
|
-
left.content + right.content
|
|
68
|
+
when Prism::InterpolatedStringNode
|
|
69
|
+
parts = first_argument.parts
|
|
70
|
+
|
|
71
|
+
if parts.all? { |part| part.is_a?(Prism::StringNode) }
|
|
72
|
+
T.cast(parts, T::Array[Prism::StringNode]).map(&:content).join
|
|
72
73
|
end
|
|
73
74
|
when Prism::StringNode
|
|
74
75
|
first_argument.content
|
|
@@ -99,6 +100,14 @@ module RubyLsp
|
|
|
99
100
|
command = "#{BASE_COMMAND} #{@path}"
|
|
100
101
|
add_test_code_lens(node, name: class_name, command: command, kind: :group)
|
|
101
102
|
end
|
|
103
|
+
|
|
104
|
+
@group_id_stack.push(@group_id)
|
|
105
|
+
@group_id += 1
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
sig { params(node: Prism::ClassNode).void }
|
|
109
|
+
def on_class_node_leave(node)
|
|
110
|
+
@group_id_stack.pop
|
|
102
111
|
end
|
|
103
112
|
|
|
104
113
|
private
|
|
@@ -119,12 +128,15 @@ module RubyLsp
|
|
|
119
128
|
},
|
|
120
129
|
]
|
|
121
130
|
|
|
131
|
+
grouping_data = { group_id: @group_id_stack.last, kind: kind }
|
|
132
|
+
grouping_data[:id] = @group_id if kind == :group
|
|
133
|
+
|
|
122
134
|
@_response << create_code_lens(
|
|
123
135
|
node,
|
|
124
136
|
title: "Run",
|
|
125
137
|
command_name: "rubyLsp.runTest",
|
|
126
138
|
arguments: arguments,
|
|
127
|
-
data: { type: "test",
|
|
139
|
+
data: { type: "test", **grouping_data },
|
|
128
140
|
)
|
|
129
141
|
|
|
130
142
|
@_response << create_code_lens(
|
|
@@ -132,7 +144,7 @@ module RubyLsp
|
|
|
132
144
|
title: "Run In Terminal",
|
|
133
145
|
command_name: "rubyLsp.runTestInTerminal",
|
|
134
146
|
arguments: arguments,
|
|
135
|
-
data: { type: "test_in_terminal",
|
|
147
|
+
data: { type: "test_in_terminal", **grouping_data },
|
|
136
148
|
)
|
|
137
149
|
|
|
138
150
|
@_response << create_code_lens(
|
|
@@ -140,7 +152,7 @@ module RubyLsp
|
|
|
140
152
|
title: "Debug",
|
|
141
153
|
command_name: "rubyLsp.debugTest",
|
|
142
154
|
arguments: arguments,
|
|
143
|
-
data: { type: "debug",
|
|
155
|
+
data: { type: "debug", **grouping_data },
|
|
144
156
|
)
|
|
145
157
|
end
|
|
146
158
|
end
|
|
@@ -31,11 +31,10 @@ module RubyLsp
|
|
|
31
31
|
nesting: T::Array[String],
|
|
32
32
|
index: RubyIndexer::Index,
|
|
33
33
|
dispatcher: Prism::Dispatcher,
|
|
34
|
-
message_queue: Thread::Queue,
|
|
35
34
|
).void
|
|
36
35
|
end
|
|
37
|
-
def initialize(client, nesting, index, dispatcher
|
|
38
|
-
super(dispatcher
|
|
36
|
+
def initialize(client, nesting, index, dispatcher)
|
|
37
|
+
super(dispatcher)
|
|
39
38
|
|
|
40
39
|
@_response = T.let(nil, ResponseType)
|
|
41
40
|
@client = client
|
metadata
CHANGED
|
@@ -1,17 +1,45 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby-lsp-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shopify
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: actionpack
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '6.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '6.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: activerecord
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '6.0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '6.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: railties
|
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
|
16
44
|
requirements:
|
|
17
45
|
- - ">="
|
|
@@ -30,20 +58,20 @@ dependencies:
|
|
|
30
58
|
requirements:
|
|
31
59
|
- - ">="
|
|
32
60
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
61
|
+
version: 0.13.0
|
|
34
62
|
- - "<"
|
|
35
63
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: 0.
|
|
64
|
+
version: 0.14.0
|
|
37
65
|
type: :runtime
|
|
38
66
|
prerelease: false
|
|
39
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
68
|
requirements:
|
|
41
69
|
- - ">="
|
|
42
70
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: 0.
|
|
71
|
+
version: 0.13.0
|
|
44
72
|
- - "<"
|
|
45
73
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.
|
|
74
|
+
version: 0.14.0
|
|
47
75
|
- !ruby/object:Gem::Dependency
|
|
48
76
|
name: sorbet-runtime
|
|
49
77
|
requirement: !ruby/object:Gem::Requirement
|