ruby-lsp-rails-factory-bot 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)
|