solargraph 0.44.2 → 0.46.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 (246) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +41 -0
  3. data/.gitignore +9 -9
  4. data/.rspec +2 -2
  5. data/.travis.yml +19 -19
  6. data/CHANGELOG.md +1115 -1088
  7. data/Gemfile +0 -0
  8. data/LICENSE +0 -0
  9. data/README.md +128 -120
  10. data/Rakefile +0 -0
  11. data/SPONSORS.md +18 -15
  12. data/bin/solargraph +0 -0
  13. data/lib/solargraph/api_map/bundler_methods.rb +22 -22
  14. data/lib/solargraph/api_map/cache.rb +70 -70
  15. data/lib/solargraph/api_map/source_to_yard.rb +81 -81
  16. data/lib/solargraph/api_map/store.rb +256 -256
  17. data/lib/solargraph/api_map.rb +686 -681
  18. data/lib/solargraph/bench.rb +27 -27
  19. data/lib/solargraph/compat.rb +37 -37
  20. data/lib/solargraph/complex_type/type_methods.rb +130 -130
  21. data/lib/solargraph/complex_type/unique_type.rb +75 -75
  22. data/lib/solargraph/complex_type.rb +221 -221
  23. data/lib/solargraph/convention/base.rb +33 -33
  24. data/lib/solargraph/convention/gemfile.rb +15 -15
  25. data/lib/solargraph/convention/gemspec.rb +22 -22
  26. data/lib/solargraph/convention/rspec.rb +30 -21
  27. data/lib/solargraph/convention.rb +47 -47
  28. data/lib/solargraph/converters/dd.rb +12 -12
  29. data/lib/solargraph/converters/dl.rb +12 -12
  30. data/lib/solargraph/converters/dt.rb +12 -12
  31. data/lib/solargraph/converters/misc.rb +1 -1
  32. data/lib/solargraph/diagnostics/base.rb +29 -29
  33. data/lib/solargraph/diagnostics/require_not_found.rb +53 -37
  34. data/lib/solargraph/diagnostics/rubocop.rb +98 -98
  35. data/lib/solargraph/diagnostics/rubocop_helpers.rb +63 -63
  36. data/lib/solargraph/diagnostics/severities.rb +15 -15
  37. data/lib/solargraph/diagnostics/type_check.rb +54 -54
  38. data/lib/solargraph/diagnostics/update_errors.rb +41 -41
  39. data/lib/solargraph/diagnostics.rb +55 -55
  40. data/lib/solargraph/documentor.rb +76 -76
  41. data/lib/solargraph/environ.rb +45 -45
  42. data/lib/solargraph/language_server/completion_item_kinds.rb +35 -35
  43. data/lib/solargraph/language_server/error_codes.rb +20 -20
  44. data/lib/solargraph/language_server/host/cataloger.rb +56 -56
  45. data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
  46. data/lib/solargraph/language_server/host/dispatch.rb +111 -111
  47. data/lib/solargraph/language_server/host/message_worker.rb +59 -59
  48. data/lib/solargraph/language_server/host/sources.rb +156 -156
  49. data/lib/solargraph/language_server/host.rb +865 -865
  50. data/lib/solargraph/language_server/message/base.rb +89 -89
  51. data/lib/solargraph/language_server/message/cancel_request.rb +13 -13
  52. data/lib/solargraph/language_server/message/client/register_capability.rb +15 -15
  53. data/lib/solargraph/language_server/message/client.rb +11 -11
  54. data/lib/solargraph/language_server/message/completion_item/resolve.rb +58 -58
  55. data/lib/solargraph/language_server/message/completion_item.rb +11 -11
  56. data/lib/solargraph/language_server/message/exit_notification.rb +13 -13
  57. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +100 -100
  58. data/lib/solargraph/language_server/message/extended/document.rb +20 -20
  59. data/lib/solargraph/language_server/message/extended/document_gems.rb +32 -32
  60. data/lib/solargraph/language_server/message/extended/download_core.rb +23 -23
  61. data/lib/solargraph/language_server/message/extended/environment.rb +25 -25
  62. data/lib/solargraph/language_server/message/extended/search.rb +20 -20
  63. data/lib/solargraph/language_server/message/extended.rb +21 -21
  64. data/lib/solargraph/language_server/message/initialize.rb +162 -162
  65. data/lib/solargraph/language_server/message/initialized.rb +27 -27
  66. data/lib/solargraph/language_server/message/method_not_found.rb +16 -16
  67. data/lib/solargraph/language_server/message/method_not_implemented.rb +14 -14
  68. data/lib/solargraph/language_server/message/shutdown.rb +13 -13
  69. data/lib/solargraph/language_server/message/text_document/base.rb +19 -19
  70. data/lib/solargraph/language_server/message/text_document/code_action.rb +17 -17
  71. data/lib/solargraph/language_server/message/text_document/completion.rb +59 -59
  72. data/lib/solargraph/language_server/message/text_document/definition.rb +38 -38
  73. data/lib/solargraph/language_server/message/text_document/did_change.rb +15 -15
  74. data/lib/solargraph/language_server/message/text_document/did_close.rb +15 -15
  75. data/lib/solargraph/language_server/message/text_document/did_open.rb +15 -15
  76. data/lib/solargraph/language_server/message/text_document/did_save.rb +17 -17
  77. data/lib/solargraph/language_server/message/text_document/document_highlight.rb +16 -16
  78. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +23 -23
  79. data/lib/solargraph/language_server/message/text_document/folding_range.rb +26 -26
  80. data/lib/solargraph/language_server/message/text_document/formatting.rb +126 -126
  81. data/lib/solargraph/language_server/message/text_document/hover.rb +54 -44
  82. data/lib/solargraph/language_server/message/text_document/on_type_formatting.rb +34 -34
  83. data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +11 -11
  84. data/lib/solargraph/language_server/message/text_document/references.rb +16 -16
  85. data/lib/solargraph/language_server/message/text_document/rename.rb +19 -19
  86. data/lib/solargraph/language_server/message/text_document/signature_help.rb +29 -29
  87. data/lib/solargraph/language_server/message/text_document.rb +28 -28
  88. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +30 -30
  89. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +33 -33
  90. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +24 -24
  91. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +23 -23
  92. data/lib/solargraph/language_server/message/workspace.rb +14 -14
  93. data/lib/solargraph/language_server/message.rb +93 -93
  94. data/lib/solargraph/language_server/message_types.rb +14 -14
  95. data/lib/solargraph/language_server/request.rb +24 -24
  96. data/lib/solargraph/language_server/symbol_kinds.rb +36 -36
  97. data/lib/solargraph/language_server/transport/adapter.rb +53 -53
  98. data/lib/solargraph/language_server/transport/data_reader.rb +72 -72
  99. data/lib/solargraph/language_server/transport.rb +13 -13
  100. data/lib/solargraph/language_server/uri_helpers.rb +49 -49
  101. data/lib/solargraph/language_server.rb +19 -19
  102. data/lib/solargraph/library.rb +546 -546
  103. data/lib/solargraph/location.rb +37 -37
  104. data/lib/solargraph/logging.rb +27 -27
  105. data/lib/solargraph/page.rb +83 -83
  106. data/lib/solargraph/parser/comment_ripper.rb +52 -52
  107. data/lib/solargraph/parser/legacy/class_methods.rb +135 -140
  108. data/lib/solargraph/parser/legacy/flawed_builder.rb +16 -16
  109. data/lib/solargraph/parser/legacy/node_chainer.rb +148 -148
  110. data/lib/solargraph/parser/legacy/node_methods.rb +325 -325
  111. data/lib/solargraph/parser/legacy/node_processors/alias_node.rb +23 -23
  112. data/lib/solargraph/parser/legacy/node_processors/args_node.rb +35 -35
  113. data/lib/solargraph/parser/legacy/node_processors/begin_node.rb +15 -15
  114. data/lib/solargraph/parser/legacy/node_processors/block_node.rb +42 -42
  115. data/lib/solargraph/parser/legacy/node_processors/casgn_node.rb +25 -25
  116. data/lib/solargraph/parser/legacy/node_processors/cvasgn_node.rb +23 -23
  117. data/lib/solargraph/parser/legacy/node_processors/def_node.rb +63 -63
  118. data/lib/solargraph/parser/legacy/node_processors/defs_node.rb +36 -36
  119. data/lib/solargraph/parser/legacy/node_processors/gvasgn_node.rb +23 -23
  120. data/lib/solargraph/parser/legacy/node_processors/ivasgn_node.rb +38 -38
  121. data/lib/solargraph/parser/legacy/node_processors/lvasgn_node.rb +28 -28
  122. data/lib/solargraph/parser/legacy/node_processors/namespace_node.rb +39 -39
  123. data/lib/solargraph/parser/legacy/node_processors/orasgn_node.rb +16 -16
  124. data/lib/solargraph/parser/legacy/node_processors/resbody_node.rb +36 -36
  125. data/lib/solargraph/parser/legacy/node_processors/sclass_node.rb +21 -21
  126. data/lib/solargraph/parser/legacy/node_processors/send_node.rb +257 -257
  127. data/lib/solargraph/parser/legacy/node_processors/sym_node.rb +18 -18
  128. data/lib/solargraph/parser/legacy/node_processors.rb +54 -54
  129. data/lib/solargraph/parser/legacy.rb +12 -12
  130. data/lib/solargraph/parser/node_methods.rb +43 -43
  131. data/lib/solargraph/parser/node_processor/base.rb +77 -77
  132. data/lib/solargraph/parser/node_processor.rb +43 -43
  133. data/lib/solargraph/parser/region.rb +66 -66
  134. data/lib/solargraph/parser/rubyvm/class_methods.rb +144 -155
  135. data/lib/solargraph/parser/rubyvm/node_chainer.rb +160 -160
  136. data/lib/solargraph/parser/rubyvm/node_methods.rb +315 -315
  137. data/lib/solargraph/parser/rubyvm/node_processors/alias_node.rb +23 -23
  138. data/lib/solargraph/parser/rubyvm/node_processors/args_node.rb +85 -85
  139. data/lib/solargraph/parser/rubyvm/node_processors/begin_node.rb +15 -15
  140. data/lib/solargraph/parser/rubyvm/node_processors/block_node.rb +42 -42
  141. data/lib/solargraph/parser/rubyvm/node_processors/casgn_node.rb +22 -22
  142. data/lib/solargraph/parser/rubyvm/node_processors/cvasgn_node.rb +23 -23
  143. data/lib/solargraph/parser/rubyvm/node_processors/def_node.rb +63 -64
  144. data/lib/solargraph/parser/rubyvm/node_processors/defs_node.rb +57 -57
  145. data/lib/solargraph/parser/rubyvm/node_processors/gvasgn_node.rb +23 -23
  146. data/lib/solargraph/parser/rubyvm/node_processors/ivasgn_node.rb +38 -38
  147. data/lib/solargraph/parser/rubyvm/node_processors/kw_arg_node.rb +39 -39
  148. data/lib/solargraph/parser/rubyvm/node_processors/lit_node.rb +20 -20
  149. data/lib/solargraph/parser/rubyvm/node_processors/lvasgn_node.rb +27 -27
  150. data/lib/solargraph/parser/rubyvm/node_processors/namespace_node.rb +39 -39
  151. data/lib/solargraph/parser/rubyvm/node_processors/opt_arg_node.rb +26 -26
  152. data/lib/solargraph/parser/rubyvm/node_processors/orasgn_node.rb +15 -15
  153. data/lib/solargraph/parser/rubyvm/node_processors/resbody_node.rb +45 -45
  154. data/lib/solargraph/parser/rubyvm/node_processors/sclass_node.rb +21 -21
  155. data/lib/solargraph/parser/rubyvm/node_processors/scope_node.rb +15 -15
  156. data/lib/solargraph/parser/rubyvm/node_processors/send_node.rb +277 -277
  157. data/lib/solargraph/parser/rubyvm/node_processors/sym_node.rb +18 -18
  158. data/lib/solargraph/parser/rubyvm/node_processors.rb +63 -62
  159. data/lib/solargraph/parser/rubyvm.rb +40 -40
  160. data/lib/solargraph/parser/snippet.rb +13 -13
  161. data/lib/solargraph/parser.rb +26 -26
  162. data/lib/solargraph/pin/base.rb +296 -296
  163. data/lib/solargraph/pin/base_variable.rb +84 -84
  164. data/lib/solargraph/pin/block.rb +72 -72
  165. data/lib/solargraph/pin/class_variable.rb +8 -8
  166. data/lib/solargraph/pin/closure.rb +37 -37
  167. data/lib/solargraph/pin/common.rb +70 -70
  168. data/lib/solargraph/pin/constant.rb +43 -43
  169. data/lib/solargraph/pin/conversions.rb +96 -96
  170. data/lib/solargraph/pin/documenting.rb +105 -105
  171. data/lib/solargraph/pin/duck_method.rb +16 -16
  172. data/lib/solargraph/pin/global_variable.rb +8 -8
  173. data/lib/solargraph/pin/instance_variable.rb +30 -30
  174. data/lib/solargraph/pin/keyword.rb +15 -15
  175. data/lib/solargraph/pin/keyword_param.rb +8 -8
  176. data/lib/solargraph/pin/local_variable.rb +55 -55
  177. data/lib/solargraph/pin/method.rb +245 -245
  178. data/lib/solargraph/pin/method_alias.rb +31 -31
  179. data/lib/solargraph/pin/namespace.rb +91 -91
  180. data/lib/solargraph/pin/parameter.rb +201 -206
  181. data/lib/solargraph/pin/proxy_type.rb +29 -29
  182. data/lib/solargraph/pin/reference/extend.rb +10 -10
  183. data/lib/solargraph/pin/reference/include.rb +10 -10
  184. data/lib/solargraph/pin/reference/override.rb +29 -29
  185. data/lib/solargraph/pin/reference/prepend.rb +10 -10
  186. data/lib/solargraph/pin/reference/require.rb +14 -14
  187. data/lib/solargraph/pin/reference/superclass.rb +10 -10
  188. data/lib/solargraph/pin/reference.rb +14 -14
  189. data/lib/solargraph/pin/search.rb +56 -0
  190. data/lib/solargraph/pin/singleton.rb +11 -11
  191. data/lib/solargraph/pin/symbol.rb +47 -47
  192. data/lib/solargraph/pin.rb +37 -36
  193. data/lib/solargraph/position.rb +100 -100
  194. data/lib/solargraph/range.rb +95 -95
  195. data/lib/solargraph/server_methods.rb +16 -16
  196. data/lib/solargraph/shell.rb +226 -226
  197. data/lib/solargraph/source/chain/block_variable.rb +13 -13
  198. data/lib/solargraph/source/chain/call.rb +204 -204
  199. data/lib/solargraph/source/chain/class_variable.rb +13 -13
  200. data/lib/solargraph/source/chain/constant.rb +75 -75
  201. data/lib/solargraph/source/chain/global_variable.rb +13 -13
  202. data/lib/solargraph/source/chain/hash.rb +28 -28
  203. data/lib/solargraph/source/chain/head.rb +19 -19
  204. data/lib/solargraph/source/chain/instance_variable.rb +13 -13
  205. data/lib/solargraph/source/chain/link.rb +71 -71
  206. data/lib/solargraph/source/chain/literal.rb +23 -23
  207. data/lib/solargraph/source/chain/or.rb +23 -23
  208. data/lib/solargraph/source/chain/q_call.rb +11 -11
  209. data/lib/solargraph/source/chain/variable.rb +13 -13
  210. data/lib/solargraph/source/chain/z_super.rb +30 -30
  211. data/lib/solargraph/source/chain.rb +164 -164
  212. data/lib/solargraph/source/change.rb +79 -79
  213. data/lib/solargraph/source/cursor.rb +164 -164
  214. data/lib/solargraph/source/source_chainer.rb +191 -191
  215. data/lib/solargraph/source/updater.rb +54 -54
  216. data/lib/solargraph/source.rb +522 -522
  217. data/lib/solargraph/source_map/clip.rb +224 -224
  218. data/lib/solargraph/source_map/completion.rb +23 -23
  219. data/lib/solargraph/source_map/mapper.rb +212 -212
  220. data/lib/solargraph/source_map.rb +180 -189
  221. data/lib/solargraph/type_checker/checks.rb +99 -99
  222. data/lib/solargraph/type_checker/param_def.rb +35 -35
  223. data/lib/solargraph/type_checker/problem.rb +32 -32
  224. data/lib/solargraph/type_checker/rules.rb +57 -57
  225. data/lib/solargraph/type_checker.rb +543 -510
  226. data/lib/solargraph/version.rb +5 -5
  227. data/lib/solargraph/views/environment.erb +58 -58
  228. data/lib/solargraph/workspace/config.rb +231 -231
  229. data/lib/solargraph/workspace.rb +215 -214
  230. data/lib/solargraph/yard_map/cache.rb +19 -19
  231. data/lib/solargraph/yard_map/core_docs.rb +170 -170
  232. data/lib/solargraph/yard_map/core_fills.rb +208 -203
  233. data/lib/solargraph/yard_map/core_gen.rb +76 -76
  234. data/lib/solargraph/yard_map/helpers.rb +16 -16
  235. data/lib/solargraph/yard_map/mapper/to_constant.rb +25 -25
  236. data/lib/solargraph/yard_map/mapper/to_method.rb +78 -78
  237. data/lib/solargraph/yard_map/mapper/to_namespace.rb +27 -27
  238. data/lib/solargraph/yard_map/mapper.rb +77 -77
  239. data/lib/solargraph/yard_map/rdoc_to_yard.rb +140 -140
  240. data/lib/solargraph/yard_map/stdlib_fills.rb +43 -43
  241. data/lib/solargraph/yard_map/to_method.rb +79 -79
  242. data/lib/solargraph/yard_map.rb +460 -443
  243. data/lib/solargraph.rb +69 -69
  244. data/lib/yard-solargraph.rb +33 -33
  245. data/solargraph.gemspec +0 -0
  246. metadata +14 -12
