Commit Graph

2399 Commits

Author SHA1 Message Date
zzbot
e37923a752
Auto merge of #3147 - micbou:update-java-links, r=Valloric
[READY] Update Java links in documentation

The `pom.xml` link is broken (the `java-language-server` branch doesn't exist). Use a specific commit for the Java links so that they can't be affected by a change in ycmd.

<!-- 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/3147)
<!-- Reviewable:end -->
2018-09-20 00:18:34 -07:00
micbou
fa6d089ea9
Update Java links in documentation
Fix pom.xml broken link and use permanent links.
2018-09-20 09:17:09 +02:00
zzbot
9e381ade46
Auto merge of #3140 - micbou:merge-linux-docs, r=Valloric
[READY] Merge Linux distributions instructions

As proposed in https://github.com/Valloric/YouCompleteMe/pull/3055#pullrequestreview-149835682, merge the Ubuntu Linux x64 and Fedora Linux x64 instructions into one section for Linux 64-bit. The result can be seen [here](https://github.com/micbou/YouCompleteMe/tree/merge-linux-docs#linux-64-bit).

I confirmed the required packages for Fedora are `gcc-c++`, `cmake`, `python3-devel` (and `ncurses-compat-libs` for C/C++) by installing the distribution in a VM.

Closes #3069.

<!-- 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/3140)
<!-- Reviewable:end -->
2018-09-19 21:19:56 -07:00
zzbot
a020cbc0fc
Auto merge of #3148 - micbou:toggle-logs-extra-data, r=Valloric
[READY] Include extra data when getting the logs

Include the extra conf data to the debug info request when getting the logfiles.

Fixes https://github.com/Valloric/ycmd/issues/1106.

<!-- 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/3148)
<!-- Reviewable:end -->
2018-09-19 20:48:37 -07:00
micbou
4524d4bfd1
Include extra data when getting the logs
Include the extra conf data to the debug info request when getting the
logfiles.
2018-09-19 21:30:04 +02:00
zzbot
487b8ab2b4
Auto merge of #3134 - micbou:fitting-height-wrap, r=micbou
[READY] Set window height according to the wrap option

The height of the quickfix and location list windows is set to fit all entries by assuming that the lines of the entries are always wrapped if they are longer than the window width. This assumption is wrong if `nowrap` is set. In that case, the height should be set to the number of entries.

<!-- 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/3134)
<!-- Reviewable:end -->
2018-09-09 06:39:05 -07:00
zzbot
c3b4884cd3
Auto merge of #3126 - micbou:fix-cursor-position-replace-chunk, r=micbou
[READY] Fix cursor position when replacing chunk

When replacing an area of the buffer with `ReplaceChunk`, we are replacing the whole last line of that area because the Python interface doesn't allow changing only some part of a line. If the cursor is positioned on that line just after the ending column of the replaced area, we expect the cursor to be moved depending on the amount of text replaced. However, since the whole line is replaced, Vim cannot figure where the cursor should be positioned and so the cursor is not moved. This leads to the cursor ending in an unexpected position after a FixIt is applied. Here's an illustration of the issue in TypeScript where an import statement is automatically inserted after selecting a completion:

![fixit-cursor-position-before](https://user-images.githubusercontent.com/10026824/44363871-be1ec400-a4c5-11e8-949b-14ada91bdc5e.gif)

The solution is to manually move the cursor in that case:

![fixit-cursor-position-after](https://user-images.githubusercontent.com/10026824/44364038-3a190c00-a4c6-11e8-8aca-4bc8ccb98edc.gif)

<!-- 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/3126)
<!-- Reviewable:end -->
2018-09-09 05:36:16 -07:00
zzbot
687654cec1
Auto merge of #3125 - micbou:omnifunc-invalid-start-column, r=micbou
[READY] Improve omnifunc compliance when start column is invalid

Contrarily to [what the docs say](3f6a16f022/runtime/doc/insert.txt (L1057-L1058)), [Vim only stops completion if the value returned by the omnifunc is `-3` or `-2`](3f6a16f022/src/edit.c (L5585-L5621)). In other cases, if the value is negative or greater than the current column, the start column is set to the current column; otherwise, the value is used as the start column.

<!-- 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/3125)
<!-- Reviewable:end -->
2018-09-09 04:05:38 -07:00
micbou
d215342f2f
Fix cursor position when replacing chunk
Vim doesn't move the cursor accordingly when its position is on the last line
of the replaced area after its ending column because the whole line is
replaced. The cursor must be manually moved in that case.
2018-09-09 12:38:44 +02:00
micbou
eac2232c22
Improve omnifunc compliance when start column is invalid
Contrarily to what the docs say, Vim only stops completion if the value
returned by the omnifunc is -3 or -2. In other cases, if the value is negative
or greater than the current column, the start column is set to the current
column; otherwise, the value is used as the start column.
2018-09-09 12:34:07 +02:00
zzbot
49237419cc
Auto merge of #3123 - micbou:cuda-docs, r=bstaletic
[READY] Add CUDA to C-family languages in documentation

