-
-
Notifications
You must be signed in to change notification settings - Fork 860
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
clients/lsp-csharp.el: Implement go-to definition in metadata. #2573
clients/lsp-csharp.el: Implement go-to definition in metadata. #2573
Conversation
2947916
to
2afc777
Compare
Related |
564959c
to
660e8e8
Compare
This commit adds a handler for 'omnisharp:/' uri when returned from omnisharp-roslyn, parses the uri and issues corresponding 'o#/metadata' request that is used to retrieve metadata source to display to the user.
660e8e8
to
f80d7bd
Compare
FYI @CsBigDataHub I have rebased this PR on the latest lsp-mode/master commit |
@razzmatazz Tested this PR and it works as intended. I see few compilation warnings.
again thanks for your work. |
@razzmatazz Any progress on this? Can't wait to have this feature! 😄 |
I think you might want to create a temporary buffer to display? Maybe (with-current-buffer (get-buffer-create "*temp Metadata source name*")
;; Insert content here, etc.
) This way, it won't generate any file to user's disk. |
Hey @jcs090218. I remember temp buffers were not working for some reason, I think transitive ref find with xref was not working when buffer had no backing file. |
It’s all on omnisharp-roslyn team. They don’t seem keen on merging my PR so this is in limbo :/ you may want to vouch on that PR by commenting, so maintainers would show it some attention: |
Just to clarify, the temporary buffer refers to just a regular buffer but with invalid character (
Definitely! Thanks for your hard work! 😄 👍 |
cancelling in favor of #3096 sorry, omnisharp-roslyn is relucant to accept my patches and hacking my own LSP server is more fun :D |
This commit adds a handler for 'osmd://' uri when returned from
omnisharp-roslyn, parses the uri and issues corresponding 'o#/metadata'
request that is used to retrieve metadata source to display to the user.
The design is modelled after clients/lsp-clojure.el and lsp-java. I am not 100% about the directory: currently I save metadata .cs files under
<project-dir>/.cache/lsp-csharp/metadata
-- but maybe that needs to be a customizable variable or some other dir?This PR is marked as draft as there is some changes pending to be merged into
omnisharp-roslyn
yet but open for review.