Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
501 commits
Select commit Hold shift + click to select a range
be3f5e5
Add fix-ups
apiology Sep 9, 2025
82c94a6
Move Pin::Base#infer deprecation to assert system
apiology Sep 10, 2025
6372fdf
Let extra line slide pending new constants PR
apiology Sep 10, 2025
930d3c6
Keep workspace directories as absolute paths
apiology Sep 11, 2025
82bfce7
Add rebuild option
apiology Sep 11, 2025
0fa1ad1
Fix syntax
apiology Sep 11, 2025
5a5b865
Pass through rebuild flag
apiology Sep 11, 2025
3a7b7e7
Document 'solargraph init' command in README
apiology Sep 11, 2025
2ea9620
Add future spec for issue that blocks existing one
apiology Sep 11, 2025
0dbf358
Disable new spec
apiology Sep 11, 2025
daf8633
Mark spec with xit
apiology Sep 11, 2025
436f970
Add failing spec
apiology Sep 11, 2025
91805ea
Merge remote-tracking branch 'origin/master' into extract_gemspecs_lo…
apiology Sep 11, 2025
70c60a4
Use xit to exclude spec that fails in some environment combinations
apiology Sep 11, 2025
602d803
Add another regression spec
apiology Sep 11, 2025
6e03bc8
Handle bad gemdir from gemspec object
apiology Sep 11, 2025
62d7d08
Linting fix
apiology Sep 11, 2025
9b58947
xit -> pending so we reenable specs once fixed
apiology Sep 11, 2025
bf7a447
Merge branch 'master' into generic_typechecking_improvements
apiology Sep 13, 2025
1b12d27
Merge branch 'master' into rubocop_stability
apiology Sep 13, 2025
db725f7
Update rubocop todo
apiology Sep 13, 2025
805276e
Fix typechecking issues
apiology Sep 13, 2025
84c605a
Merge branch 'master' into pin_cache_refactor
apiology Sep 13, 2025
743b71c
Merge branch 'rubocop_stability' into pin_cache_refactor
apiology Sep 13, 2025
76bc5aa
Merge branch 'master' into extract_gemspecs_logic_from_doc_map
apiology Sep 13, 2025
267b685
Merge branch 'master' into method_pin
apiology Sep 13, 2025
0e00195
Merge branch 'rubocop_stability' into method_pin
apiology Sep 13, 2025
b6d86ec
Fix merge failure
apiology Sep 13, 2025
8f83d9c
Merge branch 'master' into method_alias_assertions
apiology Sep 13, 2025
ba0d025
Merge branch 'rubocop_stability' into method_alias_assertions
apiology Sep 13, 2025
21265d9
Merge branch 'rubocop_stability' into cache_uncache_gem
apiology Sep 13, 2025
29bdf50
Merge branch 'rubocop_stability' into add_regression_specs
apiology Sep 13, 2025
939ca1c
Merge branch 'rubocop_stability' into extract_gemspecs_logic_from_doc…
apiology Sep 13, 2025
a9e60ca
Merge branch 'master' into message_spies_linting
apiology Sep 13, 2025
3177a89
Merge branch 'rubocop_stability' into message_spies_linting
apiology Sep 13, 2025
ca4f039
Rebuild rubocop todo
apiology Sep 13, 2025
949f0c7
Merge branch 'master' into solargraph_force_version
apiology Sep 13, 2025
62769d1
Merge branch 'rubocop_stability' into solargraph_force_version
apiology Sep 13, 2025
88c219c
Handle nil fqns in get_superclass
castwide Sep 8, 2025
3f6cfa3
Even simpler Constants#simple_resolve
castwide Sep 9, 2025
4e6ede9
RuboCop todo file stability
apiology Sep 13, 2025
58dd848
Fix merge issue
apiology Sep 13, 2025
b6c474a
Rerun rubocop todo
apiology Sep 6, 2025
75abb08
Update expectations from master branch
apiology Sep 7, 2025
b77d374
Force build
apiology Sep 7, 2025
0b9c807
Restore
apiology Sep 7, 2025
3ea35f0
install -> update with rbs collection
apiology Sep 7, 2025
39877f9
Try Ruby 3.2
apiology Sep 7, 2025
41322c1
Update solargraph
apiology Sep 7, 2025
f8993a7
Re-add bundle install
apiology Sep 7, 2025
6d7b80b
Drop debugging changes
apiology Sep 7, 2025
584f78b
Update rubocop todo
apiology Sep 13, 2025
41cee2c
Update rubocop todo
apiology Sep 13, 2025
90049d3
Merge branch 'master' into reference-handling
apiology Sep 13, 2025
940babb
Merge branch 'master' into pin_infer_assertion
apiology Sep 14, 2025
59baa02
Merge branch 'rubocop_stability' into reference-handling
apiology Sep 14, 2025
c1464b4
Merge branch 'rubocop_stability' into pin_infer_assertion
apiology Sep 14, 2025
3275851
Merge branch 'master' into handle_gemspec_bad_gemdir
apiology Sep 14, 2025
2c231ff
Merge branch 'master' into keep_workspaces_as_absolute_paths
apiology Sep 14, 2025
df25735
Fix types
apiology Sep 15, 2025
f74f255
Fix types
apiology Sep 15, 2025
135e50d
Fix types
apiology Sep 15, 2025
64de402
Merge branch 'master' into pin_cache_refactor
apiology Sep 16, 2025
8d85ac5
Merge branch 'master' into extract_gemspecs_logic_from_doc_map
apiology Sep 16, 2025
245b7a7
Merge branch 'master' into solargraph_force_version
apiology Sep 16, 2025
aea2724
Merge branch 'master' into reference-handling
apiology Sep 16, 2025
27bde68
Unused argument
castwide Sep 18, 2025
fe67c88
Revert method and parameter pin changes
castwide Sep 18, 2025
3c5d3c9
Constants resumes open gates for deep name collisions
castwide Sep 18, 2025
67f6517
Typechecker specs
castwide Sep 18, 2025
af51344
Linting
castwide Sep 18, 2025
9009a2c
Documentation
castwide Sep 18, 2025
8e17184
Typechecking
castwide Sep 18, 2025
ed3809f
Fix ancestral recursion
castwide Sep 18, 2025
1864b67
Constants strips leading namespace separators
castwide Sep 18, 2025
e5d88a5
Show all evaluated types in typechecker
apiology Sep 19, 2025
62a1c97
Less-rigorous assertions merging assignment attribute of parameters
apiology Sep 21, 2025
791b5cb
Merge branch 'rubocop_stability' into fix_assignment_handling
apiology Sep 21, 2025
67119b2
Merge remote-tracking branch 'castwide/master' into fix_assignment_ha…
apiology Sep 22, 2025
62a684b
Merge remote-tracking branch 'castwide/1083-followup' into fix_assign…
apiology Sep 22, 2025
85be17d
Fix bad sexpr generation in op_asgn
apiology Sep 22, 2025
d2a0ca9
Drop logging
apiology Sep 22, 2025
42fa59f
Drop logging
apiology Sep 22, 2025
127ffa6
Merge remote-tracking branch 'castwide/1083-followup' into fix_incorr…
apiology Sep 22, 2025
82adf3e
rubocop fixes
apiology Sep 22, 2025
225c2dd
Drop @sg-ignore
apiology Sep 22, 2025
85f42ce
Merge branch 'fix_incorrect_op_asgn_processing' into 2025-09-22
apiology Sep 22, 2025
982ad1a
Remove duplicate assignment handling
apiology Sep 22, 2025
4459b8a
Merge branch 'fix_assignment_handling' into 2025-09-22
apiology Sep 22, 2025
802e14e
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 24, 2025
3399448
Add @sg-ignore
apiology Sep 24, 2025
4eda431
Handle RBS static method aliases
apiology Sep 24, 2025
037307e
Fix #reduce_class_type
apiology Sep 24, 2025
25b0770
linting
apiology Sep 24, 2025
c31cfbb
Merge branch 'rspec-rails_fix' into 2025-09-22
apiology Sep 24, 2025
fd13390
Merge branch 'rspec-rails_fix' into generic_typechecking_improvements
apiology Sep 24, 2025
62679ae
Merge branch 'rspec-rails_fix' into cache_uncache_gem
apiology Sep 24, 2025
6a7a37f
Fix RuboCop issues
apiology Sep 24, 2025
1ebefed
Merge branch 'master' into reference-handling
apiology Sep 24, 2025
3d14fe7
Merge branch 'overcommit_yardoc_bundle_fix' into cache_uncache_gem
apiology Sep 25, 2025
f4399eb
[regression] Fix issue resolving mixins under same namespace
apiology Sep 25, 2025
3324b4c
Prevent recursion via caching mechanism
apiology Sep 25, 2025
174bf4e
Linting fix, ignore rubocop-yard issue pending yard PR merge
apiology Sep 25, 2025
4898313
[regression] Fix resolution in deep YARD namespace hierarchies
apiology Sep 25, 2025
cb47db0
[regression] Fix resolution of ambiguous argument types
apiology Sep 25, 2025
97e5519
Fix gates default value to match existing behavior
apiology Sep 25, 2025
7840f9e
Linting
apiology Sep 25, 2025
99cf71d
Linting
apiology Sep 25, 2025
dfdb952
Fix re-used variable name issue
apiology Sep 26, 2025
f8f7ca2
Linting
apiology Sep 26, 2025
1023646
Merge branch 'fix_mixin_under_same_ns' into fix_yard_pin_resolution_i…
apiology Sep 26, 2025
8ce4bb9
Fix merge
apiology Sep 26, 2025
a398b84
Resolve constants in references
apiology Sep 26, 2025
dd06a47
Linting
apiology Sep 26, 2025
cc86aec
Ratchet RuboCop
apiology Sep 26, 2025
343cd23
Fix lack of parameters in include types
apiology Sep 26, 2025
d787886
Bug fixes
apiology Sep 26, 2025
63a53db
Add actual type for Mutexes
apiology Sep 26, 2025
9d4ba44
Allow more valid method pin paths
apiology Sep 26, 2025
2712e66
RuboCop fix
apiology Sep 26, 2025
7bc2092
Linting
apiology Sep 26, 2025
7546f73
Enable solargraph-rspec tests
lekemula Sep 21, 2025
9c79e5b
Fix rspec gems specs
lekemula Sep 21, 2025
b4c8b99
Add solargraph profile command
lekemula Sep 4, 2025
d67d580
Add memory usage counter
lekemula Sep 5, 2025
c0455fa
Fix CI (typechecking) and pin the gem version
lekemula Sep 11, 2025
431dd32
Make overcommit happy?
lekemula Sep 11, 2025
55cf9c3
Fix pin combination consistency issue
apiology Sep 27, 2025
395b1f1
Merge branch 'consistent_closure_selection' into fix_gates_in_arg_types
apiology Sep 27, 2025
5d4bbc3
Closure merging fixes
apiology Sep 28, 2025
b5898e2
Drop incidental requirement
apiology Sep 28, 2025
1416e1d
Reduce number of build jobs for faster CI feedback
apiology Sep 28, 2025
f2abb73
Fix punctuation
apiology Sep 28, 2025
12e4563
[regression] Fix resolution of a nested type case
apiology Sep 28, 2025
b8174dd
Fix example name
apiology Sep 28, 2025
884e821
Merge branch 'fix_yard_pin_resolution_issues' into fix_resolution_of_…
apiology Sep 28, 2025
f6cdff4
Merge branch 'master' into per_file_log_overriding
apiology Sep 30, 2025
5455391
Merge branch 'master' into rubocop_stability
apiology Sep 30, 2025
d69cd60
Merge branch 'master' into method_pin
apiology Sep 30, 2025
ea569db
Merge branch 'master' into add_regression_specs
apiology Sep 30, 2025
4bf2ca3
Merge branch 'master' into add_regression_specs
apiology Sep 30, 2025
1c8b35c
Merge branch 'rubocop_stability' into add_regression_specs
apiology Sep 30, 2025
cbe850d
Merge remote-tracking branch 'origin/master' into method_alias_assert…
apiology Sep 30, 2025
07398d4
Exempt a file hit by the unmerged YARD fix
apiology Sep 30, 2025
879eac3
Merge branch 'master' into reduce_num_of_buid_jobs
apiology Sep 30, 2025
99b7550
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 30, 2025
6e8c74a
Merge remote-tracking branch 'origin/master' into handle_more_typeche…
apiology Sep 30, 2025
12da1e3
Merge remote-tracking branch 'origin/master' into fix_resolution_of_a…
apiology Sep 30, 2025
faa57aa
Add another unmerged-Yard-PR issue
apiology Sep 30, 2025
4315f73
Merge branch 'fix_resolution_of_another_ambiguous_type' into handle_m…
apiology Sep 30, 2025
b9f2900
Fix merge issue
apiology Sep 30, 2025
f99883b
Merge remote-tracking branch 'origin/master' into overcommit_yardoc_b…
apiology Sep 30, 2025
7f24b69
Merge remote-tracking branch 'origin/master' into cache_uncache_gem
apiology Sep 30, 2025
6ed1150
Fix merge
apiology Sep 30, 2025
004b7a4
Merge remote-tracking branch 'origin/master' into pin_cache_refactor
apiology Sep 30, 2025
eabe151
Update rubocop todo
apiology Sep 30, 2025
ce3ce8c
Fix merge issue
apiology Sep 30, 2025
a6bdfd6
Drop no-longer-needed @sg-ignores
apiology Sep 30, 2025
4918790
Merge branch 'master' into drop_broken_namespaces_method
apiology Sep 30, 2025
3df4406
Ratchet RuboCop
apiology Sep 30, 2025
7e3aa9d
Merge remote-tracking branch 'origin/master' into extract_gemspecs_lo…
apiology Sep 30, 2025
94de7b5
Ratchet RuboCop
apiology Sep 30, 2025
8ddce85
Merge remote-tracking branch 'origin/master' into extract_gemspecs_lo…
apiology Sep 30, 2025
3ab765d
Drop unneeded @sg-ignores
apiology Sep 30, 2025
c23f64f
Merge remote-tracking branch 'origin/master' into handle_more_typeche…
apiology Sep 30, 2025
f8a78bf
Merge remote-tracking branch 'origin/master' into run_strict_typechec…
apiology Sep 30, 2025
2e6aa3f
Drop unneeded @sg-ignores
apiology Sep 30, 2025
66abe83
Drop unneeded @sg-ignore
apiology Sep 30, 2025
c35d6a7
Drop another @sg-ignore
apiology Sep 30, 2025
eff3351
Merge remote-tracking branch 'origin/master' into pin_infer_assertion
apiology Sep 30, 2025
73e21c8
Merge remote-tracking branch 'origin/master' into fix_gates_in_arg_types
apiology Sep 30, 2025
b3a0b94
Merge remote-tracking branch 'origin/master' into fix_resolution_of_a…
apiology Sep 30, 2025
71f0b18
Ratchet RuboCop
apiology Sep 30, 2025
7cba7ca
Bump for call.rb complexity
apiology Sep 30, 2025
053de42
Merge remote-tracking branch 'origin/master' into method_pin
apiology Sep 30, 2025
2d154ca
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 30, 2025
470c26e
Mark spec as now working
apiology Sep 30, 2025
523ca94
Merge remote-tracking branch 'origin/master' into try_again_removing_…
apiology Sep 30, 2025
cf88cea
Merge remote-tracking branch 'origin/master' into fix_assignment_hand…
apiology Sep 30, 2025
e875be7
Merge remote-tracking branch 'origin/master' into solargraph_force_ve…
apiology Sep 30, 2025
f87d5ae
Merge branch 'solargraph_force_version' of apiology.github.com:apiolo…
apiology Sep 30, 2025
ed357cd
Merge remote-tracking branch 'origin/master' into message_spies_linting
apiology Sep 30, 2025
b1c9057
Merge remote-tracking branch 'origin/master' into reference-handling
apiology Sep 30, 2025
5714814
Merge branch 'reference-handling' of apiology.github.com:castwide/sol…
apiology Sep 30, 2025
e933775
Fix merge issue
apiology Sep 30, 2025
c28b5ef
Fix RuboCop issue
apiology Sep 30, 2025
622bdd3
Fix expectations
apiology Sep 30, 2025
13c54d3
Merge branch 'method_alias_assertions' into 2025-09-30
apiology Oct 1, 2025
821d9a1
Merge branch 'reduce_num_of_buid_jobs' into 2025-09-30
apiology Oct 1, 2025
fa32262
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 1, 2025
d486e64
Trim more matrix entries to make room for solargraph-rspec specs
apiology Oct 1, 2025
18d6832
Merge branch 'reduce_num_of_buid_jobs' into 2025-09-30
apiology Oct 1, 2025
56342d4
Fix version number
apiology Oct 1, 2025
9152241
Merge branch 'reduce_num_of_buid_jobs' into 2025-09-30
apiology Oct 1, 2025
7f99fa4
Merge branch 'fix_resolution_of_another_ambiguous_type' into 2025-09-30
apiology Oct 1, 2025
397447c
Merge branch 'generic_typechecking_improvements' into 2025-09-30
apiology Oct 1, 2025
ecb9dfe
Merge branch 'overcommit_yardoc_bundle_fix' into 2025-09-30
apiology Oct 1, 2025
1773a94
Add @sg-ignore
apiology Oct 1, 2025
4f2a6c0
Merge branch 'drop_broken_namespaces_method' into 2025-09-30
apiology Oct 1, 2025
6190c84
Merge branch 'handle_more_typechecking_self_situations' into 2025-09-30
apiology Oct 1, 2025
2e96500
Adjust @sg-ignores
apiology Oct 1, 2025
df0c1db
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 1, 2025
110dcb9
Merge branch 'add_regression_specs' into 2025-09-30
apiology Oct 1, 2025
c97f529
Mark spec as working
apiology Oct 1, 2025
816baba
Merge branch 'reference-handling' into 2025-09-30
apiology Oct 2, 2025
f547a50
rubocop update
apiology Oct 2, 2025
232d7ea
Merge branch 'fix_gates_in_arg_types' into 2025-09-30
apiology Oct 2, 2025
4eed077
Merge branch 'try_again_removing_node_modules_stubs' into 2025-09-30
apiology Oct 2, 2025
3269569
Merge remote-tracking branch 'lekemula/enable-solargraph-rspec-plugin…
apiology Oct 2, 2025
b0756f6
Use an integration fix branch for now
apiology Oct 5, 2025
cd76c38
Use appraisal gem while running solargraph-rspec specs
apiology Oct 5, 2025
4850838
Merge branch 'fix_resolution_of_another_ambiguous_type' into 2025-09-30
apiology Oct 5, 2025
280f2c9
Merge branch 'run_strict_typechecking_in_ci' into 2025-09-30
apiology Oct 5, 2025
152dbdf
Annotation fixes for strong typechecking
apiology Oct 5, 2025
2e64adc
Merge branch 'annotations_2025' into 2025-09-30
apiology Oct 5, 2025
2deded7
Drop now-unneeded @sg-ignore
apiology Oct 5, 2025
94e650b
Annotation fixes
apiology Oct 5, 2025
e36d507
Merge branch 'generic_typechecking_improvements' into 2025-09-30
apiology Oct 5, 2025
4e8b5d1
Fix merge issue
apiology Oct 5, 2025
367e1f1
Merge branch 'per_file_log_overriding' into 2025-09-30
apiology Oct 5, 2025
3035b92
Merge branch 'method_pin' into 2025-09-30
apiology Oct 5, 2025
95c6245
Fix merge
apiology Oct 5, 2025
d18ec85
Merge branch 'cache_uncache_gem' into 2025-09-30
apiology Oct 5, 2025
f153e38
Fix merge
apiology Oct 6, 2025
096ff16
Merge remote-tracking branch 'origin/master' into pin_cache_refactor
apiology Oct 6, 2025
cec4bb3
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-09-30
apiology Oct 6, 2025
c3a9cbd
Fix override issues with docstring
apiology Oct 6, 2025
d6f0b7c
Drop xit
apiology Oct 6, 2025
c5dff9e
Update Rubocop todo file
apiology Oct 6, 2025
88e1f73
Fix merge
apiology Oct 6, 2025
6fc3454
Add @type annotation
apiology Oct 6, 2025
96bdd94
Add missing reset_generated! methods
apiology Oct 6, 2025
83e6a2b
Add @sg-ignore
apiology Oct 6, 2025
a5d7ea5
Restore xit
apiology Oct 6, 2025
d5be6b2
Fix Rubocop TODO file
apiology Oct 6, 2025
ab117f4
Merge branch 'handle_gemspec_bad_gemdir' into 2025-09-30
apiology Oct 6, 2025
4de4273
Merge branch 'pin_cache_refactor' into 2025-09-30
apiology Oct 6, 2025
901e61f
Mark spec with xit
apiology Oct 6, 2025
70933c6
Merge branch 'message_spies_linting' into 2025-09-30
apiology Oct 6, 2025
8aabbe0
Merge branch 'solargraph_force_version' into 2025-09-30
apiology Oct 6, 2025
611cf29
Merge remote-tracking branch 'lekemula/profile-command' into 2025-09-30
apiology Oct 6, 2025
5a36643
Fix RuboCop issue
apiology Oct 6, 2025
ad42362
Merge branch 'pin_infer_assertion' into 2025-09-30
apiology Oct 6, 2025
261c6fd
Avoid deprecated method
apiology Oct 6, 2025
934015b
Avoid deprecated method
apiology Oct 6, 2025
afc8233
Merge branch 'keep_workspaces_as_absolute_paths' into 2025-09-30
apiology Oct 6, 2025
fafe298
Fix merge
apiology Oct 6, 2025
e3623bb
Fix spec
apiology Oct 6, 2025
ef4640c
Merge branch 'doc_improvements' into 2025-09-30
apiology Oct 6, 2025
ed664b6
Merge branch 'fix_assignment_handling' into 2025-09-30
apiology Oct 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# current git branch
SOLARGRAPH_FORCE_VERSION=0.0.1.dev-$(git rev-parse --abbrev-ref HEAD | tr -d '\n' | tr -d '/' | tr -d '-'| tr -d '_')
export SOLARGRAPH_FORCE_VERSION
62 changes: 38 additions & 24 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,30 +105,44 @@ jobs:
- name: Ensure specs still run
run: bundle exec rake spec

# run_solargraph_rspec_specs:
# # check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: clone https://github.com/lekemula/solargraph-rspec/
# run: |
# cd ..
# git clone https://github.com/lekemula/solargraph-rspec.git
# cd solargraph-rspec
# - name: Set up Ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '3.0'
# bundler-cache: false
# - name: Install gems
# run: |
# cd ../solargraph-rspec
# echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
# bundle install
# - name: Run specs
# run: |
# cd ../solargraph-rspec
# bundle exec rake spec
run_solargraph_rspec_specs:
# check out solargraph-rspec as well as this project, and point the former to use the latter as a local gem
runs-on: ubuntu-latest
env:
SOLARGRAPH_CACHE: ${{ github.workspace }}/../solargraph-rspec/vendor/solargraph/cache
BUNDLE_PATH: ${{ github.workspace }}/../solargraph-rspec/vendor/bundle
steps:
- uses: actions/checkout@v3
- name: clone https://github.com/lekemula/solargraph-rspec/
run: |
cd ..
git clone --branch less_limited_requires https://github.com/apiology/solargraph-rspec.git
cd solargraph-rspec
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: false
- name: Install gems
run: |
cd ../solargraph-rspec
echo "gem 'solargraph', path: '../solargraph'" >> Gemfile
bundle config path ${{ env.BUNDLE_PATH }}
bundle install --jobs 4 --retry 3
bundle exec appraisal install
- name: Configure .solargraph.yml
run: |
cd ../solargraph-rspec
cp .solargraph.yml.example .solargraph.yml
- name: Solargraph generate RSpec gems YARD and RBS pins
run: |
cd ../solargraph-rspec
rspec_gems=$(bundle exec ruby -r './lib/solargraph-rspec' -e 'puts Solargraph::Rspec::Gems.gem_names.join(" ")' 2>/dev/null | tail -n1)
bundle exec appraisal solargraph gems $rspec_gems
- name: Run specs
run: |
cd ../solargraph-rspec
bundle exec appraisal rspec --format progress

run_solargraph_rails_specs:
# check out solargraph-rails as well as this project, and point the former to use the latter as a local gem
Expand Down
35 changes: 33 additions & 2 deletions .github/workflows/rspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,37 @@ jobs:
matrix:
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', 'head']
rbs-version: ['3.6.1', '3.9.4', '4.0.0.dev.4']
# Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
exclude:
# Ruby 3.0 doesn't work with RBS 3.9.4 or 4.0.0.dev.4
- ruby-version: '3.0'
rbs-version: '3.9.4'
- ruby-version: '3.0'
rbs-version: '4.0.0.dev.4'
# only include the 3.1 variants we include later
- ruby-version: '3.1'
# only include the 3.2 variants we include later
- ruby-version: '3.2'
# only include the 3.3 variants we include later
- ruby-version: '3.3'
# only include the 3.4 variants we include later
- ruby-version: '3.4'
# Missing require in 'rbs collection update' - hopefully
# fixed in next RBS dev release
- ruby-version: 'head'
rbs-version: '4.0.0.dev.4'
- ruby-version: 'head'
rbs-version: '3.9.4'
- ruby-version: 'head'
rbs-version: '3.6.1'
include:
- ruby-version: '3.1'
rbs-version: '3.6.1'
- ruby-version: '3.2'
rbs-version: '3.9.4'
- ruby-version: '3.3'
rbs-version: '4.0.0.dev.4'
- ruby-version: '3.4'
rbs-version: '4.0.0.dev.4'
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
Expand All @@ -48,6 +73,8 @@ jobs:
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
- name: Install types
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
undercover:
Expand All @@ -64,7 +91,11 @@ jobs:
ruby-version: '3.4'
bundler-cache: false
- name: Install gems
run: bundle install
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
- name: Install types
run: bundle exec rbs collection update
- name: Run tests
run: bundle exec rake spec
- name: Check PR coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:

jobs:
solargraph_typed:
name: Solargraph / typed
name: Solargraph / strong

runs-on: ubuntu-latest

Expand All @@ -36,4 +36,4 @@ jobs:
- name: Install gem types
run: bundle exec rbs collection install
- name: Typecheck self
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level typed
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level strong
62 changes: 13 additions & 49 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ Gemspec/OrderedDependencies:
# Configuration parameters: Severity.
Gemspec/RequireMFA:
Exclude:
- 'solargraph.gemspec'
- 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
- 'spec/fixtures/rubocop-custom-version/specifications/rubocop-0.0.0.gemspec'

Expand Down Expand Up @@ -81,7 +80,6 @@ Layout/ElseAlignment:
# Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
Layout/EmptyLineBetweenDefs:
Exclude:
- 'lib/solargraph/doc_map.rb'
- 'lib/solargraph/language_server/message/initialize.rb'
- 'lib/solargraph/pin/delegated_method.rb'

Expand Down Expand Up @@ -201,7 +199,6 @@ Layout/MultilineMethodCallIndentation:
# SupportedStyles: aligned, indented
Layout/MultilineOperationIndentation:
Exclude:
- 'lib/solargraph/api_map.rb'
- 'lib/solargraph/language_server/host/dispatch.rb'
- 'lib/solargraph/source.rb'

