ruby-lsp-rspec 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70ca8698ce3d421e1e0160e74eaee948a90fcc20f284599749903797af11a8b4
4
- data.tar.gz: 32cae6d7a1d8ecc2b3b2d0aeab0f68d4a93cd554e8308a66a538d43f161422e0
3
+ metadata.gz: abd13dc9d8a0e8606740056b6540c082227a48587cbd6bb13b8592a7c62b09ca
4
+ data.tar.gz: 22e7f07f29b8129cedb214a8d644d50bf6851d24ba7591f099b5c7184faf52f9
5
5
  SHA512:
6
- metadata.gz: 6368f975531fcb06413f84470a105b6b38a7979f2f5d69ff80ad760575e3283f329c54eabb31892c0dff8039a23aaae774b61e262e8f34ef0dbe97143633f0a3
7
- data.tar.gz: 6e6746eccc7164dfe3efa683cdbef3b7628ab436e9918338bc8707663caa5a03e1598229c38797d699466515cb03b3edd35e64df5ecd9def1ccec30fccf8fe79
6
+ metadata.gz: 74fc67112efba1457a4bbaebd53f1e0a0a642a0270c83bd065c6d92f49e9bc3e6c3275146efcef15da9d8b720d116589dbc2637dc46c37789a603d822ca1f415
7
+ data.tar.gz: 2ab1f1fcd7a1ec6f019ff7fe6be9e155c0a3c634a0658920d200d492723ee34f5fac160ac2bf0eac72860169c31e276d5662ec5ef59378b95b013933451af919
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ruby-lsp-rspec.svg)](https://badge.fury.io/rb/ruby-lsp-rspec)
4
4
 
5
- Ruby LSP RSpec is a [Ruby LSP](https://github.com/Shopify/ruby-lsp) extension for displaying CodeLens for RSpec tests.
5
+ Ruby LSP RSpec is a [Ruby LSP](https://github.com/Shopify/ruby-lsp) addon for displaying CodeLens for RSpec tests.
6
6
 
7
7
  ![Screenshot of the code lenses](/misc/example.gif)
8
8
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  require "sorbet-runtime"
5
5
  require "ruby_lsp_rspec/version"
6
- require "ruby_lsp/ruby_lsp_rspec/extension"
6
+ require "ruby_lsp/ruby_lsp_rspec/addon"
7
7
 
8
8
  module RubyLsp
9
9
  module RSpec
@@ -1,14 +1,14 @@
1
1
  # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
- require "ruby_lsp/extension"
4
+ require "ruby_lsp/addon"
5
5
  require "ruby_lsp/internal"
6
6
 
7
7
  require_relative "code_lens"
8
8
 
9
9
  module RubyLsp
10
10
  module RSpec
11
- class Extension < ::RubyLsp::Extension
11
+ class Addon < ::RubyLsp::Addon
12
12
  extend T::Sig
13
13
 
14
14
  sig { override.void }
@@ -18,7 +18,7 @@ module RubyLsp
18
18
  def initialize(uri, emitter, message_queue)
19
19
  @_response = T.let([], ResponseType)
20
20
  @path = T.let(uri.to_standardized_path, T.nilable(String))
21
- emitter.register(self, :on_command, :on_command_call, :on_call)
21
+ emitter.register(self, :on_call)
22
22
 
23
23
  @base_command = T.let(
24
24
  begin
@@ -40,81 +40,43 @@ module RubyLsp
40
40
  super(emitter, message_queue)
41
41
  end
42
42
 
43
- sig { params(node: SyntaxTree::CallNode).void }
43
+ sig { params(node: YARP::CallNode).void }
44
44
  def on_call(node)
45
- add_group_code_lens(node)
46
- end
47
-
48
- sig { params(node: SyntaxTree::CommandCall).void }
49
- def on_command_call(node)
50
- add_group_code_lens(node)
51
- end
52
-
53
- sig { params(node: SyntaxTree::Command).void }
54
- def on_command(node)
55
- message_value = node.message.value
45
+ message_value = node.message
56
46
  if message_value == "it"
57
- argument = node.arguments.parts.first
58
-
59
- name = case argument
60
- when SyntaxTree::StringLiteral
61
- argument.parts.first.value
62
- when SyntaxTree::VarRef
63
- argument.value.value
64
- end
65
-
47
+ name = generate_name(node)
66
48
  add_test_code_lens(node, name: name, kind: :example)
67
49
  elsif message_value == "describe" || message_value == "context"
68
- add_group_code_lens(node)
69
- end
70
- end
71
-
72
- private
50
+ return if node.receiver && node.receiver.name.to_s != "RSpec"
73
51
 
74
- sig do
75
- params(node: T.any(
76
- SyntaxTree::StringLiteral,
77
- SyntaxTree::ConstPathRef,
78
- SyntaxTree::ConstRef,
79
- SyntaxTree::TopConstRef,
80
- SyntaxTree::VarRef,
81
- )).returns(T.nilable(String))
82
- end
83
- def get_group_name(node)
84
- case node
85
- when SyntaxTree::StringLiteral
86
- node.parts.first.value
87
- when SyntaxTree::ConstPathRef, SyntaxTree::ConstRef, SyntaxTree::TopConstRef
88
- full_constant_name(node)
89
- when SyntaxTree::VarRef
90
- node.value.value
52
+ name = generate_name(node)
53
+ add_test_code_lens(node, name: name, kind: :group)
91
54
  end
92
55
  end
93
56
 
94
- sig { params(node: T.any(SyntaxTree::CallNode, SyntaxTree::CommandCall, SyntaxTree::Command)).void }
95
- def add_group_code_lens(node)
96
- return unless node.message.value == "describe" || node.message.value == "context"
97
-
98
- case node
99
- when SyntaxTree::CommandCall, SyntaxTree::CallNode
100
- return if node.receiver && node.receiver.value.value != "RSpec"
101
- end
102
-
103
- argument = case node
104
- when SyntaxTree::CallNode
105
- node.arguments.arguments.parts.first
106
- when SyntaxTree::CommandCall, SyntaxTree::Command
107
- node.arguments.parts.first
57
+ sig { params(node: YARP::CallNode).returns(String) }
58
+ def generate_name(node)
59
+ if node.arguments
60
+ argument = node.arguments.arguments.first
61
+
62
+ case argument
63
+ when YARP::StringNode
64
+ argument.content
65
+ when YARP::CallNode
66
+ "<#{argument.name}>"
67
+ when nil
68
+ ""
69
+ else
70
+ argument.slice
71
+ end
72
+ else
73
+ "<unnamed>"
108
74
  end
109
-
110
- name = get_group_name(argument)
111
-
112
- return unless name
113
-
114
- add_test_code_lens(node, name: name, kind: :group)
115
75
  end
116
76
 
117
- sig { params(node: SyntaxTree::Node, name: String, kind: Symbol).void }
77
+ private
78
+
79
+ sig { params(node: YARP::Node, name: String, kind: Symbol).void }
118
80
  def add_test_code_lens(node, name:, kind:)
119
81
  return unless @path
120
82
 
@@ -3,6 +3,6 @@
3
3
 
4
4
  module RubyLsp
5
5
  module RSpec
6
- VERSION = "0.1.2"
6
+ VERSION = "0.1.3"
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.2
4
+ version: 0.1.3
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-18 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-lsp
@@ -16,15 +16,15 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.1
19
+ version: 0.11.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.10.1
27
- description: RSpec extension for ruby-lsp
26
+ version: 0.11.0
27
+ description: RSpec addon for ruby-lsp
28
28
  email:
29
29
  - stan001212@gmail.com
30
30
  executables: []
@@ -39,8 +39,8 @@ files:
39
39
  - README.md
40
40
  - Rakefile
41
41
  - lib/ruby-lsp-rspec.rb
42
+ - lib/ruby_lsp/ruby_lsp_rspec/addon.rb
42
43
  - lib/ruby_lsp/ruby_lsp_rspec/code_lens.rb
43
- - lib/ruby_lsp/ruby_lsp_rspec/extension.rb
44
44
  - lib/ruby_lsp_rspec/version.rb
45
45
  homepage: https://github.com/st0012/ruby-lsp-rspec
46
46
  licenses:
@@ -67,5 +67,5 @@ requirements: []
67
67
  rubygems_version: 3.4.10
68
68
  signing_key:
69
69
  specification_version: 4
70
- summary: RSpec extension for ruby-lsp
70
+ summary: RSpec addon for ruby-lsp
71
71
  test_files: []