Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow indexing enhancements to create namespaces #2857

Merged

Conversation

vinistock
Copy link
Member

@vinistock vinistock commented Nov 14, 2024

Motivation

We realized that in order to support concerns class_methods do...end, indexing enhancements needed to be more powerful and have the liberty to create fake/temporary namespaces.

When trying to make that possible, we also realized that the API had many shortcomings that made enhancements harder than they had to be.

Implementation

The idea is to instantiate enhancements with the declaration listener and then expose the API from it. That way, the declaration listener can hold important state like the code units cache and the current file path and enhancements only make flow adjustments and additions to the indexing process.

This PR also allows enhancements to create modules and classes, which allows us to support class_methods do...end in the Rails add-on and allows the RSpec add-on to support let and subject properly.

Automated Tests

Added tests.

Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@vinistock vinistock force-pushed the 11-14-allow_indexing_enhancements_to_create_namespaces branch from aa609e0 to 52feb7e Compare November 14, 2024 23:06
@vinistock vinistock added breaking-change Non-backward compatible change server This pull request should be included in the server gem's release notes labels Nov 14, 2024 — with Graphite App
@vinistock vinistock requested review from andyw8 and st0012 November 14, 2024 23:06
@vinistock vinistock marked this pull request as ready for review November 14, 2024 23:10
@vinistock vinistock requested a review from a team as a code owner November 14, 2024 23:10
@andyw8
Copy link
Contributor

andyw8 commented Nov 15, 2024

cc @toddkummer

@vinistock vinistock force-pushed the 11-14-allow_indexing_enhancements_to_create_namespaces branch from 52feb7e to bb3a5b2 Compare November 18, 2024 20:12
jekyll/add-ons.markdown Outdated Show resolved Hide resolved
@vinistock vinistock force-pushed the 11-14-allow_indexing_enhancements_to_create_namespaces branch from bb3a5b2 to fce492d Compare November 19, 2024 18:20
Copy link
Member

@st0012 st0012 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great 👍

@vinistock vinistock merged commit f8cdbfa into main Nov 20, 2024
41 checks passed
@vinistock vinistock deleted the 11-14-allow_indexing_enhancements_to_create_namespaces branch November 20, 2024 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Non-backward compatible change server This pull request should be included in the server gem's release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants