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

Fixes bugs when there are multiple handlers are defined for a language for a given request #1582

Conversation

dmgonch
Copy link
Contributor

@dmgonch dmgonch commented Aug 11, 2019

OmniSharp supports plugins via “--plugin” command like option. A plugin may expose handlers for operations like “Go to definition” or “Find Symbols”. These changes fix bugs in how handers are invoked in this case and how their results are merged. Unit tests added demonstrate which scenarios are fixed with these changes.

@dmgonch dmgonch force-pushed the dmgonch/fix/RequestHandlersExtensibility branch from 05d5b81 to 572ce41 Compare August 11, 2019 23:00
@dmgonch dmgonch force-pushed the dmgonch/fix/RequestHandlersExtensibility branch from 572ce41 to fbccfae Compare August 12, 2019 14:13
@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 13, 2019

@david-driscoll, @filipw appreciate your guys feedback #Closed

@filipw
Copy link
Member

filipw commented Aug 15, 2019

thanks a lot, while I think I understand technically what is going on here, could you provide a real world example of a situation this addresses? it would be helpful 😀

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 15, 2019

thanks a lot, while I think I understand technically what is going on here, could you provide a real world example of a situation this addresses? it would be helpful 😀

Take a look at #1383. I'm thinking of a new extension that plugs into OmniSharp and provides additional implementation for few services to enable code navigation while projects are still being loaded (or their load is done lazily when omnisharp.enableMsBuildLoadProjectsOnDemand setting is set). The plugin will inspect Roslyn workspace and provide symbol information only for projects that haven't been loaded yet thus achieving "smart" merging of results. #Closed

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 19, 2019

@filipw Please let me know if you have any concerns about the change or have a better idea how the scenarios I outlined can be enabled. #Closed

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 21, 2019

@david-driscoll, @filipw curious what you guys think about the proposed fix #Closed

@filipw
Copy link
Member

filipw commented Aug 22, 2019

I don't have anything against, I just worry about adding additional overhead, other than that looks OK to me.
I'll suggest @david-driscoll has a look as he initially bootstrapped that part of the code

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 27, 2019

@filipw @david-driscoll Please advise if the last update still leaves some feedback concerns not covered.

Copy link
Member

@filipw filipw left a comment

Choose a reason for hiding this comment

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

LGTM - thanks

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 28, 2019

@filipw Thanks! Please advise what to do with AppVeyor's check failure above since it looks like the latest master was successfully merged into this branch by you.

@filipw
Copy link
Member

filipw commented Aug 28, 2019

yeah looks like the merge of latest master didn't trigger the build correctly, can you try to rebase this on top of master and force push instead?

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 28, 2019

@filipw All checks have passed! ;)

@dmgonch
Copy link
Contributor Author

dmgonch commented Aug 29, 2019

@filipw @david-driscoll Folks, please advise if anything is needed on my side before these changes can be merged.

@filipw
Copy link
Member

filipw commented Sep 1, 2019

nothing - looks good to me 👍

@dmgonch
Copy link
Contributor Author

dmgonch commented Sep 3, 2019

@filipw @david-driscoll Unless you guys see anything else that needs to be done for this change, I appreciate if you guys could merge it into the master.

@dmgonch
Copy link
Contributor Author

dmgonch commented Sep 9, 2019

@filipw @david-driscoll Appreciate if you guys could comment.

@filipw
Copy link
Member

filipw commented Sep 9, 2019

thanks, as I said, it looks good to me and I gave my approval already 😀
however, I'd like @david-driscoll to have a second look since he wrote that code originally - hope this makes sense

@dmgonch
Copy link
Contributor Author

dmgonch commented Sep 16, 2019

@david-driscoll Do you see anything else that needs to be done for this change? Thanks!

@dmgonch
Copy link
Contributor Author

dmgonch commented Sep 19, 2019

@david-driscoll Appreciate if you could comment. Thanks!

@dmgonch
Copy link
Contributor Author

dmgonch commented Sep 25, 2019

@filipw Do you think you will be comfortable with pulling these changes into master? @david-driscoll I hope you don't mind - but I would like to move forward with these changes unless you see more issues to address. Appreciate your help folks.

@david-driscoll
Copy link
Member

@dmgonch sorry for the delay I just saw something ✨ shiny ✨ . Updating the branch and will check back in today. It looks like all my concerns were hit.

@david-driscoll
Copy link
Member

@dmgonch Thanks for the contribution! Sorry for the delay however. 💯

@david-driscoll david-driscoll merged commit 8d24cf8 into OmniSharp:master Sep 28, 2019
@dmgonch dmgonch deleted the dmgonch/fix/RequestHandlersExtensibility branch September 28, 2019 21:12
@filipw filipw mentioned this pull request Oct 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants