ruby-lsp-rails-factory-bot 0.3.0 → 0.4.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36e804a6875a0e627b7723e82840cbd502cc7dd4d352a740e9d7917379a2929a
|
4
|
+
data.tar.gz: e87ef45262a4740710ceae3229b7f681faaf002987d5a611f355e80a4e883378
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a60ac6a177b638d4ecb930c2ccb0c0f59f1d457b421ebdcd6b64f55efe26aa179d8de68b80498b7701929c34a357410bc1e0d195835b51dc95312834648790ce
|
7
|
+
data.tar.gz: aa3ea96af8da24ef905db823967fac046a2a6900bb1f39033d8cbd20a5e284003df43669272ad48ff9eec49c5a433be534145d0855171d4423443114a9b2cc02
|
@@ -32,13 +32,8 @@ module RubyLsp
|
|
32
32
|
Completion.new(response_builder, node_context, dispatcher, runner_client)
|
33
33
|
end
|
34
34
|
|
35
|
-
# TODO: need URI param to be able to filter by file name
|
36
35
|
def create_hover_listener(response_builder, node_context, dispatcher)
|
37
|
-
|
38
|
-
register_addon!
|
39
|
-
return
|
40
|
-
end
|
41
|
-
|
36
|
+
register_addon!
|
42
37
|
Hover.new(response_builder, node_context, dispatcher, runner_client, @ruby_index)
|
43
38
|
end
|
44
39
|
|
@@ -43,8 +43,12 @@ module RubyLsp
|
|
43
43
|
in [^symbol_node, *]
|
44
44
|
handle_factory(symbol_node)
|
45
45
|
in [Prism::SymbolNode => _factory_node, *, ^symbol_node] |
|
46
|
+
[Prism::SymbolNode => _factory_node, *, ^symbol_node, Prism::KeywordHashNode] |
|
47
|
+
[Prism::SymbolNode => _factory_node, *, ^symbol_node, Prism::HashNode] |
|
46
48
|
[Prism::SymbolNode => _factory_node, ^symbol_node, *] |
|
47
|
-
[Prism::SymbolNode => _factory_node,
|
49
|
+
[Prism::SymbolNode => _factory_node, Prism::IntegerNode, ^symbol_node, *] |
|
50
|
+
[Prism::SymbolNode => _factory_node, Prism::IntegerNode, *, ^symbol_node, Prism::KeywordHashNode] |
|
51
|
+
[Prism::SymbolNode => _factory_node, Prism::IntegerNode, *, ^symbol_node, Prism::HashNode]
|
48
52
|
|
49
53
|
handle_trait(symbol_node, _factory_node)
|
50
54
|
|
@@ -88,6 +92,11 @@ module RubyLsp
|
|
88
92
|
@response_builder.push(hint, category: :documentation)
|
89
93
|
end
|
90
94
|
|
95
|
+
def trait_tooltip(trait, factory_name)
|
96
|
+
source = trait[:source]&.length&.positive? ? trait[:source] : nil
|
97
|
+
source || "#{trait[:name]} (trait of #{trait[:owner] || factory_name})"
|
98
|
+
end
|
99
|
+
|
91
100
|
def handle_trait(symbol_node, factory_node)
|
92
101
|
factory_name = factory_node.value.to_s
|
93
102
|
trait_name = symbol_node.value.to_s
|
@@ -98,10 +107,7 @@ module RubyLsp
|
|
98
107
|
|
99
108
|
return unless trait
|
100
109
|
|
101
|
-
@response_builder.push(
|
102
|
-
"#{trait[:name]} (trait of #{trait[:owner] || factory_name})",
|
103
|
-
category: :documentation,
|
104
|
-
)
|
110
|
+
@response_builder.push(trait_tooltip(trait, factory_name), category: :documentation)
|
105
111
|
end
|
106
112
|
|
107
113
|
def make_request(request_name, **params)
|