solargraph 0.59.0.dev.1 → 0.59.0.dev.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.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/plugins.yml +4 -1
  3. data/.github/workflows/rspec.yml +3 -14
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +32 -5
  6. data/.rubocop_todo.yml +37 -931
  7. data/CHANGELOG.md +7 -1
  8. data/Gemfile +3 -1
  9. data/Rakefile +25 -23
  10. data/bin/solargraph +2 -1
  11. data/lib/solargraph/api_map/index.rb +5 -11
  12. data/lib/solargraph/api_map/source_to_yard.rb +9 -8
  13. data/lib/solargraph/api_map/store.rb +22 -20
  14. data/lib/solargraph/api_map.rb +50 -37
  15. data/lib/solargraph/bench.rb +44 -45
  16. data/lib/solargraph/complex_type/type_methods.rb +12 -15
  17. data/lib/solargraph/complex_type/unique_type.rb +54 -43
  18. data/lib/solargraph/complex_type.rb +69 -61
  19. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +61 -61
  20. data/lib/solargraph/convention/data_definition/data_definition_node.rb +4 -4
  21. data/lib/solargraph/convention/data_definition.rb +1 -1
  22. data/lib/solargraph/convention/gemfile.rb +15 -15
  23. data/lib/solargraph/convention/gemspec.rb +23 -23
  24. data/lib/solargraph/convention/rakefile.rb +17 -17
  25. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +1 -1
  26. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +3 -3
  27. data/lib/solargraph/convention/struct_definition.rb +3 -3
  28. data/lib/solargraph/convention.rb +78 -78
  29. data/lib/solargraph/converters/dd.rb +19 -17
  30. data/lib/solargraph/converters/dl.rb +17 -15
  31. data/lib/solargraph/converters/dt.rb +17 -15
  32. data/lib/solargraph/converters/misc.rb +3 -1
  33. data/lib/solargraph/diagnostics/rubocop.rb +10 -10
  34. data/lib/solargraph/diagnostics/rubocop_helpers.rb +3 -3
  35. data/lib/solargraph/diagnostics/type_check.rb +10 -10
  36. data/lib/solargraph/diagnostics/update_errors.rb +37 -41
  37. data/lib/solargraph/doc_map.rb +9 -10
  38. data/lib/solargraph/equality.rb +3 -3
  39. data/lib/solargraph/gem_pins.rb +7 -5
  40. data/lib/solargraph/language_server/error_codes.rb +20 -20
  41. data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
  42. data/lib/solargraph/language_server/host/dispatch.rb +2 -3
  43. data/lib/solargraph/language_server/host/message_worker.rb +2 -2
  44. data/lib/solargraph/language_server/host/sources.rb +1 -1
  45. data/lib/solargraph/language_server/host.rb +24 -21
  46. data/lib/solargraph/language_server/message/base.rb +97 -97
  47. data/lib/solargraph/language_server/message/client/register_capability.rb +13 -15
  48. data/lib/solargraph/language_server/message/completion_item/resolve.rb +58 -60
  49. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +10 -11
  50. data/lib/solargraph/language_server/message/extended/document_gems.rb +32 -32
  51. data/lib/solargraph/language_server/message/extended/download_core.rb +20 -19
  52. data/lib/solargraph/language_server/message/extended/search.rb +20 -20
  53. data/lib/solargraph/language_server/message/initialize.rb +197 -191
  54. data/lib/solargraph/language_server/message/text_document/completion.rb +8 -8
  55. data/lib/solargraph/language_server/message/text_document/definition.rb +41 -34
  56. data/lib/solargraph/language_server/message/text_document/document_highlight.rb +23 -16
  57. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +29 -21
  58. data/lib/solargraph/language_server/message/text_document/formatting.rb +6 -6
  59. data/lib/solargraph/language_server/message/text_document/hover.rb +3 -5
  60. data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +18 -11
  61. data/lib/solargraph/language_server/message/text_document/references.rb +23 -16
  62. data/lib/solargraph/language_server/message/text_document/rename.rb +26 -19
  63. data/lib/solargraph/language_server/message/text_document/signature_help.rb +2 -2
  64. data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -19
  65. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +41 -35
  66. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +48 -40
  67. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +32 -26
  68. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +27 -19
  69. data/lib/solargraph/language_server/message.rb +94 -94
  70. data/lib/solargraph/language_server/request.rb +29 -27
  71. data/lib/solargraph/language_server/transport/data_reader.rb +72 -74
  72. data/lib/solargraph/language_server/uri_helpers.rb +49 -49
  73. data/lib/solargraph/library.rb +28 -33
  74. data/lib/solargraph/location.rb +10 -12
  75. data/lib/solargraph/logging.rb +4 -4
  76. data/lib/solargraph/page.rb +92 -92
  77. data/lib/solargraph/parser/comment_ripper.rb +12 -4
  78. data/lib/solargraph/parser/flow_sensitive_typing.rb +32 -42
  79. data/lib/solargraph/parser/node_processor/base.rb +4 -4
  80. data/lib/solargraph/parser/node_processor.rb +1 -1
  81. data/lib/solargraph/parser/parser_gem/class_methods.rb +4 -4
  82. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +19 -19
  83. data/lib/solargraph/parser/parser_gem/node_chainer.rb +20 -20
  84. data/lib/solargraph/parser/parser_gem/node_methods.rb +66 -65
  85. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +12 -12
  86. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +1 -1
  87. data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +3 -3
  88. data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +38 -37
  89. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +3 -3
  90. data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +2 -1
  91. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +1 -1
  92. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +3 -5
  93. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +118 -112
  94. data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +29 -29
  95. data/lib/solargraph/parser/parser_gem/node_processors/when_node.rb +1 -1
  96. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +1 -1
  97. data/lib/solargraph/parser/parser_gem.rb +14 -12
  98. data/lib/solargraph/parser/snippet.rb +2 -0
  99. data/lib/solargraph/parser.rb +25 -23
  100. data/lib/solargraph/pin/base.rb +78 -64
  101. data/lib/solargraph/pin/base_variable.rb +28 -71
  102. data/lib/solargraph/pin/block.rb +3 -2
  103. data/lib/solargraph/pin/breakable.rb +2 -0
  104. data/lib/solargraph/pin/callable.rb +23 -26
  105. data/lib/solargraph/pin/closure.rb +5 -4
  106. data/lib/solargraph/pin/common.rb +5 -2
  107. data/lib/solargraph/pin/compound_statement.rb +3 -3
  108. data/lib/solargraph/pin/constant.rb +43 -45
  109. data/lib/solargraph/pin/conversions.rb +9 -4
  110. data/lib/solargraph/pin/delegated_method.rb +4 -4
  111. data/lib/solargraph/pin/documenting.rb +3 -2
  112. data/lib/solargraph/pin/local_variable.rb +4 -4
  113. data/lib/solargraph/pin/method.rb +71 -70
  114. data/lib/solargraph/pin/namespace.rb +13 -12
  115. data/lib/solargraph/pin/parameter.rb +28 -27
  116. data/lib/solargraph/pin/proxy_type.rb +2 -0
  117. data/lib/solargraph/pin/reference.rb +17 -0
  118. data/lib/solargraph/pin/search.rb +2 -2
  119. data/lib/solargraph/pin/signature.rb +9 -14
  120. data/lib/solargraph/pin/symbol.rb +1 -0
  121. data/lib/solargraph/pin/until.rb +1 -3
  122. data/lib/solargraph/pin/while.rb +1 -3
  123. data/lib/solargraph/pin_cache.rb +16 -19
  124. data/lib/solargraph/position.rb +35 -17
  125. data/lib/solargraph/range.rb +10 -9
  126. data/lib/solargraph/rbs_map/conversions.rb +312 -206
  127. data/lib/solargraph/rbs_map/core_fills.rb +91 -84
  128. data/lib/solargraph/rbs_map/stdlib_map.rb +0 -1
  129. data/lib/solargraph/rbs_map.rb +3 -12
  130. data/lib/solargraph/server_methods.rb +16 -16
  131. data/lib/solargraph/shell.rb +63 -53
  132. data/lib/solargraph/source/chain/array.rb +39 -37
  133. data/lib/solargraph/source/chain/call.rb +49 -44
  134. data/lib/solargraph/source/chain/class_variable.rb +13 -13
  135. data/lib/solargraph/source/chain/constant.rb +3 -1
  136. data/lib/solargraph/source/chain/global_variable.rb +13 -13
  137. data/lib/solargraph/source/chain/hash.rb +8 -6
  138. data/lib/solargraph/source/chain/if.rb +11 -10
  139. data/lib/solargraph/source/chain/instance_variable.rb +3 -1
  140. data/lib/solargraph/source/chain/link.rb +99 -109
  141. data/lib/solargraph/source/chain/literal.rb +4 -6
  142. data/lib/solargraph/source/chain/or.rb +2 -4
  143. data/lib/solargraph/source/chain/q_call.rb +13 -11
  144. data/lib/solargraph/source/chain/variable.rb +15 -13
  145. data/lib/solargraph/source/chain/z_super.rb +28 -30
  146. data/lib/solargraph/source/chain.rb +24 -16
  147. data/lib/solargraph/source/change.rb +3 -3
  148. data/lib/solargraph/source/cursor.rb +18 -18
  149. data/lib/solargraph/source/encoding_fixes.rb +6 -7
  150. data/lib/solargraph/source/source_chainer.rb +46 -32
  151. data/lib/solargraph/source/updater.rb +1 -1
  152. data/lib/solargraph/source.rb +27 -29
  153. data/lib/solargraph/source_map/clip.rb +38 -30
  154. data/lib/solargraph/source_map/mapper.rb +52 -46
  155. data/lib/solargraph/source_map.rb +8 -4
  156. data/lib/solargraph/type_checker/rules.rb +8 -8
  157. data/lib/solargraph/type_checker.rb +95 -101
  158. data/lib/solargraph/version.rb +1 -1
  159. data/lib/solargraph/workspace/config.rb +10 -9
  160. data/lib/solargraph/workspace/gemspecs.rb +1 -1
  161. data/lib/solargraph/workspace.rb +21 -44
  162. data/lib/solargraph/yard_map/helpers.rb +6 -2
  163. data/lib/solargraph/yard_map/mapper/to_method.rb +8 -6
  164. data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -1
  165. data/lib/solargraph/yard_map/mapper.rb +12 -12
  166. data/lib/solargraph/yard_tags.rb +20 -20
  167. data/lib/solargraph.rb +5 -5
  168. data/solargraph.gemspec +35 -34
  169. metadata +28 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9687e639cdba08f45193d8d5f8c3e63dfa97c0bfe2a690ff46691727e9df61bc
4
- data.tar.gz: 794c8e32a02bec6a290e8987b1ecdaace50a4e55f304ade073e3c67b7e009111
3
+ metadata.gz: 19ddbaec3539796c7153fbf1aff54f930614e54999b5f24a2b8e4ad478c6a2e7
4
+ data.tar.gz: 90eae8d9572c92b8d850e610a7bb838154e6327c0635169812355d3838243f80
5
5
  SHA512:
6
- metadata.gz: df7c80cc6b287dee199586993bd04c008f661da431f20866a49b9d95d556f60dae8c21eef5e7a8bfcb84fb2f6fc563400e4dbccc7133afc673ad71461de2a1b8
7
- data.tar.gz: 9a965abc25768f1c4f1171c1ed587b4a12260a878fd3bf198afc54df41083c7a4ae4ba6c6e4a26cc7e1c7ed0f332605bdd8921379a61af9258b4e8f5ae4bcc96
6
+ metadata.gz: becab03886479b51dc82e71ee532204409c47693951d83c7c12fb17172ed16ab9684ac994b5450dac9cf8ee66796f44af5ad3f6f66de2d3e2786189421f262d9
7
+ data.tar.gz: 826aee919004aa45ae2d5dec314d4e3d466e79771a7f2a56e1738de93ecabdf649a8b45162d605ed5b7ea9271db17015edc2dc7e8de9a8c6557aa9785ae8fa33
@@ -118,9 +118,12 @@ jobs:
118
118
  - name: clone https://github.com/lekemula/solargraph-rspec/
119
119
  run: |
120
120
  cd ..
121
- git clone https://github.com/lekemula/solargraph-rspec.git
121
+ # git clone https://github.com/lekemula/solargraph-rspec.git
122
122
 
123
+ # pending https://github.com/lekemula/solargraph-rspec/pull/31
124
+ git clone https://github.com/apiology/solargraph-rspec.git
123
125
  cd solargraph-rspec
126
+ git checkout test_solargraph_prereleases
124
127
  - name: Set up Ruby
125
128
  uses: ruby/setup-ruby@v1
126
129
  with:
@@ -70,11 +70,7 @@ jobs:
70
70
  uses: ruby/setup-ruby@v1
71
71
  with:
72
72
  ruby-version: ${{ matrix.ruby-version }}
73
- # see https://github.com/castwide/solargraph/actions/runs/19391419903/job/55485410493?pr=1119
74
- #
75
- # match version in Gemfile.lock and use same version below
76
- bundler: 2.5.23
77
- bundler-cache: false
73
+ bundler-cache: true
78
74
  - name: Set rbs version
79
75
  run: echo "gem 'rbs', '${{ matrix.rbs-version }}'" >> .Gemfile
80
76
  # /home/runner/.rubies/ruby-head/lib/ruby/gems/3.5.0+2/gems/rbs-3.9.4/lib/rbs.rb:11:
@@ -83,9 +79,8 @@ jobs:
83
79
  # starting from Ruby 3.6.0
84
80
  - name: Work around legacy rbs deprecation on ruby > 3.4
85
81
  run: echo "gem 'tsort'" >> .Gemfile
86
- - name: Install gems
82
+ - name: Update gems
87
83
  run: |
88
- bundle _2.5.23_ install
89
84
  bundle update rbs # use latest available for this Ruby version
90
85
  - name: Update types
91
86
  run: bundle exec rbs collection update
@@ -103,13 +98,7 @@ jobs:
103
98
  uses: ruby/setup-ruby@v1
104
99
  with:
105
100
  ruby-version: '3.4'
106
- # see https://github.com/castwide/solargraph/actions/runs/19391419903/job/55485410493?pr=1119
107
- #
108
- # match version in Gemfile.lock and use same version below
109
- bundler: 2.5.23
110
- bundler-cache: false
111
- - name: Install gems
112
- run: bundle install
101
+ bundler-cache: true
113
102
  - name: Update types
114
103
  run: bundle exec rbs collection update
115
104
  - name: Run tests
data/.gitignore CHANGED
@@ -14,3 +14,4 @@ coverage
14
14
  /Makefile
15
15
  /.pryrc
16
16
  /.rspec-local
17
+ vendor/cache
data/.rubocop.yml CHANGED
@@ -21,6 +21,25 @@ AllCops:
21
21
  - "vendor/**/.*"
22
22
  TargetRubyVersion: 3.0
23
23
 
24
+ Gemspec/RequiredRubyVersion:
25
+ Exclude:
26
+ - 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
27
+ - 'spec/fixtures/rubocop-custom-version/specifications/rubocop-0.0.0.gemspec'
28
+ - 'spec/fixtures/vendored/vendor/do_not_use.gemspec'
29
+
30
+ Gemspec/DevelopmentDependencies:
31
+ EnforcedStyle: gemspec
32
+ Exclude:
33
+ - 'spec/fixtures/**/*'
34
+
35
+ Lint/EmptyFile:
36
+ Exclude:
37
+ - 'spec/fixtures/vendored/vendor/do_not_use.gemspec'
38
+
39
+ Naming/VariableName:
40
+ Exclude:
41
+ - 'spec/fixtures/unicode.rb'
42
+
24
43
  # We don't use the spec/solargraph directory
25
44
  RSpec/SpecFilePathFormat:
26
45
  Enabled: false
@@ -31,6 +50,14 @@ Style/MethodDefParentheses:
31
50
  Layout/EmptyLineAfterGuardClause:
32
51
  Enabled: false
33
52
 
53
+ Naming/AsciiIdentifiers:
54
+ Exclude:
55
+ - 'spec/fixtures/unicode.rb'
56
+
57
+ Lint/EmptyClass:
58
+ Exclude:
59
+ - spec/fixtures/**/*.rb
60
+
34
61
  Lint/UnusedMethodArgument:
35
62
  AllowUnusedKeywordArguments: true
36
63
 
@@ -48,17 +75,17 @@ Style/ClassVars:
48
75
  # improve existing code!
49
76
  #
50
77
  Metrics/AbcSize:
51
- Max: 65
78
+ Max: 110
52
79
  Metrics/MethodLength:
53
- Max: 60
80
+ Max: 70
54
81
  Metrics/ClassLength:
55
82
  Max: 500
56
83
  Metrics/CyclomaticComplexity:
57
- Max: 23
84
+ Max: 40
58
85
  Metrics/PerceivedComplexity:
59
- Max: 29
86
+ Max: 40
60
87
  RSpec/ExampleLength:
61
- Max: 17
88
+ Max: 310
62
89
 
63
90
  plugins:
64
91
  - rubocop-rspec