solargraph 0.57.0 → 0.58.3

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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -0
  3. data/.github/workflows/linting.yml +4 -2
  4. data/.github/workflows/plugins.yml +63 -28
  5. data/.github/workflows/rspec.yml +19 -4
  6. data/.github/workflows/typecheck.yml +2 -2
  7. data/.gitignore +1 -0
  8. data/.rubocop.yml +1 -1
  9. data/.rubocop_todo.yml +90 -1438
  10. data/CHANGELOG.md +39 -0
  11. data/Rakefile +1 -1
  12. data/bin/solargraph +3 -0
  13. data/lib/solargraph/api_map/cache.rb +110 -110
  14. data/lib/solargraph/api_map/constants.rb +279 -218
  15. data/lib/solargraph/api_map/index.rb +193 -169
  16. data/lib/solargraph/api_map/source_to_yard.rb +97 -94
  17. data/lib/solargraph/api_map/store.rb +384 -374
  18. data/lib/solargraph/api_map.rb +945 -951
  19. data/lib/solargraph/bench.rb +45 -45
  20. data/lib/solargraph/complex_type/type_methods.rb +228 -223
  21. data/lib/solargraph/complex_type/unique_type.rb +482 -475
  22. data/lib/solargraph/complex_type.rb +444 -427
  23. data/lib/solargraph/convention/active_support_concern.rb +1 -1
  24. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +61 -61
  25. data/lib/solargraph/convention/data_definition/data_definition_node.rb +91 -91
  26. data/lib/solargraph/convention/data_definition.rb +105 -105
  27. data/lib/solargraph/convention/gemfile.rb +15 -15
  28. data/lib/solargraph/convention/gemspec.rb +23 -23
  29. data/lib/solargraph/convention/rakefile.rb +17 -17
  30. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +61 -61
  31. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +102 -102
  32. data/lib/solargraph/convention/struct_definition.rb +164 -164
  33. data/lib/solargraph/convention.rb +78 -78
  34. data/lib/solargraph/converters/dd.rb +17 -17
  35. data/lib/solargraph/converters/dl.rb +15 -15
  36. data/lib/solargraph/converters/dt.rb +15 -15
  37. data/lib/solargraph/converters/misc.rb +1 -1
  38. data/lib/solargraph/diagnostics/require_not_found.rb +53 -53
  39. data/lib/solargraph/diagnostics/rubocop.rb +118 -118
  40. data/lib/solargraph/diagnostics/rubocop_helpers.rb +68 -66
  41. data/lib/solargraph/diagnostics/type_check.rb +55 -55
  42. data/lib/solargraph/diagnostics/update_errors.rb +41 -41
  43. data/lib/solargraph/doc_map.rb +439 -436
  44. data/lib/solargraph/environ.rb +1 -1
  45. data/lib/solargraph/equality.rb +34 -33
  46. data/lib/solargraph/gem_pins.rb +98 -94
  47. data/lib/solargraph/language_server/error_codes.rb +20 -20
  48. data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
  49. data/lib/solargraph/language_server/host/dispatch.rb +130 -130
  50. data/lib/solargraph/language_server/host/message_worker.rb +112 -112
  51. data/lib/solargraph/language_server/host/sources.rb +99 -99
  52. data/lib/solargraph/language_server/host.rb +878 -872
  53. data/lib/solargraph/language_server/message/base.rb +97 -97
  54. data/lib/solargraph/language_server/message/client/register_capability.rb +15 -15
  55. data/lib/solargraph/language_server/message/completion_item/resolve.rb +60 -60
  56. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +114 -114
  57. data/lib/solargraph/language_server/message/extended/document.rb +23 -23
  58. data/lib/solargraph/language_server/message/extended/document_gems.rb +32 -32
  59. data/lib/solargraph/language_server/message/extended/download_core.rb +19 -19
  60. data/lib/solargraph/language_server/message/extended/search.rb +20 -20
  61. data/lib/solargraph/language_server/message/initialize.rb +191 -191
  62. data/lib/solargraph/language_server/message/text_document/completion.rb +56 -56
  63. data/lib/solargraph/language_server/message/text_document/definition.rb +40 -40
  64. data/lib/solargraph/language_server/message/text_document/document_highlight.rb +16 -16
  65. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +26 -26
  66. data/lib/solargraph/language_server/message/text_document/formatting.rb +148 -145
  67. data/lib/solargraph/language_server/message/text_document/hover.rb +58 -58
  68. data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +11 -11
  69. data/lib/solargraph/language_server/message/text_document/references.rb +16 -16
  70. data/lib/solargraph/language_server/message/text_document/rename.rb +19 -19
  71. data/lib/solargraph/language_server/message/text_document/signature_help.rb +24 -24
  72. data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -25
  73. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +35 -35
  74. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +40 -40
  75. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +26 -26
  76. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +23 -23
  77. data/lib/solargraph/language_server/message.rb +94 -94
  78. data/lib/solargraph/language_server/progress.rb +1 -1
  79. data/lib/solargraph/language_server/request.rb +27 -25
  80. data/lib/solargraph/language_server/transport/data_reader.rb +74 -74
  81. data/lib/solargraph/language_server/uri_helpers.rb +49 -49
  82. data/lib/solargraph/library.rb +683 -683
  83. data/lib/solargraph/location.rb +82 -81
  84. data/lib/solargraph/logging.rb +37 -37
  85. data/lib/solargraph/page.rb +92 -93
  86. data/lib/solargraph/parser/comment_ripper.rb +69 -69
  87. data/lib/solargraph/parser/flow_sensitive_typing.rb +255 -255
  88. data/lib/solargraph/parser/node_processor/base.rb +92 -92
  89. data/lib/solargraph/parser/node_processor.rb +62 -62
  90. data/lib/solargraph/parser/parser_gem/class_methods.rb +149 -159
  91. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +19 -19
  92. data/lib/solargraph/parser/parser_gem/node_chainer.rb +166 -166
  93. data/lib/solargraph/parser/parser_gem/node_methods.rb +486 -499
  94. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +22 -21
  95. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +59 -59
  96. data/lib/solargraph/parser/parser_gem/node_processors/begin_node.rb +15 -15
  97. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +46 -46
  98. data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +53 -53
  99. data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +37 -37
  100. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +23 -23
  101. data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +40 -40
  102. data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +29 -29
  103. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +59 -59
  104. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +98 -42
  105. data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +17 -17
  106. data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +38 -38
  107. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +52 -43
  108. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +291 -292
  109. data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +29 -29
  110. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -29
  111. data/lib/solargraph/parser/parser_gem/node_processors.rb +70 -70
  112. data/lib/solargraph/parser/parser_gem.rb +12 -12
  113. data/lib/solargraph/parser/region.rb +69 -69
  114. data/lib/solargraph/parser/snippet.rb +17 -17
  115. data/lib/solargraph/parser.rb +23 -23
  116. data/lib/solargraph/pin/base.rb +729 -708
  117. data/lib/solargraph/pin/base_variable.rb +126 -124
  118. data/lib/solargraph/pin/block.rb +104 -103
  119. data/lib/solargraph/pin/breakable.rb +9 -9
  120. data/lib/solargraph/pin/callable.rb +231 -227
  121. data/lib/solargraph/pin/closure.rb +72 -76
  122. data/lib/solargraph/pin/common.rb +79 -79
  123. data/lib/solargraph/pin/constant.rb +45 -45
  124. data/lib/solargraph/pin/conversions.rb +123 -123
  125. data/lib/solargraph/pin/delegated_method.rb +120 -121
  126. data/lib/solargraph/pin/documenting.rb +114 -114
  127. data/lib/solargraph/pin/instance_variable.rb +34 -34
  128. data/lib/solargraph/pin/keyword.rb +20 -20
  129. data/lib/solargraph/pin/local_variable.rb +75 -79
  130. data/lib/solargraph/pin/method.rb +672 -656
  131. data/lib/solargraph/pin/method_alias.rb +34 -34
  132. data/lib/solargraph/pin/namespace.rb +115 -115
  133. data/lib/solargraph/pin/parameter.rb +275 -271
  134. data/lib/solargraph/pin/proxy_type.rb +39 -36
  135. data/lib/solargraph/pin/reference/override.rb +47 -47
  136. data/lib/solargraph/pin/reference/superclass.rb +15 -15
  137. data/lib/solargraph/pin/reference.rb +39 -48
  138. data/lib/solargraph/pin/search.rb +61 -58
  139. data/lib/solargraph/pin/signature.rb +61 -61
  140. data/lib/solargraph/pin/symbol.rb +53 -53
  141. data/lib/solargraph/pin/until.rb +18 -18
  142. data/lib/solargraph/pin/while.rb +18 -18
  143. data/lib/solargraph/pin.rb +44 -44
  144. data/lib/solargraph/pin_cache.rb +245 -245
  145. data/lib/solargraph/position.rb +132 -118
  146. data/lib/solargraph/range.rb +112 -108
  147. data/lib/solargraph/rbs_map/conversions.rb +823 -802
  148. data/lib/solargraph/rbs_map/core_fills.rb +84 -66
  149. data/lib/solargraph/rbs_map/core_map.rb +58 -54
  150. data/lib/solargraph/rbs_map/stdlib_map.rb +43 -43
  151. data/lib/solargraph/rbs_map.rb +163 -163
  152. data/lib/solargraph/server_methods.rb +16 -16
  153. data/lib/solargraph/shell.rb +363 -271
  154. data/lib/solargraph/source/chain/array.rb +37 -37
  155. data/lib/solargraph/source/chain/call.rb +337 -333
  156. data/lib/solargraph/source/chain/class_variable.rb +13 -13
  157. data/lib/solargraph/source/chain/constant.rb +26 -89
  158. data/lib/solargraph/source/chain/global_variable.rb +13 -13
  159. data/lib/solargraph/source/chain/hash.rb +34 -34
  160. data/lib/solargraph/source/chain/if.rb +28 -28
  161. data/lib/solargraph/source/chain/instance_variable.rb +13 -13
  162. data/lib/solargraph/source/chain/link.rb +109 -109
  163. data/lib/solargraph/source/chain/literal.rb +48 -48
  164. data/lib/solargraph/source/chain/or.rb +23 -23
  165. data/lib/solargraph/source/chain/q_call.rb +11 -11
  166. data/lib/solargraph/source/chain/variable.rb +13 -13
  167. data/lib/solargraph/source/chain/z_super.rb +30 -30
  168. data/lib/solargraph/source/chain.rb +291 -289
  169. data/lib/solargraph/source/change.rb +82 -82
  170. data/lib/solargraph/source/cursor.rb +166 -166
  171. data/lib/solargraph/source/encoding_fixes.rb +23 -23
  172. data/lib/solargraph/source/source_chainer.rb +194 -194
  173. data/lib/solargraph/source/updater.rb +55 -55
  174. data/lib/solargraph/source.rb +498 -498
  175. data/lib/solargraph/source_map/clip.rb +226 -234
  176. data/lib/solargraph/source_map/data.rb +34 -34
  177. data/lib/solargraph/source_map/mapper.rb +259 -261
  178. data/lib/solargraph/source_map.rb +212 -207
  179. data/lib/solargraph/type_checker/checks.rb +124 -124
  180. data/lib/solargraph/type_checker/param_def.rb +37 -37
  181. data/lib/solargraph/type_checker/problem.rb +32 -32
  182. data/lib/solargraph/type_checker/rules.rb +84 -70
  183. data/lib/solargraph/type_checker.rb +814 -752
  184. data/lib/solargraph/version.rb +5 -5
  185. data/lib/solargraph/workspace/config.rb +255 -237
  186. data/lib/solargraph/workspace/require_paths.rb +97 -98
  187. data/lib/solargraph/workspace.rb +220 -225
  188. data/lib/solargraph/yard_map/helpers.rb +44 -44
  189. data/lib/solargraph/yard_map/mapper/to_method.rb +130 -129
  190. data/lib/solargraph/yard_map/mapper/to_namespace.rb +31 -30
  191. data/lib/solargraph/yard_map/mapper.rb +79 -79
  192. data/lib/solargraph/yard_map/to_method.rb +89 -88
  193. data/lib/solargraph/yard_tags.rb +20 -20
  194. data/lib/solargraph/yardoc.rb +87 -64
  195. data/lib/solargraph.rb +105 -105
  196. data/rbs/fills/bundler/0/bundler.rbs +4271 -0
  197. data/rbs/fills/open3/0/open3.rbs +172 -0
  198. data/rbs/fills/rubygems/0/basic_specification.rbs +326 -0
  199. data/rbs/fills/rubygems/0/errors.rbs +364 -0
  200. data/rbs/fills/rubygems/0/spec_fetcher.rbs +107 -0
  201. data/rbs/fills/rubygems/0/specification.rbs +1753 -0
  202. data/rbs/shims/ast/0/node.rbs +5 -0
  203. data/rbs/shims/ast/2.4/.rbs_meta.yaml +9 -0
  204. data/rbs/shims/ast/2.4/ast.rbs +73 -0
  205. data/rbs/shims/parser/3.2.0.1/manifest.yaml +7 -0
  206. data/rbs/shims/parser/3.2.0.1/parser.rbs +201 -0
  207. data/rbs/shims/parser/3.2.0.1/polyfill.rbs +4 -0
  208. data/rbs_collection.yaml +4 -4
  209. data/solargraph.gemspec +15 -4
  210. metadata +71 -16
  211. data/lib/solargraph/parser/node_methods.rb +0 -97
  212. /data/rbs/fills/{tuple.rbs → tuple/tuple.rbs} +0 -0
  213. /data/{sig → rbs}/shims/parser/3.2.0.1/builders/default.rbs +0 -0
  214. /data/{sig → rbs}/shims/thor/1.2.0.1/.rbs_meta.yaml +0 -0
  215. /data/{sig → rbs}/shims/thor/1.2.0.1/manifest.yaml +0 -0
  216. /data/{sig → rbs}/shims/thor/1.2.0.1/thor.rbs +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 808ec792a7de32df74b885ebf3785cac0b2d09d9c469696e53215423e28f0ede
4
- data.tar.gz: e01f07f0524fc59c05f4dbc1fe59126000b22ac7870d356291ebb53bf1de10af
3
+ metadata.gz: 2e2913913dac1fa336d5f2a7ac51a5cc7d7afb085fc14e0aea405ec4fc6f482c
4
+ data.tar.gz: 180f4779d6e070e919c8d4d1af3d4c72edb79370cbb9592671213db049254d2b
5
5
  SHA512:
6
- metadata.gz: 450a8f89225f836bc720f0a79ff87a099c3a1ae141b683d60415fc9634a064decfdb187a21e9587043df4c598bb57608103d470b465103914152022d3833b8e9
7
- data.tar.gz: efa9b1ee5b59c2b42ca9bd3a33b709422720111dac01a9073929c247a390f861997fa507d4fc03567ab3df386eca82c8931cb0c7a59fa6d7be33720d9e5e4188
6
+ metadata.gz: d30d4d79505a7bd37d906bd8eaf5351426e21a87ae23e922677a149dd946536c05a02debf70e1198d2f8b75dbf0a4941f9a2df34aa9ce2938b35da6458477fa5
7
+ data.tar.gz: 18a7d22d68a432c3b4e7c75385852a3f6f875a77269cabdfef4e91d229c93275236f04df50d5ff527cee7ba3a3100f41151e6f50f3d5947df0cbba83a304252e
data/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ *.rb text eol=lf
2
+ bin/* text eol=lf
@@ -115,11 +115,13 @@ jobs:
115
115
  - name: Run RuboCop against todo file
116
116
  continue-on-error: true
117
117
  run: |
118
- bundle exec rubocop --auto-gen-config --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp
118
+ cmd="bundle exec rubocop --auto-gen-config --exclude-limit=5 --no-offense-counts --no-auto-gen-timestamp"
119
+ ${cmd:?}
120
+ set +e
119
121
  if [ -n "$(git status --porcelain)" ]
120
122
  then
121
123
  git status --porcelain
122
124
  git diff -u .
123
- >&2 echo "Please fix deltas if bad or run 'bundle exec rubocop --auto-gen-config --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp' and push up changes if good"
125
+ >&2 echo "Please address any new issues, then run '${cmd:?}' and push up any improvements"
124
126
  exit 1
125
127
  fi
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Set up Ruby
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
26
- ruby-version: '3.0'
26
+ ruby-version: 3.4
27
27
  bundler-cache: true
28
28
  - uses: awalsh128/cache-apt-pkgs-action@latest
29
29
  with:
@@ -54,7 +54,7 @@ jobs:
54
54
  - name: Set up Ruby
55
55
  uses: ruby/setup-ruby@v1
56
56
  with:
57
- ruby-version: '3.0'
57
+ ruby-version: 3.4
58
58
  bundler-cache: false
59
59
  - uses: awalsh128/cache-apt-pkgs-action@latest
60
60
  with:
@@ -83,7 +83,7 @@ jobs:
83
83
  - name: Set up Ruby
84
84
  uses: ruby/setup-ruby@v1
85
85
  with:
86
- ruby-version: '3.0'
86
+ ruby-version: 3.4
87
87
  bundler-cache: false
88
88
  - uses: awalsh128/cache-apt-pkgs-action@latest
89
89
  with:
@@ -105,30 +105,64 @@ jobs:
105
105
  - name: Ensure specs still run
106
106
  run: bundle exec rake spec
107
107
 
108
- # run_solargraph_rspec_specs:
109
- # # check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
110
- # runs-on: ubuntu-latest
111
- # steps:
112
- # - uses: actions/checkout@v3
113
- # - name: clone https://github.com/lekemula/solargraph-rspec/
114
- # run: |
115
- # cd ..
116
- # git clone https://github.com/lekemula/solargraph-rspec.git
117
- # cd solargraph-rspec
118
- # - name: Set up Ruby
119
- # uses: ruby/setup-ruby@v1
120
- # with:
121
- # ruby-version: '3.0'
122
- # bundler-cache: false
123
- # - name: Install gems
124
- # run: |
125
- # cd ../solargraph-rspec
126
- # echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
127
- # bundle install
128
- # - name: Run specs
129
- # run: |
130
- # cd ../solargraph-rspec
131
- # bundle exec rake spec
108
+ run_solargraph_rspec_specs:
109
+ # check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
110
+ runs-on: ubuntu-latest
111
+ env:
112
+ SOLARGRAPH_CACHE: ${{ github.workspace }}/../solargraph-rspec/vendor/solargraph/cache
113
+ BUNDLE_PATH: ${{ github.workspace }}/../solargraph-rspec/vendor/bundle
114
+ steps:
115
+ - uses: actions/checkout@v3
116
+ - name: clone https://github.com/lekemula/solargraph-rspec/
117
+ run: |
118
+ cd ..
119
+ # git clone https://github.com/lekemula/solargraph-rspec.git
120
+
121
+ # pending https://github.com/lekemula/solargraph-rspec/pull/30
122
+ git clone https://github.com/apiology/solargraph-rspec.git
123
+ cd solargraph-rspec
124
+ git checkout reset_closures
125
+ - name: Set up Ruby
126
+ uses: ruby/setup-ruby@v1
127
+ with:
128
+ ruby-version: '3.2'
129
+ rubygems: latest
130
+ bundler-cache: false
131
+ - name: Install gems
132
+ run: |
133
+ set -x
134
+
135
+ cd ../solargraph-rspec
136
+ echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
137
+ bundle config path ${{ env.BUNDLE_PATH }}
138
+ bundle install --jobs 4 --retry 3
139
+ bundle exec appraisal install
140
+ # @todo some kind of appraisal/bundle conflict?
141
+ # https://github.com/castwide/solargraph/actions/runs/19038710934/job/54369767122?pr=1116
142
+ # /home/runner/work/solargraph/solargraph-rspec/vendor/bundle/ruby/3.1.0/gems/bundler-2.6.9/lib/bundler/runtime.rb:317:in
143
+ # `check_for_activated_spec!': You have already activated date
144
+ # 3.5.0, but your Gemfile requires date 3.4.1. Prepending
145
+ # `bundle exec` to your command may solve
146
+ # this. (Gem::LoadError)
147
+ bundle exec appraisal update date
148
+ # For some reason on ruby 3.1 it defaults to an old version: 1.3.2
149
+ # https://github.com/lekemula/solargraph-rspec/actions/runs/17814581205/job/50645370316?pr=22
150
+ # We update manually to the latest
151
+ bundle exec appraisal update rspec-rails
152
+ - name: Configure .solargraph.yml
153
+ run: |
154
+ cd ../solargraph-rspec
155
+ cp .solargraph.yml.example .solargraph.yml
156
+ - name: Solargraph generate RSpec gems YARD and RBS pins
157
+ run: |
158
+ cd ../solargraph-rspec
159
+ bundle exec appraisal rbs collection update
160
+ rspec_gems=$(bundle exec appraisal ruby -r './lib/solargraph-rspec' -e 'puts Solargraph::Rspec::Gems.gem_names.join(" ")' 2>/dev/null | tail -n1)
161
+ bundle exec appraisal solargraph gems $rspec_gems
162
+ - name: Run specs
163
+ run: |
164
+ cd ../solargraph-rspec
165
+ bundle exec appraisal rspec --format progress
132
166
 
133
167
  run_solargraph_rails_specs:
134
168
  # check out solargraph-rails as well as this project, and point the former to use the latter as a local gem
@@ -144,7 +178,8 @@ jobs:
144
178
  uses: ruby/setup-ruby@v1
145
179
  with:
146
180
  # solargraph-rails supports Ruby 3.0+
147
- ruby-version: '3.0'
181
+ # This job uses 3.2 due to a problem compiling sqlite3 in earlier versions
182
+ ruby-version: '3.2'
148
183
  bundler-cache: false
149
184
  bundler: latest
150
185
  env:
@@ -21,20 +21,30 @@ jobs:
21
21
  runs-on: ubuntu-latest
22
22
  strategy:
23
23
  matrix:
24
- ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', 'head']
25
- rbs-version: ['3.6.1', '3.9.4', '4.0.0.dev.4']
24
+ ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0']
25
+ rbs-version: ['3.6.1', '3.9.5', '4.0.0.dev.4']
26
26
  # Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
27
27
  exclude:
28
28
  - ruby-version: '3.0'
29
- rbs-version: '3.9.4'
29
+ rbs-version: '3.9.5'
30
30
  - ruby-version: '3.0'
31
31
  rbs-version: '4.0.0.dev.4'
32
+ # Missing require in 'rbs collection update' - hopefully
33
+ # fixed in next RBS release
34
+ - ruby-version: '4.0'
35
+ rbs-version: '3.6.1'
36
+ - ruby-version: '4.0'
37
+ rbs-version: '4.0.0.dev.4'
32
38
  steps:
33
39
  - uses: actions/checkout@v3
34
40
  - name: Set up Ruby
35
41
  uses: ruby/setup-ruby@v1
36
42
  with:
37
43
  ruby-version: ${{ matrix.ruby-version }}
44
+ # see https://github.com/castwide/solargraph/actions/runs/19391419903/job/55485410493?pr=1119
45
+ #
46
+ # match version in Gemfile.lock and use same version below
47
+ bundler: 2.5.23
38
48
  bundler-cache: false
39
49
  - name: Set rbs version
40
50
  run: echo "gem 'rbs', '${{ matrix.rbs-version }}'" >> .Gemfile
@@ -46,8 +56,13 @@ jobs:
46
56
  run: echo "gem 'tsort'" >> .Gemfile
47
57
  - name: Install gems
48
58
  run: |
49
- bundle install
59
+ bundle _2.5.23_ install
50
60
  bundle update rbs # use latest available for this Ruby version
61
+ bundle list
62
+ bundle exec solargraph pin 'Bundler::Dsl#source'
63
+ - name: Update types
64
+ run: |
65
+ bundle exec rbs collection update
51
66
  - name: Run tests
52
67
  run: bundle exec rake spec
53
68
  undercover:
@@ -18,7 +18,7 @@ permissions:
18
18
 
19
19
  jobs:
20
20
  solargraph_typed:
21
- name: Solargraph / typed
21
+ name: Solargraph / strong
22
22
 
23
23
  runs-on: ubuntu-latest
24
24
 
@@ -36,4 +36,4 @@ jobs:
36
36
  - name: Install gem types
37
37
  run: bundle exec rbs collection install
38
38
  - name: Typecheck self
39
- run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level typed
39
+ run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level strong
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,7 @@ AllCops:
21
21
  - "vendor/**/.*"
22
22
  TargetRubyVersion: 3.0
23
23
 
24
+ # We don't use the spec/solargraph directory
24
25
  RSpec/SpecFilePathFormat:
25
26
  Enabled: false
26
27
 
@@ -37,7 +38,6 @@ Metrics/ParameterLists:
37
38
  Max: 7
38
39
  CountKeywordArgs: false
39
40
 
40
-
41
41
  # we tend to use @@ and the risk doesn't seem high
42
42
  Style/ClassVars:
43
43
  Enabled: false