solargraph 0.9.1 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3993f33469901ac1b7d51659d9452a48adcd0e3f
4
- data.tar.gz: de8f13ed8c39b332b7837fca4bcdfd8516ca8c1f
3
+ metadata.gz: dd9313a286cf130526a889c6e21b07e5de2498f8
4
+ data.tar.gz: 759db6af9c03b875c451cbde438c924aa2f9f855
5
5
  SHA512:
6
- metadata.gz: 0fdcec41d5a9b6920596d30f16a719948e74b3432b53584a0621b05f7c6d815e5bc5e69748737ef4c415db67061682babefeac0cf28c4cc73e69b8927b86b768
7
- data.tar.gz: f6daf69d9d06dba1b7fea6e29ed5a2d8c336cfccbe3c33ab29cbb2fa05c79eca886f1e1474ed92ba5cc11a7eeb71ed6fbdedc5de96fc8ecd52c634fe91417209
6
+ metadata.gz: 9b5a23b6f4a27598cee4ef774958432f27b3d645d8126a970e941e7082c14ffcf6471a100b258055a789e4dbd89b1817a66e34ce5ebcf7f8a67ffb7ded0cf782
7
+ data.tar.gz: 7b644e646b415f3366e7461edbb381bd12bf5cf132ed79658aeddfdf9282cb209163474c2fceceb43687f9591fe846bd4ffec45c67f0afb3941120df90be438c
@@ -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)
@@ -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
@@ -43,7 +43,7 @@ module Solargraph
43
43
  content_type :json
44
44
  begin
45
45
  sugg = []
46
- workspace = params['workspace'] || CodeMap.find_workspace(params['filename'])
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'] || CodeMap.find_workspace(params['filename'])
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])
@@ -1,3 +1,3 @@
1
1
  module Solargraph
2
- VERSION = '0.9.1'
2
+ VERSION = '0.9.2'
3
3
  end
@@ -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.1
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-01 00:00:00.000000000 Z
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: codeclimate-test-reporter
110
+ name: simplecov
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '1.0'
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: '1.0'
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