Add CUDA to the list of C-family languages in the docs and use the "C-family languages" expression when appropriate (instead of enumerating each language).

<!-- 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/3123)
<!-- Reviewable:end -->
2018-09-09 03:08:00 -07:00
micbou
aaa94ba9c9
Merge Linux distributions instructions 2018-09-05 17:37:15 +02:00
micbou
b6583623a0
Set window height according to the wrap option 2018-08-29 22:04:47 +02:00
zzbot
e018777b38
Auto merge of #3117 - micbou:omnifunc-restore-cursor-position, r=micbou
[READY] Restore cursor position after omnifunc calls

An omnifunc may move the cursor position even on the first call, e.g. [`completeR` from the `Nvim-R` plugin](0db20893d3/R/common_global.vim (L3383)). The cursor position is not restored between the two calls because it's unnecessary with the changes from PR #3112.

<!-- 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/3117)
<!-- Reviewable:end -->
2018-08-19 15:04:52 -07:00
micbou
7b3a4aaf04
Add CUDA to C-family languages in documentation 2018-08-19 21:27:21 +02:00
micbou
24ab8ca941
Restore cursor position after omnifunc calls
An omnifunc may move the cursor position even on the first call.
2018-08-19 21:16:52 +02:00
zzbot
a688da3b96
Auto merge of #3120 - micbou:goto-modifiers-version, r=micbou
[READY] Only use command modifiers if available

Command modifiers (see `:h mods`) were added in [Vim 7.4.1898](63a60ded3f (diff-28587d36c24b61c33d4d01601f5974ee)) while we support 7.4.1578 and later.

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

<!-- 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/3120)
<!-- Reviewable:end -->
2018-08-19 11:34:44 -07:00
zzbot
9ce35aee91
Auto merge of #3113 - micbou:python-docs, r=micbou
[READY] Update Python documentation and add extra conf file

This PR updates the Python docs and adds a `.ycm_extra_conf.py` file to be able to complete third-party packages in YCM code.

<!-- 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/3113)
<!-- Reviewable:end -->
2018-08-19 10:16:20 -07:00
zzbot
96e80c8de2
Auto merge of #3112 - micbou:omnifunc-start-column, r=micbou
[READY] Move cursor to start column before calling again omnifunc

Vim internally moves the cursor to the start column before calling the omnifunc a second time. This can be confirmed by starting Vim with the following vimrc:
```vim
set nocompatible

function! Omnifunc(findstart, base)
        echom col('.')
	if a:findstart
		if getline('.') == 'foo.ba'
			return 4
		endif
	endif
	return [ 'bar', 'baz']
endfunction

set omnifunc=Omnifunc
```
typing `foo.ba`, and hitting `<C-X><C-O>`. This outputs `7` and `5` on the command line which means that the cursor at column 7 on the first call of the omnifunc is moved to column 5 on the second call.

Since some omnifuncs depend on this to compute the list of candidates (e.g. the one defined by [the LanguageClient-neovim plugin](https://github.com/autozimu/LanguageClient-neovim)), we should reproduce that behavior in YCM.

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

<!-- 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/3112)
<!-- Reviewable:end -->
2018-08-19 08:49:46 -07:00
micbou
2f93af0001
Update Python documentation and add extra conf file 2018-08-19 15:31:37 +02:00
zzbot
14ed326842
Auto merge of #3111 - micbou:autoimport-undo-faq, r=micbou
[READY] Add entry in FAQ about automatic import insertion breaking undo

Issue #3054 is fixed in [Vim 8.1.0256 or later](9fa9506853). Mention it in the FAQ.

Closes #3054.

<!-- 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/3111)
<!-- Reviewable:end -->
2018-08-19 06:26:59 -07:00
zzbot
d3ed74eca4
Auto merge of #3108 - micbou:codecov-tests, r=puremourning
[READY] Ignore tests in codecov configuration

I don't know why but codecov includes the `tests` folder in its coverage report since [we migrated to Python 3.7 on AppVeyor](2d213e7ed2). Ignoring the folder in codecov configuration file like [we already do in the ycmd repository](ea58cfcf50/codecov.yml (L16-L25)) fixes the issue.

<!-- 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/3108)
<!-- Reviewable:end -->
2018-08-19 06:01:08 -07:00
micbou
dca5682e21
Move cursor to start column before calling again omnifunc
Vim internally moves the cursor to the start column before calling again the
omnifunc. Some omnifuncs like the one defined by the LanguageClient-neovim
plugin depend on this behavior to compute the list of candidates.
2018-08-16 18:33:36 +02:00
micbou
959d0c4c5f
Only use command modifiers if available
Command modifiers were added in Vim 7.4.1898.
2018-08-14 13:52:25 +02:00
micbou
713515167f
Add entry in FAQ about automatic import insertion breaking undo 2018-08-09 00:42:56 +02:00
micbou
556213717a
Ignore tests in codecov configuration 2018-08-07 15:44:04 +02:00
zzbot
15362d9cb8
Auto merge of #3089 - micbou:tsserver-javascript, r=Valloric
[READY] Update JavaScript support and documentation

This updates the documentation with the proposed changes in https://github.com/Valloric/ycmd/pull/1036#issuecomment-397234687. The Tern instructions are moved to [this wiki page](https://github.com/Valloric/YouCompleteMe/wiki/JavaScript-Semantic-Completion-through-Tern). JavaScript is added to the list of supported filetypes for diagnostics and completion fixits.

<!-- 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/3089)
<!-- Reviewable:end -->
2018-07-25 14:02:12 -07:00
zzbot
1e9c59abfa
Auto merge of #3091 - micbou:completer-command-mods, r=Valloric
[READY] Support modifiers for GoTo commands

This PR allows users to customize how a window is split when running the `GoTo*` commands by prefixing them with the modifiers `:aboveleft`, `:belowright`, `:botright`, etc. (see `:h mods` for the complete list). For instance, to split a window vertically at the right of the screen, one could do:
```viml
:botright vertical YcmCompleter GoTo
```
The `'horizontal-split'` and `'vertical-split'` values of the `g:ycm_goto_buffer_command` option are replaced by `'split'` since a vertical split can be obtained by prefixing the `:vertical` modifier. Those values are still kept for backward compatibility.

A new value is added `'split-or-existing-window'` that is equivalent to `new-or-existing-tab` when the `:tab` modifier is used. Without the `:tab` modifier, the `GoTo*` commands only jump to an existing window if that window is in the current tab page.

Closes https://github.com/Valloric/YouCompleteMe/pull/3090.

<!-- 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/3091)
<!-- Reviewable:end -->
2018-07-25 13:46:18 -07:00
micbou
4e3ae95e9f
Update JavaScript support and documentation 2018-07-25 22:15:01 +02:00
zzbot
f379ec103f
Auto merge of #3088 - micbou:settings-docs, r=micbou
[READY] Update C-family documentation

Update documentation to reflect the changes introduced by PRs https://github.com/Valloric/ycmd/pull/1035 and https://github.com/Valloric/ycmd/pull/1057.

<!-- 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/3088)
<!-- Reviewable:end -->
2018-07-25 11:49:35 -07:00
micbou
52c022708c
Update C-family documentation 2018-07-25 20:45:57 +02:00
zzbot
8a911c1a80
Auto merge of #3087 - micbou:filepath-blacklist-docs, r=micbou
[READY] Add g:ycm_filepath_blacklist option to documentation

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

<!-- 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/3087)
<!-- Reviewable:end -->
2018-07-25 11:24:43 -07:00
micbou
87702559f3
Support modifiers for GoTo commands 2018-07-24 18:07:41 +02:00
micbou
31b6d9426a
Add g:ycm_filepath_blacklist option to documentation 2018-07-24 02:14:38 +02:00
zzbot
459b3e620e
Auto merge of #3082 - micbou:update-ycmd, r=Valloric
[READY] Update ycmd

Include the following changes:

 - PR Valloric/ycmd#1028: rewrite Python completer;
 - PR Valloric/ycmd#1035: prioritize compilation database over global extra conf;
 - PR Valloric/ycmd#1036: use TypeScript completer for JavaScript;
 - PR Valloric/ycmd#1038: fix GetDoc command on symbols declared in system headers;
 - PR Valloric/ycmd#1039: handle FlagsForFile returning nothing;
 - PR Valloric/ycmd#1049: update Unicode Standard to 11.0.0;
 - PR Valloric/ycmd#1051: inform user if maximum number of diagnostics is exceeded;
 - PR Valloric/ycmd#1052: add the regex module to sys.path in ycmd exclusively;
 - PR Valloric/ycmd#1056: include Jedi performance improvements;
 - PR Valloric/ycmd#1057: migrate the Clang completer to Settings in extra conf;
 - PR Valloric/ycmd#1058: use node only if tsserver is supposed to run through it;
 - PR Valloric/ycmd#1061: add option to disable the filepath completer.

