Add regex compilation step to full instructions
This commit is contained in:
parent
340492676b
commit
f76c889608
21
README.md
21
README.md
@ -596,8 +596,8 @@ process.
|
|||||||
`git submodule update --init --recursive` after checking out the YCM
|
`git submodule update --init --recursive` after checking out the YCM
|
||||||
repository (Vundle will do this for you) to fetch YCM's dependencies.
|
repository (Vundle will do this for you) to fetch YCM's dependencies.
|
||||||
|
|
||||||
3. [Complete this step ONLY if you care about semantic completion support for
|
3. *Complete this step ONLY if you care about semantic completion support for
|
||||||
C-family languages. Otherwise it's not necessary.]
|
C-family languages. Otherwise it's not necessary.*
|
||||||
|
|
||||||
**Download the latest version of `libclang`**. Clang is an open-source
|
**Download the latest version of `libclang`**. Clang is an open-source
|
||||||
compiler that can compile C/C++/Objective-C/Objective-C++. The `libclang`
|
compiler that can compile C/C++/Objective-C/Objective-C++. The `libclang`
|
||||||
@ -710,7 +710,21 @@ process.
|
|||||||
the `YouCompleteMe/third_party/ycmd` folder for you if you compiled with
|
the `YouCompleteMe/third_party/ycmd` folder for you if you compiled with
|
||||||
clang support (it needs to be there for YCM to work).
|
clang support (it needs to be there for YCM to work).
|
||||||
|
|
||||||
5. Set up support for additional languages, as desired:
|
5. *This step is optional.*
|
||||||
|
|
||||||
|
Build the [regex][] module for improved Unicode support and better
|
||||||
|
performance with regular expressions. The procedure is similar to compiling
|
||||||
|
the `ycm_core` library:
|
||||||
|
|
||||||
|
cd ~
|
||||||
|
mkdir regex_build
|
||||||
|
cd regex_build
|
||||||
|
cmake -G "<generator>" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/cregex
|
||||||
|
cmake --build . --target _regex --config Release
|
||||||
|
|
||||||
|
where `<generator>` is the same generator used in the previous step.
|
||||||
|
|
||||||
|
6. Set up support for additional languages, as desired:
|
||||||
|
|
||||||
- C# support: install [Mono on non-Windows platforms][mono-install].
|
- C# support: install [Mono on non-Windows platforms][mono-install].
|
||||||
Navigate to `YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer`
|
Navigate to `YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer`
|
||||||
@ -3484,3 +3498,4 @@ This software is licensed under the [GPL v3 license][gpl].
|
|||||||
[ycmd-gradle-project]: https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
[ycmd-gradle-project]: https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
||||||
[jdtls-release]: http://download.eclipse.org/jdtls/milestones
|
[jdtls-release]: http://download.eclipse.org/jdtls/milestones
|
||||||
[diacritic]: https://www.unicode.org/glossary/#diacritic
|
[diacritic]: https://www.unicode.org/glossary/#diacritic
|
||||||
|
[regex]: https://pypi.org/project/regex/
|
||||||
|
@ -30,7 +30,7 @@ Contents ~
|
|||||||
3. Completion String Ranking |youcompleteme-completion-string-ranking|
|
3. Completion String Ranking |youcompleteme-completion-string-ranking|
|
||||||
4. General Semantic Completion |youcompleteme-general-semantic-completion|
|
4. General Semantic Completion |youcompleteme-general-semantic-completion|
|
||||||
5. C-family Semantic Completion |youcompleteme-c-family-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 [50] |youcompleteme-option-1-use-compilation-database-50|
|
||||||
2. Option 2: Provide the flags manually |youcompleteme-option-2-provide-flags-manually|
|
2. Option 2: Provide the flags manually |youcompleteme-option-2-provide-flags-manually|
|
||||||
3. Errors during compilation |youcompleteme-errors-during-compilation|
|
3. Errors during compilation |youcompleteme-errors-during-compilation|
|
||||||
6. Java Semantic Completion |youcompleteme-java-semantic-completion|
|
6. Java Semantic Completion |youcompleteme-java-semantic-completion|
|
||||||
@ -826,8 +826,8 @@ will notify you to recompile it. You should then rerun the install process.
|
|||||||
submodule update --init --recursive' after checking out the YCM
|
submodule update --init --recursive' after checking out the YCM
|
||||||
repository (Vundle will do this for you) to fetch YCM's dependencies.
|
repository (Vundle will do this for you) to fetch YCM's dependencies.
|
||||||
|
|
||||||
3. [Complete this step ONLY if you care about semantic completion support
|
3. _Complete this step ONLY if you care about semantic completion support
|
||||||
for C-family languages. Otherwise it's not necessary.]
|
for C-family languages. Otherwise it's not necessary._
|
||||||
|
|
||||||
**Download the latest version of 'libclang'**. Clang is an open-source
|
**Download the latest version of 'libclang'**. Clang is an open-source
|
||||||
compiler that can compile C/C++/Objective-C/Objective-C++. The 'libclang'
|
compiler that can compile C/C++/Objective-C/Objective-C++. The 'libclang'
|
||||||
@ -942,9 +942,23 @@ will notify you to recompile it. You should then rerun the install process.
|
|||||||
in the 'YouCompleteMe/third_party/ycmd' folder for you if you compiled
|
in the 'YouCompleteMe/third_party/ycmd' folder for you if you compiled
|
||||||
with clang support (it needs to be there for YCM to work).
|
with clang support (it needs to be there for YCM to work).
|
||||||
|
|
||||||
5. Set up support for additional languages, as desired:
|
5. _This step is optional._
|
||||||
|
|
||||||
- C# support: install Mono on non-Windows platforms [45]. Navigate to
|
Build the regex [45] module for improved Unicode support and better
|
||||||
|
performance with regular expressions. The procedure is similar to
|
||||||
|
compiling the 'ycm_core' library:
|
||||||
|
>
|
||||||
|
cd ~
|
||||||
|
mkdir regex_build
|
||||||
|
cd regex_build
|
||||||
|
cmake -G "<generator>" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/cregex
|
||||||
|
cmake --build . --target _regex --config Release
|
||||||
|
<
|
||||||
|
where '<generator>' is the same generator used in the previous step.
|
||||||
|
|
||||||
|
6. Set up support for additional languages, as desired:
|
||||||
|
|
||||||
|
- C# support: install Mono on non-Windows platforms [46]. Navigate to
|
||||||
'YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer' and run
|
'YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer' and run
|
||||||
|
|
||||||
msbuild /property:Configuration=Release /property:Platform="Any CPU"
|
msbuild /property:Configuration=Release /property:Platform="Any CPU"
|
||||||
@ -970,7 +984,7 @@ will notify you to recompile it. You should then rerun the install process.
|
|||||||
build --release'.
|
build --release'.
|
||||||
|
|
||||||
- Java support: install JDK8 (version 8 required) [33]. Download a
|
- Java support: install JDK8 (version 8 required) [33]. Download a
|
||||||
binary release of eclipse.jdt.ls [46] and extract it to 'YouCompleteM
|
binary release of eclipse.jdt.ls [47] and extract it to 'YouCompleteM
|
||||||
e/third_party/ycmd/third_party/eclipse.jdt.ls/target/repository'.
|
e/third_party/ycmd/third_party/eclipse.jdt.ls/target/repository'.
|
||||||
Note: this approach is not recommended for most users and is
|
Note: this approach is not recommended for most users and is
|
||||||
supported only for advanced users and developers of YCM on a best-
|
supported only for advanced users and developers of YCM on a best-
|
||||||
@ -1110,7 +1124,7 @@ General Usage ~
|
|||||||
If the offered completions are too broad, keep typing characters; YCM will
|
If the offered completions are too broad, keep typing characters; YCM will
|
||||||
continue refining the offered completions based on your input.
|
continue refining the offered completions based on your input.
|
||||||
|
|
||||||
Filtering is "smart-case" and "smart-diacritic [47]" sensitive; if you are
|
Filtering is "smart-case" and "smart-diacritic [48]" sensitive; if you are
|
||||||
typing only lowercase letters, then it's case-insensitive. If your input
|
typing only lowercase letters, then it's case-insensitive. If your input
|
||||||
contains uppercase letters, then the uppercase letters in your query must match
|
contains uppercase letters, then the uppercase letters in your query must match
|
||||||
uppercase letters in the completion strings (the lowercase letters still match
|
uppercase letters in the completion strings (the lowercase letters still match
|
||||||
@ -1161,7 +1175,7 @@ and presents the results to you.
|
|||||||
Client-Server Architecture ~
|
Client-Server Architecture ~
|
||||||
|
|
||||||
YCM has a client-server architecture; the Vim part of YCM is only a thin client
|
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 [49] that has the vast majority of YCM
|
||||||
logic and functionality. The server is started and stopped automatically as you
|
logic and functionality. The server is started and stopped automatically as you
|
||||||
start and stop Vim.
|
start and stop Vim.
|
||||||
|
|
||||||
@ -1201,8 +1215,8 @@ analysis.
|
|||||||
There are 2 methods which can be used to provide compile flags to 'libclang':
|
There are 2 methods which can be used to provide compile flags to 'libclang':
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
*youcompleteme-option-1-use-compilation-database-49*
|
*youcompleteme-option-1-use-compilation-database-50*
|
||||||
Option 1: Use a compilation database [49] ~
|
Option 1: Use a compilation database [50] ~
|
||||||
|
|
||||||
The easiest way to get YCM to compile your code is to use a compilation
|
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
|
database. A compilation database is usually generated by your build system
|
||||||
@ -1210,13 +1224,13 @@ database. A compilation database is usually generated by your build system
|
|||||||
in your project.
|
in your project.
|
||||||
|
|
||||||
For information on how to generate a compilation database, see the clang
|
For information on how to generate a compilation database, see the clang
|
||||||
documentation [49]. In short:
|
documentation [50]. In short:
|
||||||
|
|
||||||
- If using CMake, add '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON' when configuring
|
- If using CMake, add '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON' when configuring
|
||||||
(or add 'set( CMAKE_EXPORT_COMPILE_COMMANDS ON )' to 'CMakeLists.txt') and
|
(or add 'set( CMAKE_EXPORT_COMPILE_COMMANDS ON )' to 'CMakeLists.txt') and
|
||||||
copy or symlink the generated database to the root of your project.
|
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 Ninja, check out the 'compdb' tool ('-t compdb') in its docs [51].
|
||||||
- If using GNU make, check out Bear [51].
|
- If using GNU make, check out Bear [52].
|
||||||
- For other build systems, check out '.ycm_extra_conf.py' below.
|
- 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
|
If no '.ycm_extra_conf.py' is found, and no 'ycm_global_ycm_extra_conf' is
|
||||||
@ -1296,14 +1310,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
|
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.
|
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' [53]. You
|
||||||
should be able to use it _as a starting point_. **Don't** just copy/paste that
|
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
|
file somewhere and expect things to magically work; **your project needs
|
||||||
different flags**. Hint: just replace the strings in the 'flags' variable with
|
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
|
compilation flags necessary for your project. That should be enough for 99% of
|
||||||
projects.
|
projects.
|
||||||
|
|
||||||
You could also consider using YCM-Generator [53] to generate the
|
You could also consider using YCM-Generator [54] to generate the
|
||||||
'ycm_extra_conf.py' file.
|
'ycm_extra_conf.py' file.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -1353,7 +1367,7 @@ Java Project Files ~
|
|||||||
In order to provide semantic analysis, the Java completion engine requires
|
In order to provide semantic analysis, the Java completion engine requires
|
||||||
knowledge of your project structure. In particular it needs to know the class
|
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
|
path to use, when compiling your code. Fortunately jdt.ls [20] supports eclipse
|
||||||
project files [54], maven projects [55] and gradle projects [56].
|
project files [55], maven projects [56] and gradle projects [57].
|
||||||
|
|
||||||
**NOTE:** Our recommendation is to use either maven or gradle projects.
|
**NOTE:** Our recommendation is to use either maven or gradle projects.
|
||||||
|
|
||||||
@ -1388,7 +1402,7 @@ native Java support. This can be done temporarily with ':EclimDisable'.
|
|||||||
*youcompleteme-eclipse-projects*
|
*youcompleteme-eclipse-projects*
|
||||||
Eclipse Projects ~
|
Eclipse Projects ~
|
||||||
|
|
||||||
Eclipse style projects require two files: .project [54] and .classpath [57].
|
Eclipse style projects require two files: .project [55] and .classpath [58].
|
||||||
|
|
||||||
If your project already has these files due to previously being set up within
|
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
|
eclipse, then no setup is required. jdt.ls [20] should load the project just
|
||||||
@ -1397,7 +1411,7 @@ fine (it's basically eclipse after all).
|
|||||||
However, if not, it is possible (easy in fact) to craft them manually, though
|
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).
|
it is not recommended. You're better off using gradle or maven (see below).
|
||||||
|
|
||||||
A simple eclipse style project example [58] can be found in the ycmd test dir.
|
A simple eclipse style project example [59] can be found in the ycmd test dir.
|
||||||
Normally all that is required is to copy these files to the root of your
|
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:
|
project and to edit the '.classpath' to add additional libraries, such as:
|
||||||
>
|
>
|
||||||
@ -1417,10 +1431,10 @@ don't already use eclipse to manage your projects.
|
|||||||
*youcompleteme-maven-projects*
|
*youcompleteme-maven-projects*
|
||||||
Maven Projects ~
|
Maven Projects ~
|
||||||
|
|
||||||
Maven needs a file named pom.xml [55] in the root of the project. Once again a
|
Maven needs a file named pom.xml [56] in the root of the project. Once again a
|
||||||
simple pom.xml [59] can be found in ycmd source.
|
simple pom.xml [60] can be found in ycmd source.
|
||||||
|
|
||||||
The format of pom.xml [55] files is way beyond the scope of this document, but
|
The format of pom.xml [56] files is way beyond the scope of this document, but
|
||||||
we do recommend using the various tools that can generate them for you, if
|
we do recommend using the various tools that can generate them for you, if
|
||||||
you're not familiar with them already.
|
you're not familiar with them already.
|
||||||
|
|
||||||
@ -1428,10 +1442,10 @@ you're not familiar with them already.
|
|||||||
*youcompleteme-gradle-projecs*
|
*youcompleteme-gradle-projecs*
|
||||||
Gradle Projecs ~
|
Gradle Projecs ~
|
||||||
|
|
||||||
Gradle projects require a build.gradle [56]. Again, there is a trivial example
|
Gradle projects require a build.gradle [57]. Again, there is a trivial example
|
||||||
in ycmd's tests [60].
|
in ycmd's tests [61].
|
||||||
|
|
||||||
The format of build.gradle [56] files is way beyond the scope of this document,
|
The format of build.gradle [57] files is way beyond the scope of this document,
|
||||||
but we do recommend using the various tools that can generate them for you, if
|
but we do recommend using the various tools that can generate them for you, if
|
||||||
you're not familiar with them already.
|
you're not familiar with them already.
|
||||||
|
|
||||||
@ -1460,7 +1474,7 @@ configured the project files, in particular check that the classpath is set
|
|||||||
correctly.
|
correctly.
|
||||||
|
|
||||||
For anything else, contact us. Java support is experimental at present so we'd
|
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 [61]
|
love to hear your feedback! Please do remember to check CONTRIBUTING.md [62]
|
||||||
for the list of diagnostics we'll need.
|
for the list of diagnostics we'll need.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -1475,7 +1489,7 @@ JavaScript quick start ~
|
|||||||
installation guide for details.
|
installation guide for details.
|
||||||
|
|
||||||
2. Create a '.tern-project' file in the root directory of your JavaScript
|
2. Create a '.tern-project' file in the root directory of your JavaScript
|
||||||
project, by following the instructions [62] in the Tern [18]
|
project, by following the instructions [63] in the Tern [18]
|
||||||
documentation.
|
documentation.
|
||||||
|
|
||||||
3. Edit a file from your project.
|
3. Edit a file from your project.
|
||||||
@ -1485,14 +1499,14 @@ JavaScript quick start ~
|
|||||||
Explanation ~
|
Explanation ~
|
||||||
|
|
||||||
JavaScript completion is based on Tern [18]. This completion engine requires a
|
JavaScript completion is based on Tern [18]. This completion engine requires a
|
||||||
file named '.tern-project' [62] to exist in the current working directory or a
|
file named '.tern-project' [63] to exist in the current working directory or a
|
||||||
directory which is an ancestor of the current working directory when the Tern
|
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
|
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
|
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
|
that file at that time needs to be a descendent of the directory containing the
|
||||||
'.tern-project' file (or that directory itself).
|
'.tern-project' file (or that directory itself).
|
||||||
|
|
||||||
Alternatively, as described in the Tern documentation [63], a global '.tern-
|
Alternatively, as described in the Tern documentation [64], a global '.tern-
|
||||||
config' file may be used.
|
config' file may be used.
|
||||||
|
|
||||||
Multiple Tern servers are not supported. To switch to a different JavaScript
|
Multiple Tern servers are not supported. To switch to a different JavaScript
|
||||||
@ -1507,9 +1521,9 @@ Tips and tricks ~
|
|||||||
|
|
||||||
This section contains some advice for configuring '.tern-project' and working
|
This section contains some advice for configuring '.tern-project' and working
|
||||||
with JavaScript files. The canonical reference for correctly configuring Tern
|
with JavaScript files. The canonical reference for correctly configuring Tern
|
||||||
is the Tern documentation [63]. Any issues, improvements, advice, etc. should
|
is the Tern documentation [64]. Any issues, improvements, advice, etc. should
|
||||||
be sought from the Tern [18] project. For example, see the list of tern plugins
|
be sought from the Tern [18] project. For example, see the list of tern plugins
|
||||||
[64] for the list of plugins which can be enabled in the 'plugins' section of
|
[65] for the list of plugins which can be enabled in the 'plugins' section of
|
||||||
the '.tern-project' file.
|
the '.tern-project' file.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -1561,7 +1575,7 @@ Completion and GoTo commands work out of the box with no additional
|
|||||||
configuration. Those features are provided by the jedi [12] library which
|
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
|
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
|
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 [49], so if you would like to
|
||||||
use a different interpreter, use the following option specifying the Python
|
use a different interpreter, use the following option specifying the Python
|
||||||
binary to use. For example, to provide Python 3 completion in your project,
|
binary to use. For example, to provide Python 3 completion in your project,
|
||||||
set:
|
set:
|
||||||
@ -1588,7 +1602,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
|
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
|
built YCM with the '--rust-completer' flag; see the _Installation_ section for
|
||||||
details). For semantic analysis inclusive of the standard library, you must
|
details). For semantic analysis inclusive of the standard library, you must
|
||||||
have a local copy of the Rust source code [65]. If using rustup [66], run the
|
have a local copy of the Rust source code [66]. If using rustup [67], run the
|
||||||
following command to download the code:
|
following command to download the code:
|
||||||
>
|
>
|
||||||
rustup component add rust-src
|
rustup component add rust-src
|
||||||
@ -1610,7 +1624,7 @@ and run the command:
|
|||||||
>
|
>
|
||||||
npm install -g typescript
|
npm install -g typescript
|
||||||
<
|
<
|
||||||
TSServer [17] relies on the 'tsconfig.json' file [67] to analyze your project.
|
TSServer [17] relies on the 'tsconfig.json' file [68] to analyze your project.
|
||||||
Ensure the file exists at the root of your project.
|
Ensure the file exists at the root of your project.
|
||||||
|
|
||||||
TypeScript 2.8.1 or later is recommended. Some features will be missing on
|
TypeScript 2.8.1 or later is recommended. Some features will be missing on
|
||||||
@ -1633,7 +1647,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
|
for your file's filetype. Vim comes with okayish omnifuncs for various
|
||||||
languages like Ruby, PHP, etc. It depends on the language.
|
languages like Ruby, PHP, etc. It depends on the language.
|
||||||
|
|
||||||
You can get a stellar omnifunc for Ruby with Eclim [68]. Just make sure you
|
You can get a stellar omnifunc for Ruby with Eclim [69]. Just make sure you
|
||||||
have the _latest_ Eclim installed and configured (this means Eclim '>= 2.2.*'
|
have the _latest_ Eclim installed and configured (this means Eclim '>= 2.2.*'
|
||||||
and Eclipse '>= 4.2.*').
|
and Eclipse '>= 4.2.*').
|
||||||
|
|
||||||
@ -1650,7 +1664,7 @@ Writing New Semantic Completers ~
|
|||||||
|
|
||||||
You have two options here: writing an 'omnifunc' for Vim's omnicomplete system
|
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
|
that YCM will then use through its omni-completer, or a custom completer for
|
||||||
YCM using the Completer API [69].
|
YCM using the Completer API [70].
|
||||||
|
|
||||||
Here are the differences between the two approaches:
|
Here are the differences between the two approaches:
|
||||||
|
|
||||||
@ -1669,7 +1683,7 @@ Here are the differences between the two approaches:
|
|||||||
than VimScript.
|
than VimScript.
|
||||||
|
|
||||||
If you want to use the 'omnifunc' system, see the relevant Vim docs with ':h
|
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 [69].
|
complete-functions'. For the Completer API, see the API docs [70].
|
||||||
|
|
||||||
If you want to upstream your completer into YCM's source, you should use the
|
If you want to upstream your completer into YCM's source, you should use the
|
||||||
Completer API.
|
Completer API.
|
||||||
@ -1721,7 +1735,7 @@ current file in Vim's 'locationlist', which can be opened with the ':lopen' and
|
|||||||
':lclose' commands (make sure you have set 'let
|
':lclose' commands (make sure you have set 'let
|
||||||
g:ycm_always_populate_location_list = 1' in your vimrc). A good way to toggle
|
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
|
the display of the 'locationlist' with a single key mapping is provided by
|
||||||
another (very small) Vim plugin called ListToggle [70] (which also makes it
|
another (very small) Vim plugin called ListToggle [71] (which also makes it
|
||||||
possible to change the height of the 'locationlist' window), also written by
|
possible to change the height of the 'locationlist' window), also written by
|
||||||
yours truly.
|
yours truly.
|
||||||
|
|
||||||
@ -1763,7 +1777,7 @@ Commands ~
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
The *:YcmRestartServer* command
|
The *:YcmRestartServer* command
|
||||||
|
|
||||||
If the ycmd completion server [48] suddenly stops for some reason, you can
|
If the ycmd completion server [49] suddenly stops for some reason, you can
|
||||||
restart it with this command.
|
restart it with this command.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -1811,7 +1825,7 @@ semantic completion engine.
|
|||||||
The *:YcmToggleLogs* command
|
The *:YcmToggleLogs* command
|
||||||
|
|
||||||
This command presents the list of logfiles created by YCM, the ycmd server
|
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
|
[49], 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
|
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.
|
entering the corresponding number or by clicking on it with the mouse.
|
||||||
Additionally, this command can take the logfile names as arguments. Use the
|
Additionally, this command can take the logfile names as arguments. Use the
|
||||||
@ -2226,7 +2240,7 @@ For example:
|
|||||||
call youcompleteme#GetErrorCount()
|
call youcompleteme#GetErrorCount()
|
||||||
<
|
<
|
||||||
Both this function and |youcompleteme#GetWarningCount| can be useful when
|
Both this function and |youcompleteme#GetWarningCount| can be useful when
|
||||||
integrating YCM with other Vim plugins. For example, a lightline [71] user
|
integrating YCM with other Vim plugins. For example, a lightline [72] user
|
||||||
could add a diagnostics section to their statusline which would display the
|
could add a diagnostics section to their statusline which would display the
|
||||||
number of errors and warnings.
|
number of errors and warnings.
|
||||||
|
|
||||||
@ -2569,13 +2583,13 @@ YCM will not render it.
|
|||||||
|
|
||||||
The following filter types are supported:
|
The following filter types are supported:
|
||||||
|
|
||||||
- "regex": Accepts a string regular expression [72]. This type matches when
|
- "regex": Accepts a string regular expression [73]. This type matches when
|
||||||
the regex (treated as case-insensitive) is found in the diagnostic text.
|
the regex (treated as case-insensitive) is found in the diagnostic text.
|
||||||
|
|
||||||
- "level": Accepts a string level, either "warning" or "error." This type
|
- "level": Accepts a string level, either "warning" or "error." This type
|
||||||
matches when the diagnostic has the same level.
|
matches when the diagnostic has the same level.
|
||||||
|
|
||||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [72].
|
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [73].
|
||||||
|
|
||||||
Default: '{}'
|
Default: '{}'
|
||||||
>
|
>
|
||||||
@ -2664,7 +2678,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.
|
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 [73]. The format
|
The only supported tag format is the Exuberant Ctags format [74]. The format
|
||||||
from "plain" ctags is NOT supported. Ctags needs to be called with the '--
|
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
|
fields=+l' option (that's a lowercase 'L', not a one) because YCM needs the
|
||||||
'language:<lang>' field in the tags output.
|
'language:<lang>' field in the tags output.
|
||||||
@ -2701,7 +2715,7 @@ handy; it's a way of sending data from Vim to your 'FlagsForFile' function in
|
|||||||
your '.ycm_extra_conf.py' file.
|
your '.ycm_extra_conf.py' file.
|
||||||
|
|
||||||
This option is supposed to be a list of VimScript expression strings that are
|
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 [49] and then passed to your
|
||||||
'FlagsForFile' function as a 'client_data' keyword argument.
|
'FlagsForFile' function as a 'client_data' keyword argument.
|
||||||
|
|
||||||
For instance, if you set this option to "['v:version']", your 'FlagsForFile'
|
For instance, if you set this option to "['v:version']", your 'FlagsForFile'
|
||||||
@ -2730,7 +2744,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
|
system. You can use this option to override that behavior and force the use of
|
||||||
a specific interpreter of your choosing.
|
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 [49]. The YCM
|
||||||
client running inside Vim always uses the Python interpreter that's embedded
|
client running inside Vim always uses the Python interpreter that's embedded
|
||||||
inside Vim.
|
inside Vim.
|
||||||
|
|
||||||
@ -2741,7 +2755,7 @@ Default: "''"
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
The *g:ycm_keep_logfiles* option
|
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 [49] will
|
||||||
keep the logfiles around after shutting down (they are deleted on shutdown by
|
keep the logfiles around after shutting down (they are deleted on shutdown by
|
||||||
default).
|
default).
|
||||||
|
|
||||||
@ -2754,7 +2768,7 @@ Default: '0'
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
The *g:ycm_log_level* option
|
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 [49] use. Valid
|
||||||
values are the following, from most verbose to least verbose: - 'debug' -
|
values are the following, from most verbose to least verbose: - 'debug' -
|
||||||
'info' - 'warning' - 'error' - 'critical'
|
'info' - 'warning' - 'error' - 'critical'
|
||||||
|
|
||||||
@ -3044,7 +3058,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,
|
your trigger with 're!' to signify it's a regex trigger. For instance,
|
||||||
're!\w+\.' would only trigger after the '\w+\.' regex matches.
|
're!\w+\.' would only trigger after the '\w+\.' regex matches.
|
||||||
|
|
||||||
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [72].
|
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [73].
|
||||||
|
|
||||||
Default: '[see next line]'
|
Default: '[see next line]'
|
||||||
>
|
>
|
||||||
@ -3114,7 +3128,7 @@ The *g:ycm_python_binary_path* option
|
|||||||
|
|
||||||
This option specifies the Python interpreter to use to run the jedi [12]
|
This option specifies the Python interpreter to use to run the jedi [12]
|
||||||
completion library. Specify the Python interpreter to use to get completions.
|
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 [49] runs is used (ycmd [49] runs on
|
||||||
Python 2.7.1+ or 3.4+).
|
Python 2.7.1+ or 3.4+).
|
||||||
|
|
||||||
Default: "''"
|
Default: "''"
|
||||||
@ -3133,7 +3147,7 @@ FAQ ~
|
|||||||
I used to be able to 'import vim' in '.ycm_extra_conf.py', but now can't ~
|
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
|
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 [49]. So the magic 'vim' module you could have previously
|
||||||
imported in your '.ycm_extra_conf.py' files doesn't exist anymore.
|
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
|
To be fair, importing the magic 'vim' module in extra conf files was never
|
||||||
@ -3204,7 +3218,7 @@ to the message log if it encounters problems. It's likely you misconfigured
|
|||||||
something and YCM is complaining about it.
|
something and YCM is complaining about it.
|
||||||
|
|
||||||
Also, you may want to run the |:YcmDebugInfo| command; it will make YCM spew
|
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 [49] logfile
|
||||||
paths and the compile flags for the current file if the file is a C-family
|
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
|
language file and you have compiled in Clang support. Logfiles can be opened in
|
||||||
the editor using the |:YcmToggleLogs| command.
|
the editor using the |:YcmToggleLogs| command.
|
||||||
@ -3272,7 +3286,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
|
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
|
fixes that should make YCM work with such a configuration. Also rebuild Macvim
|
||||||
then. If you still get problems with this, see issue #18 [74] for suggestions.
|
then. If you still get problems with this, see issue #18 [75] for suggestions.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
*youcompleteme-i-get-long_bit-definition-appears-wrong-for-platform-when-compiling*
|
*youcompleteme-i-get-long_bit-definition-appears-wrong-for-platform-when-compiling*
|
||||||
@ -3371,15 +3385,15 @@ YCM does not read identifiers from my tags files ~
|
|||||||
|
|
||||||
First, put 'let g:ycm_collect_identifiers_from_tags_files = 1' in your vimrc.
|
First, put 'let g:ycm_collect_identifiers_from_tags_files = 1' in your vimrc.
|
||||||
|
|
||||||
Make sure you are using Exuberant Ctags [75] to produce your tags files since
|
Make sure you are using Exuberant Ctags [76] to produce your tags files since
|
||||||
the only supported tag format is the Exuberant Ctags format [73]. The format
|
the only supported tag format is the Exuberant Ctags format [74]. The format
|
||||||
from "plain" ctags is NOT supported. The output of 'ctags --version' should
|
from "plain" ctags is NOT supported. The output of 'ctags --version' should
|
||||||
list "Exuberant Ctags". See Universal Ctags [76] for a maintained version.
|
list "Exuberant Ctags". See Universal Ctags [77] for a maintained version.
|
||||||
|
|
||||||
Ctags needs to be called with the '--fields=+l' (that's a lowercase 'L', not a
|
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.
|
one) option because YCM needs the 'language:<lang>' field in the tags output.
|
||||||
|
|
||||||
**NOTE:** Exuberant Ctags [75] by default sets language tag for '*.h' files as
|
**NOTE:** Exuberant Ctags [76] by default sets language tag for '*.h' files as
|
||||||
'C++'. If you have C (not C++) project, consider giving parameter '--
|
'C++'. If you have C (not C++) project, consider giving parameter '--
|
||||||
langmap=c:.c.h' to ctags to see tags from '*.h' files.
|
langmap=c:.c.h' to ctags to see tags from '*.h' files.
|
||||||
|
|
||||||
@ -3458,7 +3472,7 @@ asynchronicity. This feature is available since Vim 7.4.1578.
|
|||||||
*youcompleteme-nasty-bugs-happen-if-i-have-vim-autoclose-plugin-installed*
|
*youcompleteme-nasty-bugs-happen-if-i-have-vim-autoclose-plugin-installed*
|
||||||
Nasty bugs happen if I have the 'vim-autoclose' plugin installed ~
|
Nasty bugs happen if I have the 'vim-autoclose' plugin installed ~
|
||||||
|
|
||||||
Use the delimitMate [77] plugin instead. It does the same thing without
|
Use the delimitMate [78] plugin instead. It does the same thing without
|
||||||
conflicting with YCM.
|
conflicting with YCM.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -3466,7 +3480,7 @@ conflicting with YCM.
|
|||||||
Is there some sort of YCM mailing list? I have questions ~
|
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
|
If you have questions about the plugin or need help, please use the ycm-users
|
||||||
[78] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
[79] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
||||||
reports and feature requests.
|
reports and feature requests.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -3520,7 +3534,7 @@ mismatch in assumptions causes performance problems since Syntastic code isn't
|
|||||||
optimized for this use case of constant diagnostic refreshing.
|
optimized for this use case of constant diagnostic refreshing.
|
||||||
|
|
||||||
Poor support for this use case also led to crash bugs in Vim caused by
|
Poor support for this use case also led to crash bugs in Vim caused by
|
||||||
Syntastic-Vim interactions (issue #593 [79]) and other problems, like random
|
Syntastic-Vim interactions (issue #593 [80]) and other problems, like random
|
||||||
Vim flickering. Attempts were made to resolve these issues in Syntastic, but
|
Vim flickering. Attempts were made to resolve these issues in Syntastic, but
|
||||||
ultimately some of them failed (for various reasons).
|
ultimately some of them failed (for various reasons).
|
||||||
|
|
||||||
@ -3556,7 +3570,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
|
list of flags you return from your 'FlagsForFile' function in your
|
||||||
'.ycm_extra_conf.py' file.
|
'.ycm_extra_conf.py' file.
|
||||||
|
|
||||||
See issue #303 [80] for details.
|
See issue #303 [81] for details.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
*youcompleteme-when-i-open-javascript-file-i-get-an-annoying-warning-about-.tern-project-file*
|
*youcompleteme-when-i-open-javascript-file-i-get-an-annoying-warning-about-.tern-project-file*
|
||||||
@ -3575,7 +3589,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.' ~
|
an attempt to load the C runtime library incorrectly.' ~
|
||||||
|
|
||||||
CMake and other things seem to screw up the PATH with their own msvcrXX.dll
|
CMake and other things seem to screw up the PATH with their own msvcrXX.dll
|
||||||
versions. [81] Add the following to the very top of your vimrc to remove these
|
versions. [82] Add the following to the very top of your vimrc to remove these
|
||||||
entries from the path.
|
entries from the path.
|
||||||
>
|
>
|
||||||
python << EOF
|
python << EOF
|
||||||
@ -3600,7 +3614,7 @@ entries from the path.
|
|||||||
*youcompleteme-i-hear-that-ycm-only-supports-python-2-is-that-true*
|
*youcompleteme-i-hear-that-ycm-only-supports-python-2-is-that-true*
|
||||||
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 [49] run on Python 2 or 3. If
|
||||||
you work on a Python 3 project, you may need to set |g:ycm_python_binary_path|
|
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
|
to the Python interpreter you use for your project to get completions for that
|
||||||
version of Python.
|
version of Python.
|
||||||
@ -3611,7 +3625,7 @@ On Windows I get "E887: Sorry, this command is disabled, the Python's site ~
|
|||||||
module could not be loaded" ~
|
module could not be loaded" ~
|
||||||
|
|
||||||
If you are running vim on Windows with Python 2.7.11, this is likely caused by
|
If you are running vim on Windows with Python 2.7.11, this is likely caused by
|
||||||
a bug [82]. Follow this workaround [83] or use a different version (Python
|
a bug [83]. Follow this workaround [84] or use a different version (Python
|
||||||
2.7.12 does not suffer from the bug).
|
2.7.12 does not suffer from the bug).
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -3643,29 +3657,29 @@ In recent versions of Vim, you can install YCM in a folder under
|
|||||||
*youcompleteme-ycm-does-not-shut-down-when-i-quit-vim*
|
*youcompleteme-ycm-does-not-shut-down-when-i-quit-vim*
|
||||||
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 [49]. Some
|
||||||
plugins prevent this event from triggering by exiting Vim through an
|
plugins prevent this event from triggering by exiting Vim through an
|
||||||
autocommand without using the 'nested' keyword (see ':h autocmd-nested'). One
|
autocommand without using the 'nested' keyword (see ':h autocmd-nested'). One
|
||||||
of these plugins is vim-nerdtree-tabs [84]. You should identify which plugin is
|
of these plugins is vim-nerdtree-tabs [85]. You should identify which plugin is
|
||||||
responsible for the issue and report it to the plugin author. Note that when
|
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 [49] will automatically shut itself down after 30 minutes.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
*youcompleteme-contributor-code-of-conduct*
|
*youcompleteme-contributor-code-of-conduct*
|
||||||
Contributor Code of Conduct ~
|
Contributor Code of Conduct ~
|
||||||
|
|
||||||
Please note that this project is released with a Contributor Code of Conduct
|
Please note that this project is released with a Contributor Code of Conduct
|
||||||
[85]. By participating in this project you agree to abide by its terms.
|
[86]. By participating in this project you agree to abide by its terms.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
*youcompleteme-contact*
|
*youcompleteme-contact*
|
||||||
Contact ~
|
Contact ~
|
||||||
|
|
||||||
If you have questions about the plugin or need help, please join the Gitter
|
If you have questions about the plugin or need help, please join the Gitter
|
||||||
room [1] or use the ycm-users [78] mailing list.
|
room [1] or use the ycm-users [79] mailing list.
|
||||||
|
|
||||||
If you have bug reports or feature suggestions, please use the issue tracker
|
If you have bug reports or feature suggestions, please use the issue tracker
|
||||||
[86]. Before you do, please carefully read CONTRIBUTING.md [61] as this asks
|
[87]. Before you do, please carefully read CONTRIBUTING.md [62] as this asks
|
||||||
for important diagnostics which the team will use to help get you going.
|
for important diagnostics which the team will use to help get you going.
|
||||||
|
|
||||||
The latest version of the plugin is available at
|
The latest version of the plugin is available at
|
||||||
@ -3680,7 +3694,7 @@ YouCompleteMe maintainers directly using the contact details below.
|
|||||||
*youcompleteme-license*
|
*youcompleteme-license*
|
||||||
License ~
|
License ~
|
||||||
|
|
||||||
This software is licensed under the GPL v3 license [87]. © 2015-2018
|
This software is licensed under the GPL v3 license [88]. © 2015-2018
|
||||||
YouCompleteMe contributors
|
YouCompleteMe contributors
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
@ -3731,48 +3745,49 @@ References ~
|
|||||||
[42] https://github.com/tpope/vim-pathogen#pathogenvim
|
[42] https://github.com/tpope/vim-pathogen#pathogenvim
|
||||||
[43] http://llvm.org/releases/download.html
|
[43] http://llvm.org/releases/download.html
|
||||||
[44] http://www.7-zip.org/download.html
|
[44] http://www.7-zip.org/download.html
|
||||||
[45] http://www.mono-project.com/docs/getting-started/install/
|
[45] https://pypi.org/project/regex/
|
||||||
[46] http://download.eclipse.org/jdtls/milestones
|
[46] http://www.mono-project.com/docs/getting-started/install/
|
||||||
[47] https://www.unicode.org/glossary/#diacritic
|
[47] http://download.eclipse.org/jdtls/milestones
|
||||||
[48] https://github.com/Valloric/ycmd
|
[48] https://www.unicode.org/glossary/#diacritic
|
||||||
[49] http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
[49] https://github.com/Valloric/ycmd
|
||||||
[50] https://ninja-build.org/manual.html
|
[50] http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
||||||
[51] https://github.com/rizsotto/Bear
|
[51] https://ninja-build.org/manual.html
|
||||||
[52] https://raw.githubusercontent.com/Valloric/ycmd/3ad0300e94edc13799e8bf7b831de8b57153c5aa/cpp/ycm/.ycm_extra_conf.py
|
[52] https://github.com/rizsotto/Bear
|
||||||
[53] https://github.com/rdnetto/YCM-Generator
|
[53] https://raw.githubusercontent.com/Valloric/ycmd/3ad0300e94edc13799e8bf7b831de8b57153c5aa/cpp/ycm/.ycm_extra_conf.py
|
||||||
[54] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
[54] https://github.com/rdnetto/YCM-Generator
|
||||||
[55] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
[55] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
||||||
[56] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
[56] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
||||||
[57] https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIClasspathEntry.html
|
[57] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
||||||
[58] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_eclipse_project
|
[58] https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIClasspathEntry.html
|
||||||
[59] https://github.com/Valloric/ycmd/blob/java-language-server/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
[59] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_eclipse_project
|
||||||
[60] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
[60] https://github.com/Valloric/ycmd/blob/java-language-server/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
||||||
[61] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
[61] https://github.com/Valloric/ycmd/tree/master/ycmd/tests/java/testdata/simple_gradle_project
|
||||||
[62] http://ternjs.net/doc/manual.html#configuration
|
[62] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
||||||
[63] http://ternjs.net/doc/manual.html#server
|
[63] http://ternjs.net/doc/manual.html#configuration
|
||||||
[64] http://ternjs.net/doc/manual.html#plugins
|
[64] http://ternjs.net/doc/manual.html#server
|
||||||
[65] https://www.rust-lang.org/downloads.html
|
[65] http://ternjs.net/doc/manual.html#plugins
|
||||||
[66] https://www.rustup.rs/
|
[66] https://www.rust-lang.org/downloads.html
|
||||||
[67] https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
|
[67] https://www.rustup.rs/
|
||||||
[68] http://eclim.org/
|
[68] https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
|
||||||
[69] https://github.com/Valloric/ycmd/blob/master/ycmd/completers/completer.py
|
[69] http://eclim.org/
|
||||||
[70] https://github.com/Valloric/ListToggle
|
[70] https://github.com/Valloric/ycmd/blob/master/ycmd/completers/completer.py
|
||||||
[71] https://github.com/itchyny/lightline.vim
|
[71] https://github.com/Valloric/ListToggle
|
||||||
[72] https://docs.python.org/2/library/re.html#regular-expression-syntax
|
[72] https://github.com/itchyny/lightline.vim
|
||||||
[73] http://ctags.sourceforge.net/FORMAT
|
[73] https://docs.python.org/2/library/re.html#regular-expression-syntax
|
||||||
[74] https://github.com/Valloric/YouCompleteMe/issues/18
|
[74] http://ctags.sourceforge.net/FORMAT
|
||||||
[75] http://ctags.sourceforge.net/
|
[75] https://github.com/Valloric/YouCompleteMe/issues/18
|
||||||
[76] https://github.com/universal-ctags/ctags
|
[76] http://ctags.sourceforge.net/
|
||||||
[77] https://github.com/Raimondi/delimitMate
|
[77] https://github.com/universal-ctags/ctags
|
||||||
[78] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
[78] https://github.com/Raimondi/delimitMate
|
||||||
[79] https://github.com/Valloric/YouCompleteMe/issues/593
|
[79] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
||||||
[80] https://github.com/Valloric/YouCompleteMe/issues/303
|
[80] https://github.com/Valloric/YouCompleteMe/issues/593
|
||||||
[81] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
[81] https://github.com/Valloric/YouCompleteMe/issues/303
|
||||||
[82] https://github.com/vim/vim/issues/717
|
[82] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
||||||
[83] https://github.com/vim/vim-win32-installer/blob/a27bbdba9bb87fa0e44c8a00d33d46be936822dd/appveyor.bat#L86-L88
|
[83] https://github.com/vim/vim/issues/717
|
||||||
[84] https://github.com/jistr/vim-nerdtree-tabs
|
[84] https://github.com/vim/vim-win32-installer/blob/a27bbdba9bb87fa0e44c8a00d33d46be936822dd/appveyor.bat#L86-L88
|
||||||
[85] https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
|
[85] https://github.com/jistr/vim-nerdtree-tabs
|
||||||
[86] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
[86] https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
|
||||||
[87] http://www.gnu.org/copyleft/gpl.html
|
[87] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
||||||
|
[88] http://www.gnu.org/copyleft/gpl.html
|
||||||
|
|
||||||
vim: ft=help
|
vim: ft=help
|
||||||
|
Loading…
Reference in New Issue
Block a user