Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
674 commits
Select commit Hold shift + click to select a range
7f5d325
Merge branch 'keep_workspaces_as_absolute_paths' into 2025-08-28
apiology Sep 11, 2025
edaa819
Remove dead code
apiology Sep 11, 2025
e2202a3
Merge branch 'remove_dead_code' into 2025-08-28
apiology Sep 11, 2025
c3457f4
Fix merge issue
apiology Sep 11, 2025
588ce79
Use find_gem in another location
apiology Sep 11, 2025
adb34e5
Use find_gem in another location
apiology Sep 11, 2025
64c65c0
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Sep 11, 2025
82bfce7
Add rebuild option
apiology Sep 11, 2025
90397c4
Merge branch 'cache_uncache_gem' into 2025-08-28
apiology Sep 11, 2025
0fa1ad1
Fix syntax
apiology Sep 11, 2025
97a3ceb
Fix workspace calls in shell.rb
apiology Sep 11, 2025
6fcbc0b
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Sep 11, 2025
5a5b865
Pass through rebuild flag
apiology Sep 11, 2025
bf58fcf
Merge branch 'cache_uncache_gem' into 2025-08-28
apiology Sep 11, 2025
c294833
Fix merge issue
apiology Sep 11, 2025
3a7b7e7
Document 'solargraph init' command in README
apiology Sep 11, 2025
bd7b4ef
Merge branch 'doc_improvements' into 2025-08-28
apiology Sep 11, 2025
2ea9620
Add future spec for issue that blocks existing one
apiology Sep 11, 2025
227811c
Merge branch 'add_regression_specs' into 2025-08-28
apiology Sep 11, 2025
0dbf358
Disable new spec
apiology Sep 11, 2025
d4c41dd
Merge branch 'add_regression_specs' into 2025-08-28
apiology Sep 11, 2025
4c181ec
Refactor doc_map_spec
apiology Sep 11, 2025
daf8633
Mark spec with xit
apiology Sep 11, 2025
accf91f
Merge branch 'add_regression_specs' into 2025-08-28
apiology Sep 11, 2025
7762471
Enable xit'ed spec
apiology Sep 11, 2025
7a88bd0
Add assert
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
84d8869
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-08-28
apiology Sep 11, 2025
febe896
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Sep 11, 2025
70c60a4
Use xit to exclude spec that fails in some environment combinations
apiology Sep 11, 2025
e85cb5e
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-08-28
apiology Sep 11, 2025
0ae82ca
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Sep 11, 2025
602d803
Add another regression spec
apiology Sep 11, 2025
bf8d319
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-08-28
apiology Sep 11, 2025
e407fc1
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Sep 11, 2025
569bf4f
Improve assertion
apiology Sep 11, 2025
396c114
Drop assert, add gem lookup workaround for conventions, enable spec
apiology Sep 11, 2025
6e03bc8
Handle bad gemdir from gemspec object
apiology Sep 11, 2025
d4f6d63
Merge branch 'handle_gemspec_bad_gemdir' into 2025-08-28
apiology Sep 11, 2025
1ca071d
Fix specs
apiology Sep 11, 2025
62d7d08
Linting fix
apiology Sep 11, 2025
cc66bce
Merge branch 'handle_gemspec_bad_gemdir' into improve_gemspecs_logic
apiology Sep 11, 2025
9b58947
xit -> pending so we reenable specs once fixed
apiology Sep 11, 2025
035b21f
Merge branch 'add_regression_specs' into 2025-08-28
apiology Sep 11, 2025
685d505
Mark spec as working
apiology Sep 11, 2025
182fccc
Handle a solargraph-rails case
apiology Sep 11, 2025
d85fc65
Reenable specs
apiology Sep 11, 2025
73f98b9
Add a regression spec
apiology Sep 11, 2025
cb59ba6
Drop assert
apiology Sep 11, 2025
05b36ec
Import spec to cover shell.rb changes
apiology Sep 11, 2025
7665e80
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Sep 11, 2025
a2834a5
Fix merge issue
apiology Sep 12, 2025
9550572
Disable constant test
apiology Sep 12, 2025
9997273
Mark things as no longer pending
apiology Sep 12, 2025
a89f298
Add temporary @sg-ignores
apiology Sep 12, 2025
5a1a02d
More annotation fixes
apiology Sep 12, 2025
d12635a
Merge branch 'rubocop_stability' into type_annotation_fixes_2025
apiology Sep 12, 2025
fd64e33
More YARD/TagTypeSyntax
apiology Sep 12, 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
f4074a5
Merge branch 'master' into gemfile_fixes
apiology Sep 13, 2025
5f89e60
Merge branch 'rubocop_stability' into gemfile_fixes
apiology Sep 13, 2025
e311604
Merge branch 'master' into type_annotation_fixes_2025
apiology Sep 13, 2025
28712cc
Merge branch 'rubocop_stability' into type_annotation_fixes_2025
apiology Sep 13, 2025
939ca1c
Merge branch 'rubocop_stability' into extract_gemspecs_logic_from_doc…
apiology Sep 13, 2025
940babb
Merge branch 'master' into pin_infer_assertion
apiology Sep 14, 2025
c1464b4
Merge branch 'rubocop_stability' into pin_infer_assertion
apiology Sep 14, 2025
7c8d200
Enable union type checking (at typed level temporarily, soon strict)
apiology Sep 15, 2025
7e8e49b
More annotation fixes
apiology Sep 15, 2025
b036df7
More YARD/TagTypeSyntax
apiology Sep 15, 2025
2b06ca9
Enable CI
apiology Sep 15, 2025
ab0166d
Enable CI
apiology Sep 12, 2025
aaed797
Fix annotation
apiology Sep 12, 2025
e4cb1e3
Fix combination of directives
apiology Sep 12, 2025
dcd5182
Add another @sg-ignore
apiology Sep 13, 2025
28daabb
Kill needless GitHub workflow tweaks
apiology Sep 15, 2025
583e66d
Small type fix
apiology Sep 13, 2025
c799c2b
Adjust specs to feature
apiology Sep 13, 2025
087ce9f
Adjust specs to feature
apiology Sep 13, 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
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
135d232
Merge branch 'master' into gemfile_fixes
apiology Sep 23, 2025
e02d61c
Merge branch 'master' into gemfile_fixes
apiology Sep 23, 2025
a27ab73
Merge remote-tracking branch 'castwide/1083-followup' into gemfile_fixes
apiology Sep 23, 2025
d2bf110
Merge branch 'gemfile_fixes' of apiology.github.com:apiology/solargra…
apiology Sep 23, 2025
aa89ec3
Merge remote-tracking branch 'origin/master' into gemfile_fixes
apiology Sep 24, 2025
802e14e
Merge remote-tracking branch 'origin/master' into generic_typecheckin…
apiology Sep 24, 2025
3399448
Add @sg-ignore
apiology Sep 24, 2025
1f13916
Fix bug in new typechecking code
apiology Sep 24, 2025
2c050ea
Fix bug in new typechecking code
apiology Sep 24, 2025
8b24ce9
Fix bug in new typechecking code
apiology Sep 24, 2025
28b6b65
Merge remote-tracking branch 'origin/master' into 2025-08-28
apiology Sep 24, 2025
f2ec1b8
Fix merge
apiology Sep 24, 2025
96a6dfd
Merge branch 'generic_typechecking_improvements' into 2025-08-28
apiology Sep 24, 2025
8451621
Fix merge
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
29b0458
Merge branch 'rspec-rails_fix' into gemfile_fixes
apiology Sep 24, 2025
fd13390
Merge branch 'rspec-rails_fix' into generic_typechecking_improvements
apiology Sep 24, 2025
6a7a37f
Fix RuboCop issues
apiology Sep 24, 2025
9ef047f
Revert "Fix case where include tags need to be qualified [regression]"
apiology Sep 24, 2025
7bc60eb
Mark specs as working
apiology Sep 24, 2025
7750aca
Merge branch 'generic_typechecking_improvements' into 2025-08-28
apiology Sep 24, 2025
6a6cd95
Revert "Enable union type checking (at typed level temporarily, soon …
apiology Sep 24, 2025
5bb2c39
Merge branch 'gemfile_fixes' into 2025-08-28
apiology Sep 24, 2025
680799e
Merge branch 'extract_gemspecs_logic_from_doc_map' into 2025-08-28
apiology Sep 24, 2025
915c1dc
Drop dead methods and fix merge
apiology Sep 24, 2025
fd743f1
Fix specs
apiology Sep 24, 2025
1842cb3
Add @sg-ignore
apiology Sep 24, 2025
ec8899b
Undo test changes
apiology Sep 24, 2025
de0473a
Merge remote-tracking branch 'origin/master' into type_annotation_fix…
apiology Sep 25, 2025
a8602dc
Annotate ApiMap::Store#get_ancestor_references
apiology Sep 25, 2025
f2bd823
Merge branch 'type_annotation_fixes_2025' into 2025-08-28
apiology Sep 25, 2025
548396b
Fix merge issue
apiology Sep 25, 2025
f4399eb
[regression] Fix issue resolving mixins under same namespace
apiology Sep 25, 2025
b188345
Merge branch 'fix_mixin_under_same_ns' into 2025-08-28
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
7e68367
Merge branch 'fix_mixin_under_same_ns' into 2025-08-28
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
4d47944
Merge branch 'fix_gates_in_arg_types' into 2025-08-28
apiology Sep 25, 2025
97e5519
Fix gates default value to match existing behavior
apiology Sep 25, 2025
7840f9e
Linting
apiology Sep 25, 2025
777dc09
Merge branch 'fix_gates_in_arg_types' into 2025-08-28
apiology Sep 25, 2025
f8f7ca2
Linting
apiology Sep 26, 2025
9ad0cbd
Linting
apiology Sep 25, 2025
b49c33b
Fix re-used variable name issue
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
0074ea0
Merge branch 'fix_yard_pin_resolution_issues' into 2025-08-28
apiology Sep 26, 2025
a398b84
Resolve constants in references
apiology Sep 26, 2025
a3d33f1
Merge branch 'try_again_removing_node_modules_stubs' into 2025-08-28
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
4ce98a0
Merge branch 'try_again_removing_node_modules_stubs' into 2025-08-28
apiology Sep 26, 2025
63a53db
Add actual type for Mutexes
apiology Sep 26, 2025
79283d6
Merge branch 'try_again_removing_node_modules_stubs' into 2025-08-28
apiology Sep 26, 2025
9d4ba44
Allow more valid method pin paths
apiology Sep 26, 2025
d007593
Merge branch 'method_pin' into 2025-08-28
apiology Sep 26, 2025
2712e66
RuboCop fix
apiology Sep 26, 2025
e32da28
Merge branch 'method_pin' into 2025-08-28
apiology Sep 26, 2025
7bc2092
Linting
apiology Sep 26, 2025
e4478a7
Merge branch 'method_pin' into 2025-08-28
apiology Sep 26, 2025
0077357
Drop @sg-ignores
apiology Sep 26, 2025
46a838b
Drop @sg-ignores
apiology Sep 26, 2025
1c15c8b
Add @sg-ignores
apiology Sep 26, 2025
17caac7
More annotation tweaks
apiology Sep 26, 2025
44dfdd2
Ratchet RuboCop
apiology Sep 26, 2025
e1b26b0
Update rubocop todo
apiology Sep 26, 2025
22a78b7
Fix spec
apiology Sep 26, 2025
8c4cfe6
Standardize on RBS version for typechecking
apiology Sep 26, 2025
6211ce2
Add bundle list (debug)
apiology Sep 27, 2025
f9451ab
Merge branch 'pin_infer_assertion' into 2025-08-28
apiology Sep 27, 2025
d56bb21
Fix merge
apiology Sep 27, 2025
4559575
Debug
apiology Sep 27, 2025
55cf9c3
Fix pin combination consistency issue
apiology Sep 27, 2025
ad2e38e
Merge branch 'consistent_closure_selection' into 2025-08-28
apiology Sep 27, 2025
5d4bbc3
Closure merging fixes
apiology Sep 28, 2025
b5898e2
Drop incidental requirement
apiology Sep 28, 2025
ff95353
Merge branch 'fix_yard_pin_resolution_issues' into 2025-08-28
apiology Sep 28, 2025
19aa4f7
Revert change
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
879eac3
Merge branch 'master' into reduce_num_of_buid_jobs
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
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
8fb3aaa
Merge remote-tracking branch 'origin/master' into 2025-08-28
apiology Sep 30, 2025
5cf497e
Fix merge
apiology Sep 30, 2025
bcf5f11
Fix merge
apiology Sep 30, 2025
0610e21
Drop @sg-ignores
apiology Sep 30, 2025
b6cbb6d
Merge branch 'reduce_num_of_buid_jobs' into 2025-08-28
apiology Sep 30, 2025
aab4cce
Fix merge
apiology Sep 30, 2025
d486e64
Trim more matrix entries to make room for solargraph-rspec specs
apiology Oct 1, 2025
56342d4
Fix version number
apiology Oct 1, 2025
ac05669
Document method
apiology Oct 5, 2025
84fb049
Drop untested change
apiology Oct 5, 2025
4fb2b2c
Fix typo in existing code
apiology Oct 5, 2025
096ff16
Merge remote-tracking branch 'origin/master' into pin_cache_refactor
apiology Oct 6, 2025
88e1f73
Fix merge
apiology Oct 6, 2025
e25702f
Back out spec
apiology Oct 6, 2025
0aefc35
Add more solargraph-rspec requires
apiology Oct 6, 2025
358ff37
Fix syntax
apiology Oct 6, 2025
ada4c12
Use bundle information to resolve gemspecs
apiology Oct 6, 2025
b2e7252
Merge branch 'extract_gemspecs_logic_from_doc_map' into improve_gemsp…
apiology Oct 6, 2025
2c7079c
Handle LazySpecification issue
apiology Oct 6, 2025
5a982ad
Drop @sg-ignore
apiology Oct 6, 2025
57af0eb
Handle LazySpecification issue
apiology Oct 6, 2025
e1db9a8
Handle LazySpecification issue
apiology Oct 6, 2025
719f441
Adjust specs
apiology Oct 6, 2025
77b600c
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Oct 6, 2025
81ae528
CLI 'solargraph gems' improvements
apiology Oct 6, 2025
915c5aa
Allow PR to build
apiology Oct 6, 2025
9e29680
Drop spec
apiology Oct 6, 2025
8724f39
Merge branch 'improve_solargraph_gems' into 2025-08-28
apiology Oct 7, 2025
8827bf2
Fix merge
apiology Oct 7, 2025
18abf18
Fix spec
apiology Oct 7, 2025
b176302
Fix expectations in spec
apiology Oct 7, 2025
7b49823
Add space for better future merge
apiology Oct 8, 2025
71ac7b5
Add space for better future merge
apiology Oct 8, 2025
9d7ed97
Add space for better future merge
apiology Oct 8, 2025
66870f0
Add more space for future merges
apiology Oct 8, 2025
7365c35
Simplify code with find_gem, satisfy rubocop
apiology Oct 8, 2025
0c751de
Merge branch 'reduce_num_of_buid_jobs' into improve_gemspecs_logic
apiology Oct 8, 2025
ba1400c
Don't rely on gemspec being hashable
apiology Oct 8, 2025
fa96091
Remove unused methods
apiology Oct 8, 2025
dd020f0
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Oct 8, 2025
383c93c
Drop @sg-ignores around YAML
apiology Oct 8, 2025
6a0e95d
Enable YAML spec
apiology Oct 8, 2025
7d8b5a3
Add back stdlib_dependencies() for use in future merge
apiology Oct 8, 2025
149962d
Add back stdlib_dependencies() for use in future merge
apiology Oct 8, 2025
b5bfea3
Merge branch 'improve_solargraph_gems' into 2025-08-28
apiology Oct 8, 2025
91fa4c1
Fix merge
apiology Oct 8, 2025
59906e6
Fix merge
apiology Oct 8, 2025
0e54801
Merge branch 'improve_gemspecs_logic' into 2025-08-28
apiology Oct 8, 2025
d9fa32f
Fix a Gem::Specification class limitation found on another branch
apiology Oct 8, 2025
f4f1620
Fix RuboCop issues
apiology Oct 8, 2025
40a358d
Merge branch 'pin_cache_refactor' into 2025-08-28
apiology Oct 8, 2025
bb697e3
Fix reference
apiology Oct 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: Linting
on:
workflow_dispatch: {}
pull_request:
branches: [ master ]
branches: ['*']
push:
branches:
- 'main'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
push:
branches: [master]
pull_request:
branches: [master]
branches: ['*']

