solargraph 0.13.1 → 0.13.2
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 +4 -4
- data/lib/solargraph/api_map.rb +28 -15
- data/lib/solargraph/code_map.rb +1 -1
- data/lib/solargraph/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed95e7c0676d9b744be9c8c006104ae42fdce15f
|
4
|
+
data.tar.gz: b67a658208dd50359c7b0aa0118c646b89696f93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b28a0447fd5d9f555ab0a94fbabb0e08df008107f882e1f6d993de857012d3b8c243d0c34fdbb133f9c3e20393534c683dfd10be485beb32d068f18c7a654c77
|
7
|
+
data.tar.gz: ee15faa36e173dfd9ca12f0b2eddc5225cf420136db7831adafea1303e585e49786b6e3b74ddc0618a22f6837381e93049a5319b1a14b1ec6e9e1f4dd089b3a7
|
data/lib/solargraph/api_map.rb
CHANGED
@@ -106,7 +106,7 @@ module Solargraph
|
|
106
106
|
|
107
107
|
def namespaces
|
108
108
|
refresh
|
109
|
-
|
109
|
+
namespace_map.keys
|
110
110
|
end
|
111
111
|
|
112
112
|
def namespace_exists? name, root = ''
|
@@ -153,7 +153,7 @@ module Solargraph
|
|
153
153
|
end
|
154
154
|
else
|
155
155
|
if (root == '')
|
156
|
-
return name unless
|
156
|
+
return name unless namespace_map[name].nil?
|
157
157
|
get_include_strings_from(*file_nodes).each { |i|
|
158
158
|
reroot = "#{root == '' ? '' : root + '::'}#{i}"
|
159
159
|
recname = find_fully_qualified_namespace name.to_s, reroot, skip
|
@@ -163,10 +163,10 @@ module Solargraph
|
|
163
163
|
roots = root.to_s.split('::')
|
164
164
|
while roots.length > 0
|
165
165
|
fqns = roots.join('::') + '::' + name
|
166
|
-
return fqns unless
|
166
|
+
return fqns unless namespace_map[fqns].nil?
|
167
167
|
roots.pop
|
168
168
|
end
|
169
|
-
return name unless
|
169
|
+
return name unless namespace_map[name].nil?
|
170
170
|
get_include_strings_from(*file_nodes).each { |i|
|
171
171
|
recname = find_fully_qualified_namespace name, i, skip
|
172
172
|
return recname unless recname.nil?
|
@@ -179,7 +179,7 @@ module Solargraph
|
|
179
179
|
def get_namespace_nodes(fqns)
|
180
180
|
return file_nodes if fqns == '' or fqns.nil?
|
181
181
|
refresh
|
182
|
-
|
182
|
+
namespace_map[fqns] || []
|
183
183
|
end
|
184
184
|
|
185
185
|
# @return [Array<Solargraph::Pin::InstanceVariable>]
|
@@ -432,6 +432,7 @@ module Solargraph
|
|
432
432
|
end
|
433
433
|
|
434
434
|
def get_path_suggestions path
|
435
|
+
refresh
|
435
436
|
result = []
|
436
437
|
if path.include?('#')
|
437
438
|
# It's an instance method
|
@@ -454,11 +455,21 @@ module Solargraph
|
|
454
455
|
|
455
456
|
private
|
456
457
|
|
458
|
+
# @return [Hash]
|
459
|
+
def namespace_map
|
460
|
+
@namespace_map ||= {}
|
461
|
+
end
|
462
|
+
|
463
|
+
# @return [Hash]
|
464
|
+
def namespace_tree
|
465
|
+
@namespace_tree ||= {}
|
466
|
+
end
|
467
|
+
|
457
468
|
def clear
|
458
469
|
@stale = false
|
459
470
|
@parent_stack = {}
|
460
|
-
|
461
|
-
|
471
|
+
namespace_map.clear
|
472
|
+
namespace_tree.clear
|
462
473
|
@required = []
|
463
474
|
end
|
464
475
|
|
@@ -482,8 +493,8 @@ module Solargraph
|
|
482
493
|
@namespace_includes = {}
|
483
494
|
@superclasses = {}
|
484
495
|
@parent_stack = {}
|
485
|
-
|
486
|
-
|
496
|
+
namespace_map.clear
|
497
|
+
namespace_tree.clear
|
487
498
|
@required = []
|
488
499
|
@pin_suggestions = {}
|
489
500
|
unless @virtual_source.nil?
|
@@ -491,8 +502,8 @@ module Solargraph
|
|
491
502
|
end
|
492
503
|
@sources.values.each do |s|
|
493
504
|
s.namespace_nodes.each_pair do |k, v|
|
494
|
-
|
495
|
-
|
505
|
+
namespace_map[k] ||= []
|
506
|
+
namespace_map[k].concat v
|
496
507
|
add_to_namespace_tree k.split('::')
|
497
508
|
end
|
498
509
|
end
|
@@ -506,11 +517,13 @@ module Solargraph
|
|
506
517
|
def process_virtual
|
507
518
|
unless @virtual_source.nil?
|
508
519
|
cache.clear
|
520
|
+
namespace_map.clear
|
521
|
+
namespace_tree.clear
|
509
522
|
@sources[@virtual_filename] = @virtual_source
|
510
523
|
@sources.values.each do |s|
|
511
524
|
s.namespace_nodes.each_pair do |k, v|
|
512
|
-
|
513
|
-
|
525
|
+
namespace_map[k] ||= []
|
526
|
+
namespace_map[k].concat v
|
514
527
|
add_to_namespace_tree k.split('::')
|
515
528
|
end
|
516
529
|
end
|
@@ -632,7 +645,7 @@ module Solargraph
|
|
632
645
|
skip.push fqns
|
633
646
|
nodes = get_namespace_nodes(fqns)
|
634
647
|
unless nodes.empty?
|
635
|
-
cursor =
|
648
|
+
cursor = namespace_tree
|
636
649
|
parts = fqns.split('::')
|
637
650
|
parts.each { |p|
|
638
651
|
cursor = cursor[p]
|
@@ -721,7 +734,7 @@ module Solargraph
|
|
721
734
|
end
|
722
735
|
|
723
736
|
def add_to_namespace_tree tree
|
724
|
-
cursor =
|
737
|
+
cursor = namespace_tree
|
725
738
|
tree.each { |t|
|
726
739
|
cursor[t.to_s] ||= {}
|
727
740
|
cursor = cursor[t.to_s]
|
data/lib/solargraph/code_map.rb
CHANGED
@@ -242,7 +242,7 @@ module Solargraph
|
|
242
242
|
end
|
243
243
|
end
|
244
244
|
else
|
245
|
-
result.concat api_map.get_instance_methods(type)
|
245
|
+
result.concat api_map.get_instance_methods(type) unless (type == '' and signature.include?('.'))
|
246
246
|
end
|
247
247
|
result = reduce_starting_with(result, word_at(index)) if filtered
|
248
248
|
result.uniq{|s| s.path}.sort{|a,b| a.label <=> b.label}
|
data/lib/solargraph/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solargraph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Snyder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|