Expand All @@ -216,11 +213,6 @@ Layout/SpaceAfterComma:
Layout/SpaceAroundEqualsInParameterDefault:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
Layout/SpaceAroundKeyword:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
# SupportedStylesForExponentOperator: space, no_space
Expand Down Expand Up @@ -363,7 +355,6 @@ Lint/NonAtomicFileOperation:
# This cop supports safe autocorrection (--autocorrect).
Lint/ParenthesesAsGroupedExpression:
Exclude:
- 'lib/solargraph.rb'
- 'lib/solargraph/parser/parser_gem/node_chainer.rb'
- 'spec/language_server/host_spec.rb'
- 'spec/source_map/clip_spec.rb'
Expand Down Expand Up @@ -432,12 +423,6 @@ Lint/UnusedBlockArgument:
Lint/UnusedMethodArgument:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
Lint/UselessAccessModifier:
Exclude:
- 'lib/solargraph/api_map.rb'

# This cop supports safe autocorrection (--autocorrect).
Lint/UselessAssignment:
Enabled: false
Expand All @@ -458,7 +443,7 @@ Metrics/AbcSize:
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
# AllowedMethods: refine
Metrics/BlockLength:
Max: 54
Max: 56

# Configuration parameters: CountBlocks, CountModifierForms.
Metrics/BlockNesting:
Expand All @@ -469,6 +454,7 @@ Metrics/ClassLength:
Exclude:
- 'lib/solargraph/api_map.rb'
- 'lib/solargraph/language_server/host.rb'
- 'lib/solargraph/pin/method.rb'
- 'lib/solargraph/rbs_map/conversions.rb'
- 'lib/solargraph/type_checker.rb'

