-
Notifications
You must be signed in to change notification settings - Fork 769
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
CsCompleter: Implement GoToDocumentOutline. #1723
Conversation
47452fd
to
de2fa09
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the pull request!
Would you mind taking a look at subcommands_test.py and adding a test (or two, another for the error case)?
If you need assistence, feel free to hop over to our gitter channel.
Reviewable status: 0 of 2 LGTMs obtained
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 2 LGTMs obtained (waiting on @teasp00n)
ycmd/completers/cs/cs_completer.py
line 686 at r1 (raw file):
return goto_locations else: raise RuntimeError( 'No symbols found' )
I can't seem to find the definition of QuickFix
, but does this cover the case of zero identifiers in a file, or just things like "file not found"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 3 of 4 files at r3, 1 of 1 files at r4, all commit messages.
Reviewable status: 0 of 2 LGTMs obtained (waiting on @teasp00n)
ycmd/completers/cs/cs_completer.py
line 686 at r1 (raw file):
Previously, bstaletic (Boris Staletic) wrote…
I can't seem to find the definition of
QuickFix
, but does this cover the case of zero identifiers in a file, or just things like "file not found"?
We normally do throw an exception when an error occurs, or the response is empty.
Something like raise RuntimeError('No definitions found.')
, because thetn the clients know to display that error to users, instead of just silently doing nothing.
We could debate whether exceptions are the right way to handle this, but after 10 years, this is pretty firmly baked into ycmd's API.
To be precise:
- If we have 1+
ref
s in theresponse
, we should return the list. - Otherwise we should throw.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much!
Reviewed 2 of 4 files at r3, 2 of 2 files at r5, all commit messages.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @teasp00n)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we squash the commits?
Reviewable status: 0 of 2 LGTMs obtained (and 1 stale) (waiting on @teasp00n)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r6, all commit messages.
Reviewable status: 0 of 2 LGTMs obtained (and 1 stale) (waiting on @teasp00n)
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #1723 +/- ##
=======================================
Coverage 95.46% 95.47%
=======================================
Files 83 83
Lines 8162 8175 +13
Branches 163 163
=======================================
+ Hits 7792 7805 +13
Misses 320 320
Partials 50 50 |
3a07ac6
to
1c87c74
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed all commit messages.
Reviewable status: 0 of 2 LGTMs obtained (and 1 stale) (waiting on @teasp00n)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @teasp00n)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @teasp00n)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @teasp00n)
implemented in recent changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dismissed @bstaletic from a discussion.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @teasp00n)
Thanks for sending a PR! |
Changes since the last update: ycm-core/ycmd#1728 YcmShowDetailedDiagnostic should now match what is echoed on the command line. ycm-core/ycmd#1731 Add support for `workspace/didChangeWorkspaceFolders` LSP notification. ycm-core/ycmd#1730 LSP servers are now updated with latest server state afer reset ycm-core/ycmd#1727 Update JDT to version 1.31.0 ycm-core/ycmd#1726 C# symbol search filtering fix ycm-core/ycmd#1724 C# GoToDocumentOutline consistency patch ycm-core/ycmd#1723 Implement GoToDocumentOutline in C# ycm-core/ycmd#1716 Display tsserver tags in detailed info and GetDoc `workspace/didChangeWorkspaceFolders` seems to be working fine for java, rust and go, but should be considered experimental. Definitely more field experience is needed. What it should do is allow LSP servers to understand multiple projects in the same vim instance.
Implements
GoToDocumentOutline
in theCsCompleter
to supportYCMFindSymbolInDocument
functionality forcs
projects.This change is