permissions:
contents: read
Expand Down
37 changes: 34 additions & 3 deletions .github/workflows/rspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: ['*']

permissions:
contents: read
Expand All @@ -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'
# 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'
# 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'
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
21 changes: 17 additions & 4 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: ['*']

permissions:
contents: read

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

runs-on: ubuntu-latest
strategy:
matrix:
rbs-version: ['4.0.0.dev.4']

steps:
- uses: actions/checkout@v3
Expand All @@ -29,11 +32,21 @@ jobs:
with:
ruby-version: 3.4
bundler-cache: false
- name: Set rbs version
run: echo "gem 'rbs', '${{ matrix.rbs-version }}'" >> .Gemfile
- name: Install gems
run: |
bundle install
bundle update rbs # use latest available for this Ruby version
bundle list
- name: Install gem types
run: bundle exec rbs collection install
- name: Debug
run: |
bundle info rbs
bundle info thor
bundle exec solargraph pin 'YARD::DocstringParser#to_docstring'
bundle exec solargraph pin --stack 'YARD::DocstringParser#to_docstring'
bundle exec solargraph pin --typify 'YARD::DocstringParser#to_docstring'
- name: Typecheck self
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level typed
run: SOLARGRAPH_ASSERTS=on bundle exec solargraph typecheck --level strong
67 changes: 13 additions & 54 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 @@ -432,12 +424,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 +444,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 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/rbs_map/conversions_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_method_spec.rb'
- 'spec/api_map_spec.rb'
- 'spec/doc_map_spec.rb'
- 'spec/pin/local_variable_spec.rb'
- 'spec/type_checker/levels/strict_spec.rb'

# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
Expand All @@ -720,22 +696,13 @@ RSpec/RepeatedDescription:
Enabled: false

RSpec/RepeatedExample:
Exclude:
- 'spec/api_map_spec.rb'
- 'spec/parser/node_methods_spec.rb'
- 'spec/source/cursor_spec.rb'
- 'spec/source_map/clip_spec.rb'
- 'spec/type_checker/levels/strict_spec.rb'
Enabled: false

# This cop supports safe autocorrection (--autocorrect).
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 +922,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 +995,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 +1090,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 +1121,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 +1242,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