Expand Down Expand Up @@ -554,7 +540,6 @@ Naming/VariableName:
RSpec/Be:
Exclude:
- 'spec/rbs_map/stdlib_map_spec.rb'
- 'spec/rbs_map_spec.rb'
- 'spec/source/source_chainer_spec.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
Expand All @@ -577,7 +562,6 @@ RSpec/BeforeAfterAll:
- '**/spec/rails_helper.rb'
- '**/spec/support/**/*.rb'
- 'spec/api_map_spec.rb'
- 'spec/doc_map_spec.rb'
- 'spec/language_server/host/dispatch_spec.rb'
- 'spec/language_server/protocol_spec.rb'

Expand Down Expand Up @@ -624,7 +608,6 @@ RSpec/ExampleWording:
# This cop supports safe autocorrection (--autocorrect).
RSpec/ExcessiveDocstringSpacing:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'
- 'spec/source/chain/call_spec.rb'

# This cop supports safe autocorrection (--autocorrect).
Expand All @@ -641,20 +624,16 @@ RSpec/HookArgument:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: .
# Configuration parameters: EnforcedStyle.
# SupportedStyles: is_expected, should
RSpec/ImplicitExpect:
EnforcedStyle: should
Exclude:
- 'spec/convention/activesupport_concern_spec.rb'

# Configuration parameters: AssignmentOnly.
RSpec/InstanceVariable:
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
RSpec/LeadingSubject:
Exclude:
- 'spec/rbs_map/conversions_spec.rb'

RSpec/LeakyConstantDeclaration:
Exclude:
- 'spec/complex_type_spec.rb'
Expand All @@ -664,14 +643,6 @@ RSpec/LetBeforeExamples:
Exclude:
- 'spec/complex_type_spec.rb'

# Configuration parameters: EnforcedStyle.
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
Exclude:
- 'spec/doc_map_spec.rb'
- 'spec/language_server/host/diagnoser_spec.rb'
- 'spec/language_server/host/message_worker_spec.rb'

RSpec/MissingExampleGroupArgument:
Exclude:
- 'spec/diagnostics/rubocop_helpers_spec.rb'
Expand All @@ -697,7 +668,12 @@ RSpec/NotToNot:
- 'spec/rbs_map/core_map_spec.rb'

RSpec/PendingWithoutReason:
Enabled: false
Exclude:
- 'spec/api_map_spec.rb'
- 'spec/doc_map_spec.rb'
- 'spec/pin/local_variable_spec.rb'
- 'spec/type_checker/levels/strict_spec.rb'
- 'spec/workspace/gemspecs_resolve_require_spec.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
Expand Down Expand Up @@ -732,10 +708,6 @@ RSpec/ScatteredLet:
Exclude:
- 'spec/complex_type_spec.rb'

