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 -->
This commit is contained in:
commit
820affe6d9
33
README.md
33
README.md
@ -842,18 +842,20 @@ User Guide
|
||||
|
||||
### General Usage
|
||||
|
||||
- If the offered completions are too broad, keep typing characters; YCM will
|
||||
continue refining the offered completions based on your input.
|
||||
- Filtering is "smart-case" sensitive; if you are typing only lowercase letters,
|
||||
then it's case-insensitive. If your input contains uppercase letters, then the
|
||||
uppercase letters in your query must match uppercase letters in the completion
|
||||
strings (the lowercase letters still match both). So, "foo" matches "Foo" and
|
||||
"foo", "Foo" matches "Foo" and "FOO" but not "foo".
|
||||
- Use the TAB key to accept a completion and continue pressing TAB to cycle
|
||||
through the completions. Use Shift-TAB to cycle backwards. Note that if you're
|
||||
using console Vim (that is, not Gvim or MacVim) then it's likely that the
|
||||
Shift-TAB binding will not work because the console will not pass it to Vim.
|
||||
You can remap the keys; see the _[Options][]_ section below.
|
||||
If the offered completions are too broad, keep typing characters; YCM will
|
||||
continue refining the offered completions based on your input.
|
||||
|
||||
Filtering is "smart-case" sensitive; if you are typing only lowercase letters,
|
||||
then it's case-insensitive. If your input contains uppercase letters, then the
|
||||
uppercase letters in your query must match uppercase letters in the completion
|
||||
strings (the lowercase letters still match both). So, "foo" matches "Foo" and
|
||||
"foo", "Foo" matches "Foo" and "FOO" but not "foo".
|
||||
|
||||
Use the TAB key to accept a completion and continue pressing TAB to cycle
|
||||
through the completions. Use Shift-TAB to cycle backwards. Note that if you're
|
||||
using console Vim (that is, not Gvim or MacVim) then it's likely that the
|
||||
Shift-TAB binding will not work because the console will not pass it to Vim.
|
||||
You can remap the keys; see the [Options](#options) section below.
|
||||
|
||||
Knowing a little bit about how YCM works internally will prevent confusion. YCM
|
||||
has several completion engines: an identifier-based completer that collects all
|
||||
@ -896,9 +898,9 @@ string.
|
||||
|
||||
### General Semantic Completion
|
||||
|
||||
- You can use Ctrl+Space to trigger the completion suggestions anywhere, even
|
||||
without a string prefix. This is useful to see which top-level functions are
|
||||
available for use.
|
||||
You can use Ctrl+Space to trigger the completion suggestions anywhere, even
|
||||
without a string prefix. This is useful to see which top-level functions are
|
||||
available for use.
|
||||
|
||||
### C-family Semantic Completion
|
||||
|
||||
@ -3355,7 +3357,6 @@ This software is licensed under the [GPL v3 license][gpl].
|
||||
[status-mes]: https://groups.google.com/forum/#!topic/vim_dev/WeBBjkXE8H8
|
||||
[python-re]: https://docs.python.org/2/library/re.html#regular-expression-syntax
|
||||
[Bear]: https://github.com/rizsotto/Bear
|
||||
[Options]: https://github.com/Valloric/YouCompleteMe#options
|
||||
[ygen]: https://github.com/rdnetto/YCM-Generator
|
||||
[Gocode]: https://github.com/nsf/gocode
|
||||
[Godef]: https://github.com/Manishearth/godef
|
||||
|
@ -30,7 +30,7 @@ Contents ~
|
||||
3. Completion String Ranking |youcompleteme-completion-string-ranking|
|
||||
4. General Semantic Completion |youcompleteme-general-semantic-completion|
|
||||
5. C-family Semantic Completion |youcompleteme-c-family-semantic-completion|
|
||||
1. Option 1: Use a compilation database [49] |youcompleteme-option-1-use-compilation-database-49|
|
||||
1. Option 1: Use a compilation database [48] |youcompleteme-option-1-use-compilation-database-48|
|
||||
2. Option 2: Provide the flags manually |youcompleteme-option-2-provide-flags-manually|
|
||||
3. Errors during compilation |youcompleteme-errors-during-compilation|
|
||||
6. JavaScript Semantic Completion |youcompleteme-javascript-semantic-completion|
|
||||
@ -1094,21 +1094,20 @@ User Guide ~
|
||||
*youcompleteme-general-usage*
|
||||
General Usage ~
|
||||
|
||||
- If the offered completions are too broad, keep typing characters; YCM will
|
||||
continue refining the offered completions based on your input.
|
||||
If the offered completions are too broad, keep typing characters; YCM will
|
||||
continue refining the offered completions based on your input.
|
||||
|
||||
- Filtering is "smart-case" sensitive; if you are typing only lowercase
|
||||
letters, then it's case-insensitive. If your input contains uppercase
|
||||
letters, then the uppercase letters in your query must match uppercase
|
||||
letters in the completion strings (the lowercase letters still match both).
|
||||
So, "foo" matches "Foo" and "foo", "Foo" matches "Foo" and "FOO" but not
|
||||
"foo".
|
||||
Filtering is "smart-case" sensitive; if you are typing only lowercase letters,
|
||||
then it's case-insensitive. If your input contains uppercase letters, then the
|
||||
uppercase letters in your query must match uppercase letters in the completion
|
||||
strings (the lowercase letters still match both). So, "foo" matches "Foo" and
|
||||
"foo", "Foo" matches "Foo" and "FOO" but not "foo".
|
||||
|
||||
- Use the TAB key to accept a completion and continue pressing TAB to cycle
|
||||
through the completions. Use Shift-TAB to cycle backwards. Note that if
|
||||
you're using console Vim (that is, not Gvim or MacVim) then it's likely
|
||||
that the Shift-TAB binding will not work because the console will not pass
|
||||
it to Vim. You can remap the keys; see the _Options [47]_ section below.
|
||||
Use the TAB key to accept a completion and continue pressing TAB to cycle
|
||||
through the completions. Use Shift-TAB to cycle backwards. Note that if you're
|
||||
using console Vim (that is, not Gvim or MacVim) then it's likely that the
|
||||
Shift-TAB binding will not work because the console will not pass it to Vim.
|
||||
You can remap the keys; see the Options section below.
|
||||
|
||||
Knowing a little bit about how YCM works internally will prevent confusion. YCM
|
||||
has several completion engines: an identifier-based completer that collects all
|
||||
@ -1135,7 +1134,7 @@ and presents the results to you.
|
||||
Client-Server Architecture ~
|
||||
|
||||
YCM has a client-server architecture; the Vim part of YCM is only a thin client
|
||||
that talks to the ycmd HTTP+JSON server [48] that has the vast majority of YCM
|
||||
that talks to the ycmd HTTP+JSON server [47] that has the vast majority of YCM
|
||||
logic and functionality. The server is started and stopped automatically as you
|
||||
start and stop Vim.
|
||||
|
||||
@ -1157,9 +1156,9 @@ string.
|
||||
*youcompleteme-general-semantic-completion*
|
||||
General Semantic Completion ~
|
||||
|
||||
- You can use Ctrl+Space to trigger the completion suggestions anywhere, even
|
||||
without a string prefix. This is useful to see which top-level functions
|
||||
are available for use.
|
||||
You can use Ctrl+Space to trigger the completion suggestions anywhere, even
|
||||
without a string prefix. This is useful to see which top-level functions are
|
||||
available for use.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*youcompleteme-c-family-semantic-completion*
|
||||
@ -1175,8 +1174,8 @@ analysis.
|
||||
There are 2 methods which can be used to provide compile flags to 'libclang':
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*youcompleteme-option-1-use-compilation-database-49*
|
||||
Option 1: Use a compilation database [49] ~
|
||||
*youcompleteme-option-1-use-compilation-database-48*
|
||||
Option 1: Use a compilation database [48] ~
|
||||
|
||||
The easiest way to get YCM to compile your code is to use a compilation
|
||||
database. A compilation database is usually generated by your build system
|
||||
@ -1184,13 +1183,13 @@ database. A compilation database is usually generated by your build system
|
||||
in your project.
|
||||
|
||||
For information on how to generate a compilation database, see the clang
|
||||
documentation [49]. In short:
|
||||
documentation [48]. In short:
|
||||
|
||||
- If using CMake, add '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON' when configuring
|
||||
(or add 'set( CMAKE_EXPORT_COMPILE_COMMANDS ON )' to 'CMakeLists.txt') and
|
||||
copy or symlink the generated database to the root of your project.
|
||||
- If using Ninja, check out the 'compdb' tool ('-t compdb') in its docs [50].
|
||||
- If using GNU make, check out Bear [51].
|
||||
- If using Ninja, check out the 'compdb' tool ('-t compdb') in its docs [49].
|
||||
- If using GNU make, check out Bear [50].
|
||||
- For other build systems, check out '.ycm_extra_conf.py' below.
|
||||
|
||||
If no '.ycm_extra_conf.py' is found, and no 'ycm_global_ycm_extra_conf' is
|
||||
@ -1270,14 +1269,14 @@ libclang for the file 'filename'. That's it! This is actually enough for most
|
||||
projects, but for complex projects it is not uncommon to integrate directly
|
||||
with an existing build system using the full power of the Python language.
|
||||
|
||||
For a more elaborate example, see YCM's own '.ycm_extra_conf.py' [52]. You
|
||||
For a more elaborate example, see YCM's own '.ycm_extra_conf.py' [51]. You
|
||||
should be able to use it _as a starting point_. **Don't** just copy/paste that
|
||||
file somewhere and expect things to magically work; **your project needs
|
||||
different flags**. Hint: just replace the strings in the 'flags' variable with
|
||||
compilation flags necessary for your project. That should be enough for 99% of
|
||||
projects.
|
||||
|
||||
You could also consider using YCM-Generator [53] to generate the
|
||||
You could also consider using YCM-Generator [52] to generate the
|
||||
'ycm_extra_conf.py' file.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -1307,7 +1306,7 @@ JavaScript quick start ~
|
||||
installation guide for details.
|
||||
|
||||
2. Create a '.tern-project' file in the root directory of your JavaScript
|
||||
project, by following the instructions [54] in the Tern [18]
|
||||
project, by following the instructions [53] in the Tern [18]
|
||||
documentation.
|
||||
|
||||
3. Edit a file from your project.
|
||||
@ -1317,14 +1316,14 @@ JavaScript quick start ~
|
||||
Explanation ~
|
||||
|
||||
JavaScript completion is based on Tern [18]. This completion engine requires a
|
||||
file named '.tern-project' [54] to exist in the current working directory or a
|
||||
file named '.tern-project' [53] to exist in the current working directory or a
|
||||
directory which is an ancestor of the current working directory when the Tern
|
||||
server is started. YCM starts the Tern server the first time a JavaScript file
|
||||
is edited and uses its directory as the working directory, so the directory of
|
||||
that file at that time needs to be a descendent of the directory containing the
|
||||
'.tern-project' file (or that directory itself).
|
||||
|
||||
Alternatively, as described in the Tern documentation [55], a global '.tern-
|
||||
Alternatively, as described in the Tern documentation [54], a global '.tern-
|
||||
config' file may be used.
|
||||
|
||||
Multiple Tern servers are not supported. To switch to a different JavaScript
|
||||
@ -1339,9 +1338,9 @@ Tips and tricks ~
|
||||
|
||||
This section contains some advice for configuring '.tern-project' and working
|
||||
with JavaScript files. The canonical reference for correctly configuring Tern
|
||||
is the Tern documentation [55]. Any issues, improvements, advice, etc. should
|
||||
is the Tern documentation [54]. Any issues, improvements, advice, etc. should
|
||||
be sought from the Tern [18] project. For example, see the list of tern plugins
|
||||
[56] for the list of plugins which can be enabled in the 'plugins' section of
|
||||
[55] for the list of plugins which can be enabled in the 'plugins' section of
|
||||
the '.tern-project' file.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -1393,7 +1392,7 @@ Completions and GoTo commands within the current crate and its dependencies
|
||||
should work out of the box with no additional configuration (provided that you
|
||||
built YCM with the '--rust-completer' flag; see the _Installation_ section for
|
||||
details). For semantic analysis inclusive of the standard library, you must
|
||||
have a local copy of the Rust source code [57]. If using rustup [58], run the
|
||||
have a local copy of the Rust source code [56]. If using rustup [57], run the
|
||||
following command to download the code:
|
||||
>
|
||||
rustup component add rust-src
|
||||
@ -1413,7 +1412,7 @@ Completion and GoTo commands work out of the box with no additional
|
||||
configuration. Those features are provided by the jedi [12] library which
|
||||
supports a variety of Python versions (2.6, 2.7, 3.2+) as long as it runs in
|
||||
the corresponding Python interpreter. By default YCM runs jedi [12] with the
|
||||
same Python interpreter used by the ycmd server [48], so if you would like to
|
||||
same Python interpreter used by the ycmd server [47], so if you would like to
|
||||
use a different interpreter, use the following option specifying the Python
|
||||
binary to use. For example, to provide Python 3 completion in your project,
|
||||
set:
|
||||
@ -1464,7 +1463,7 @@ Java Project Files ~
|
||||
In order to provide semantic analysis, the Java completion engine requires
|
||||
knowledge of your project structure. In particular it needs to know the class
|
||||
path to use, when compiling your code. Fortunately jdt.ls [20] supports eclipse
|
||||
project files [59], maven projects [60] and gradle projects [61].
|
||||
project files [58], maven projects [59] and gradle projects [60].
|
||||
|
||||
**NOTE:** Our recommendation is to use either maven or gradle projects.
|
||||
|
||||
@ -1499,7 +1498,7 @@ native Java support. This can be done temporarily with ':EclimDisable'.
|
||||
*youcompleteme-eclipse-projects*
|
||||
Eclipse Projects ~
|
||||
|
||||
Eclipse style projects require two files: .project [59] and .classpath [62].
|
||||
Eclipse style projects require two files: .project [58] and .classpath [61].
|
||||
|
||||
If your project already has these files due to previously being set up within
|
||||
eclipse, then no setup is required. jdt.ls [20] should load the project just
|
||||
@ -1508,7 +1507,7 @@ fine (it's basically eclipse after all).
|
||||
However, if not, it is possible (easy in fact) to craft them manually, though
|
||||
it is not recommended. You're better off using gradle or maven (see below).
|
||||
|
||||
A simple eclipse style project example [63] can be found in the ycmd test dir.
|
||||
A simple eclipse style project example [62] can be found in the ycmd test dir.
|
||||
Normally all that is required is to copy these files to the root of your
|
||||
project and to edit the '.classpath' to add additional libraries, such as:
|
||||
>
|
||||
@ -1528,10 +1527,10 @@ don't already use eclipse to manage your projects.
|
||||
*youcompleteme-maven-projects*
|
||||
Maven Projects ~
|
||||
|
||||
Maven needs a file named pom.xml [60] in the root of the project. Once again a
|
||||
simple pom.xml [64] can be found in ycmd source.
|
||||
Maven needs a file named pom.xml [59] in the root of the project. Once again a
|
||||
simple pom.xml [63] can be found in ycmd source.
|
||||
|
||||
The format of pom.xml [60] files is way beyond the scope of this document, but
|
||||
The format of pom.xml [59] files is way beyond the scope of this document, but
|
||||
we do recommend using the various tools that can generate them for you, if
|
||||
you're not familiar with them already.
|
||||
|
||||
@ -1539,10 +1538,10 @@ you're not familiar with them already.
|
||||
*youcompleteme-gradle-projecs*
|
||||
Gradle Projecs ~
|
||||
|
||||
Gradle projects require a build.gradle [61]. Again, there is a trivial example
|
||||
in ycmd's tests [65].
|
||||
Gradle projects require a build.gradle [60]. Again, there is a trivial example
|
||||
in ycmd's tests [64].
|
||||
|
||||
The format of build.gradle [61] files is way beyond the scope of this document,
|
||||
The format of build.gradle [60] files is way beyond the scope of this document,
|
||||
but we do recommend using the various tools that can generate them for you, if
|
||||
you're not familiar with them already.
|
||||
|
||||
@ -1571,7 +1570,7 @@ configured the project files, in particular check that the classpath is set
|
||||
correctly.
|
||||
|
||||
For anything else, contact us. Java support is experimental at present so we'd
|
||||
love to hear your feedback! Please do remember to check CONTRIBUTING.md [66]
|
||||
love to hear your feedback! Please do remember to check CONTRIBUTING.md [65]
|
||||
for the list of diagnostics we'll need.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -1589,7 +1588,7 @@ semantic completions if it does not have a native semantic completion engine
|
||||
for your file's filetype. Vim comes with okayish omnifuncs for various
|
||||
languages like Ruby, PHP, etc. It depends on the language.
|
||||
|
||||
You can get a stellar omnifunc for Ruby with Eclim [67]. Just make sure you
|
||||
You can get a stellar omnifunc for Ruby with Eclim [66]. Just make sure you
|
||||
have the _latest_ Eclim installed and configured (this means Eclim '>= 2.2.*'
|
||||
and Eclipse '>= 4.2.*').
|
||||
|
||||
@ -1606,7 +1605,7 @@ Writing New Semantic Completers ~
|
||||
|
||||
You have two options here: writing an 'omnifunc' for Vim's omnicomplete system
|
||||
that YCM will then use through its omni-completer, or a custom completer for
|
||||
YCM using the Completer API [68].
|
||||
YCM using the Completer API [67].
|
||||
|
||||
Here are the differences between the two approaches:
|
||||
|
||||
@ -1625,7 +1624,7 @@ Here are the differences between the two approaches:
|
||||
than VimScript.
|
||||
|
||||
If you want to use the 'omnifunc' system, see the relevant Vim docs with ':h
|
||||
complete-functions'. For the Completer API, see the API docs [68].
|
||||
complete-functions'. For the Completer API, see the API docs [67].
|
||||
|
||||
If you want to upstream your completer into YCM's source, you should use the
|
||||
Completer API.
|
||||
@ -1677,7 +1676,7 @@ current file in Vim's 'locationlist', which can be opened with the ':lopen' and
|
||||
':lclose' commands (make sure you have set 'let
|
||||
g:ycm_always_populate_location_list = 1' in your vimrc). A good way to toggle
|
||||
the display of the 'locationlist' with a single key mapping is provided by
|
||||
another (very small) Vim plugin called ListToggle [69] (which also makes it
|
||||
another (very small) Vim plugin called ListToggle [68] (which also makes it
|
||||
possible to change the height of the 'locationlist' window), also written by
|
||||
yours truly.
|
||||
|
||||
@ -1719,7 +1718,7 @@ Commands ~
|
||||
-------------------------------------------------------------------------------
|
||||
The *:YcmRestartServer* command
|
||||
|
||||
If the ycmd completion server [48] suddenly stops for some reason, you can
|
||||
If the ycmd completion server [47] suddenly stops for some reason, you can
|
||||
restart it with this command.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -1767,7 +1766,7 @@ semantic completion engine.
|
||||
The *:YcmToggleLogs* command
|
||||
|
||||
This command presents the list of logfiles created by YCM, the ycmd server
|
||||
[48], and the semantic engine server for the current filetype, if any. One of
|
||||
[47], and the semantic engine server for the current filetype, if any. One of
|
||||
these logfiles can be opened in the editor (or closed if already open) by
|
||||
entering the corresponding number or by clicking on it with the mouse.
|
||||
Additionally, this command can take the logfile names as arguments. Use the
|
||||
@ -2164,7 +2163,7 @@ For example:
|
||||
call youcompleteme#GetErrorCount()
|
||||
<
|
||||
Both this function and |youcompleteme#GetWarningCount| can be useful when
|
||||
integrating YCM with other Vim plugins. For example, a lightline [70] user
|
||||
integrating YCM with other Vim plugins. For example, a lightline [69] user
|
||||
could add a diagnostics section to their statusline which would display the
|
||||
number of errors and warnings.
|
||||
|
||||
@ -2507,13 +2506,13 @@ YCM will not render it.
|
||||
|
||||
The following filter types are supported:
|
||||
|
||||
- "regex": Accepts a string regular expression [71]. This type matches when
|
||||
- "regex": Accepts a string regular expression [70]. This type matches when
|
||||
the regex (treated as case-insensitive) is found in the diagnostic text.
|
||||
|
||||
- "level": Accepts a string level, either "warning" or "error." This type
|
||||
matches when the diagnostic has the same level.
|
||||
|
||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [71].
|
||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [70].
|
||||
|
||||
Default: '{}'
|
||||
>
|
||||
@ -2602,7 +2601,7 @@ from the 'tagfiles()' Vim function which examines the 'tags' Vim option. See
|
||||
|
||||
YCM will re-index your tags files if it detects that they have been modified.
|
||||
|
||||
The only supported tag format is the Exuberant Ctags format [72]. The format
|
||||
The only supported tag format is the Exuberant Ctags format [71]. The format
|
||||
from "plain" ctags is NOT supported. Ctags needs to be called with the '--
|
||||
fields=+l' option (that's a lowercase 'L', not a one) because YCM needs the
|
||||
'language:<lang>' field in the tags output.
|
||||
@ -2639,7 +2638,7 @@ handy; it's a way of sending data from Vim to your 'FlagsForFile' function in
|
||||
your '.ycm_extra_conf.py' file.
|
||||
|
||||
This option is supposed to be a list of VimScript expression strings that are
|
||||
evaluated for every request to the ycmd server [48] and then passed to your
|
||||
evaluated for every request to the ycmd server [47] and then passed to your
|
||||
'FlagsForFile' function as a 'client_data' keyword argument.
|
||||
|
||||
For instance, if you set this option to "['v:version']", your 'FlagsForFile'
|
||||
@ -2668,7 +2667,7 @@ YCM will by default search for an appropriate Python interpreter on your
|
||||
system. You can use this option to override that behavior and force the use of
|
||||
a specific interpreter of your choosing.
|
||||
|
||||
**NOTE:** This interpreter is only used for the ycmd server [48]. The YCM
|
||||
**NOTE:** This interpreter is only used for the ycmd server [47]. The YCM
|
||||
client running inside Vim always uses the Python interpreter that's embedded
|
||||
inside Vim.
|
||||
|
||||
@ -2679,7 +2678,7 @@ Default: "''"
|
||||
-------------------------------------------------------------------------------
|
||||
The *g:ycm_keep_logfiles* option
|
||||
|
||||
When this option is set to '1', YCM and the ycmd completion server [48] will
|
||||
When this option is set to '1', YCM and the ycmd completion server [47] will
|
||||
keep the logfiles around after shutting down (they are deleted on shutdown by
|
||||
default).
|
||||
|
||||
@ -2692,7 +2691,7 @@ Default: '0'
|
||||
-------------------------------------------------------------------------------
|
||||
The *g:ycm_log_level* option
|
||||
|
||||
The logging level that YCM and the ycmd completion server [48] use. Valid
|
||||
The logging level that YCM and the ycmd completion server [47] use. Valid
|
||||
values are the following, from most verbose to least verbose: - 'debug' -
|
||||
'info' - 'warning' - 'error' - 'critical'
|
||||
|
||||
@ -2982,7 +2981,7 @@ It's also possible to use a regular expression as a trigger. You have to prefix
|
||||
your trigger with 're!' to signify it's a regex trigger. For instance,
|
||||
're!\w+\.' would only trigger after the '\w+\.' regex matches.
|
||||
|
||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [71].
|
||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [70].
|
||||
|
||||
Default: '[see next line]'
|
||||
>
|
||||
@ -3052,7 +3051,7 @@ The *g:ycm_python_binary_path* option
|
||||
|
||||
This option specifies the Python interpreter to use to run the jedi [12]
|
||||
completion library. Specify the Python interpreter to use to get completions.
|
||||
By default the Python under which ycmd [48] runs is used (ycmd [48] runs on
|
||||
By default the Python under which ycmd [47] runs is used (ycmd [47] runs on
|
||||
Python 2.7 or 3.4+).
|
||||
|
||||
Default: "''"
|
||||
@ -3071,7 +3070,7 @@ FAQ ~
|
||||
I used to be able to 'import vim' in '.ycm_extra_conf.py', but now can't ~
|
||||
|
||||
YCM was rewritten to use a client-server architecture where most of the logic
|
||||
is in the ycmd server [48]. So the magic 'vim' module you could have previously
|
||||
is in the ycmd server [47]. So the magic 'vim' module you could have previously
|
||||
imported in your '.ycm_extra_conf.py' files doesn't exist anymore.
|
||||
|
||||
To be fair, importing the magic 'vim' module in extra conf files was never
|
||||
@ -3142,7 +3141,7 @@ to the message log if it encounters problems. It's likely you misconfigured
|
||||
something and YCM is complaining about it.
|
||||
|
||||
Also, you may want to run the |:YcmDebugInfo| command; it will make YCM spew
|
||||
out various debugging information, including the YCM and ycmd [48] logfile
|
||||
out various debugging information, including the YCM and ycmd [47] logfile
|
||||
paths and the compile flags for the current file if the file is a C-family
|
||||
language file and you have compiled in Clang support. Logfiles can be opened in
|
||||
the editor using the |:YcmToggleLogs| command.
|
||||
@ -3210,7 +3209,7 @@ I have a Homebrew Python and/or MacVim; can't compile/SIGABRT when starting ~
|
||||
|
||||
You should probably run 'brew rm python; brew install python' to get the latest
|
||||
fixes that should make YCM work with such a configuration. Also rebuild Macvim
|
||||
then. If you still get problems with this, see issue #18 [73] for suggestions.
|
||||
then. If you still get problems with this, see issue #18 [72] for suggestions.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*youcompleteme-i-get-long_bit-definition-appears-wrong-for-platform-when-compiling*
|
||||
@ -3309,15 +3308,15 @@ YCM does not read identifiers from my tags files ~
|
||||
|
||||
First, put 'let g:ycm_collect_identifiers_from_tags_files = 1' in your vimrc.
|
||||
|
||||
Make sure you are using Exuberant Ctags [74] to produce your tags files since
|
||||
the only supported tag format is the Exuberant Ctags format [72]. The format
|
||||
Make sure you are using Exuberant Ctags [73] to produce your tags files since
|
||||
the only supported tag format is the Exuberant Ctags format [71]. The format
|
||||
from "plain" ctags is NOT supported. The output of 'ctags --version' should
|
||||
list "Exuberant Ctags". See Universal Ctags [75] for a maintained version.
|
||||
list "Exuberant Ctags". See Universal Ctags [74] for a maintained version.
|
||||
|
||||
Ctags needs to be called with the '--fields=+l' (that's a lowercase 'L', not a
|
||||
one) option because YCM needs the 'language:<lang>' field in the tags output.
|
||||
|
||||
**NOTE:** Exuberant Ctags [74] by default sets language tag for '*.h' files as
|
||||
**NOTE:** Exuberant Ctags [73] by default sets language tag for '*.h' files as
|
||||
'C++'. If you have C (not C++) project, consider giving parameter '--
|
||||
langmap=c:.c.h' to ctags to see tags from '*.h' files.
|
||||
|
||||
@ -3396,7 +3395,7 @@ asynchronicity. This feature is available since Vim 7.4.1578.
|
||||
*youcompleteme-nasty-bugs-happen-if-i-have-vim-autoclose-plugin-installed*
|
||||
Nasty bugs happen if I have the 'vim-autoclose' plugin installed ~
|
||||
|
||||
Use the delimitMate [76] plugin instead. It does the same thing without
|
||||
Use the delimitMate [75] plugin instead. It does the same thing without
|
||||
conflicting with YCM.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -3404,7 +3403,7 @@ conflicting with YCM.
|
||||
Is there some sort of YCM mailing list? I have questions ~
|
||||
|
||||
If you have questions about the plugin or need help, please use the ycm-users
|
||||
[77] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
||||
[76] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
||||
reports and feature requests.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -3458,7 +3457,7 @@ mismatch in assumptions causes performance problems since Syntastic code isn't
|
||||
optimized for this use case of constant diagnostic refreshing.
|
||||
|
||||
Poor support for this use case also led to crash bugs in Vim caused by
|
||||
Syntastic-Vim interactions (issue #593 [78]) and other problems, like random
|
||||
Syntastic-Vim interactions (issue #593 [77]) and other problems, like random
|
||||
Vim flickering. Attempts were made to resolve these issues in Syntastic, but
|
||||
ultimately some of them failed (for various reasons).
|
||||
|
||||
@ -3494,7 +3493,7 @@ paths, prepend '-isystem' to each individual path and append them all to the
|
||||
list of flags you return from your 'FlagsForFile' function in your
|
||||
'.ycm_extra_conf.py' file.
|
||||
|
||||
See issue #303 [79] for details.
|
||||
See issue #303 [78] for details.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
*youcompleteme-when-i-open-javascript-file-i-get-an-annoying-warning-about-.tern-project-file*
|
||||
@ -3513,7 +3512,7 @@ When I start vim I get a runtime error saying 'R6034 An application has made ~
|
||||
an attempt to load the C runtime library incorrectly.' ~
|
||||
|
||||
CMake and other things seem to screw up the PATH with their own msvcrXX.dll
|
||||
versions. [80] Add the following to the very top of your vimrc to remove these
|
||||
versions. [79] Add the following to the very top of your vimrc to remove these
|
||||
entries from the path.
|
||||
>
|
||||
python << EOF
|
||||
@ -3538,7 +3537,7 @@ entries from the path.
|
||||
*youcompleteme-i-hear-that-ycm-only-supports-python-2-is-that-true*
|
||||
I hear that YCM only supports Python 2, is that true? ~
|
||||
|
||||
**No.** Both the Vim client and the ycmd server [48] run on Python 2 or 3. If
|
||||
**No.** Both the Vim client and the ycmd server [47] run on Python 2 or 3. If
|
||||
you work on a Python 3 project, you may need to set |g:ycm_python_binary_path|
|
||||
to the Python interpreter you use for your project to get completions for that
|
||||
version of Python.
|
||||
@ -3549,7 +3548,7 @@ On Windows I get "E887: Sorry, this command is disabled, the Python's site ~
|
||||
module could not be loaded" ~
|
||||
|
||||
If you are running vim on Windows with Python 2.7.11, this is likely caused by
|
||||
a bug [81]. Follow this workaround [82] or use a different version (Python
|
||||
a bug [80]. Follow this workaround [81] or use a different version (Python
|
||||
2.7.12 does not suffer from the bug).
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@ -3581,29 +3580,29 @@ In recent versions of Vim, you can install YCM in a folder under
|
||||
*youcompleteme-ycm-does-not-shut-down-when-i-quit-vim*
|
||||
YCM does not shut down when I quit Vim ~
|
||||
|
||||
YCM relies on the 'VimLeave' event to shut down the ycmd server [48]. Some
|
||||
YCM relies on the 'VimLeave' event to shut down the ycmd server [47]. Some
|
||||
plugins prevent this event from triggering by exiting Vim through an
|
||||
autocommand without using the 'nested' keyword (see ':h autocmd-nested'). One
|
||||
of these plugins is vim-nerdtree-tabs [83]. You should identify which plugin is
|
||||
of these plugins is vim-nerdtree-tabs [82]. You should identify which plugin is
|
||||
responsible for the issue and report it to the plugin author. Note that when
|
||||
this happens, ycmd [48] will automatically shut itself down after 30 minutes.
|
||||
this happens, ycmd [47] will automatically shut itself down after 30 minutes.
|
||||
|
||||
===============================================================================
|
||||
*youcompleteme-contributor-code-of-conduct*
|
||||
Contributor Code of Conduct ~
|
||||
|
||||
Please note that this project is released with a Contributor Code of Conduct
|
||||
[84]. By participating in this project you agree to abide by its terms.
|
||||
[83]. By participating in this project you agree to abide by its terms.
|
||||
|
||||
===============================================================================
|
||||
*youcompleteme-contact*
|
||||
Contact ~
|
||||
|
||||
If you have questions about the plugin or need help, please join the Gitter
|
||||
room [1] or use the ycm-users [77] mailing list.
|
||||
room [1] or use the ycm-users [76] mailing list.
|
||||
|
||||
If you have bug reports or feature suggestions, please use the issue tracker
|
||||
[85]. Before you do, please carefully read CONTRIBUTING.md [66] as this asks
|
||||
[84]. Before you do, please carefully read CONTRIBUTING.md [65] as this asks
|
||||
for important diagnostics which the team will use to help get you going.
|
||||
|
||||
The latest version of the plugin is available at
|
||||
@ -3618,7 +3617,7 @@ YouCompleteMe maintainers directly using the contact details below.
|
||||
*youcompleteme-license*
|
||||
License ~
|
||||
|
||||
This software is licensed under the GPL v3 license [86]. © 2015-2017
|
||||
This software is licensed under the GPL v3 license [85]. © 2015-2017
|
||||
YouCompleteMe contributors
|
||||
|
||||
===============================================================================
|
||||
@ -3671,45 +3670,44 @@ References ~
|
||||
[44] http://www.7-zip.org/download.html
|
||||
[45] http://www.mono-project.com/docs/getting-started/install/
|
||||
[46] http://download.eclipse.org/jdtls/milestones
|
||||
[47] https://github.com/Valloric/YouCompleteMe#options
|
||||
[48] https://github.com/Valloric/ycmd
|
||||
[49] http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
||||
[50] https://ninja-build.org/manual.html
|
||||
[51] https://github.com/rizsotto/Bear
|
||||
[52] https://raw.githubusercontent.com/Valloric/ycmd/3ad0300e94edc13799e8bf7b831de8b57153c5aa/cpp/ycm/.ycm_extra_conf.py
|
||||
[53] https://github.com/rdnetto/YCM-Generator
|
||||
[54] http://ternjs.net/doc/manual.html#configuration
|
||||
[55] http://ternjs.net/doc/manual.html#server
|
||||
[56] http://ternjs.net/doc/manual.html#plugins
|
||||
[57] https://www.rust-lang.org/downloads.html
|
||||
[58] https://www.rustup.rs/
|
||||
[59] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
||||
[60] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
||||
[61] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
||||
[62] https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIClasspathEntry.html
|
||||
[63] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_eclipse_project
|
||||
[64] https://github.com/Valloric/ycmd/blob/java-language-server/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
||||
[65] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
||||
[66] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
||||
[67] http://eclim.org/
|
||||
[68] https://github.com/Valloric/ycmd/blob/master/ycmd/completers/completer.py
|
||||
[69] https://github.com/Valloric/ListToggle
|
||||
[70] https://github.com/itchyny/lightline.vim
|
||||
[71] https://docs.python.org/2/library/re.html#regular-expression-syntax
|
||||
[72] http://ctags.sourceforge.net/FORMAT
|
||||
[73] https://github.com/Valloric/YouCompleteMe/issues/18
|
||||
[74] http://ctags.sourceforge.net/
|
||||
[75] https://github.com/universal-ctags/ctags
|
||||
[76] https://github.com/Raimondi/delimitMate
|
||||
[77] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
||||
[78] https://github.com/Valloric/YouCompleteMe/issues/593
|
||||
[79] https://github.com/Valloric/YouCompleteMe/issues/303
|
||||
[80] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
||||
[81] https://github.com/vim/vim/issues/717
|
||||
[82] https://github.com/vim/vim-win32-installer/blob/a27bbdba9bb87fa0e44c8a00d33d46be936822dd/appveyor.bat#L86-L88
|
||||
[83] https://github.com/jistr/vim-nerdtree-tabs
|
||||
[84] https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
|
||||
[85] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
||||
[86] http://www.gnu.org/copyleft/gpl.html
|
||||
[47] https://github.com/Valloric/ycmd
|
||||
[48] http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
||||
[49] https://ninja-build.org/manual.html
|
||||
[50] https://github.com/rizsotto/Bear
|
||||
[51] https://raw.githubusercontent.com/Valloric/ycmd/3ad0300e94edc13799e8bf7b831de8b57153c5aa/cpp/ycm/.ycm_extra_conf.py
|
||||
[52] https://github.com/rdnetto/YCM-Generator
|
||||
[53] http://ternjs.net/doc/manual.html#configuration
|
||||
[54] http://ternjs.net/doc/manual.html#server
|
||||
[55] http://ternjs.net/doc/manual.html#plugins
|
||||
[56] https://www.rust-lang.org/downloads.html
|
||||
[57] https://www.rustup.rs/
|
||||
[58] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
||||
[59] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
||||
[60] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
||||
[61] https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIClasspathEntry.html
|
||||
[62] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_eclipse_project
|
||||
[63] https://github.com/Valloric/ycmd/blob/java-language-server/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
||||
[64] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
||||
[65] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
||||
[66] http://eclim.org/
|
||||
[67] https://github.com/Valloric/ycmd/blob/master/ycmd/completers/completer.py
|
||||
[68] https://github.com/Valloric/ListToggle
|
||||
[69] https://github.com/itchyny/lightline.vim
|
||||
[70] https://docs.python.org/2/library/re.html#regular-expression-syntax
|
||||
[71] http://ctags.sourceforge.net/FORMAT
|
||||
[72] https://github.com/Valloric/YouCompleteMe/issues/18
|
||||
[73] http://ctags.sourceforge.net/
|
||||
[74] https://github.com/universal-ctags/ctags
|
||||
[75] https://github.com/Raimondi/delimitMate
|
||||
[76] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
||||
[77] https://github.com/Valloric/YouCompleteMe/issues/593
|
||||
[78] https://github.com/Valloric/YouCompleteMe/issues/303
|
||||
[79] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
||||
[80] https://github.com/vim/vim/issues/717
|
||||
[81] https://github.com/vim/vim-win32-installer/blob/a27bbdba9bb87fa0e44c8a00d33d46be936822dd/appveyor.bat#L86-L88
|
||||
[82] https://github.com/jistr/vim-nerdtree-tabs
|
||||
[83] https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
|
||||
[84] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
||||
[85] http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
vim: ft=help
|
||||
|
Loading…
Reference in New Issue
Block a user