solargraph 0.33.2 → 0.34.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.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/README.md +1 -1
  4. data/lib/solargraph.rb +5 -0
  5. data/lib/solargraph/api_map.rb +36 -18
  6. data/lib/solargraph/api_map/cache.rb +2 -0
  7. data/lib/solargraph/api_map/source_to_yard.rb +14 -5
  8. data/lib/solargraph/api_map/store.rb +17 -19
  9. data/lib/solargraph/bundle.rb +2 -0
  10. data/lib/solargraph/complex_type.rb +18 -4
  11. data/lib/solargraph/complex_type/type_methods.rb +2 -0
  12. data/lib/solargraph/complex_type/unique_type.rb +2 -0
  13. data/lib/solargraph/convention.rb +38 -0
  14. data/lib/solargraph/convention/base.rb +28 -0
  15. data/lib/solargraph/convention/gemfile.rb +18 -0
  16. data/lib/solargraph/convention/gemspec.rb +25 -0
  17. data/lib/solargraph/convention/rspec.rb +23 -0
  18. data/lib/solargraph/core_fills.rb +66 -42
  19. data/lib/solargraph/diagnostics.rb +2 -0
  20. data/lib/solargraph/diagnostics/base.rb +2 -0
  21. data/lib/solargraph/diagnostics/require_not_found.rb +2 -0
  22. data/lib/solargraph/diagnostics/rubocop.rb +2 -0
  23. data/lib/solargraph/diagnostics/rubocop_helpers.rb +2 -0
  24. data/lib/solargraph/diagnostics/severities.rb +15 -13
  25. data/lib/solargraph/diagnostics/type_check.rb +2 -0
  26. data/lib/solargraph/diagnostics/update_errors.rb +2 -0
  27. data/lib/solargraph/documentor.rb +42 -0
  28. data/lib/solargraph/environ.rb +40 -0
  29. data/lib/solargraph/language_server.rb +19 -17
  30. data/lib/solargraph/language_server/completion_item_kinds.rb +2 -0
  31. data/lib/solargraph/language_server/error_codes.rb +2 -0
  32. data/lib/solargraph/language_server/host.rb +3 -1
  33. data/lib/solargraph/language_server/host/cataloger.rb +2 -0
  34. data/lib/solargraph/language_server/host/diagnoser.rb +2 -0
  35. data/lib/solargraph/language_server/host/dispatch.rb +2 -0
  36. data/lib/solargraph/language_server/host/sources.rb +2 -0
  37. data/lib/solargraph/language_server/message.rb +2 -0
  38. data/lib/solargraph/language_server/message/base.rb +2 -0
  39. data/lib/solargraph/language_server/message/cancel_request.rb +13 -11
  40. data/lib/solargraph/language_server/message/client.rb +11 -9
  41. data/lib/solargraph/language_server/message/client/register_capability.rb +15 -13
  42. data/lib/solargraph/language_server/message/completion_item.rb +11 -9
  43. data/lib/solargraph/language_server/message/completion_item/resolve.rb +2 -0
  44. data/lib/solargraph/language_server/message/exit_notification.rb +2 -0
  45. data/lib/solargraph/language_server/message/extended.rb +2 -0
  46. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +2 -0
  47. data/lib/solargraph/language_server/message/extended/document.rb +2 -0
  48. data/lib/solargraph/language_server/message/extended/document_gems.rb +2 -0
  49. data/lib/solargraph/language_server/message/extended/download_core.rb +27 -25
  50. data/lib/solargraph/language_server/message/extended/environment.rb +5 -0
  51. data/lib/solargraph/language_server/message/extended/search.rb +2 -0
  52. data/lib/solargraph/language_server/message/initialize.rb +2 -0
  53. data/lib/solargraph/language_server/message/initialized.rb +2 -0
  54. data/lib/solargraph/language_server/message/method_not_found.rb +16 -14
  55. data/lib/solargraph/language_server/message/method_not_implemented.rb +14 -12
  56. data/lib/solargraph/language_server/message/shutdown.rb +2 -0
  57. data/lib/solargraph/language_server/message/text_document.rb +2 -0
  58. data/lib/solargraph/language_server/message/text_document/base.rb +19 -17
  59. data/lib/solargraph/language_server/message/text_document/code_action.rb +2 -0
  60. data/lib/solargraph/language_server/message/text_document/completion.rb +3 -1
  61. data/lib/solargraph/language_server/message/text_document/definition.rb +2 -0
  62. data/lib/solargraph/language_server/message/text_document/did_change.rb +2 -0
  63. data/lib/solargraph/language_server/message/text_document/did_close.rb +15 -13
  64. data/lib/solargraph/language_server/message/text_document/did_open.rb +15 -13
  65. data/lib/solargraph/language_server/message/text_document/did_save.rb +17 -15
  66. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +2 -0
  67. data/lib/solargraph/language_server/message/text_document/folding_range.rb +2 -0
  68. data/lib/solargraph/language_server/message/text_document/formatting.rb +8 -1
  69. data/lib/solargraph/language_server/message/text_document/hover.rb +3 -1
  70. data/lib/solargraph/language_server/message/text_document/on_type_formatting.rb +2 -0
  71. data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +2 -0
  72. data/lib/solargraph/language_server/message/text_document/references.rb +2 -0
  73. data/lib/solargraph/language_server/message/text_document/rename.rb +2 -0
  74. data/lib/solargraph/language_server/message/text_document/signature_help.rb +7 -1
  75. data/lib/solargraph/language_server/message/workspace.rb +2 -0
  76. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +2 -0
  77. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +2 -0
  78. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
  79. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +2 -0
  80. data/lib/solargraph/language_server/message_types.rb +14 -12
  81. data/lib/solargraph/language_server/request.rb +2 -0
  82. data/lib/solargraph/language_server/symbol_kinds.rb +2 -0
  83. data/lib/solargraph/language_server/transport.rb +2 -0
  84. data/lib/solargraph/language_server/transport/adapter.rb +2 -0
  85. data/lib/solargraph/language_server/transport/data_reader.rb +3 -1
  86. data/lib/solargraph/language_server/uri_helpers.rb +2 -0
  87. data/lib/solargraph/library.rb +2 -0
  88. data/lib/solargraph/location.rb +2 -0
  89. data/lib/solargraph/logging.rb +2 -0
  90. data/lib/solargraph/page.rb +2 -0
  91. data/lib/solargraph/pin.rb +3 -20
  92. data/lib/solargraph/pin/attribute.rb +2 -4
  93. data/lib/solargraph/pin/base.rb +3 -5
  94. data/lib/solargraph/pin/base_method.rb +2 -4
  95. data/lib/solargraph/pin/base_variable.rb +2 -0
  96. data/lib/solargraph/pin/block.rb +2 -4
  97. data/lib/solargraph/pin/class_variable.rb +2 -3
  98. data/lib/solargraph/pin/closure.rb +9 -0
  99. data/lib/solargraph/pin/common.rb +3 -5
  100. data/lib/solargraph/pin/constant.rb +2 -4
  101. data/lib/solargraph/pin/conversions.rb +4 -2
  102. data/lib/solargraph/pin/documenting.rb +2 -0
  103. data/lib/solargraph/pin/duck_method.rb +2 -0
  104. data/lib/solargraph/pin/global_variable.rb +2 -3
  105. data/lib/solargraph/pin/instance_variable.rb +2 -4
  106. data/lib/solargraph/pin/keyword.rb +2 -4
  107. data/lib/solargraph/pin/keyword_param.rb +8 -0
  108. data/lib/solargraph/pin/local_variable.rb +2 -4
  109. data/lib/solargraph/pin/localized.rb +2 -0
  110. data/lib/solargraph/pin/method.rb +14 -4
  111. data/lib/solargraph/pin/method_alias.rb +2 -4
  112. data/lib/solargraph/pin/namespace.rb +22 -14
  113. data/lib/solargraph/pin/parameter.rb +4 -6
  114. data/lib/solargraph/pin/proxy_type.rb +2 -0
  115. data/lib/solargraph/pin/reference.rb +2 -0
  116. data/lib/solargraph/pin/reference/extend.rb +2 -3
  117. data/lib/solargraph/pin/reference/include.rb +2 -3
  118. data/lib/solargraph/pin/reference/override.rb +12 -3
  119. data/lib/solargraph/pin/reference/require.rb +2 -4
  120. data/lib/solargraph/pin/reference/superclass.rb +2 -3
  121. data/lib/solargraph/pin/singleton.rb +2 -0
  122. data/lib/solargraph/pin/symbol.rb +2 -4
  123. data/lib/solargraph/pin/yard_pin.rb +2 -0
  124. data/lib/solargraph/pin/yard_pin/constant.rb +7 -3
  125. data/lib/solargraph/pin/yard_pin/method.rb +12 -10
  126. data/lib/solargraph/pin/yard_pin/namespace.rb +9 -4
  127. data/lib/solargraph/pin/yard_pin/yard_mixin.rb +30 -3
  128. data/lib/solargraph/position.rb +2 -0
  129. data/lib/solargraph/range.rb +2 -0
  130. data/lib/solargraph/server_methods.rb +2 -0
  131. data/lib/solargraph/shell.rb +33 -2
  132. data/lib/solargraph/source.rb +2 -0
  133. data/lib/solargraph/source/chain.rb +2 -0
  134. data/lib/solargraph/source/chain/call.rb +63 -14
  135. data/lib/solargraph/source/chain/class_variable.rb +2 -0
  136. data/lib/solargraph/source/chain/constant.rb +18 -11
  137. data/lib/solargraph/source/chain/global_variable.rb +2 -0
  138. data/lib/solargraph/source/chain/head.rb +2 -0
  139. data/lib/solargraph/source/chain/instance_variable.rb +2 -0
  140. data/lib/solargraph/source/chain/link.rb +2 -0
  141. data/lib/solargraph/source/chain/literal.rb +2 -0
  142. data/lib/solargraph/source/chain/or.rb +2 -0
  143. data/lib/solargraph/source/chain/variable.rb +2 -0
  144. data/lib/solargraph/source/change.rb +2 -0
  145. data/lib/solargraph/source/cursor.rb +4 -1
  146. data/lib/solargraph/source/encoding_fixes.rb +2 -0
  147. data/lib/solargraph/source/flawed_builder.rb +15 -13
  148. data/lib/solargraph/source/node_chainer.rb +2 -0
  149. data/lib/solargraph/source/node_methods.rb +9 -5
  150. data/lib/solargraph/source/source_chainer.rb +2 -0
  151. data/lib/solargraph/source/updater.rb +52 -50
  152. data/lib/solargraph/source_map.rb +15 -7
  153. data/lib/solargraph/source_map/clip.rb +35 -3
  154. data/lib/solargraph/source_map/completion.rb +2 -0
  155. data/lib/solargraph/source_map/mapper.rb +2 -0
  156. data/lib/solargraph/source_map/node_processor.rb +2 -0
  157. data/lib/solargraph/source_map/node_processor/alias_node.rb +2 -0
  158. data/lib/solargraph/source_map/node_processor/args_node.rb +2 -0
  159. data/lib/solargraph/source_map/node_processor/base.rb +5 -3
  160. data/lib/solargraph/source_map/node_processor/begin_node.rb +2 -0
  161. data/lib/solargraph/source_map/node_processor/block_node.rb +2 -0
  162. data/lib/solargraph/source_map/node_processor/casgn_node.rb +2 -0
  163. data/lib/solargraph/source_map/node_processor/cvasgn_node.rb +2 -0
  164. data/lib/solargraph/source_map/node_processor/def_node.rb +2 -0
  165. data/lib/solargraph/source_map/node_processor/defs_node.rb +2 -0
  166. data/lib/solargraph/source_map/node_processor/gvasgn_node.rb +2 -0
  167. data/lib/solargraph/source_map/node_processor/ivasgn_node.rb +3 -1
  168. data/lib/solargraph/source_map/node_processor/lvasgn_node.rb +2 -0
  169. data/lib/solargraph/source_map/node_processor/namespace_node.rb +4 -1
  170. data/lib/solargraph/source_map/node_processor/orasgn_node.rb +2 -0
  171. data/lib/solargraph/source_map/node_processor/resbody_node.rb +2 -0
  172. data/lib/solargraph/source_map/node_processor/sclass_node.rb +2 -0
  173. data/lib/solargraph/source_map/node_processor/send_node.rb +11 -6
  174. data/lib/solargraph/source_map/node_processor/sym_node.rb +2 -0
  175. data/lib/solargraph/source_map/region.rb +2 -0
  176. data/lib/solargraph/type_checker.rb +35 -17
  177. data/lib/solargraph/type_checker/param_def.rb +2 -0
  178. data/lib/solargraph/type_checker/problem.rb +2 -0
  179. data/lib/solargraph/version.rb +3 -1
  180. data/lib/solargraph/views/document.erb +3 -3
  181. data/lib/solargraph/views/environment.erb +3 -0
  182. data/lib/solargraph/workspace.rb +5 -1
  183. data/lib/solargraph/workspace/config.rb +14 -0
  184. data/lib/solargraph/yard_map.rb +64 -5
  185. data/lib/solargraph/yard_map/cache.rb +2 -0
  186. data/lib/solargraph/yard_map/core_docs.rb +2 -0
  187. data/lib/solargraph/yard_map/core_gen.rb +2 -0
  188. data/lib/solargraph/yard_map/mapper.rb +15 -14
  189. data/lib/solargraph/yard_map/rdoc_to_yard.rb +129 -0
  190. data/lib/yard-solargraph.rb +8 -0
  191. metadata +11 -2
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Solargraph
2
4
  class YardMap
3
5
  class Cache
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'net/http'
2
4
  require 'uri'
3
5
  require 'json'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fileutils'
2
4
  require 'tmpdir'
3
5
  require 'pathname'
@@ -1,6 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Solargraph
2
4
  class YardMap
3
5
  class Mapper
6
+ @@object_file_cache = {}
7
+
4
8
  # @param code_objects [Array<YARD::CodeObject::Base>]
5
9
  # @param spec [Gem::Specification]
6
10
  def initialize code_objects, spec = nil
@@ -22,9 +26,8 @@ module Solargraph
22
26
  # @return [Array<Pin::Base>]
23
27
  def generate_pins code_object
24
28
  result = []
25
- location = object_location(code_object, @spec)
26
29
  if code_object.is_a?(YARD::CodeObjects::NamespaceObject)
27
- nspin = Solargraph::Pin::YardPin::Namespace.new(code_object, location)
30
+ nspin = Solargraph::Pin::YardPin::Namespace.new(code_object, @spec)
28
31
  @namespace_pins[code_object.path] = nspin
29
32
  result.push nspin
30
33
  if code_object.is_a?(YARD::CodeObjects::ClassObject) and !code_object.superclass.nil?
@@ -36,14 +39,13 @@ module Solargraph
36
39
  else
37
40
  superclass = code_object.superclass.to_s
38
41
  end
39
- result.push Solargraph::Pin::Reference::Superclass.new(location: location, name: superclass, closure: nspin)
42
+ result.push Solargraph::Pin::Reference::Superclass.new(name: superclass, closure: nspin)
40
43
  end
41
44
  code_object.class_mixins.each do |m|
42
- result.push Solargraph::Pin::Reference::Extend.new(location: location, closure: nspin, name: m.path)
45
+ result.push Solargraph::Pin::Reference::Extend.new(closure: nspin, name: m.path)
43
46
  end
44
47
  code_object.instance_mixins.each do |m|
45
48
  result.push Solargraph::Pin::Reference::Include.new(
46
- location: location,
47
49
  closure: nspin, # @todo Fix this
48
50
  name: m.path
49
51
  )
@@ -52,30 +54,29 @@ module Solargraph
52
54
  closure = @namespace_pins[code_object.namespace.to_s]
53
55
  if code_object.name == :initialize && code_object.scope == :instance
54
56
  # @todo Check the visibility of <Class>.new
55
- result.push Solargraph::Pin::YardPin::Method.new(code_object, location, 'new', :class, :public, closure)
56
- result.push Solargraph::Pin::YardPin::Method.new(code_object, location, 'initialize', :instance, :private, closure)
57
+ result.push Solargraph::Pin::YardPin::Method.new(code_object, 'new', :class, :public, closure, @spec)
58
+ result.push Solargraph::Pin::YardPin::Method.new(code_object, 'initialize', :instance, :private, closure, @spec)
57
59
  else
58
- result.push Solargraph::Pin::YardPin::Method.new(code_object, location, nil, nil, nil, closure)
60
+ result.push Solargraph::Pin::YardPin::Method.new(code_object, nil, nil, nil, closure, @spec)
59
61
  end
60
62
  elsif code_object.is_a?(YARD::CodeObjects::ConstantObject)
61
63
  closure = @namespace_pins[code_object.namespace]
62
- result.push Solargraph::Pin::YardPin::Constant.new(code_object, location, closure)
64
+ result.push Solargraph::Pin::YardPin::Constant.new(code_object, closure, @spec)
63
65
  end
64
66
  result
65
67
  end
66
68
 
67
69
  # @param obj [YARD::CodeObjects::Base]
68
70
  # @return [Solargraph::Location, nil]
69
- def object_location obj, spec = nil
70
- @object_file_cache ||= {}
71
+ def self.object_location obj, spec = nil
71
72
  return nil if spec.nil? || obj.file.nil? || obj.line.nil?
72
73
  file = nil
73
- if @object_file_cache.key?(obj.file)
74
- file = @object_file_cache[obj.file]
74
+ if @@object_file_cache.key?(obj.file)
75
+ file = @@object_file_cache[obj.file]
75
76
  else
76
77
  tmp = File.join(spec.full_gem_path, obj.file)
77
78
  file = tmp if File.exist?(tmp)
78
- @object_file_cache[obj.file] = file
79
+ @@object_file_cache[obj.file] = file
79
80
  end
80
81
  return nil if file.nil?
81
82
  Solargraph::Location.new(file, Solargraph::Range.from_to(obj.line - 1, 0, obj.line - 1, 0))
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rdoc'
4
+ require 'rdoc/rdoc'
5
+ require 'tmpdir'
6
+ require 'fileutils'
7
+
8
+ module Solargraph
9
+ class YardMap
10
+ module RdocToYard
11
+ extend ApiMap::SourceToYard
12
+
13
+ # @param spec [Gem::Specification]
14
+ def self.run spec
15
+ Dir.mktmpdir do |tmpdir|
16
+ rdir = File.join(tmpdir, 'rdoc')
17
+ Dir.chdir spec.full_gem_path do
18
+ pins = []
19
+ pins.push Solargraph::Pin::ROOT_PIN
20
+ name_hash = {}
21
+ cmd = "rdoc -q -N -r -o #{rdir}"
22
+ spec.load_paths.each do |path|
23
+ cmd += " -i #{path}"
24
+ end
25
+ `#{cmd}`
26
+ store = RDoc::Store.new(rdir)
27
+ store.load_all
28
+ store.cache[:modules].each do |mod|
29
+ # store.load_class(mod)
30
+ # @type [RDoc::NormalClass]
31
+ mod = store.find_class_or_module(mod)
32
+ closure = pins.select { |pin| pin.path == mod.full_name.split('::')[0..-2].join('::') }.first || pins.first
33
+ namepin = Solargraph::Pin::Namespace.new(
34
+ type: (mod.module? ? :module : :class),
35
+ name: mod.name,
36
+ comments: commentary(mod.comment),
37
+ closure: closure,
38
+ location: locate(mod)
39
+ )
40
+ mod.parse(mod.comment_location)
41
+ # @param inc [RDoc::Include]
42
+ mod.includes.each do |inc|
43
+ pins.push Solargraph::Pin::Reference::Include.new(
44
+ location: locate(inc),
45
+ name: inc.name,
46
+ closure: namepin
47
+ )
48
+ end
49
+ # @param inc [RDoc::Extend]
50
+ mod.extends.each do |ext|
51
+ pins.push Solargraph::Pin::Reference::Extend.new(
52
+ location: locate(ext),
53
+ name: ext.name,
54
+ closure: namepin
55
+ )
56
+ end
57
+ pins.push namepin
58
+ name_hash[mod.full_name] = namepin
59
+ # @param met [RDoc::AnyMethod]
60
+ mod.each_method do |met|
61
+ pin = Solargraph::SourceMap.load_string("def Object.tmp#{met.param_seq};end").first_pin('Object.tmp') || Solargraph::Pin::BaseMethod.new
62
+ pins.push Solargraph::Pin::Method.new(
63
+ name: met.name,
64
+ closure: namepin,
65
+ comments: commentary(met.comment),
66
+ scope: met.type.to_sym,
67
+ args: pin.parameters,
68
+ visibility: met.visibility,
69
+ location: locate(met)
70
+ )
71
+ end
72
+ # @param const [RDoc::Constant]
73
+ mod.each_constant do |const|
74
+ pins.push Solargraph::Pin::Constant.new(
75
+ name: const.name,
76
+ closure: namepin,
77
+ comments: commentary(const.comment),
78
+ location: locate(const)
79
+ )
80
+ end
81
+ end
82
+ mapstore = Solargraph::ApiMap::Store.new(pins)
83
+ rake_yard(mapstore)
84
+ YARD::Registry.clear
85
+ code_object_map.values.each do |co|
86
+ YARD::Registry.register(co)
87
+ end
88
+ cache_dir = File.join(Solargraph::YardMap::CoreDocs.cache_dir, 'gems', "#{spec.name}-#{spec.version}", "yardoc")
89
+ FileUtils.remove_entry_secure cache_dir if File.exist?(cache_dir)
90
+ FileUtils.mkdir_p cache_dir
91
+ # @todo Should merge be true?
92
+ YARD::Registry.save true, cache_dir
93
+ end
94
+ end
95
+ end
96
+
97
+ def self.base_name mod
98
+ mod.full_name.split('::')[0..-2].join('::')
99
+ end
100
+
101
+ def self.commentary cmnt
102
+ result = []
103
+ cmnt.parts.each do |part|
104
+ result.push RDoc::Markup::ToHtml.new({}).to_html(part.text) if part.respond_to?(:text)
105
+ end
106
+ result.join("\n\n")
107
+ end
108
+
109
+ # @param obj [RDoc::Context]
110
+ def self.locate obj
111
+ # @todo line is always nil for some reason
112
+ file, line = find_file(obj)
113
+ return nil if file.nil?
114
+ Location.new(
115
+ file,
116
+ Range.from_to(line || 1, 0, line || 1, 0)
117
+ )
118
+ end
119
+
120
+ def self.find_file obj
121
+ if obj.respond_to?(:in_files) && !obj.in_files.empty?
122
+ [obj.in_files.first.to_s.sub(/^file /, ''), obj.in_files.first.line]
123
+ else
124
+ [obj.file_name, obj.line]
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yard'
2
4
 
