Commit Graph

2399 Commits

Author SHA1 Message Date
micbou
a7ec7a6cd9
Fix YcmShowDetailedDiagnostic command on line without a diagnostic
The YcmShowDetailedDiagnostic command raises a NoneType exception on a line
with no diagnostic.
2018-05-24 11:52:57 +02:00
zzbot
e5b28f5c32
Auto merge of #3034 - midchildan:add-cuda, r=micbou
Add CUDA support

# 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

This PR follows Valloric/ycmd#1031. The specific changes are listed below:

- enable linting for cuda files
- disable syntastic for cuda files
- update docs

I have not included tests because there are no tests for the C++ counterparts.

[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/3034)
<!-- Reviewable:end -->
2018-05-24 01:57:09 -07:00
midchildan
2ad0cfc0d8
Update ycmd
Include the following changes:
- fix issues reported by the flake8-comprehension plugin
- fix regex used to complete include statement
- upgrade regex submodule
- cache flags by file and client data
- upgrade jdt.ls to snapshot 0.18.0
- prevent users from modifying extra conf data
- clang-tidy: performance checks
- api: only split lines on line feed characters (\n)
- remove unused enumerate()
- add tests simulating completer's shutdown timing out
- clang tidy support
- add CUDA support
2018-05-24 16:08:28 +09:00
midchildan
23771b379a
Add CUDA support 2018-05-24 14:34:15 +09:00
micbou
6aeaae20a8
Remove Visual Studio 12 generator from the docs 2018-05-22 01:17:06 +02:00
micbou
638ee2e5f8
Fix debug info test on Python 2 with Clang support 2018-05-18 18:20:41 +02:00
zzbot
8e448920c9
Auto merge of #3023 - micbou:mutable-user-options, r=puremourning
[READY] Allow users to change the options by restarting the server

Closes https://github.com/Valloric/YouCompleteMe/issues/3021.

<!-- 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/3023)
<!-- Reviewable:end -->
2018-05-15 15:05:55 -07:00
micbou
d16d3cebc4
Allow users to change the options by restarting the server 2018-05-15 23:45:54 +02:00
zzbot
acb015fd1c
Auto merge of #3016 - alexDarcy:doc_freebsd, r=micbou
Updating documentation for FreeBSd 11.x

# 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 instructions for FreeBSD were not up-to-date. This works for FreeBSD 11.x (the latest). As I've only changed the readme, no tests were run.

[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/3016)
<!-- Reviewable:end -->
2018-05-12 02:47:16 -07:00
Alexis Praga
71a33dde98
Updating documentation for FreeBSd 11.x 2018-05-10 21:14:50 +02:00
zzbot
c027b16ced
Auto merge of #3012 - micbou:issue-template-logs, r=micbou
[READY] Ask users to set the log level to debug when including the contents of the logfiles

When reporting an issue, users may include the contents of the logfiles with the default log level `info`, which is not really useful. Ask them to set the log level to `debug`.

<!-- 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/3012)
<!-- Reviewable:end -->
2018-05-05 07:01:08 -07:00
micbou
d6503b77d1
Update issue template
Ask users to set the log level to debug when including the contents of the
logfiles in an issue report.
2018-05-05 14:36:45 +02:00
zzbot
68611cf851
Auto merge of #3011 - micbou:flake8-comprehensions, r=puremourning
[READY] Fix issues reported by the flake8-comprehensions plugin

See PR https://github.com/Valloric/ycmd/pull/1021.

<!-- 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/3011)
<!-- Reviewable:end -->
2018-05-05 04:45:48 -07:00
micbou
29231e839d
Fix issues reported by flake8-comprehensions 2018-05-03 13:11:19 +02:00
zzbot
36f716db43
Auto merge of #3010 - micbou:update-ycmd, r=bstaletic
[READY] Update ycmd

Include the following changes:

 - PR Valloric/ycmd#919: cache include paths;
 - PR Valloric/ycmd#1013: increase Python 2 requirement to 2.7.1;
 - PR Valloric/ycmd#1015: force MSVC to treat source files as UTF-8 encoded;
 - PR Valloric/ycmd#1017: bundle and compile the regex module;
 - PR Valloric/ycmd#1020: use `sysconfig` instead of `distutils.sysconfig` in build script.

Fixes https://github.com/Valloric/YouCompleteMe/issues/3001.
Fixes https://github.com/Valloric/YouCompleteMe/issues/3007.

<!-- 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/3010)
<!-- Reviewable:end -->
2018-05-02 13:41:44 -07:00
micbou
f76c889608
Add regex compilation step to full instructions 2018-05-02 20:59:30 +02:00
micbou
340492676b
Update ycmd
Include the following changes:
 - cache include paths;
 - increase Python 2 requirement to 2.7.1;
 - force MSVC to treat source files as UTF-8 encoded;
 - bundle and compile the regex module;
 - use sysconfig instead of distutils.sysconfig in build script.
2018-05-02 20:35:26 +02:00
zzbot
2857c1c109
Auto merge of #3004 - micbou:remove-ninja-ci, r=micbou
[READY] Do not install Ninja on CI services

See PR https://github.com/Valloric/ycmd/pull/955.

<!-- 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/3004)
<!-- Reviewable:end -->
2018-04-30 14:53:12 -07:00
zzbot
d665f817ea
Auto merge of #3006 - micbou:fix-diacritic-table, r=puremourning
[READY] Fix smart matching example in documentation

The smart matching example is wrong: `o` can't match `ø` because `ø` is a letter on its own, not a `o` with a combining mark.

<!-- 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/3006)
<!-- Reviewable:end -->
2018-04-30 07:56:26 -07:00
micbou
0d764b3d10
Use correct example in smart matching table 2018-04-29 12:59:20 +02:00
micbou
e1b8121082
Do not install Ninja on CI services 2018-04-27 14:28:51 +02:00
zzbot
07c186078f
Auto merge of #3000 - micbou:update-docs, r=bstaletic
[READY] Write table in HTML in docs

The tools we are using to convert our `README.md` file into Vim docs ([html2vimdoc](https://github.com/xolox/vim-tools)) and into HTML for the YCM website ([Python-Markdown](https://python-markdown.github.io/#features)) don't support GitHub Markdown tables. We need to write the table in HTML and use @puremourning's changes to [html2vimdoc](https://github.com/xolox/vim-tools) which adds support for simple HTML tables. The result is not perfect but still better than what we currently have.

The html2vimdoc version used to generate the Vim docs can be found in [this branch](https://github.com/micbou/vim-tools/tree/ycm).

<!-- 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/3000)
<!-- Reviewable:end -->
2018-04-26 14:57:04 -07:00
micbou
bd0b053cb9
Write table in HTML in docs 2018-04-26 23:25:44 +02:00
zzbot
2d04c411e9
Auto merge of #2997 - micbou:fix-shutdown-request-init, r=puremourning
[READY] Fix shutdown request init

Error found by [LGTM](https://lgtm.com/projects/g/Valloric/YouCompleteMe/alerts/?mode=list).

<!-- 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/2997)
<!-- Reviewable:end -->
2018-04-26 12:14:03 -07:00
zzbot
00874fabb8
Auto merge of #2995 - micbou:update-ycmd, r=Valloric
[READY] Update ycmd

Include the following changes:

 - PR Valloric/ycmd#894: add Unicode support to the filter and sort algorithm;
 - PR Valloric/ycmd#925: replace Boost.Python with pybind11;
 - PR Valloric/ycmd#951: expand environment variables in extra conf options;
 - PR Valloric/ycmd#952: make `GoTo` and `GoToImprecise` subcommands jump to declaration if cursor on definition in C-family languages;
 - PR Valloric/ycmd#954: reset prefix when setting the start column;
 - PR Valloric/ycmd#957: send the full query to the language server completer when forced;
 - PR Valloric/ycmd#958: improve caching behavior;
 - PR Valloric/ycmd#963: add `OrganizeImports` command to Java completer;
 - PR Valloric/ycmd#964: add Scheme identifier regex;
 - PR Valloric/ycmd#965: update jdt.ls to 0.15.0;
 - PR Valloric/ycmd#969: fix TypeScript diagnostics;
 - PR Valloric/ycmd#970: optimize lines splitting for current file;
 - PR Valloric/ycmd#971: improve TypeScript completion data;
 - PR Valloric/ycmd#972: add `GoTo` and `GoToDeclaration` commands to TypeScript completer;
 - PR Valloric/ycmd#973: add TSServer version to debug info;
 - PR Valloric/ycmd#974: replace re module with regex;
 - PR Valloric/ycmd#975: add smart diacritic matching;
 - PR Valloric/ycmd#976: add `FixIt` command to TypeScript completer;
 - PR Valloric/ycmd#977: add `Format` command to TypeScript completer;
 - PR Valloric/ycmd#978: add `OrganizeImports` command to TypeScript completer;
 - PR Valloric/ycmd#981: improve Java project detection heuristics;
 - PR Valloric/ycmd#982: allow the user to manually specify a Java project path;
 - PR Valloric/ycmd#983: improve TeX identifier regex;
 - PR Valloric/ycmd#984: always return detailed completions in TypeScript completer;
 - PR Valloric/ycmd#987: support FixIts in TypeScript completions;
 - PR Valloric/ycmd#1002: improve message when regex module installation fails;
 - PR Valloric/ycmd#1004: update Boost to 1.67.0;
 - PR Valloric/ycmd#1006: update godef;
 - PR Valloric/ycmd#1007: add Ctags filetype mapping for PuppetManifest.

I added a table in the docs explaining the smart-case/diacritic filtering through an example. Here's how it looks:

| matches | foo | føo | fOo | fØo |
|---------|-----|-----|-----|-----|
| **foo** |  ✔️  |  ✔️  |  ✔️  |  ✔️  |
| **føo** |   |  ✔️  |   |  ✔️  |
| **fOo** |   |   |  ✔️  |  ✔️  |
| **fØo** |   |   |   |  ✔️  |

@puremourning I let you add the Java `OpenProject` command to the documentation.

<!-- 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/2995)
<!-- Reviewable:end -->
2018-04-24 21:38:09 -07:00
micbou
310242e9f1
Update copyright years in docs 2018-04-25 05:09:40 +02:00
micbou
9392f7fd61
Remove MSVC 12 from the supported compilers in docs 2018-04-25 05:09:40 +02:00
micbou
ee3226e1a7
Mention smart-diacritic sensitive matching in docs 2018-04-25 05:09:40 +02:00
micbou
d01c8ac83b
Update Java and TypeScript features in docs 2018-04-25 05:08:23 +02:00
micbou
5981809681
Support FixIts in TypeScript completions 2018-04-25 05:08:23 +02:00
micbou
1df76bbb39
Fix debug info test when ycmd is compiled with C-family support 2018-04-25 05:08:23 +02:00
micbou
d4cddbcc7f
Update Omnifunc completer Unicode tests 2018-04-25 05:08:23 +02:00
micbou
002500347e
Update ycmd
Include the following changes:
 - add Unicode support to the filter and sort algorithm;
 - replace Boost.Python with pybind11;
 - expand environment variables in extra conf options;
 - make GoTo and GoToImprecise subcommands jump to declaration if cursor on
   definition;
 - reset prefix when setting the start column;
 - send the full query to the language server completer when forced;
 - improve caching behavior;
 - add OrganizeImports command to Java completer;
 - add Scheme identifier regex;
 - update jdt.ls to 0.15.0;
 - fix TypeScript diagnostics;
 - optimize lines splitting for current file;
 - improve TypeScript completion data;
 - add GoTo and GoToDeclaration commands to TypeScript completer;
 - add TSServer version to debug info;
 - replace re module with regex;
 - add smart diacritic matching;
 - add FixIt command to TypeScript completer;
 - add Format command to TypeScript completer;
 - add OrganizeImports command to TypeScript completer;
 - improve Java project detection heuristics;
 - allow the user to manually specify a Java project path;
 - improve TeX identifier regex;
 - always return detailed completions in TypeScript completer;
 - support FixIts in TypeScript completions;
 - improve message when regex module installation fails;
 - update Boost to 1.67.0;
 - update godef;
 - add Ctags filetype mapping for PuppetManifest.
2018-04-25 05:08:22 +02:00
zzbot
5d4ec1504a
Auto merge of #2998 - micbou:2.7.1, r=puremourning
[READY] Increase Python 2 requirement to 2.7.1

Issues https://github.com/Valloric/YouCompleteMe/issues/2525 and https://github.com/Valloric/YouCompleteMe/issues/2992 are due to YCM being incompatible with Python 2.7.0 for the reason mentioned in our Travis script:
> Tests are failing on Python 2.7.0 with the exception "TypeError: argument can't be <type 'unicode'>"

Increase the Python 2 requirement to 2.7.1.

Closes https://github.com/Valloric/YouCompleteMe/issues/2525.
Closes https://github.com/Valloric/YouCompleteMe/issues/2992.

<!-- 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/2998)
<!-- Reviewable:end -->
2018-04-24 16:48:36 -07:00
micbou
06bd763bf0
Increase Python 2 requirement to 2.7.1
Tests are failing on Python 2.7.0 with the exception "TypeError: argument can't
be <type 'unicode'>"
2018-04-25 01:43:46 +02:00
micbou
40d0303405
Fix shutdown request initialization 2018-04-24 15:49:50 +02:00
zzbot
84554d2194
Auto merge of #2994 - micbou:fix-should-resend, r=puremourning
[READY] Fix resending request when buffer is not yet parsed

Fixes https://github.com/Valloric/YouCompleteMe/issues/2993.

<!-- 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/2994)
<!-- Reviewable:end -->
2018-04-23 14:35:42 -07:00
micbou
f44723689c
Fix resending request when buffer is not yet parsed 2018-04-23 11:03:13 +02:00
zzbot
e4c6750a4b
Auto merge of #2988 - micbou:extra-conf-resend-request, r=micbou
[READY] Resend request when extra conf is loaded or ignored

When the client sends a request to the server, if an extra conf file is found that is not already white/blacklisted, the server stops processing the request and tells the client that an unknown extra conf file has been found. The client then asks the user if that file should be loaded or not. Depending on the
user's answer, the client sends a request to the server to load or ignore the extra conf file. Finally, the server loads the file or adds it to the blacklist. However, the initial request was not processed by the server and should be sent again.

Here's a demo illustrating the current situation:

![extra-conf-request-not-resent](https://user-images.githubusercontent.com/10026824/38840090-2d700936-41de-11e8-8b76-87c3eab960cc.gif)

As you can see, the file is not parsed after loading the extra conf file. With the proposed changes:

![extra-conf-request-resent](https://user-images.githubusercontent.com/10026824/38840137-67126670-41de-11e8-8707-88441ab35ac3.gif)

Fixes #2962.

<!-- 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/2988)
<!-- Reviewable:end -->
2018-04-22 16:19:59 -07:00
micbou
a24d97ca6b
Resend request when extra conf is loaded or ignored
When the client sends a request to the server, if an extra conf file is found
that is not already white/blacklisted, the server stops processing the request
and tells the client that an unknown extra conf file has been found. The client
then asks the user if that file should be loaded or not. Depending on the
user's answer, the client sends a request to the server to load or ignore the
extra conf file. Finally, the server loads the file or adds it to the
blacklist. However, the initial request was not processed by the server and
should be sent again.
2018-04-22 22:10:14 +02:00
zzbot
e7772347cd
Auto merge of #2989 - micbou:no-omnifunc-suggestions-if-server-crashed, r=puremourning
[READY] Do not return omnifunc suggestions if server crashed

We currently return unfiltered and unsorted suggestions from the omnifunc if the `filter_and_sort_candidates` request failed (generally because the server crashed). This behavior is confusing as it may let the user thinks that YCM is working (in a bad way) while in fact it doesn't. No suggestions should be returned in that case.

<!-- 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/2989)
<!-- Reviewable:end -->
2018-04-22 09:31:14 -07:00
micbou
caa0fb4285
Do not return omnifunc suggestions if server crashed 2018-04-17 17:39:25 +02:00
zzbot
6975efddc1
Auto merge of #2983 - micbou:gototype-command-docs, r=puremourning
[READY] Add GoToType command to documentation

The `GoToType` command was added a long time ago to the TypeScript completer (see PR https://github.com/Valloric/ycmd/pull/458) but not mentioned in the docs.

<!-- 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/2983)
<!-- Reviewable:end -->
2018-04-16 15:47:42 -07:00
zzbot
2cda39f1cf
Auto merge of #2986 - micbou:fix-python2-builds, r=micbou
[READY] Do not update pip on Travis and CircleCI

Attempt to fix the builds on Travis and CircleCI.

<!-- 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/2986)
<!-- Reviewable:end -->
2018-04-16 15:07:42 -07:00
micbou
88ca541893
Fix pip cache directory on CircleCI 2018-04-16 20:36:33 +02:00
micbou
9805abde44
Do not update pip on Travis and CircleCI 2018-04-16 17:43:33 +02:00
zzbot
3bcc45ead1
Auto merge of #2979 - micbou:allowed-on-char-events, r=puremourning
[READY] Check if completion is allowed on character events

We should check if completion is allowed when a character is inserted or deleted like we do with the other events.

<!-- 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/2979)
<!-- Reviewable:end -->
2018-04-14 15:16:56 -07:00
zzbot
7d72519039
Auto merge of #2978 - micbou:fix-filetype-specific-completion-to-disable, r=puremourning
[READY] Do not disable omnifunc when filetype completion is disabled

Prior to PR https://github.com/Valloric/YouCompleteMe/pull/2657, it was possible to trigger Vim's omnifunc with `<C-Space>` even if semantic completion was disabled for the current filetype through the `g:ycm_filetype_specific_completion_to_disable` option. It worked because `<C-Space>` was mapped to `<C-X><C-O><C-P>`, which are the keys to trigger the omnifunc. PR https://github.com/Valloric/YouCompleteMe/pull/2657 changed that by making `<C-Space>` directly call the `SendCompletionRequest` function with `force_semantic` sets to `True`. This change was necessary to get fuzzy matching with the omnifunc (see issue https://github.com/Valloric/YouCompleteMe/issues/961) but broke the `<C-Space>` behavior when filetype completion is disabled. This PR restores that behavior.

Fixes https://github.com/Valloric/YouCompleteMe/issues/2950.

<!-- 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/2978)
<!-- Reviewable:end -->
2018-04-14 12:32:46 -07:00
zzbot
3256ae3ffa
Auto merge of #2976 - micbou:refactor-server-exception-handling, r=puremourning
[READY] Refactor server exception handling

Having to wrap all request calls with the `HandleServerException` function is inconvenient. Handle server exceptions directly in `BaseRequest`.

<!-- 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/2976)
<!-- Reviewable:end -->
2018-04-14 11:13:15 -07:00
micbou
e96ef7ce38
Do not disable omnifunc when filetype completion is disabled
Allow users to still trigger Vim's omnifunc through C-Space when the
g:ycm_filetype_specific_completion_to_disable option is set for the current
filetype.
2018-04-13 02:40:50 +02:00