ruby-lsp-rspec 0.1.2 → 0.1.4

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: '069b0b51df97131fda2b2f12ae5c60b121e137264ebfed035f7598109b6736d6'
4
+ data.tar.gz: ef08e13d94031ddb243085a85f24cf53ec57d67bcd32ef2feeae44c7c6e672a7
5
5
  SHA512:
6
- metadata.gz: 6368f975531fcb06413f84470a105b6b38a7979f2f5d69ff80ad760575e3283f329c54eabb31892c0dff8039a23aaae774b61e262e8f34ef0dbe97143633f0a3
7
- data.tar.gz: 6e6746eccc7164dfe3efa683cdbef3b7628ab436e9918338bc8707663caa5a03e1598229c38797d699466515cb03b3edd35e64df5ecd9def1ccec30fccf8fe79
6
+ metadata.gz: 9f09130b66123ed6d61f9857e7da3bcc575d5b154b53b331c77dfd0a578c46b5bb92276e53778b0148500986190da677efb2afea20804732b58e687f4933ddfa
7
+ data.tar.gz: 6b33d00c07a2ec17fc3fc9c77f6efcb3fda86481b40357f32e7cb5b9f045a6928c47ec2bc0d2d0781f11de9156cc72cf881b6f06f6179d5174d0b3204387b1e5
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 }
@@ -21,7 +21,7 @@ module RubyLsp
21
21
  sig do
22
22
  override.params(
23
23
  uri: URI::Generic,
24
- emitter: EventEmitter,
24
+ emitter: Prism::Dispatcher,
25
25
  message_queue: Thread::Queue,
26
26
  ).returns(T.nilable(Listener[T::Array[Interface::CodeLens]]))
27
27
  end
@@ -14,11 +14,11 @@ module RubyLsp
14
14
  sig { override.returns(ResponseType) }
15
15
  attr_reader :_response
16
16
 
17
- sig { params(uri: URI::Generic, emitter: EventEmitter, message_queue: Thread::Queue).void }
18
- def initialize(uri, emitter, message_queue)
17
+ sig { params(uri: URI::Generic, dispatcher: Prism::Dispatcher, message_queue: Thread::Queue).void }
18
+ def initialize(uri, dispatcher, 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
+ dispatcher.register(self, :on_call_node_enter)
22
22
 
23
23
  @base_command = T.let(
24
24
  begin
@@ -37,84 +37,46 @@ module RubyLsp
37
37
  String,
38
38
  )
39
39
 
40
- super(emitter, message_queue)
40
+ super(dispatcher, message_queue)
41
41
  end
42
42
 
43
- sig { params(node: SyntaxTree::CallNode).void }
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
43
+ sig { params(node: Prism::CallNode).void }
44
+ def on_call_node_enter(node)
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: Prism::CallNode).returns(String) }
58
+ def generate_name(node)
59
+ if node.arguments
60
+ argument = node.arguments.arguments.first
61
+
62
+ case argument
63
+ when Prism::StringNode
64
+ argument.content
65
+ when Prism::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: Prism::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.4"
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.4
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-19 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.12.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.12.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: []