Specify python3 in the README
If the user has both python 2 and 3, and 2 is the configured alternative, the instructions will fail with missing headers. This change makes it clear that python3 is needed for this step (because a previous step installed python3-dev.)
# 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
If the user has both python 2 and 3, and 2 is the configured alternative, the instructions will fail with missing headers. This change makes it clear that python3 is needed for this step (because a previous step installed python3-dev.)
README.md change only--no tests needed.
I successfully followed the instructions with the new command.
[Please explain **in detail** why the changes in this PR are needed.]
[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/3388)
<!-- Reviewable:end -->
[READY] Instruct users to install MacVim with Homebrew
Update the link to the MacVim installer and clarify the instructions on how to start Vim or MacVim from a terminal on macOS.
<!-- 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/3391)
<!-- Reviewable:end -->
[READY] Ignore case when comparing paths on Windows and macOS
There is an issue on Windows where jumping to a file that is already open in a window doesn't go to that window if the case differs between the path of the file and the path of the buffer in the window (with `g:ycm_goto_command_buffer` sets to `'split-or-existing-window'`). This shouldn't happen since paths are case-insensitive on this platform. We need to ignore the case when comparing paths on Windows.
<!-- 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/3390)
<!-- Reviewable:end -->
If the user has both python 2 and 3, and 2 is the configured alternative, the instructions will fail with missing headers. This change makes it clear that python3 is needed for this step (because a previous step installed python3-dev.)
Include the following changes:
- add RestartServer command to Clangd completer;
- reject any server to client requests in LSP completer;
- ignore any null or empty values and use our defaults in LSP completer;
- improve cache in LSP completer;
- drop Python 3.4 support;
- search custom Clangd in PATH;
- improve Clangd completer logging;
- fix off-by-one error in LSP Initialize request;
- update Clang to 8.0.0;
- support LSP declaration, typeDefinition, and implementation;
- update Unicode Standard to 12.0.0;
- do not reset state at server start in Clangd completer;
- simplify creation of LSP clients;
- include settings in debug info for LSP;
- add numpydoc to Jedi dependencies;
- fix Clangd GetType response;
- update to Boost 1.70;
- use move semantics in C++ code.
[READY] Disable Vim filtering
[Patch 8.1.1123](73655cf0ca) added a new field `equal` to completion items that disable Vim filtering. Since we are using our own filtering, we should always set that field to `1`. This should in theory speed up completion and reduce flickering but I couldn't really notice a difference.
<!-- 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/3364)
<!-- Reviewable:end -->
[READY] Fix bold rendering issue in docs
The text `GoTo*` is not rendered in bold because of the asterisk. Instead of escaping the character, we change the text to something more in line with the other bullet points.
In case you are wondering about the other changes in the Vim docs, [I added support for Python 3 to the `html2vimdoc.py` script](2f763ac54f) and this required the change to not break lines on the hyphen character in order to get the same output on both versions of Python (this also has the benefit of not breaking inside a command-line flag like `--java-completer`).
<!-- 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/3359)
<!-- Reviewable:end -->
Text is not rendered in bold because of the asterisk. Instead of
escaping the character, change the text to something more in line with
the other bullet points.
[READY] Update docs to represent new use_clangd flag
After merge of Valloric/ycmd#1191, `use_clangd` option has changed to binary, this patch updates docs to represent that change.
Needs to be merged after `third_party/ycmd` is updated to contain that PR.
<!-- 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/3325)
<!-- Reviewable:end -->
Include the following changes:
- trigger semantic completion when instructed by server;
- simplify LSP completer API for starting server;
- improve Clangd completer initialization;
- ease Clangd completer initialization;
- fix system header search paths on macOS for Objective-C++;
- update Jedi to 0.13.3 and Parso to 0.3.4;
- ignore identifiers returned by TSServer in JavaScript;
- update TSServer to 3.3.3333;
- support -B flag in C-family languages.
[READY] Ensure only loclist or quickfix windows are closed
Fixes#3334.
Note that `autocmd! * <buffer>` is required for location lists because we don't want to remove the autocommand in other location lists. It doesn't matter for the quickfix window since there is only one.
<!-- 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/3335)
<!-- Reviewable:end -->
[READY] Allow completion in the command-line window
This implements @puremourning's suggestion from https://github.com/Valloric/YouCompleteMe/pull/1415#issuecomment-460197058 and adds an entry in the FAQ on how to override the `TAB` mapping in the command-line window. Since the `CmdwinEnter` event is triggered instead of `BufEnter` in that window, the `s:OnBufferEnter` function is called for that event too. Also, the contents of that window are empty when the filetype is set the first time so we ignore the `FileType` event in that window. Finally, the `qf` filetype is removed from the `g:ycm_filetype_blacklist` option since the quickfix window is always ignored.
This needs testing as these changes may not work well with plugins that create special buffers. We may have to blacklist the filetype of these buffers.
<!-- 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/3316)
<!-- Reviewable:end -->
Update Go's part in full installation guide
# 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
- The original installation guide missed `go build` in `godef`'s directory, relating issue [here](https://github.com/Valloric/YouCompleteMe/issues/3071#issuecomment-403213723).
- The path of `gocode` and `godef` has been changed, update them in the doc.
I have tested this guide on my Manjaro laptop and it works fine, my go version is `1.11.4`.
(Since the path is too long, the vim help doc looks kind of ugly, maybe the formatting or the
path's presenting way should be changed so that it looks better. I used the `gq` command
in vim and it gave me this.)
[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/3315)
<!-- Reviewable:end -->
[READY] Add instructions for clangd into README
# 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.
- [ ] 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
clangd-based completer has been introduced into ycmd for a while now. I believe it is time to let users know about it as well. We are also updating clangd's docs and it would be nice to point people using vim into YCM docs for integration. You can see the patch for that one in https://reviews.llvm.org/D56718.
Also you can have a look at the end product of the changes at https://kadircet.github.io/YouCompleteMe
[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/3296)
<!-- Reviewable:end -->
[READY] Relax regular expression in DebugInfo test
This makes the `YouCompleteMe_DebugInfo_ServerRunning` test pass whether the libclang completer or the Clangd one are enabled. The `[\w\W]` pattern is used to match everything including newlines.
<!-- 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/3313)
<!-- Reviewable:end -->
[READY] Update g:ycm_max_diagnostics_to_display docs
Update the documentation with the complete list of languages affected by the `g:ycm_max_diagnostics_to_display` option and mention that the number of diagnostics is unlimited if the option is set to `0` .
<!-- 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/3301)
<!-- Reviewable:end -->
Include the following changes:
- allow users to configure LSP servers through extra conf;
- add Clangd completer;
- do not default to 32-bit when downloading libclang;
- update requests;
- do not include Clangd with --all;
- add GetType command to Python completer;
- update Boost to 1.69;
- only detail filtered candidates in Python completer;
- include signature to Python candidates;
- only detail filtered candidates in TypeScript completer;
- update Jedi to 0.13.2;
- only detail filtered candidates in Go completer;
- only resolve filtered candidates in LSP completer;
- do not find CMake and Python if not needed;
- do not read LSP settings on every file parse;
- fix system headers search on macOS;
- report Java server startup status correctly;
- make LSP debug info consistent;
- improve LSP project directory detection;
- determine simple subcommands automatically in LSP completer;
- fix LSP server startup when UnknownExtraConf is thrown.