8aa617ec03
[READY] Always supply working directory This allows completer servers to detect the correct directory to launch no matter what request initialises the completer server. # PR Prelude Thank you for working on YCM! :) **Please complete these steps and check these boxes (by putting an `x` inside the brackets) _before_ filing your PR:** - [X] I have read and understood YCM's [CONTRIBUTING][cont] document. - [X] I have read and understood YCM's [CODE_OF_CONDUCT][code] document. - [X] I have included tests for the changes in my PR. If not, I have included a rationale for why I haven't. - [X] **I understand my PR may be closed if it becomes obvious I didn't actually perform all of these steps.** # Why this change is necessary and useful This change ensures that the client supplies the working directory to the server on each request, in particular, event notifications; the java and javascript completers use this to start the server in the `FileReadyToParse` event, rather than on construction of the completer. The subtle difference allows them to use the client's working directory, rather than the _server's_ working directory to do things like project detection. See also: * This is PR 1 of the set of changes related to #2827 - client changes required to support Java and other language-server protocols. * ycmd change for javascript that makes use of this now: https://github.com/Valloric/ycmd/pull/886 * updated API doc: http://puremourning.github.io/ycmd-1 The ycmd API change is simply to allow `working_dir` on all requests. cc for minor optional API change: @abingham @Qusic @LuckyGeck @mawww @richard1122 @jakeanq @orsonteodoro [cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md [code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2861) <!-- Reviewable:end --> |
||
---|---|---|
.. | ||
client | ||
testdata | ||
__init__.py | ||
base_test.py | ||
command_test.py | ||
completion_test.py | ||
diagnostic_filter_test.py | ||
event_notification_test.py | ||
omni_completer_test.py | ||
paths_test.py | ||
postcomplete_test.py | ||
syntax_parse_test.py | ||
test_utils.py | ||
vimsupport_test.py | ||
youcompleteme_test.py |