3
5
  module Solargraph
@@ -14,6 +16,12 @@ YARD::Tags::Library.define_tag("Type", :type, :with_types_and_name)
14
16
  YARD::Tags::Library.define_tag("Yieldself", :yieldself, :with_types)
15
17
  # Define a @yieldpublic tag for documenting block domains
16
18
  YARD::Tags::Library.define_tag("Yieldpublic", :yieldpublic, :with_types)
19
+ # Define a @return_single_parameter tag for returning e.g. Array parameters
20
+ YARD::Tags::Library.define_tag('ReturnSingleParameter', :return_single_parameter)
21
+ # Define a @yieldparam_single_parameter tag for yielding e.g. Array parameters
22
+ YARD::Tags::Library.define_tag('YieldparamSingleParameter', :yieldparam_single_parameter)
23
+ # Define a @return_value_parameter tag for returning e.g. Hash values
24
+ YARD::Tags::Library.define_tag('ReturnValueParameter', :return_value_parameter)
17
25
  # Define a @!domain directive for documenting DSLs
18
26
  YARD::Tags::Library.define_directive("domain", :with_types, Solargraph::DomainDirective)
19
27
  # Define an @!override directive for overriding method tags
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.33.2
4
+ version: 0.34.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: 2019-06-21 00:00:00.000000000 Z
11
+ date: 2019-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport
@@ -262,6 +262,11 @@ files:
262
262
  - lib/solargraph/complex_type.rb
263
263
  - lib/solargraph/complex_type/type_methods.rb
264
264
  - lib/solargraph/complex_type/unique_type.rb
265
+ - lib/solargraph/convention.rb
266
+ - lib/solargraph/convention/base.rb
267
+ - lib/solargraph/convention/gemfile.rb
268
+ - lib/solargraph/convention/gemspec.rb
269
+ - lib/solargraph/convention/rspec.rb
265
270
  - lib/solargraph/core_fills.rb
266
271
  - lib/solargraph/diagnostics.rb
267
272
  - lib/solargraph/diagnostics/base.rb
@@ -271,6 +276,8 @@ files:
271
276
  - lib/solargraph/diagnostics/severities.rb
272
277
  - lib/solargraph/diagnostics/type_check.rb
273
278
  - lib/solargraph/diagnostics/update_errors.rb
279
+ - lib/solargraph/documentor.rb
280
+ - lib/solargraph/environ.rb
274
281
  - lib/solargraph/language_server.rb
275
282
  - lib/solargraph/language_server/completion_item_kinds.rb
276
283
  - lib/solargraph/language_server/error_codes.rb
@@ -349,6 +356,7 @@ files:
349
356
  - lib/solargraph/pin/global_variable.rb
350
357
  - lib/solargraph/pin/instance_variable.rb
351
358
  - lib/solargraph/pin/keyword.rb
359
+ - lib/solargraph/pin/keyword_param.rb
352
360
  - lib/solargraph/pin/local_variable.rb
353
361
  - lib/solargraph/pin/localized.rb
354
362
  - lib/solargraph/pin/method.rb
@@ -435,6 +443,7 @@ files:
435
443
  - lib/solargraph/yard_map/core_docs.rb
436
444
  - lib/solargraph/yard_map/core_gen.rb
437
445
  - lib/solargraph/yard_map/mapper.rb
446
+ - lib/solargraph/yard_map/rdoc_to_yard.rb
438
447
  - lib/yard-solargraph.rb
439
448
  - solargraph.gemspec
440
449
  - travis-bundler.rb