@@ -1,30 +1,30 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph::LanguageServer::Message::Workspace
4
- class DidChangeConfiguration < Solargraph::LanguageServer::Message::Base
5
- def process
6
- return unless params['settings']
7
- update = params['settings']['solargraph']
8
- host.configure update
9
- register_from_options
10
- end
11
-
12
- private
13
-
14
- def register_from_options
15
- y = []
16
- n = []
17
- (host.options['completion'] ? y : n).push('textDocument/completion')
18
- (host.options['hover'] ? y : n).push('textDocument/hover', 'textDocument/signatureHelp')
19
- (host.options['autoformat'] ? y : n).push('textDocument/onTypeFormatting')
20
- (host.options['formatting'] ? y : n).push('textDocument/formatting')
21
- (host.options['symbols'] ? y : n).push('textDocument/documentSymbol', 'workspace/symbol')
22
- (host.options['definitions'] ? y : n).push('textDocument/definition')
23
- (host.options['references'] ? y : n).push('textDocument/references')
24
- (host.options['folding'] ? y : n).push('textDocument/folding')
25
- (host.options['highlights'] ? y : n).push('textDocument/documentHighlight')
26
- host.register_capabilities y
27
- host.unregister_capabilities n
28
- end
29
- end
30
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph::LanguageServer::Message::Workspace
4
+ class DidChangeConfiguration < Solargraph::LanguageServer::Message::Base
5
+ def process
6
+ return unless params['settings']
7
+ update = params['settings']['solargraph']
8
+ host.configure update
9
+ register_from_options
10
+ end
11
+
12
+ private
13
+
14
+ def register_from_options
15
+ y = []
16
+ n = []
17
+ (host.options['completion'] ? y : n).push('textDocument/completion')
18
+ (host.options['hover'] ? y : n).push('textDocument/hover', 'textDocument/signatureHelp')
19
+ (host.options['autoformat'] ? y : n).push('textDocument/onTypeFormatting')
20
+ (host.options['formatting'] ? y : n).push('textDocument/formatting')
21
+ (host.options['symbols'] ? y : n).push('textDocument/documentSymbol', 'workspace/symbol')
22
+ (host.options['definitions'] ? y : n).push('textDocument/definition')
23
+ (host.options['references'] ? y : n).push('textDocument/references')
24
+ (host.options['folding'] ? y : n).push('textDocument/folding')
25
+ (host.options['highlights'] ? y : n).push('textDocument/documentHighlight')
26
+ host.register_capabilities y
27
+ host.unregister_capabilities n
28
+ end
29
+ end
30
+ end
@@ -1,33 +1,33 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph::LanguageServer::Message::Workspace
4
- class DidChangeWatchedFiles < Solargraph::LanguageServer::Message::Base
5
- CREATED = 1
6
- CHANGED = 2
7
- DELETED = 3
8
-
9
- include Solargraph::LanguageServer::UriHelpers
10
-
11
- def process
12
- need_catalog = false
13
- # @param change [Hash]
14
- params['changes'].each do |change|
15
- if change['type'] == CREATED
16
- host.create change['uri']
17
- need_catalog = true
18
- elsif change['type'] == CHANGED
19
- next if host.open?(change['uri'])
20
- host.create change['uri']
21
- need_catalog = true
22
- elsif change['type'] == DELETED
23
- host.delete change['uri']
24
- need_catalog = true
25
- else
26
- set_error Solargraph::LanguageServer::ErrorCodes::INVALID_PARAMS, "Unknown change type ##{change['type']} for #{uri_to_file(change['uri'])}"
27
- end
28
- end
29
- # Force host to catalog libraries after file changes (see castwide/solargraph#139)
30
- host.catalog if need_catalog
31
- end
32
- end
33
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph::LanguageServer::Message::Workspace
4
+ class DidChangeWatchedFiles < Solargraph::LanguageServer::Message::Base
5
+ CREATED = 1
6
+ CHANGED = 2
7
+ DELETED = 3
8
+
9
+ include Solargraph::LanguageServer::UriHelpers
10
+
11
+ def process
12
+ need_catalog = false
13
+ # @param change [Hash]
14
+ params['changes'].each do |change|
15
+ if change['type'] == CREATED
16
+ host.create change['uri']
17
+ need_catalog = true
18
+ elsif change['type'] == CHANGED
19
+ next if host.open?(change['uri'])
20
+ host.create change['uri']
21
+ need_catalog = true
22
+ elsif change['type'] == DELETED
23
+ host.delete change['uri']
24
+ need_catalog = true
25
+ else
26
+ set_error Solargraph::LanguageServer::ErrorCodes::INVALID_PARAMS, "Unknown change type ##{change['type']} for #{uri_to_file(change['uri'])}"
27
+ end
28
+ end
29
+ # Force host to catalog libraries after file changes (see castwide/solargraph#139)
30
+ host.catalog if need_catalog
31
+ end
32
+ end
33
+ end
@@ -1,24 +1,24 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph::LanguageServer::Message::Workspace
4
- class DidChangeWorkspaceFolders < Solargraph::LanguageServer::Message::Base
5
- def process
6
- add_folders
7
- remove_folders
8
- end
9
-
10
- private
11
-
12
- def add_folders
13
- return unless params['event'] && params['event']['added']
14
- host.prepare_folders params['event']['added']
15
- end
16
-
17
- def remove_folders
18
- return unless params['event'] && params['event']['removed']
19
- params['event']['removed'].each do |folder|
20
- host.remove_folders params['event']['removed']
21
- end
22
- end
23
- end
24
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph::LanguageServer::Message::Workspace
4
+ class DidChangeWorkspaceFolders < Solargraph::LanguageServer::Message::Base
5
+ def process
6
+ add_folders
7
+ remove_folders
8
+ end
9
+
10
+ private
11
+
12
+ def add_folders
13
+ return unless params['event'] && params['event']['added']
14
+ host.prepare_folders params['event']['added']
15
+ end
16
+
17
+ def remove_folders
18
+ return unless params['event'] && params['event']['removed']
19
+ params['event']['removed'].each do |folder|
20
+ host.remove_folders params['event']['removed']
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,23 +1,23 @@
1
- # frozen_string_literal: true
2
-
3
- class Solargraph::LanguageServer::Message::Workspace::WorkspaceSymbol < Solargraph::LanguageServer::Message::Base
4
- include Solargraph::LanguageServer::UriHelpers
5
-
6
- def process
7
- pins = host.query_symbols(params['query'])
8
- info = pins.map do |pin|
9
- uri = file_to_uri(pin.location.filename)
10
- {
11
- name: pin.name,
12
- containerName: pin.namespace,
13
- kind: pin.symbol_kind,
14
- location: {
15
- uri: uri,
16
- range: pin.location.range.to_hash
17
- },
18
- deprecated: pin.deprecated?
19
- }
20
- end
21
- set_result info
22
- end
23
- end
1
+ # frozen_string_literal: true
2
+
3
+ class Solargraph::LanguageServer::Message::Workspace::WorkspaceSymbol < Solargraph::LanguageServer::Message::Base
4
+ include Solargraph::LanguageServer::UriHelpers
5
+
6
+ def process
7
+ pins = host.query_symbols(params['query'])
8
+ info = pins.map do |pin|
9
+ uri = file_to_uri(pin.location.filename)
10
+ {
11
+ name: pin.path,
12
+ containerName: pin.namespace,
13
+ kind: pin.symbol_kind,
14
+ location: {
15
+ uri: uri,
16
+ range: pin.location.range.to_hash
17
+ },
18
+ deprecated: pin.deprecated?
19
+ }
20
+ end
21
+ set_result info
22
+ end
23
+ end
@@ -1,14 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph
4
- module LanguageServer
5
- module Message
6
- module Workspace
7
- autoload :DidChangeWatchedFiles, 'solargraph/language_server/message/workspace/did_change_watched_files'
8
- autoload :WorkspaceSymbol, 'solargraph/language_server/message/workspace/workspace_symbol'
9
- autoload :DidChangeConfiguration, 'solargraph/language_server/message/workspace/did_change_configuration'
10
- autoload :DidChangeWorkspaceFolders, 'solargraph/language_server/message/workspace/did_change_workspace_folders'
11
- end
12
- end
13
- end
14
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ module LanguageServer
5
+ module Message
6
+ module Workspace
7
+ autoload :DidChangeWatchedFiles, 'solargraph/language_server/message/workspace/did_change_watched_files'
8
+ autoload :WorkspaceSymbol, 'solargraph/language_server/message/workspace/workspace_symbol'
9
+ autoload :DidChangeConfiguration, 'solargraph/language_server/message/workspace/did_change_configuration'
10
+ autoload :DidChangeWorkspaceFolders, 'solargraph/language_server/message/workspace/did_change_workspace_folders'
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,93 +1,93 @@
1
- # frozen_string_literal: true
2
-
3
- require 'solargraph'
4
-
5
- module Solargraph
6
- module LanguageServer
7
- # The Message namespace contains classes that implement language server
8
- # protocol methods.
9
- #
10
- module Message
11
- autoload :Base, 'solargraph/language_server/message/base'
12
- autoload :Initialize, 'solargraph/language_server/message/initialize'
13
- autoload :Initialized, 'solargraph/language_server/message/initialized'
14
- autoload :TextDocument, 'solargraph/language_server/message/text_document'
15
- autoload :CompletionItem, 'solargraph/language_server/message/completion_item'
16
- autoload :CancelRequest, 'solargraph/language_server/message/cancel_request'
17
- autoload :MethodNotFound, 'solargraph/language_server/message/method_not_found'
18
- autoload :MethodNotImplemented, 'solargraph/language_server/message/method_not_implemented'
19
- autoload :Extended, 'solargraph/language_server/message/extended'
20
- autoload :Shutdown, 'solargraph/language_server/message/shutdown'
21
- autoload :ExitNotification, 'solargraph/language_server/message/exit_notification'
22
- autoload :Workspace, 'solargraph/language_server/message/workspace'
23
-
24
- class << self
25
- # Register a method name and message for handling by the language
26
- # server.
27
- #
28
- # @example
29
- # Message.register 'initialize', Solargraph::Message::Initialize
30
- #
31
- # @param path [String] The method name
32
- # @param message_class [Class<Message::Base>] The message class
33
- # @return [void]
34
- def register path, message_class
35
- method_map[path] = message_class
36
- end
37
-
38
- # @param path [String]
39
- # @return [Class<Solargraph::LanguageServer::Message::Base>]
40
- def select path
41
- if method_map.has_key?(path)
42
- method_map[path]
43
- elsif path.start_with?('$/')
44
- MethodNotImplemented
45
- else
46
- MethodNotFound
47
- end
48
- end
49
-
50
- private
51
-
52
- # @return [Hash{String => Class<Message::Base>}]
53
- def method_map
54
- @method_map ||= {}
55
- end
56
- end
57
-
58
- register 'initialize', Initialize
59
- register 'initialized', Initialized
60
- register 'textDocument/completion', TextDocument::Completion
61
- register 'completionItem/resolve', CompletionItem::Resolve
62
- register 'textDocument/signatureHelp', TextDocument::SignatureHelp
63
- register 'textDocument/didOpen', TextDocument::DidOpen
64
- register 'textDocument/didChange', TextDocument::DidChange
65
- register 'textDocument/didSave', TextDocument::DidSave
66
- register 'textDocument/didClose', TextDocument::DidClose
67
- register 'textDocument/hover', TextDocument::Hover
68
- register 'textDocument/definition', TextDocument::Definition
69
- register 'textDocument/formatting', TextDocument::Formatting
70
- register 'textDocument/onTypeFormatting', TextDocument::OnTypeFormatting
71
- register 'textDocument/documentSymbol', TextDocument::DocumentSymbol
72
- register 'textDocument/references', TextDocument::References
73
- register 'textDocument/rename', TextDocument::Rename
74
- register 'textDocument/prepareRename', TextDocument::PrepareRename
75
- register 'textDocument/foldingRange', TextDocument::FoldingRange
76
- # register 'textDocument/codeAction', TextDocument::CodeAction
77
- register 'textDocument/documentHighlight', TextDocument::DocumentHighlight
78
- register 'workspace/didChangeWatchedFiles', Workspace::DidChangeWatchedFiles
79
- register 'workspace/didChangeConfiguration', Workspace::DidChangeConfiguration
80
- register 'workspace/didChangeWorkspaceFolders', Workspace::DidChangeWorkspaceFolders
81
- register 'workspace/symbol', Workspace::WorkspaceSymbol
82
- register '$/cancelRequest', CancelRequest
83
- register '$/solargraph/document', Extended::Document
84
- register '$/solargraph/search', Extended::Search
85
- register '$/solargraph/checkGemVersion', Extended::CheckGemVersion
86
- register '$/solargraph/documentGems', Extended::DocumentGems
87
- register '$/solargraph/downloadCore', Extended::DownloadCore
88
- register '$/solargraph/environment', Extended::Environment
89
- register 'shutdown', Shutdown
90
- register 'exit', ExitNotification
91
- end
92
- end
93
- end
1
+ # frozen_string_literal: true
2
+
3
+ require 'solargraph'
4
+
5
+ module Solargraph
6
+ module LanguageServer
7
+ # The Message namespace contains classes that implement language server
8
+ # protocol methods.
9
+ #
10
+ module Message
11
+ autoload :Base, 'solargraph/language_server/message/base'
12
+ autoload :Initialize, 'solargraph/language_server/message/initialize'
13
+ autoload :Initialized, 'solargraph/language_server/message/initialized'
14
+ autoload :TextDocument, 'solargraph/language_server/message/text_document'
15
+ autoload :CompletionItem, 'solargraph/language_server/message/completion_item'
16
+ autoload :CancelRequest, 'solargraph/language_server/message/cancel_request'
17
+ autoload :MethodNotFound, 'solargraph/language_server/message/method_not_found'
18
+ autoload :MethodNotImplemented, 'solargraph/language_server/message/method_not_implemented'
19
+ autoload :Extended, 'solargraph/language_server/message/extended'
20
+ autoload :Shutdown, 'solargraph/language_server/message/shutdown'
21
+ autoload :ExitNotification, 'solargraph/language_server/message/exit_notification'
22
+ autoload :Workspace, 'solargraph/language_server/message/workspace'
23
+
24
+ class << self
25
+ # Register a method name and message for handling by the language
26
+ # server.
27
+ #
28
+ # @example
29
+ # Message.register 'initialize', Solargraph::Message::Initialize
30
+ #
31
+ # @param path [String] The method name
32
+ # @param message_class [Class<Message::Base>] The message class
33
+ # @return [void]
34
+ def register path, message_class
35
+ method_map[path] = message_class
36
+ end
37
+
38
+ # @param path [String]
39
+ # @return [Class<Solargraph::LanguageServer::Message::Base>]
40
+ def select path
41
+ if method_map.has_key?(path)
42
+ method_map[path]
43
+ elsif path.start_with?('$/')
44
+ MethodNotImplemented
45
+ else
46
+ MethodNotFound
47
+ end
48
+ end
49
+
50
+ private
51
+
52
+ # @return [Hash{String => Class<Message::Base>}]
53
+ def method_map
54
+ @method_map ||= {}
55
+ end
56
+ end
57
+
58
+ register 'initialize', Initialize
59
+ register 'initialized', Initialized
60
+ register 'textDocument/completion', TextDocument::Completion
61
+ register 'completionItem/resolve', CompletionItem::Resolve
62
+ register 'textDocument/signatureHelp', TextDocument::SignatureHelp
63
+ register 'textDocument/didOpen', TextDocument::DidOpen
64
+ register 'textDocument/didChange', TextDocument::DidChange
65
+ register 'textDocument/didSave', TextDocument::DidSave
66
+ register 'textDocument/didClose', TextDocument::DidClose
67
+ register 'textDocument/hover', TextDocument::Hover
68
+ register 'textDocument/definition', TextDocument::Definition
69
+ register 'textDocument/formatting', TextDocument::Formatting
70
+ register 'textDocument/onTypeFormatting', TextDocument::OnTypeFormatting
71
+ register 'textDocument/documentSymbol', TextDocument::DocumentSymbol
72
+ register 'textDocument/references', TextDocument::References
73
+ register 'textDocument/rename', TextDocument::Rename
74
+ register 'textDocument/prepareRename', TextDocument::PrepareRename
75
+ register 'textDocument/foldingRange', TextDocument::FoldingRange
76
+ # register 'textDocument/codeAction', TextDocument::CodeAction
77
+ register 'textDocument/documentHighlight', TextDocument::DocumentHighlight
78
+ register 'workspace/didChangeWatchedFiles', Workspace::DidChangeWatchedFiles
79
+ register 'workspace/didChangeConfiguration', Workspace::DidChangeConfiguration
80
+ register 'workspace/didChangeWorkspaceFolders', Workspace::DidChangeWorkspaceFolders
81
+ register 'workspace/symbol', Workspace::WorkspaceSymbol
82
+ register '$/cancelRequest', CancelRequest
83
+ register '$/solargraph/document', Extended::Document
84
+ register '$/solargraph/search', Extended::Search
85
+ register '$/solargraph/checkGemVersion', Extended::CheckGemVersion
86
+ register '$/solargraph/documentGems', Extended::DocumentGems
87
+ register '$/solargraph/downloadCore', Extended::DownloadCore
88
+ register '$/solargraph/environment', Extended::Environment
89
+ register 'shutdown', Shutdown
90
+ register 'exit', ExitNotification
91
+ end
92
+ end
93
+ end
@@ -1,14 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph
4
- module LanguageServer
5
- # The MessageType constants from the language server specification.
6
- #
7
- module MessageTypes
8
- ERROR = 1
9
- WARNING = 2
10
- INFO = 3
11
- LOG = 4
12
- end
13
- end
14
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ module LanguageServer
5
+ # The MessageType constants from the language server specification.
6
+ #
7
+ module MessageTypes
8
+ ERROR = 1
9
+ WARNING = 2
10
+ INFO = 3
11
+ LOG = 4
12
+ end
13
+ end
14
+ end
@@ -1,24 +1,24 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph
4
- module LanguageServer
5
- class Request
6
- # @param id [Integer]
7
- # @param &block The block that processes the client's response
8
- def initialize id, &block
9
- @id = id
10
- @block = block
11
- end
12
-
13
- # @param result [Object]
14
- # @return [void]
15
- def process result
16
- @block.call(result) unless @block.nil?
17
- end
18
-
19
- def send_response
20
- # noop
21
- end
22
- end
23
- end
24
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ module LanguageServer
5
+ class Request
6
+ # @param id [Integer]
7
+ # @param &block The block that processes the client's response
8
+ def initialize id, &block
9
+ @id = id
10
+ @block = block
11
+ end
12
+
13
+ # @param result [Object]
14
+ # @return [void]
15
+ def process result
16
+ @block.call(result) unless @block.nil?
17
+ end
18
+
19
+ def send_response
20
+ # noop
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,36 +1,36 @@
1
- # frozen_string_literal: true
2
-
3
- module Solargraph
4
- module LanguageServer
5
- # The SymbolKind constants for the language server protocol.
6
- #
7
- module SymbolKinds
8
- FILE = 1
9
- MODULE = 2
10
- NAMESPACE = 3
11
- PACKAGE = 4
12
- CLASS = 5
13
- METHOD = 6
14
- PROPERTY = 7
15
- FIELD = 8
16
- CONSTRUCTOR = 9
17
- ENUM = 10
18
- INTERFACE = 11
19
- FUNCTION = 12
20
- VARIABLE = 13
21
- CONSTANT = 14
22
- STRING = 15
23
- NUMBER = 16
24
- BOOLEAN = 17
25
- ARRAY = 18
26
- OBJECT = 19
27
- KEY = 20
28
- NULL = 21
29
- ENUM_MEMBER = 22
30
- STRUCT = 23
31
- EVENT = 24
32
- OPERATOR = 25
33
- TYPE_PARAMETER = 26
34
- end
35
- end
36
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ module LanguageServer
5
+ # The SymbolKind constants for the language server protocol.
6
+ #
7
+ module SymbolKinds
8
+ FILE = 1
9
+ MODULE = 2
10
+ NAMESPACE = 3
11
+ PACKAGE = 4
12
+ CLASS = 5
13
+ METHOD = 6
14
+ PROPERTY = 7
15
+ FIELD = 8
16
+ CONSTRUCTOR = 9
17
+ ENUM = 10
18
+ INTERFACE = 11
19
+ FUNCTION = 12
20
+ VARIABLE = 13
21
+ CONSTANT = 14
22
+ STRING = 15
23
+ NUMBER = 16
24
+ BOOLEAN = 17
25
+ ARRAY = 18
26
+ OBJECT = 19
27
+ KEY = 20
28
+ NULL = 21
29
+ ENUM_MEMBER = 22
30
+ STRUCT = 23
31
+ EVENT = 24
32
+ OPERATOR = 25
33
+ TYPE_PARAMETER = 26
34
+ end
35
+ end
36
+ end