You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[READY] Prevent simultaneous starts of OmniSharp server
Currently, C# completer starts a new server on the `FileReadyToParse` event if no port is defined or the running server does not respond. This can lead to situations where multiple servers with same port and solution are started until one of them become ready. See PR ycm-core#284 and ycm-core#1913.
This is fixed by using `ServerIsActive` instead of `ServerIsRunning` to start the server in `OnFileReadyToParse`. We then check `ServerIsRunning` for an early return.
`ServerIsActive` is updated to check the handle (instead of the port) and to poll the process. We cannot only rely on the port because it can be defined while the process is down: server crashed during start up or its process was directly terminated by the user.
`ServerIsRunning` and `ServerIsReady` are also changed. We return early in both methods by checking `ServerIsAlive` first and we restrict exceptions catching.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/valloric/ycmd/310)
<!-- Reviewable:end -->
It would be awesome if, when completing a function which accepts arguments, YCM left placeholders like those in UltiSnips snippets.
Say you have:
int doSomethingAwesome(int a, char b, float c);
If you were to complete:
doSome<tab>
YCM would insert:
doSomethingAwesome(a, b, c)
You would be left around the first argument (
a
), in insert mode, to substitute it.And
<tab>
ing would move you to the next argument and so on.The text was updated successfully, but these errors were encountered: