-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
feat(definition): go to dependency #171
Conversation
tests pass for me locally |
I don't think the existing tests handle this, so I wouldn't call it completed yet. same for workspace symbols |
I think that this section of functionality might warrant it's own test module, as it will be testing workspace symbols, references, and definition. that way you can restrict the proliferation of code that has to install a dependency to as few tests as possible, as literally downloading a dep during every test run is bound to be brittle and time consuming. |
actually, it might make more sense to use a path dependency for these tests, and write those files in the same was as we do the normal tests. actually running mix deps.get inside the tests seems like a red flag to me |
i think you’re right, but this got me thinking: don’t we want go to definition for path dependencies? does this include umbrella applications? how does this relate to workspaces? Let’s say I open a mono repo, it would be nice to have go to definition across projects. |
Path deps should work the same as remote deps. Umbrella apps should work already. Monorepo project would most likely be a dep |
@mhanberg what do you want to do actually for the workspace symbols: filter them in the query or avoid inserting them in the DB in te first place? If it's the latter: we do this in the sidecar then? |
I pushed the former, let me know if you want it differently :) |
This PR is blocked on several things I am working on.
|
You should be able to rebase now and work on this again. There is a new "source" column on the symbols table that defaults to "user". Then, when you create a separate tracer for compiling the dependencies, you can have that one insert the symbols with the source being set to "dep" then when you are filtering on them for workspace symbols, you can say |
CleanShot.2023-08-14.at.18.29.04.mp4need to figure out how to handle this |
I have a fix for this, just writing a test right now |
TODO
see if we need/can show the progress message when the database is finishing a "batch" of updates (message can say "indexing"). It can get bogged down and the go to def won't work until it's done inserting.Done in feat: progress messages for workspace indexing #179goto-def.mov