ruby-lsp-rspec 0.1.5 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/ruby-lsp-rspec.rb +0 -1
- data/lib/ruby_lsp/ruby_lsp_rspec/code_lens.rb +25 -7
- data/lib/ruby_lsp_rspec/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1ad8f1f88836c6c7cb084237b83d36b7b8d73edf94eebe765f0fba6bb32e1a3
|
4
|
+
data.tar.gz: 632cc2d492f00b07d966aaa53b8534721e17753b258edfaa43205a96e6bab906
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9de20795a46221eeab3932fe830c25f019d940b757fbfd5e8dfe88bfae922e7658791747ae361ab51a6c30dbfdd30bbf97708cdb7b144414fecdb8e477c7c7c1
|
7
|
+
data.tar.gz: e2c796c111cdba975216f7856fdcbd0765e2d898cc0389f2fb2df7898a5a2d58d1a8f4a64bd98afb4de556a0df6e48e2a610d005db520993becbeaa2dd877529
|
data/README.md
CHANGED
data/lib/ruby-lsp-rspec.rb
CHANGED
@@ -19,7 +19,9 @@ module RubyLsp
|
|
19
19
|
@_response = T.let([], ResponseType)
|
20
20
|
# Listener is only initialized if uri.to_standardized_path is valid
|
21
21
|
@path = T.let(T.must(uri.to_standardized_path), String)
|
22
|
-
|
22
|
+
@group_id = T.let(1, Integer)
|
23
|
+
@group_id_stack = T.let([], T::Array[Integer])
|
24
|
+
dispatcher.register(self, :on_call_node_enter, :on_call_node_leave)
|
23
25
|
|
24
26
|
@base_command = T.let(
|
25
27
|
begin
|
@@ -43,15 +45,28 @@ module RubyLsp
|
|
43
45
|
|
44
46
|
sig { params(node: Prism::CallNode).void }
|
45
47
|
def on_call_node_enter(node)
|
46
|
-
|
47
|
-
|
48
|
+
case node.message
|
49
|
+
when "example", "it", "specify"
|
48
50
|
name = generate_name(node)
|
49
51
|
add_test_code_lens(node, name: name, kind: :example)
|
50
|
-
|
52
|
+
when "context", "describe"
|
51
53
|
return if node.receiver && node.receiver.name.to_s != "RSpec"
|
52
54
|
|
53
55
|
name = generate_name(node)
|
54
56
|
add_test_code_lens(node, name: name, kind: :group)
|
57
|
+
|
58
|
+
@group_id_stack.push(@group_id)
|
59
|
+
@group_id += 1
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
sig { params(node: Prism::CallNode).void }
|
64
|
+
def on_call_node_leave(node)
|
65
|
+
case node.message
|
66
|
+
when "context", "describe"
|
67
|
+
return if node.receiver && node.receiver.name.to_s != "RSpec"
|
68
|
+
|
69
|
+
@group_id_stack.pop
|
55
70
|
end
|
56
71
|
end
|
57
72
|
|
@@ -82,6 +97,9 @@ module RubyLsp
|
|
82
97
|
line_number = node.location.start_line
|
83
98
|
command = "#{@base_command} #{@path}:#{line_number}"
|
84
99
|
|
100
|
+
grouping_data = { group_id: @group_id_stack.last, kind: kind }
|
101
|
+
grouping_data[:id] = @group_id if kind == :group
|
102
|
+
|
85
103
|
arguments = [
|
86
104
|
@path,
|
87
105
|
name,
|
@@ -99,7 +117,7 @@ module RubyLsp
|
|
99
117
|
title: "Run",
|
100
118
|
command_name: "rubyLsp.runTest",
|
101
119
|
arguments: arguments,
|
102
|
-
data: { type: "test",
|
120
|
+
data: { type: "test", **grouping_data },
|
103
121
|
)
|
104
122
|
|
105
123
|
@_response << create_code_lens(
|
@@ -107,7 +125,7 @@ module RubyLsp
|
|
107
125
|
title: "Run In Terminal",
|
108
126
|
command_name: "rubyLsp.runTestInTerminal",
|
109
127
|
arguments: arguments,
|
110
|
-
data: { type: "test_in_terminal",
|
128
|
+
data: { type: "test_in_terminal", **grouping_data },
|
111
129
|
)
|
112
130
|
|
113
131
|
@_response << create_code_lens(
|
@@ -115,7 +133,7 @@ module RubyLsp
|
|
115
133
|
title: "Debug",
|
116
134
|
command_name: "rubyLsp.debugTest",
|
117
135
|
arguments: arguments,
|
118
|
-
data: { type: "debug",
|
136
|
+
data: { type: "debug", **grouping_data },
|
119
137
|
)
|
120
138
|
end
|
121
139
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-lsp-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stan Lo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-lsp
|