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 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