solargraph 0.9.1 → 0.9.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 +2 -2
- data/lib/solargraph/code_map.rb +7 -0
- data/lib/solargraph/server.rb +2 -2
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/views/_method.erb +60 -0
- data/lib/solargraph/views/_namespace.erb +26 -0
- data/lib/solargraph/views/document.erb +16 -0
- metadata +8 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd9313a286cf130526a889c6e21b07e5de2498f8
|
4
|
+
data.tar.gz: 759db6af9c03b875c451cbde438c924aa2f9f855
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b5a23b6f4a27598cee4ef774958432f27b3d645d8126a970e941e7082c14ffcf6471a100b258055a789e4dbd89b1817a66e34ce5ebcf7f8a67ffb7ded0cf782
|
7
|
+
data.tar.gz: 7b644e646b415f3366e7461edbb381bd12bf5cf132ed79658aeddfdf9282cb209163474c2fceceb43687f9591fe846bd4ffec45c67f0afb3941120df90be438c
|
data/lib/solargraph/api_map.rb
CHANGED
@@ -614,7 +614,7 @@ module Solargraph
|
|
614
614
|
end
|
615
615
|
|
616
616
|
def mappable?(node)
|
617
|
-
return true if node.kind_of?(AST::Node) and [:array, :hash, :str, :int, :float].include?(node.type)
|
617
|
+
return true if node.kind_of?(AST::Node) and [:array, :hash, :str, :int, :float, :block].include?(node.type)
|
618
618
|
# TODO Add node.type :casgn (constant assignment)
|
619
619
|
if node.kind_of?(AST::Node) and (node.type == :class or node.type == :module or node.type == :def or node.type == :defs or node.type == :ivasgn or node.type == :gvasgn or node.type == :lvasgn or node.type == :or_asgn or node.type == :const or node.type == :lvar or node.type == :args or node.type == :kwargs)
|
620
620
|
true
|
@@ -650,7 +650,7 @@ module Solargraph
|
|
650
650
|
return node if node.type == :args
|
651
651
|
type = node.type
|
652
652
|
children = []
|
653
|
-
if node.type == :class
|
653
|
+
if node.type == :class or node.type == :block
|
654
654
|
children += node.children[0, 2]
|
655
655
|
children += get_mappable_nodes(node.children[2..-1], comment_hash)
|
656
656
|
#children += get_mappable_nodes(node.children, comment_hash)
|
data/lib/solargraph/code_map.rb
CHANGED
@@ -482,6 +482,13 @@ module Solargraph
|
|
482
482
|
if local.type == :def or local.type == :defs
|
483
483
|
result += get_method_arguments_from local
|
484
484
|
end
|
485
|
+
# Get block parameter variables
|
486
|
+
block_node = parent_node_from(index, :block)
|
487
|
+
unless block_node.nil? or block_node.children[1].nil?
|
488
|
+
block_node.children[1].children.each do |a|
|
489
|
+
result.push Suggestion.new(a.children[0], kind: Suggestion::PROPERTY)
|
490
|
+
end
|
491
|
+
end
|
485
492
|
result += api_map.get_methods('Kernel')
|
486
493
|
result
|
487
494
|
end
|
data/lib/solargraph/server.rb
CHANGED
@@ -43,7 +43,7 @@ module Solargraph
|
|
43
43
|
content_type :json
|
44
44
|
begin
|
45
45
|
sugg = []
|
46
|
-
workspace = params['workspace'] ||
|
46
|
+
workspace = params['workspace'] || nil
|
47
47
|
Server.prepare_workspace workspace unless @@api_hash.has_key?(workspace)
|
48
48
|
@@semaphore.synchronize {
|
49
49
|
code_map = CodeMap.new(code: params['text'], filename: params['filename'], api_map: @@api_hash[workspace])
|
@@ -62,7 +62,7 @@ module Solargraph
|
|
62
62
|
content_type :json
|
63
63
|
begin
|
64
64
|
sugg = []
|
65
|
-
workspace = params['workspace'] ||
|
65
|
+
workspace = params['workspace'] || nil
|
66
66
|
Server.prepare_workspace workspace unless @@api_hash.has_key?(workspace)
|
67
67
|
@@semaphore.synchronize {
|
68
68
|
code_map = CodeMap.new(code: params['text'], filename: params['filename'], api_map: @@api_hash[workspace])
|
data/lib/solargraph/version.rb
CHANGED
@@ -0,0 +1,60 @@
|
|
1
|
+
<h2>
|
2
|
+
Namespace:
|
3
|
+
</h2>
|
4
|
+
<p>
|
5
|
+
<a href="command:solargraph._openDocument?<%= URI.escape "\"solargraph:/document?#{object.namespace}\"" %>"><%= object.namespace %></a>
|
6
|
+
</p>
|
7
|
+
<h2>
|
8
|
+
Overview:
|
9
|
+
</h2>
|
10
|
+
<%= htmlify object.docstring %>
|
11
|
+
<h2>
|
12
|
+
Parameters:
|
13
|
+
</h2>
|
14
|
+
<% if object.parameters.empty? %>
|
15
|
+
<p>
|
16
|
+
None
|
17
|
+
</p>
|
18
|
+
<% else %>
|
19
|
+
<ul>
|
20
|
+
<% object.parameters.each do |p| %>
|
21
|
+
<li>
|
22
|
+
<%= p[0] %>
|
23
|
+
<%= " = #{p[1]}" unless p[1].nil? %>
|
24
|
+
</li>
|
25
|
+
<% end %>
|
26
|
+
</ul>
|
27
|
+
<% end %>
|
28
|
+
<h2>
|
29
|
+
Returns:
|
30
|
+
</h2>
|
31
|
+
<% if object.tag(:return).nil? %>
|
32
|
+
<p>
|
33
|
+
Undefined/unknown
|
34
|
+
</p>
|
35
|
+
<% else %>
|
36
|
+
<% tag = object.tag(:return) %>
|
37
|
+
<% unless tag.types.nil? or tag.types.empty? %>
|
38
|
+
<ul>
|
39
|
+
<% tag.types.each do |r| %>
|
40
|
+
<li>
|
41
|
+
<a href="command:solargraph._openDocument?<%= URI.escape "\"solargraph:/document?#{r}\"" %>"><%= r %></a>
|
42
|
+
</li>
|
43
|
+
<% end %>
|
44
|
+
</ul>
|
45
|
+
<% end %>
|
46
|
+
<% unless tag.text.empty? %>
|
47
|
+
<p>
|
48
|
+
<%= tag.text %>
|
49
|
+
</p>
|
50
|
+
<% end %>
|
51
|
+
<% end %>
|
52
|
+
<% examples = object.tags(:example) %>
|
53
|
+
<% unless examples.nil? %>
|
54
|
+
<% examples.each do |example| %>
|
55
|
+
<h2>
|
56
|
+
Example: <%= example.name %>
|
57
|
+
</h2>
|
58
|
+
<%= ruby_to_html example.text.strip %>
|
59
|
+
<% end %>
|
60
|
+
<% end %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<h2>
|
2
|
+
Overview:
|
3
|
+
</h2>
|
4
|
+
<%= htmlify object.docstring %>
|
5
|
+
<h2>
|
6
|
+
Class Methods
|
7
|
+
</h2>
|
8
|
+
<ul class="doc-list">
|
9
|
+
<% object.meths(scope: :class).sort{|a, b| a.name <=> b.name}.each do |meth| %>
|
10
|
+
<li>
|
11
|
+
<% esc = URI.escape("\"solargraph:/document?#{meth.path}\"").gsub('%23', URI.escape('%23')) %>
|
12
|
+
<a href="command:solargraph._openDocument?<%= esc %>"><%= meth.name %></a>
|
13
|
+
</li>
|
14
|
+
<% end %>
|
15
|
+
</ul>
|
16
|
+
<h2>
|
17
|
+
Instance Methods
|
18
|
+
</h2>
|
19
|
+
<ul class="doc-list">
|
20
|
+
<% object.meths(scope: :instance).sort{|a, b| a.name <=> b.name}.each do |meth| %>
|
21
|
+
<li>
|
22
|
+
<% esc = URI.escape("\"solargraph:/document?#{meth.path}\"").gsub('%23', URI.escape('%23')) %>
|
23
|
+
<a href="command:solargraph._openDocument?<%= esc %>"><%= meth.name %></a>
|
24
|
+
</li>
|
25
|
+
<% end %>
|
26
|
+
</ul>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% @objects.reverse.each do |object| %>
|
2
|
+
<h1>
|
3
|
+
<%= object.name %>
|
4
|
+
</h1>
|
5
|
+
<h2>
|
6
|
+
Defined in:
|
7
|
+
</h2>
|
8
|
+
<p>
|
9
|
+
<%= object.files.join(', ') %>
|
10
|
+
</p>
|
11
|
+
<% if object.kind_of?(YARD::CodeObjects::NamespaceObject) %>
|
12
|
+
<%= erb :_namespace, layout: false, locals: {object: object} %>
|
13
|
+
<% elsif object.kind_of?(YARD::CodeObjects::MethodObject) %>
|
14
|
+
<%= erb :_method, layout: false, locals: {object: object} %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
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.9.
|
4
|
+
version: 0.9.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-08-
|
11
|
+
date: 2017-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -107,25 +107,19 @@ dependencies:
|
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0'
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
110
|
+
name: simplecov
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: '
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 1.0.0
|
115
|
+
version: '0.14'
|
119
116
|
type: :development
|
120
117
|
prerelease: false
|
121
118
|
version_requirements: !ruby/object:Gem::Requirement
|
122
119
|
requirements:
|
123
120
|
- - "~>"
|
124
121
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 1.0.0
|
122
|
+
version: '0.14'
|
129
123
|
description: IDE tools for code analysis and autocompletion
|
130
124
|
email: admin@castwide.com
|
131
125
|
executables:
|
@@ -145,6 +139,9 @@ files:
|
|
145
139
|
- lib/solargraph/snippets.rb
|
146
140
|
- lib/solargraph/suggestion.rb
|
147
141
|
- lib/solargraph/version.rb
|
142
|
+
- lib/solargraph/views/_method.erb
|
143
|
+
- lib/solargraph/views/_namespace.erb
|
144
|
+
- lib/solargraph/views/document.erb
|
148
145
|
- lib/solargraph/views/layout.erb
|
149
146
|
- lib/solargraph/views/search.erb
|
150
147
|
- lib/solargraph/yard_map.rb
|