Commit Graph

2384 Commits

Author SHA1 Message Date
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
micbou
6ec1b0b4a1
Refactor server exception handling 2018-04-13 01:35:17 +02:00
zzbot
45502e5108
Auto merge of #2970 - micbou:duplicate-fixits, r=puremourning
[READY] Fix applying fixit twice after completion

Fixes the issue mentioned in PR https://github.com/Valloric/YouCompleteMe/pull/2963 for Vim 8.0.1493 and later. I don't think it's worth the trouble to fix the issue for older versions.

<!-- 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/2970)
<!-- Reviewable:end -->
2018-04-12 14:37:20 -07:00
zzbot
820affe6d9
Auto merge of #2981 - micbou:remove-unnecessary-lists-docs, r=puremourning
[READY] Remove unnecessary lists and fix options link in docs

Two small improvements 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/2981)
<!-- Reviewable:end -->
2018-04-11 12:00:21 -07:00
zzbot
b63604c8e9
Auto merge of #2980 - micbou:remove-goto-implementation-java-docs, r=puremourning
[READY] Remove Java from the GoToImplementation command in docs

The Java completer does not provide a `GoToImplementation` command.

<!-- 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/2980)
<!-- Reviewable:end -->
2018-04-11 06:09:55 -07:00
micbou
de8c8f6441
Add GoToType command to documentation 2018-04-08 21:17:10 +02:00
micbou
cacc8e0d92
Remove unnecessary lists and fix options link in docs 2018-04-07 06:01:54 +02:00
micbou
05f7f1c6f0
Remove Java from the GoToImplementation command in docs 2018-04-07 03:56:24 +02:00
micbou
3b115831a0
Fix applying fixit twice after completion 2018-04-06 17:56:25 +02:00
zzbot
e8477c16b6
Auto merge of #2972 - micbou:universal-ctags, r=puremourning
[READY] Mention Universal Ctags in docs

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

<!-- 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/2972)
<!-- Reviewable:end -->
2018-04-03 21:29:48 -07:00
micbou
1bda165728
Mention Universal Ctags in docs 2018-04-03 22:20:01 +02:00
micbou
6f9366d150
Check if completion is allowed on character events 2018-04-02 22:16:47 +02:00
zzbot
c1815a9b2d
Auto merge of #2963 - micbou:refactor-completedone-logic, r=puremourning
[READY] Refactor CompleteDone logic

Since the `CompleteDone` code only depends on the completion request, it makes sense to move its logic to the `CompletionRequest` class. This is also going to help fixing the issue where a FixIt is applied twice when selecting a completion:

![completedone-bug](https://user-images.githubusercontent.com/10026824/38029281-bc09d224-3295-11e8-9976-d4dd031f2cca.gif)

Finally, this reduces the time it takes to run the tests because the ycmd server is not started anymore in the `postcomplete` tests.

<!-- 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/2963)
<!-- Reviewable:end -->
2018-04-02 11:13:23 -07:00
micbou
866693ef80
Refactor CompleteDone logic
Move CompleteDone logic to the CompletionRequest class.
2018-03-28 22:00:43 +02:00
zzbot
dc341aab58
Auto merge of #2957 - micbou:refactoring-commands-readme, r=puremourning
[READY] Fix Refactoring Commands link in table of contents

I broke it in PR https://github.com/Valloric/YouCompleteMe/pull/2900.

<!-- 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/2957)
<!-- Reviewable:end -->
2018-03-27 14:55:27 -07:00
micbou
9408ccec5d
Fix Refactoring Commands link in table of contents 2018-03-26 03:08:19 +02:00