solargraph 0.28.4 → 0.29.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 +4 -4
- data/lib/solargraph/api_map.rb +43 -10
- data/lib/solargraph/api_map/store.rb +13 -0
- data/lib/solargraph/bundle.rb +3 -0
- data/lib/solargraph/complex_type.rb +5 -4
- data/lib/solargraph/core_fills.rb +3 -2
- data/lib/solargraph/language_server/host.rb +0 -1
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +4 -3
- data/lib/solargraph/language_server/message/extended/document_gems.rb +7 -0
- data/lib/solargraph/language_server/transport/socket.rb +7 -1
- data/lib/solargraph/library.rb +1 -1
- data/lib/solargraph/page.rb +1 -2
- data/lib/solargraph/pin.rb +1 -0
- data/lib/solargraph/pin/base.rb +8 -1
- data/lib/solargraph/pin/base_variable.rb +1 -1
- data/lib/solargraph/pin/block_parameter.rb +5 -0
- data/lib/solargraph/pin/conversions.rb +1 -1
- data/lib/solargraph/pin/method.rb +59 -1
- data/lib/solargraph/pin/method_alias.rb +19 -0
- data/lib/solargraph/pin/yard_pin/method.rb +2 -2
- data/lib/solargraph/source.rb +63 -1
- data/lib/solargraph/source/chain/call.rb +39 -20
- data/lib/solargraph/source/node_chainer.rb +1 -1
- data/lib/solargraph/source/node_methods.rb +81 -0
- data/lib/solargraph/source_map.rb +15 -0
- data/lib/solargraph/source_map/clip.rb +1 -1
- data/lib/solargraph/source_map/mapper.rb +9 -421
- data/lib/solargraph/source_map/node_processor.rb +75 -0
- data/lib/solargraph/source_map/node_processor/alias_node.rb +21 -0
- data/lib/solargraph/source_map/node_processor/args_node.rb +28 -0
- data/lib/solargraph/source_map/node_processor/base.rb +68 -0
- data/lib/solargraph/source_map/node_processor/begin_node.rb +11 -0
- data/lib/solargraph/source_map/node_processor/block_node.rb +14 -0
- data/lib/solargraph/source_map/node_processor/casgn_node.rb +14 -0
- data/lib/solargraph/source_map/node_processor/cvasgn_node.rb +14 -0
- data/lib/solargraph/source_map/node_processor/def_node.rb +54 -0
- data/lib/solargraph/source_map/node_processor/defs_node.rb +21 -0
- data/lib/solargraph/source_map/node_processor/gvasgn_node.rb +12 -0
- data/lib/solargraph/source_map/node_processor/ivasgn_node.rb +18 -0
- data/lib/solargraph/source_map/node_processor/lvasgn_node.rb +16 -0
- data/lib/solargraph/source_map/node_processor/namespace_node.rb +26 -0
- data/lib/solargraph/source_map/node_processor/orasgn_node.rb +12 -0
- data/lib/solargraph/source_map/node_processor/sclass_node.rb +11 -0
- data/lib/solargraph/source_map/node_processor/send_node.rb +150 -0
- data/lib/solargraph/source_map/node_processor/sym_node.rb +11 -0
- data/lib/solargraph/source_map/region.rb +58 -0
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/yard_map.rb +17 -10
- data/lib/yard-solargraph.rb +0 -2
- metadata +24 -18
@@ -0,0 +1,58 @@
|
|
1
|
+
module Solargraph
|
2
|
+
class SourceMap
|
3
|
+
# Data used by the NodeProcessor library to track context at various
|
4
|
+
# locations in a source.
|
5
|
+
#
|
6
|
+
class Region
|
7
|
+
# @return [String]
|
8
|
+
attr_reader :namespace
|
9
|
+
|
10
|
+
# @return [Symbol]
|
11
|
+
attr_reader :scope
|
12
|
+
|
13
|
+
# @return [Symbol]
|
14
|
+
attr_reader :visibility
|
15
|
+
|
16
|
+
# @return [Solargraph::Source]
|
17
|
+
attr_reader :source
|
18
|
+
|
19
|
+
# @param source [Source]
|
20
|
+
# @param namespace [String]
|
21
|
+
# @param scope [Symbol]
|
22
|
+
# @param visibility [Symbol]
|
23
|
+
def initialize source: Solargraph::Source.load_string(''), namespace: '',
|
24
|
+
scope: :instance, visibility: :public
|
25
|
+
@source = source
|
26
|
+
@namespace = namespace
|
27
|
+
@scope = scope
|
28
|
+
@visibility = visibility
|
29
|
+
end
|
30
|
+
|
31
|
+
# @return [String]
|
32
|
+
def filename
|
33
|
+
source.filename
|
34
|
+
end
|
35
|
+
|
36
|
+
# Generate a new Region with the provided attribute changes.
|
37
|
+
#
|
38
|
+
# @param namespace [String, nil]
|
39
|
+
# @param scope [Symbol, nil]
|
40
|
+
# @param visibility [Symbol, nil]
|
41
|
+
# @return [Region]
|
42
|
+
def update namespace: nil, scope: nil, visibility: nil
|
43
|
+
Region.new(
|
44
|
+
source: source,
|
45
|
+
namespace: namespace || self.namespace,
|
46
|
+
scope: scope || self.scope,
|
47
|
+
visibility: visibility || self.visibility
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
# @param node [Parser::AST::Node]
|
52
|
+
# @return [String]
|
53
|
+
def code_for node
|
54
|
+
source.code_for(node)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/lib/solargraph/version.rb
CHANGED
data/lib/solargraph/yard_map.rb
CHANGED
@@ -23,10 +23,14 @@ module Solargraph
|
|
23
23
|
# @return [Array<String>]
|
24
24
|
attr_reader :required
|
25
25
|
|
26
|
+
attr_writer :with_dependencies
|
27
|
+
|
26
28
|
# @param required [Array<String>]
|
27
|
-
|
29
|
+
# @param skip_dependencies [Boolean]
|
30
|
+
def initialize(required: [], with_dependencies: true)
|
28
31
|
# HACK: YardMap needs its own copy of this array
|
29
32
|
@required = required.clone
|
33
|
+
@with_dependencies = with_dependencies
|
30
34
|
@gem_paths = {}
|
31
35
|
@stdlib_namespaces = []
|
32
36
|
process_requires
|
@@ -38,6 +42,11 @@ module Solargraph
|
|
38
42
|
@pins ||= []
|
39
43
|
end
|
40
44
|
|
45
|
+
def with_dependencies?
|
46
|
+
@with_dependencies ||= true unless @with_dependencies == false
|
47
|
+
@with_dependencies
|
48
|
+
end
|
49
|
+
|
41
50
|
# @param new_requires [Array<String>]
|
42
51
|
# @return [Boolean]
|
43
52
|
def change new_requires
|
@@ -176,8 +185,7 @@ module Solargraph
|
|
176
185
|
unless yardocs.include?(yd)
|
177
186
|
yardocs.unshift yd
|
178
187
|
result.concat process_yardoc yd
|
179
|
-
|
180
|
-
# result.concat add_gem_dependencies spec
|
188
|
+
result.concat add_gem_dependencies(spec) if with_dependencies?
|
181
189
|
end
|
182
190
|
end
|
183
191
|
rescue Gem::LoadError => e
|
@@ -231,17 +239,16 @@ module Solargraph
|
|
231
239
|
(spec.dependencies - spec.development_dependencies).each do |dep|
|
232
240
|
begin
|
233
241
|
depspec = Gem::Specification.find_by_name(dep.name)
|
234
|
-
|
242
|
+
next if depspec.nil? || @gem_paths.key?(depspec.name)
|
243
|
+
@gem_paths[depspec.name] = depspec.full_gem_path
|
235
244
|
gy = YARD::Registry.yardoc_file_for_gem(dep.name)
|
236
245
|
if gy.nil?
|
237
246
|
unresolved_requires.push dep.name
|
238
247
|
else
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
# result.concat add_gem_dependencies(depspec)
|
244
|
-
end
|
248
|
+
next if yardocs.include?(gy)
|
249
|
+
yardocs.unshift gy
|
250
|
+
result.concat process_yardoc gy
|
251
|
+
result.concat add_gem_dependencies(depspec)
|
245
252
|
end
|
246
253
|
rescue Gem::LoadError
|
247
254
|
# This error probably indicates a bug in an installed gem
|
data/lib/yard-solargraph.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solargraph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Snyder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: coderay
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.1'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.1'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: eventmachine
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,14 +70,14 @@ dependencies:
|
|
84
70
|
requirements:
|
85
71
|
- - "~>"
|
86
72
|
- !ruby/object:Gem::Version
|
87
|
-
version: '2.
|
73
|
+
version: '2.3'
|
88
74
|
type: :runtime
|
89
75
|
prerelease: false
|
90
76
|
version_requirements: !ruby/object:Gem::Requirement
|
91
77
|
requirements:
|
92
78
|
- - "~>"
|
93
79
|
- !ruby/object:Gem::Version
|
94
|
-
version: '2.
|
80
|
+
version: '2.3'
|
95
81
|
- !ruby/object:Gem::Dependency
|
96
82
|
name: reverse_markdown
|
97
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -324,6 +310,7 @@ files:
|
|
324
310
|
- lib/solargraph/pin/local_variable.rb
|
325
311
|
- lib/solargraph/pin/localized.rb
|
326
312
|
- lib/solargraph/pin/method.rb
|
313
|
+
- lib/solargraph/pin/method_alias.rb
|
327
314
|
- lib/solargraph/pin/method_parameter.rb
|
328
315
|
- lib/solargraph/pin/namespace.rb
|
329
316
|
- lib/solargraph/pin/plugin/method.rb
|
@@ -371,6 +358,25 @@ files:
|
|
371
358
|
- lib/solargraph/source_map/clip.rb
|
372
359
|
- lib/solargraph/source_map/completion.rb
|
373
360
|
- lib/solargraph/source_map/mapper.rb
|
361
|
+
- lib/solargraph/source_map/node_processor.rb
|
362
|
+
- lib/solargraph/source_map/node_processor/alias_node.rb
|
363
|
+
- lib/solargraph/source_map/node_processor/args_node.rb
|
364
|
+
- lib/solargraph/source_map/node_processor/base.rb
|
365
|
+
- lib/solargraph/source_map/node_processor/begin_node.rb
|
366
|
+
- lib/solargraph/source_map/node_processor/block_node.rb
|
367
|
+
- lib/solargraph/source_map/node_processor/casgn_node.rb
|
368
|
+
- lib/solargraph/source_map/node_processor/cvasgn_node.rb
|
369
|
+
- lib/solargraph/source_map/node_processor/def_node.rb
|
370
|
+
- lib/solargraph/source_map/node_processor/defs_node.rb
|
371
|
+
- lib/solargraph/source_map/node_processor/gvasgn_node.rb
|
372
|
+
- lib/solargraph/source_map/node_processor/ivasgn_node.rb
|
373
|
+
- lib/solargraph/source_map/node_processor/lvasgn_node.rb
|
374
|
+
- lib/solargraph/source_map/node_processor/namespace_node.rb
|
375
|
+
- lib/solargraph/source_map/node_processor/orasgn_node.rb
|
376
|
+
- lib/solargraph/source_map/node_processor/sclass_node.rb
|
377
|
+
- lib/solargraph/source_map/node_processor/send_node.rb
|
378
|
+
- lib/solargraph/source_map/node_processor/sym_node.rb
|
379
|
+
- lib/solargraph/source_map/region.rb
|
374
380
|
- lib/solargraph/version.rb
|
375
381
|
- lib/solargraph/views/_method.erb
|
376
382
|
- lib/solargraph/views/_name_type_tag.erb
|