solargraph 0.13.1 → 0.13.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|