RSpec/StubbedMock:
Exclude:
- 'spec/language_server/host/message_worker_spec.rb'

# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
RSpec/VerifiedDoubles:
Enabled: false
Expand Down Expand Up @@ -955,7 +927,6 @@ Style/MapIntoArray:
Exclude:
- 'lib/solargraph/diagnostics/update_errors.rb'
- 'lib/solargraph/parser/parser_gem/node_chainer.rb'
- 'lib/solargraph/type_checker/param_def.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
Expand Down Expand Up @@ -1029,7 +1000,6 @@ Style/Next:
- 'lib/solargraph/parser/parser_gem/node_processors/send_node.rb'
- 'lib/solargraph/pin/signature.rb'
- 'lib/solargraph/source_map/clip.rb'
- 'lib/solargraph/type_checker/checks.rb'

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
Expand Down Expand Up @@ -1125,7 +1095,6 @@ Style/RedundantRegexpEscape:
Style/RedundantReturn:
Exclude:
- 'lib/solargraph/complex_type/type_methods.rb'
- 'lib/solargraph/doc_map.rb'
- 'lib/solargraph/parser/parser_gem/node_methods.rb'
- 'lib/solargraph/source/chain/z_super.rb'

Expand Down Expand Up @@ -1157,7 +1126,7 @@ Style/SafeNavigation:
# Configuration parameters: Max.
Style/SafeNavigationChainLength:
Exclude:
- 'lib/solargraph/doc_map.rb'
- 'lib/solargraph/workspace/gemspecs.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SlicingWithRange:
Expand Down Expand Up @@ -1278,12 +1247,7 @@ YARD/MismatchName:
Enabled: false

YARD/TagTypeSyntax:
Exclude:
- 'lib/solargraph/api_map/constants.rb'
- 'lib/solargraph/language_server/host.rb'
- 'lib/solargraph/parser/comment_ripper.rb'
- 'lib/solargraph/pin/method.rb'
- 'lib/solargraph/type_checker.rb'
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ Plug-ins and extensions are available for the following editors:

Solargraph's behavior can be controlled via optional [configuration](https://solargraph.org/guides/configuration) files. The highest priority file is a `.solargraph.yml` file at the root of the project. If not present, any global configuration at `~/.config/solargraph/config.yml` will apply. The path to the global configuration can be overridden with the `SOLARGRAPH_GLOBAL_CONFIG` environment variable.

Use `bundle exec solargraph init` to create a configuration file.

### Plugins

Solargraph supports [plugins](https://solargraph.org/guides/plugins) that implement their own Solargraph features, such as diagnostics reporters and conventions to provide LSP features and type-checking, e.g. for frameworks which use metaprogramming and/or DSLs.
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ task :console do
end

desc "Run the type checker"
task typecheck: [:typecheck_typed]
task typecheck: [:typecheck_strong]

desc "Run the type checker at typed level - return code issues provable without annotations being correct"
task :typecheck_typed do
Expand Down
Loading
Loading