Open zaucy opened 5 months ago
I definitely think this functionality would be super useful and should be pretty straightforward to implement with how everything's currently set up! I think the only outstanding thing would be what the UX for this command would look like - typically you'd use the Find References request to handle this, but that expects a specific position in the file, whereas this command would refer to the whole file in general?
The other approach that comes to mind is, as you mentioned, a custom command (one not defined by the LSP spec). I have a couple of these here but they only work with the extension bundled in this repo (which is pretty useless outside of debugging parser issues), and not the official vscode-bazel
extension. So if we went w/ the custom command approach, then we'd probably have to upstream support for it into vscode-bazel
as well which could potentially be a blocker.
Alternatively, we could just do something simple like, if you issue a Find References
from blank space (or something otherwise meaningless) in a file, then it would just default to the behavior described here!
But definitely feel free to take a crack at it and lmk what you're thinking re: UX! Happy to answer questions about how stuff is set up as well
I was wondering if it was possible to create an lsp command or something like that, that goes to the bazel rules a source file is being used in.
Essentially a way to do this:
For instance if you're in your editor editing
crates/starpls/src/main.rs
and you were to 'go to bazel rule' it would take you to these rules:That's the output of
Very similar to 'find all references', but specific to starlark/bazel.
This would be especially helpful when working with C++ where I constantly have to refer to the
cc_library
/cc_binary
where a source file is being used.I'm happy to give a shot at developing this if you think it's appropriate in starpls. Let me know!