Documentation will be updated in separate PRs for Valloric/ycmd#1028, Valloric/ycmd#1036, Valloric/ycmd#1057, and Valloric/ycmd#1061.

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

<!-- 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/3082)
<!-- Reviewable:end -->
2018-07-23 15:35:03 -07:00
zzbot
17beac58a3
Auto merge of #3086 - micbou:python-3.7, r=Valloric
[READY] Test Python 3.7 on AppVeyor

<!-- 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/3086)
<!-- Reviewable:end -->
2018-07-23 15:02:20 -07:00
micbou
2d213e7ed2
Test Python 3.7 on AppVeyor 2018-07-23 21:29:48 +02:00
micbou
9b1eb3a038
Update ycmd
Include the following changes:
 - rewrite Python completer;
 - prioritize compilation database over global extra conf;
 - use TypeScript completer for JavaScript;
 - fix GetDoc command on symbols declared in system headers;
 - handle FlagsForFile returning nothing;
 - update Unicode Standard to 11.0.0;
 - inform user if maximum number of diagnostics is exceeded;
 - add the regex module to sys.path in ycmd exclusively;
 - include Jedi performance improvements;
 - migrate the Clang completer to Settings in extra conf;
 - use node only if tsserver is supposed to run through it;
 - add option to disable the filepath completer.
2018-07-20 20:58:09 +02:00
zzbot
e1ead995c1
Auto merge of #3024 - micbou:diagnostic-matches-current-buffer, r=micbou
[READY] Update diagnostic matches for all windows

Since the `getmatches` and `setmatches` Vim functions only allow manipulating matches for the current window, we shouldn't update diagnostic matches if the buffer is not the current window.

<!-- 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/3024)
<!-- Reviewable:end -->
2018-06-20 11:46:15 -07:00
zzbot
e49f817bfe
Auto merge of #3051 - micbou:fix-typos-documentation, r=puremourning
[READY] Fix typos in documentation

Some of them found with `:set spell`.

<!-- 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/3051)
<!-- Reviewable:end -->
2018-06-10 10:57:12 -07:00
micbou
a97bff78d6
Fix typos in documentation 2018-06-10 18:11:17 +02:00
micbou
115f360092
Update matches for all windows 2018-06-03 18:58:09 +02:00
zzbot
c9ff217737
Auto merge of #3032 - micbou:msvc-12-docs, r=micbou
[READY] Remove Visual Studio 12 generator from the docs

Forgot to remove this CMake generator in commit 9392f7fd61.

<!-- 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/3032)
<!-- Reviewable:end -->
2018-06-02 11:33:48 -07:00
zzbot
17f28c68ff
Auto merge of #3013 - bstaletic:anaconda_faq, r=puremourning
[READY] Anaconda python FAQ

# 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

Since the latest anaconda works with YCM, let's just state that it is not supported in the README.

[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/3013)
<!-- Reviewable:end -->
2018-06-02 09:39:54 -07:00
Boris Staletic
fad5c5be2d Anaconda python FAQ 2018-06-02 16:55:05 +02:00
zzbot
2dcb3e91ad
Auto merge of #3045 - micbou:flake8-ycm, r=puremourning
[READY] Enforce YCM coding style

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

<!-- 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/3045)
<!-- Reviewable:end -->
2018-06-02 07:46:13 -07:00
zzbot
470518075d
Auto merge of #3035 - micbou:show-detailed-diagnostic-none, r=puremourning
[READY] Fix YcmShowDetailedDiagnostic command on line without diagnostic

The `YcmShowDetailedDiagnostic` command raises a `NoneType` exception on a line with no diagnostic;
```
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "YouCompleteMe/autoload\..\python\ycm\youcompleteme.py", line 663, in ShowDetailedDiagnostic
    if 'message' in detailed_diagnostic:
TypeError: argument of type 'NoneType' is not iterable
```

<!-- 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/3035)
<!-- Reviewable:end -->
2018-06-02 07:21:43 -07:00
zzbot
bdfcb660eb
Auto merge of #3027 - micbou:fix-debug-info-test, r=puremourning
[READY] Fix debug info test on Python 2 with Clang support

Since PR https://github.com/Valloric/ycmd/pull/925, the list of flags returned by ycmd are prefixed with `u` on Python 2.

<!-- 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/3027)
<!-- Reviewable:end -->
2018-06-02 06:06:35 -07:00
micbou
29717194fc
Do not ignore E211 rule from Flake8 2018-05-30 09:21:20 +02:00
micbou
6b4d705238
Add flake8-ycm to test requirements
Fix errors reported by flake8-ycm.
2018-05-30 02:53:28 +02:00