ruby-lsp-rspec 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -3
  3. data/lib/ruby_lsp/ruby_lsp_rspec/code_lens.rb +18 -2
  4. data/lib/ruby_lsp_rspec/version.rb +1 -1
  5. metadata +2 -46
  6. data/misc/example.png +0 -0
  7. data/sorbet/config +0 -4
  8. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  9. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -584
  10. data/sorbet/rbi/gems/base64@0.1.1.rbi +0 -172
  11. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  12. data/sorbet/rbi/gems/erubi@1.12.0.rbi +0 -145
  13. data/sorbet/rbi/gems/io-console@0.6.0.rbi +0 -8
  14. data/sorbet/rbi/gems/json@2.6.3.rbi +0 -1533
  15. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
  16. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -158
  17. data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -273
  18. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +0 -7253
  19. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  20. data/sorbet/rbi/gems/psych@5.1.0.rbi +0 -1760
  21. data/sorbet/rbi/gems/racc@1.7.1.rbi +0 -161
  22. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -402
  23. data/sorbet/rbi/gems/rake@13.0.6.rbi +0 -3024
  24. data/sorbet/rbi/gems/rbi@0.0.17.rbi +0 -2972
  25. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +0 -3749
  26. data/sorbet/rbi/gems/reline@0.3.8.rbi +0 -2260
  27. data/sorbet/rbi/gems/rexml@3.2.6.rbi +0 -4781
  28. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +0 -10805
  29. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +0 -8100
  30. data/sorbet/rbi/gems/rspec-mocks@3.12.5.rbi +0 -5305
  31. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +0 -1611
  32. data/sorbet/rbi/gems/rspec@3.12.0.rbi +0 -82
  33. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +0 -6985
  34. data/sorbet/rbi/gems/rubocop@1.56.2.rbi +0 -56538
  35. data/sorbet/rbi/gems/ruby-lsp@0.10.1.rbi +0 -2903
  36. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1317
  37. data/sorbet/rbi/gems/spoom@1.2.3.rbi +0 -3203
  38. data/sorbet/rbi/gems/stringio@3.0.8.rbi +0 -8
  39. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +0 -22855
  40. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +0 -3349
  41. data/sorbet/rbi/gems/thor@1.2.2.rbi +0 -3965
  42. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +0 -65
  43. data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
  44. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +0 -428
  45. data/sorbet/rbi/gems/yard@0.9.34.rbi +0 -18219
  46. data/sorbet/rbi/gems/yarp@0.11.0.rbi +0 -15141
  47. data/sorbet/rbi/shims/uri.rbi +0 -14
  48. data/sorbet/tapioca/config.yml +0 -13
  49. data/sorbet/tapioca/require.rb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c36d67cb9d922ed7bcbd2e485bcac49fa2ea74aa460d7161bc224f55e3cecb00
4
- data.tar.gz: 48925c65752d53395dd31dd8b335ea5b62eb5182fffb4202384ddc05a609ff9a
3
+ metadata.gz: 70ca8698ce3d421e1e0160e74eaee948a90fcc20f284599749903797af11a8b4
4
+ data.tar.gz: 32cae6d7a1d8ecc2b3b2d0aeab0f68d4a93cd554e8308a66a538d43f161422e0
5
5
  SHA512:
6
- metadata.gz: f7b82553a837b8ea44a62a85c387e1f3c3b770fd9c239328a989aaf66a15496391338859c657b51b4403320f89b55e14ddc555d798f31fbab4395c137d5341d0
7
- data.tar.gz: 1c400c09903e197e5b0a727359a6f9d35e7b5c03f18c5ea6261647dbf63e760bcdf70e106fe726617712bf7ffeae3dc79dfa7db6ec5ff390c0d6aa1c0cf6e5d2
6
+ metadata.gz: 6368f975531fcb06413f84470a105b6b38a7979f2f5d69ff80ad760575e3283f329c54eabb31892c0dff8039a23aaae774b61e262e8f34ef0dbe97143633f0a3
7
+ data.tar.gz: 6e6746eccc7164dfe3efa683cdbef3b7628ab436e9918338bc8707663caa5a03e1598229c38797d699466515cb03b3edd35e64df5ecd9def1ccec30fccf8fe79
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Ruby LSP RSpec
2
2
 
3
- Ruby LSP RSpec is a [Ruby LSP](https://github.com/Shopify/ruby-lsp) extension for displaying code-lenses for RSpec tests.
3
+ [![Gem Version](https://badge.fury.io/rb/ruby-lsp-rspec.svg)](https://badge.fury.io/rb/ruby-lsp-rspec)
4
4
 
5
- ![Screenshot of the code lenses](/misc/example.png)
5
+ Ruby LSP RSpec is a [Ruby LSP](https://github.com/Shopify/ruby-lsp) extension for displaying CodeLens for RSpec tests.
6
+
7
+ ![Screenshot of the code lenses](/misc/example.gif)
6
8
 
7
9
  ## Installation
8
10
 
@@ -15,7 +17,7 @@ group :development do
15
17
  end
16
18
  ```
17
19
 
18
- After running `bundle install`, restart Ruby LSP and you should start seeing code-lenses in your RSpec test files.
20
+ After running `bundle install`, restart Ruby LSP and you should start seeing CodeLens in your RSpec test files.
19
21
 
20
22
  ## Usages (with VS Code)
21
23
 
@@ -10,7 +10,6 @@ module RubyLsp
10
10
  include ::RubyLsp::Requests::Support::Common
11
11
 
12
12
  ResponseType = type_member { { fixed: T::Array[::RubyLsp::Interface::CodeLens] } }
13
- BASE_COMMAND = T.let((File.exist?("Gemfile.lock") ? "bundle exec rspec" : "rspec"), String)
14
13
 
15
14
  sig { override.returns(ResponseType) }
16
15
  attr_reader :_response
@@ -21,6 +20,23 @@ module RubyLsp
21
20
  @path = T.let(uri.to_standardized_path, T.nilable(String))
22
21
  emitter.register(self, :on_command, :on_command_call, :on_call)
23
22
 
23
+ @base_command = T.let(
24
+ begin
25
+ cmd = if File.exist?(File.join(Dir.pwd, "bin", "rspec"))
26
+ "bin/rspec"
27
+ else
28
+ "rspec"
29
+ end
30
+
31
+ if File.exist?("Gemfile.lock")
32
+ "bundle exec #{cmd}"
33
+ else
34
+ cmd
35
+ end
36
+ end,
37
+ String,
38
+ )
39
+
24
40
  super(emitter, message_queue)
25
41
  end
26
42
 
@@ -103,7 +119,7 @@ module RubyLsp
103
119
  return unless @path
104
120
 
105
121
  line_number = node.location.start_line
106
- command = "#{BASE_COMMAND} #{@path}:#{line_number}"
122
+ command = "#{@base_command} #{@path}:#{line_number}"
107
123
 
108
124
  arguments = [
109
125
  @path,
@@ -3,6 +3,6 @@
3
3
 
4
4
  module RubyLsp
5
5
  module RSpec
6
- VERSION = "0.1.0"
6
+ VERSION = "0.1.2"
7
7
  end
8
8
  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.0
4
+ version: 0.1.2
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-09-17 00:00:00.000000000 Z
11
+ date: 2023-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-lsp
@@ -42,50 +42,6 @@ files:
42
42
  - lib/ruby_lsp/ruby_lsp_rspec/code_lens.rb
43
43
  - lib/ruby_lsp/ruby_lsp_rspec/extension.rb
44
44
  - lib/ruby_lsp_rspec/version.rb
45
- - misc/example.png
46
- - sorbet/config
47
- - sorbet/rbi/annotations/rainbow.rbi
48
- - sorbet/rbi/gems/ast@2.4.2.rbi
49
- - sorbet/rbi/gems/base64@0.1.1.rbi
50
- - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
51
- - sorbet/rbi/gems/erubi@1.12.0.rbi
52
- - sorbet/rbi/gems/io-console@0.6.0.rbi
53
- - sorbet/rbi/gems/json@2.6.3.rbi
54
- - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
55
- - sorbet/rbi/gems/netrc@0.11.0.rbi
56
- - sorbet/rbi/gems/parallel@1.23.0.rbi
57
- - sorbet/rbi/gems/parser@3.2.2.3.rbi
58
- - sorbet/rbi/gems/prettier_print@1.2.1.rbi
59
- - sorbet/rbi/gems/psych@5.1.0.rbi
60
- - sorbet/rbi/gems/racc@1.7.1.rbi
61
- - sorbet/rbi/gems/rainbow@3.1.1.rbi
62
- - sorbet/rbi/gems/rake@13.0.6.rbi
63
- - sorbet/rbi/gems/rbi@0.0.17.rbi
64
- - sorbet/rbi/gems/regexp_parser@2.8.1.rbi
65
- - sorbet/rbi/gems/reline@0.3.8.rbi
66
- - sorbet/rbi/gems/rexml@3.2.6.rbi
67
- - sorbet/rbi/gems/rspec-core@3.12.2.rbi
68
- - sorbet/rbi/gems/rspec-expectations@3.12.3.rbi
69
- - sorbet/rbi/gems/rspec-mocks@3.12.5.rbi
70
- - sorbet/rbi/gems/rspec-support@3.12.0.rbi
71
- - sorbet/rbi/gems/rspec@3.12.0.rbi
72
- - sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
73
- - sorbet/rbi/gems/rubocop@1.56.2.rbi
74
- - sorbet/rbi/gems/ruby-lsp@0.10.1.rbi
75
- - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
76
- - sorbet/rbi/gems/spoom@1.2.3.rbi
77
- - sorbet/rbi/gems/stringio@3.0.8.rbi
78
- - sorbet/rbi/gems/syntax_tree@6.1.1.rbi
79
- - sorbet/rbi/gems/tapioca@0.11.8.rbi
80
- - sorbet/rbi/gems/thor@1.2.2.rbi
81
- - sorbet/rbi/gems/unicode-display_width@2.4.2.rbi
82
- - sorbet/rbi/gems/unparser@0.6.8.rbi
83
- - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
84
- - sorbet/rbi/gems/yard@0.9.34.rbi
85
- - sorbet/rbi/gems/yarp@0.11.0.rbi
86
- - sorbet/rbi/shims/uri.rbi
87
- - sorbet/tapioca/config.yml
88
- - sorbet/tapioca/require.rb
89
45
  homepage: https://github.com/st0012/ruby-lsp-rspec
90
46
  licenses:
91
47
  - MIT
data/misc/example.png DELETED
Binary file
data/sorbet/config DELETED
@@ -1,4 +0,0 @@
1
- --dir
2
- .
3
- --ignore=tmp/
4
- --ignore=vendor/
@@ -1,269 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This file was pulled from a central RBI files repository.
5
- # Please run `bin/tapioca annotations` to update it.
6
-
7
- module Rainbow
8
- # @shim: https://github.com/sickill/rainbow/blob/master/lib/rainbow.rb#L10-L12
9
- sig { returns(T::Boolean) }
10
- attr_accessor :enabled
11
-
12
- class Color
13
- sig { returns(Symbol) }
14
- attr_reader :ground
15
-
16
- sig { params(ground: Symbol, values: T.any([Integer], [Integer, Integer, Integer])).returns(Color) }
17
- def self.build(ground, values); end
18
-
19
- sig { params(hex: String).returns([Integer, Integer, Integer]) }
20
- def self.parse_hex_color(hex); end
21
-
22
- class Indexed < Rainbow::Color
23
- sig { returns(Integer) }
24
- attr_reader :num
25
-
26
- sig { params(ground: Symbol, num: Integer).void }
27
- def initialize(ground, num); end
28
-
29
- sig { returns(T::Array[Integer]) }
30
- def codes; end
31
- end
32
-
33
- class Named < Rainbow::Color::Indexed
34
- NAMES = T.let(nil, T::Hash[Symbol, Integer])
35
-
36
- sig { params(ground: Symbol, name: Symbol).void }
37
- def initialize(ground, name); end
38
-
39
- sig { returns(T::Array[Symbol]) }
40
- def self.color_names; end
41
-
42
- sig { returns(String) }
43
- def self.valid_names; end
44
- end
45
-
46
- class RGB < Rainbow::Color::Indexed
47
- sig { returns(Integer) }
48
- attr_reader :r, :g, :b
49
-
50
- sig { params(ground: Symbol, values: Integer).void }
51
- def initialize(ground, *values); end
52
-
53
- sig { returns(T::Array[Integer]) }
54
- def codes; end
55
-
56
- sig { params(value: Numeric).returns(Integer) }
57
- def self.to_ansi_domain(value); end
58
- end
59
-
60
- class X11Named < Rainbow::Color::RGB
61
- include Rainbow::X11ColorNames
62
-
63
- sig { returns(T::Array[Symbol]) }
64
- def self.color_names; end
65
-
66
- sig { returns(String) }
67
- def self.valid_names; end
68
-
69
- sig { params(ground: Symbol, name: Symbol).void }
70
- def initialize(ground, name); end
71
- end
72
- end
73
-
74
- sig { returns(Wrapper) }
75
- def self.global; end
76
-
77
- sig { returns(T::Boolean) }
78
- def self.enabled; end
79
-
80
- sig { params(value: T::Boolean).returns(T::Boolean) }
81
- def self.enabled=(value); end
82
-
83
- sig { params(string: String).returns(String) }
84
- def self.uncolor(string); end
85
-
86
- class NullPresenter < String
87
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
88
- def color(*values); end
89
-
90
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
91
- def foreground(*values); end
92
-
93
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
94
- def fg(*values); end
95
-
96
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
97
- def background(*values); end
98
-
99
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
100
- def bg(*values); end
101
-
102
- sig { returns(NullPresenter) }
103
- def reset; end
104
-
105
- sig { returns(NullPresenter) }
106
- def bright; end
107
-
108
- sig { returns(NullPresenter) }
109
- def faint; end
110
-
111
- sig { returns(NullPresenter) }
112
- def italic; end
113
-
114
- sig { returns(NullPresenter) }
115
- def underline; end
116
-
117
- sig { returns(NullPresenter) }
118
- def blink; end
119
-
120
- sig { returns(NullPresenter) }
121
- def inverse; end
122
-
123
- sig { returns(NullPresenter) }
124
- def hide; end
125
-
126
- sig { returns(NullPresenter) }
127
- def cross_out; end
128
-
129
- sig { returns(NullPresenter) }
130
- def black; end
131
-
132
- sig { returns(NullPresenter) }
133
- def red; end
134
-
135
- sig { returns(NullPresenter) }
136
- def green; end
137
-
138
- sig { returns(NullPresenter) }
139
- def yellow; end
140
-
141
- sig { returns(NullPresenter) }
142
- def blue; end
143
-
144
- sig { returns(NullPresenter) }
145
- def magenta; end
146
-
147
- sig { returns(NullPresenter) }
148
- def cyan; end
149
-
150
- sig { returns(NullPresenter) }
151
- def white; end
152
-
153
- sig { returns(NullPresenter) }
154
- def bold; end
155
-
156
- sig { returns(NullPresenter) }
157
- def dark; end
158
-
159
- sig { returns(NullPresenter) }
160
- def strike; end
161
- end
162
-
163
- class Presenter < String
164
- TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
165
-
166
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
167
- def color(*values); end
168
-
169
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
170
- def foreground(*values); end
171
-
172
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
173
- def fg(*values); end
174
-
175
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
176
- def background(*values); end
177
-
178
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
179
- def bg(*values); end
180
-
181
- sig { returns(Presenter) }
182
- def reset; end
183
-
184
- sig { returns(Presenter) }
185
- def bright; end
186
-
187
- sig { returns(Presenter) }
188
- def faint; end
189
-
190
- sig { returns(Presenter) }
191
- def italic; end
192
-
193
- sig { returns(Presenter) }
194
- def underline; end
195
-
196
- sig { returns(Presenter) }
197
- def blink; end
198
-
199
- sig { returns(Presenter) }
200
- def inverse; end
201
-
202
- sig { returns(Presenter) }
203
- def hide; end
204
-
205
- sig { returns(Presenter) }
206
- def cross_out; end
207
-
208
- sig { returns(Presenter) }
209
- def black; end
210
-
211
- sig { returns(Presenter) }
212
- def red; end
213
-
214
- sig { returns(Presenter) }
215
- def green; end
216
-
217
- sig { returns(Presenter) }
218
- def yellow; end
219
-
220
- sig { returns(Presenter) }
221
- def blue; end
222
-
223
- sig { returns(Presenter) }
224
- def magenta; end
225
-
226
- sig { returns(Presenter) }
227
- def cyan; end
228
-
229
- sig { returns(Presenter) }
230
- def white; end
231
-
232
- sig { returns(Presenter) }
233
- def bold; end
234
-
235
- sig { returns(Presenter) }
236
- def dark; end
237
-
238
- sig { returns(Presenter) }
239
- def strike; end
240
- end
241
-
242
- class StringUtils
243
- sig { params(string: String, codes: T::Array[Integer]).returns(String) }
244
- def self.wrap_with_sgr(string, codes); end
245
-
246
- sig { params(string: String).returns(String) }
247
- def self.uncolor(string); end
248
- end
249
-
250
- VERSION = T.let(nil, String)
251
-
252
- class Wrapper
253
- sig { returns(T::Boolean) }
254
- attr_accessor :enabled
255
-
256
- sig { params(enabled: T::Boolean).void }
257
- def initialize(enabled = true); end
258
-
259
- sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
260
- def wrap(string); end
261
- end
262
-
263
- module X11ColorNames
264
- NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
265
- end
266
- end
267
-
268
- sig { params(string: String).returns(Rainbow::Presenter) }
269
- def Rainbow(string); end