|
@@ -28,7 +28,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 [48] |youcompleteme-option-1-use-compilation-database-48|
|
|
|
+ 1. Option 1: Use a compilation database [44] |youcompleteme-option-1-use-compilation-database-44|
|
|
|
2. Option 2: Provide the flags manually |youcompleteme-option-2-provide-flags-manually|
|
|
|
3. Errors during compilation |youcompleteme-errors-during-compilation|
|
|
|
4. Selecting a C-family completion engine |youcompleteme-selecting-c-family-completion-engine|
|
|
@@ -194,8 +194,7 @@ module could not be loaded" |youcompleteme-on-windows-i-get-e887-sorry-this-comm
|
|
|
*youcompleteme-introduction*
|
|
|
Introduction ~
|
|
|
|
|
|
-Image: Gitter room [1] Image: Linux build status [3] Image: macOS build status
|
|
|
-[5] Image: Windows build status [7] Image: Coverage status [9]
|
|
|
+Image: Gitter room [1] Image: Build status [3] Image: Coverage status [5]
|
|
|
|
|
|
===============================================================================
|
|
|
*youcompleteme-help-advice-support*
|
|
@@ -274,22 +273,22 @@ YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for
|
|
|
Vim. It has several completion engines:
|
|
|
|
|
|
- an identifier-based engine that works with every programming language,
|
|
|
-- a Clang [11]-based engine that provides native semantic code completion for
|
|
|
+- a Clang [7]-based engine that provides native semantic code completion for
|
|
|
C/C++/Objective-C/Objective-C++/CUDA (from now on referred to as "the
|
|
|
C-family languages"),
|
|
|
-- a clangd [12]-based **experimental** completion engine for the C-family
|
|
|
+- a clangd [8]-based **experimental** completion engine for the C-family
|
|
|
languages.
|
|
|
-- a Jedi [13]-based completion engine for Python 2 and 3,
|
|
|
-- an OmniSharp [14]-based completion engine for C#,
|
|
|
-- a combination of Gocode [15] and Godef [16] semantic engines for Go,
|
|
|
-- a TSServer [17]-based completion engine for JavaScript and TypeScript,
|
|
|
-- a racer [18]-based completion engine for Rust,
|
|
|
-- a jdt.ls [19]-based experimental completion engine for Java.
|
|
|
+- a Jedi [9]-based completion engine for Python 2 and 3,
|
|
|
+- an OmniSharp [10]-based completion engine for C#,
|
|
|
+- a combination of Gocode [11] and Godef [12] semantic engines for Go,
|
|
|
+- a TSServer [13]-based completion engine for JavaScript and TypeScript,
|
|
|
+- a racer [14]-based completion engine for Rust,
|
|
|
+- a jdt.ls [15]-based experimental completion engine for Java.
|
|
|
- and an omnifunc-based completer that uses data from Vim's omnicomplete
|
|
|
system to provide semantic completions for many other languages (Ruby, PHP
|
|
|
etc.).
|
|
|
|
|
|
- Image: YouCompleteMe GIF demo (see reference [20])
|
|
|
+ Image: YouCompleteMe GIF demo (see reference [16])
|
|
|
|
|
|
Here's an explanation of what happens in the short GIF demo above.
|
|
|
|
|
@@ -308,7 +307,7 @@ typing to further filter out unwanted completions.
|
|
|
|
|
|
A critical thing to notice is that the completion **filtering is NOT based on
|
|
|
the input being a string prefix of the completion** (but that works too). The
|
|
|
-input needs to be a _subsequence [21] match_ of a completion. This is a fancy
|
|
|
+input needs to be a _subsequence [17] match_ of a completion. This is a fancy
|
|
|
way of saying that any input characters need to be present in a completion
|
|
|
string in the order in which they appear in the input. So 'abc' is a
|
|
|
subsequence of 'xaybgc', but not of 'xbyxaxxc'. After the filter, a complicated
|
|
@@ -327,7 +326,7 @@ with a keyboard shortcut; see the rest of the docs).
|
|
|
|
|
|
The last thing that you can see in the demo is YCM's diagnostic display
|
|
|
features (the little red X that shows up in the left gutter; inspired by
|
|
|
-Syntastic [22]) if you are editing a C-family file. As the completer engine
|
|
|
+Syntastic [18]) if you are editing a C-family file. As the completer engine
|
|
|
compiles your file and detects warnings or errors, they will be presented in
|
|
|
various ways. You don't need to save your file or press any keyboard shortcut
|
|
|
to trigger this, it "just happens" in the background.
|
|
@@ -358,7 +357,7 @@ summary and the full list of completer subcommands to find out what's available
|
|
|
for your favourite languages.
|
|
|
|
|
|
You'll also find that YCM has filepath completers (try typing './' in a file)
|
|
|
-and a completer that integrates with UltiSnips [23].
|
|
|
+and a completer that integrates with UltiSnips [19].
|
|
|
|
|
|
===============================================================================
|
|
|
*youcompleteme-installation*
|
|
@@ -372,9 +371,9 @@ These instructions (using 'install.py') are the quickest way to install
|
|
|
YouCompleteMe, however they may not work for everyone. If the following
|
|
|
instructions don't work for you, check out the full installation guide.
|
|
|
|
|
|
-MacVim [24] is required. YCM won't work with the pre-installed Vim from Apple
|
|
|
-as its Python support is broken. If you don't already use MacVim [24], install
|
|
|
-it with Homebrew [25]. Install CMake as well:
|
|
|
+MacVim [20] is required. YCM won't work with the pre-installed Vim from Apple
|
|
|
+as its Python support is broken. If you don't already use MacVim [20], install
|
|
|
+it with Homebrew [21]. Install CMake as well:
|
|
|
>
|
|
|
brew install cmake macvim
|
|
|
<
|
|
@@ -412,19 +411,19 @@ Compiling YCM **without** semantic support for C-family languages:
|
|
|
<
|
|
|
The following additional language support options are available:
|
|
|
|
|
|
-- C# support: install Mono with Homebrew [25] or by downloading the Mono
|
|
|
- macOS package [26] and add '--cs-completer' when calling 'install.py'.
|
|
|
+- C# support: install Mono with Homebrew [21] or by downloading the Mono
|
|
|
+ macOS package [22] and add '--cs-completer' when calling 'install.py'.
|
|
|
|
|
|
-- Go support: install Go [27] and add '--go-completer' when calling
|
|
|
+- Go support: install Go [23] and add '--go-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- JavaScript and TypeScript support: install Node.js and npm [28] and add
|
|
|
+- JavaScript and TypeScript support: install Node.js and npm [24] and add
|
|
|
'--ts-completer' when calling 'install.py'.
|
|
|
|
|
|
-- Rust support: install Rust [29] and add '--rust-completer' when calling
|
|
|
+- Rust support: install Rust [25] and add '--rust-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- Java support: install JDK8 (version 8 required) [30] and add
|
|
|
+- Java support: install JDK8 (version 8 required) [26] and add
|
|
|
'--java-completer' when calling 'install.py'.
|
|
|
|
|
|
To simply compile with everything enabled, there's a '--all' flag. Note that
|
|
@@ -457,9 +456,9 @@ Make sure you have Vim 7.4.1578 with Python 2 or Python 3 support. The Vim
|
|
|
package on Fedora 27 and later and the pre-installed Vim on Ubuntu 16.04 and
|
|
|
later are recent enough. You can see the version of Vim installed by running
|
|
|
'vim --version'. If the version is too old, you may need to compile Vim from
|
|
|
-source [31] (don't worry, it's easy).
|
|
|
+source [27] (don't worry, it's easy).
|
|
|
|
|
|
-Install YouCompleteMe with Vundle [32].
|
|
|
+Install YouCompleteMe with Vundle [28].
|
|
|
|
|
|
**Remember:** YCM is a plugin with a compiled component. If you **update** YCM
|
|
|
using Vundle and the ycm_core library APIs have changed (happens rarely), YCM
|
|
@@ -504,19 +503,19 @@ Compiling YCM **without** semantic support for C-family languages:
|
|
|
<
|
|
|
The following additional language support options are available:
|
|
|
|
|
|
-- C# support: install Mono [33] and add '--cs-completer' when calling
|
|
|
+- C# support: install Mono [29] and add '--cs-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- Go support: install Go [27] and add '--go-completer' when calling
|
|
|
+- Go support: install Go [23] and add '--go-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- JavaScript and TypeScript support: install Node.js and npm [28] and add
|
|
|
+- JavaScript and TypeScript support: install Node.js and npm [24] and add
|
|
|
'--ts-completer' when calling 'install.py'.
|
|
|
|
|
|
-- Rust support: install Rust [29] and add '--rust-completer' when calling
|
|
|
+- Rust support: install Rust [25] and add '--rust-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- Java support: install JDK8 (version 8 required) [30] and add
|
|
|
+- Java support: install JDK8 (version 8 required) [26] and add
|
|
|
'--java-completer' when calling 'install.py'.
|
|
|
|
|
|
To simply compile with everything enabled, there's a '--all' flag. Note that
|
|
@@ -554,18 +553,18 @@ Vim. Look at the features included: '+python/dyn' for Python 2 and
|
|
|
'+python3/dyn' for Python 3. Take note of the Vim architecture, i.e. 32 or
|
|
|
64-bit. It will be important when choosing the Python installer. We recommend
|
|
|
using a 64-bit client. Daily updated installers of 32-bit and 64-bit Vim with
|
|
|
-Python 2 and Python 3 support [34] are available.
|
|
|
+Python 2 and Python 3 support [30] are available.
|
|
|
|
|
|
Add the line:
|
|
|
>
|
|
|
set encoding=utf-8
|
|
|
<
|
|
|
-to your vimrc [35] if not already present. This option is required by YCM. Note
|
|
|
+to your vimrc [31] if not already present. This option is required by YCM. Note
|
|
|
that it does not prevent you from editing a file in another encoding than
|
|
|
UTF-8. You can do that by specifying the '|++enc|' argument to the ':e'
|
|
|
command.
|
|
|
|
|
|
-Install YouCompleteMe with Vundle [32].
|
|
|
+Install YouCompleteMe with Vundle [28].
|
|
|
|
|
|
**Remember:** YCM is a plugin with a compiled component. If you **update** YCM
|
|
|
using Vundle and the ycm_core library APIs have changed (happens rarely), YCM
|
|
@@ -573,7 +572,7 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
|
|
|
Download and install the following software:
|
|
|
|
|
|
-- Python 2 or Python 3 [36]. Be sure to pick the version corresponding to
|
|
|
+- Python 2 or Python 3 [32]. Be sure to pick the version corresponding to
|
|
|
your Vim architecture. It is _Windows x86_ for a 32-bit Vim and _Windows
|
|
|
x86-64_ for a 64-bit Vim. We recommend installing Python 3. Additionally,
|
|
|
the version of Python you install must match up exactly with the version of
|
|
@@ -585,9 +584,9 @@ Download and install the following software:
|
|
|
Python 3.5. You'll need one or the other installed, matching the version
|
|
|
number exactly.
|
|
|
|
|
|
-- CMake [37]. Add CMake executable to the PATH environment variable.
|
|
|
+- CMake [33]. Add CMake executable to the PATH environment variable.
|
|
|
|
|
|
-- Visual Studio Build Tools 2017 [38]. During setup, select _Visual C++ build
|
|
|
+- Visual Studio Build Tools 2017 [34]. During setup, select _Visual C++ build
|
|
|
tools_ in _Workloads_.
|
|
|
|
|
|
Compiling YCM **with** semantic support for C-family languages through
|
|
@@ -616,18 +615,18 @@ Compiling YCM **without** semantic support for C-family languages:
|
|
|
The following additional language support options are available:
|
|
|
|
|
|
- C# support: add '--cs-completer' when calling 'install.py'. Be sure that
|
|
|
- the build utility 'msbuild' is in your PATH [39].
|
|
|
+ the build utility 'msbuild' is in your PATH [35].
|
|
|
|
|
|
-- Go support: install Go [27] and add '--go-completer' when calling
|
|
|
+- Go support: install Go [23] and add '--go-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- JavaScript and TypeScript support: install Node.js and npm [28] and add
|
|
|
+- JavaScript and TypeScript support: install Node.js and npm [24] and add
|
|
|
'--ts-completer' when calling 'install.py'.
|
|
|
|
|
|
-- Rust support: install Rust [29] and add '--rust-completer' when calling
|
|
|
+- Rust support: install Rust [25] and add '--rust-completer' when calling
|
|
|
'install.py'.
|
|
|
|
|
|
-- Java support: install JDK8 (version 8 required) [30] and add
|
|
|
+- Java support: install JDK8 (version 8 required) [26] and add
|
|
|
'--java-completer' when calling 'install.py'.
|
|
|
|
|
|
To simply compile with everything enabled, there's a '--all' flag. Note that
|
|
@@ -670,7 +669,7 @@ For FreeBSD 11.x, the requirement is cmake:
|
|
|
>
|
|
|
pkg install cmake
|
|
|
<
|
|
|
-Install YouCompleteMe with Vundle [32].
|
|
|
+Install YouCompleteMe with Vundle [28].
|
|
|
|
|
|
**Remember:** YCM is a plugin with a compiled component. If you **update** YCM
|
|
|
using Vundle and the ycm_core library APIs have changed (happens rarely), YCM
|
|
@@ -709,16 +708,16 @@ The following additional language support options are available:
|
|
|
- C# support: install Mono and add '--cs-completer' when calling
|
|
|
'./install.py'.
|
|
|
|
|
|
-- Go support: install Go [27] and add '--go-completer' when calling
|
|
|
+- Go support: install Go [23] and add '--go-completer' when calling
|
|
|
'./install.py'.
|
|
|
|
|
|
-- JavaScript and TypeScript support: install Node.js and npm [28] and add
|
|
|
+- JavaScript and TypeScript support: install Node.js and npm [24] and add
|
|
|
'--ts-completer' when calling 'install.py'.
|
|
|
|
|
|
-- Rust support: install Rust [29] and add '--rust-completer' when calling
|
|
|
+- Rust support: install Rust [25] and add '--rust-completer' when calling
|
|
|
'./install.py'.
|
|
|
|
|
|
-- Java support: install JDK8 (version 8 required) [30] and add
|
|
|
+- Java support: install JDK8 (version 8 required) [26] and add
|
|
|
'--java-completer' when calling './install.py'.
|
|
|
|
|
|
To simply compile with everything enabled, there's a '--all' flag. Note that
|
|
@@ -770,7 +769,7 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
higher.
|
|
|
|
|
|
If your version of Vim is not recent enough, you may need to compile Vim
|
|
|
- from source [31] (don't worry, it's easy).
|
|
|
+ from source [27] (don't worry, it's easy).
|
|
|
|
|
|
After you have made sure that you have Vim 7.4.1578+, type the following
|
|
|
in Vim: ":echo has('python') || has('python3')". The output should be 1.
|
|
@@ -780,9 +779,9 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
critical because it must match the Python and the YCM libraries
|
|
|
architectures. We recommend using a 64-bit Vim.
|
|
|
|
|
|
-2. **Install YCM** with Vundle [32] (or Pathogen [40], but Vundle is a
|
|
|
+2. **Install YCM** with Vundle [28] (or Pathogen [36], but Vundle is a
|
|
|
better idea). With Vundle, this would mean adding a "Plugin
|
|
|
- 'Valloric/YouCompleteMe'" line to your vimrc [35].
|
|
|
+ 'Valloric/YouCompleteMe'" line to your vimrc [31].
|
|
|
|
|
|
If you don't install YCM with Vundle, make sure you have run 'git
|
|
|
submodule update --init --recursive' after checking out the YCM
|
|
@@ -797,14 +796,14 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
languages. YCM is designed to work with libclang version 8.0.0 or higher.
|
|
|
|
|
|
In addition to 'libclang', YCM also supports an **experimental** clangd
|
|
|
- [12]-based completer. You can download the latest version of clangd [12]
|
|
|
- from llvm.org releases [41]. Follow Step 4 to learn how to tell YCM where
|
|
|
+ [8]-based completer. You can download the latest version of clangd [8]
|
|
|
+ from llvm.org releases [37]. Follow Step 4 to learn how to tell YCM where
|
|
|
to find clangd binary. Please note that YCM is designed to work with
|
|
|
- clangd [12] version 8.0.0 or higher.
|
|
|
+ clangd [8] version 8.0.0 or higher.
|
|
|
|
|
|
You can use the system libclang or clangd _only if you are sure it is
|
|
|
version 8.0.0 or higher_, otherwise don't. Even if it is, we recommend
|
|
|
- using the official binaries from llvm.org [41] if at all possible. Make
|
|
|
+ using the official binaries from llvm.org [37] if at all possible. Make
|
|
|
sure you download the correct archive file for your OS.
|
|
|
|
|
|
We **STRONGLY recommend AGAINST use** of the system libclang or clangd
|
|
@@ -817,17 +816,17 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
You will need to have 'cmake' installed in order to generate the required
|
|
|
makefiles. Linux users can install cmake with their package manager
|
|
|
('sudo apt-get install cmake' for Ubuntu) whereas other users can
|
|
|
- download and install [37] cmake from its project site. macOS users can
|
|
|
- also get it through Homebrew [25] with 'brew install cmake'.
|
|
|
+ download and install [33] cmake from its project site. macOS users can
|
|
|
+ also get it through Homebrew [21] with 'brew install cmake'.
|
|
|
|
|
|
On a Unix OS, you need to make sure you have Python headers installed. On
|
|
|
a Debian-like Linux distro, this would be 'sudo apt-get install
|
|
|
python-dev python3-dev'. On macOS they should already be present.
|
|
|
|
|
|
- On Windows, you need to download and install Python 2 or Python 3 [36].
|
|
|
+ On Windows, you need to download and install Python 2 or Python 3 [32].
|
|
|
Pick the version corresponding to your Vim architecture. You will also
|
|
|
need Microsoft Visual C++ (MSVC) to build YCM. You can obtain it by
|
|
|
- installing Visual Studio Build Tools [38]. MSVC 14 (Visual Studio 2015)
|
|
|
+ installing Visual Studio Build Tools [34]. MSVC 14 (Visual Studio 2015)
|
|
|
and 15 (2017) are officially supported.
|
|
|
|
|
|
Here we'll assume you installed YCM with Vundle. That means that the
|
|
@@ -841,9 +840,8 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
cd ycm_build
|
|
|
<
|
|
|
Now we need to generate the makefiles. If you DON'T care about semantic
|
|
|
- support for C-family languages or plan to use **experimental** clangd
|
|
|
- [12] based completer, run the following command in the 'ycm_build'
|
|
|
- directory:
|
|
|
+ support for C-family languages or plan to use **experimental** clangd [8]
|
|
|
+ based completer, run the following command in the 'ycm_build' directory:
|
|
|
>
|
|
|
cmake -G "<generator>" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
|
|
|
<
|
|
@@ -865,13 +863,13 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
yourself the hassle and use the bundled version of boost.
|
|
|
|
|
|
If you DO care about semantic support for C-family languages, and want to
|
|
|
- use libclang as the provider instead of **experimental** clangd
|
|
|
- [12]-based completer then your 'cmake' call will be a bit more
|
|
|
- complicated. We'll assume you downloaded a binary distribution of
|
|
|
- LLVM+Clang from llvm.org in step 3 and that you extracted the archive
|
|
|
- file to folder '~/ycm_temp/llvm_root_dir' (with 'bin', 'lib', 'include'
|
|
|
- etc. folders right inside that folder). On Windows, you can extract the
|
|
|
- files from the LLVM+Clang installer using 7-zip [42].
|
|
|
+ use libclang as the provider instead of **experimental** clangd [8]-based
|
|
|
+ completer then your 'cmake' call will be a bit more complicated. We'll
|
|
|
+ assume you downloaded a binary distribution of LLVM+Clang from llvm.org
|
|
|
+ in step 3 and that you extracted the archive file to folder
|
|
|
+ '~/ycm_temp/llvm_root_dir' (with 'bin', 'lib', 'include' etc. folders
|
|
|
+ right inside that folder). On Windows, you can extract the files from the
|
|
|
+ LLVM+Clang installer using 7-zip [38].
|
|
|
|
|
|
**NOTE:** This _only_ works with a _downloaded_ LLVM binary package, not
|
|
|
a custom-built LLVM! See docs below for 'EXTERNAL_LIBCLANG_PATH' when
|
|
@@ -911,7 +909,7 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
with clang support (it needs to be there for YCM to work).
|
|
|
|
|
|
If you DO care about semantic support for C-family languages, and want to
|
|
|
- use **experimental** clangd [12]-based completer then you need to add
|
|
|
+ use **experimental** clangd [8]-based completer then you need to add
|
|
|
following line to your 'vimrc':
|
|
|
>
|
|
|
let g:ycm_clangd_binary_path = "/path/to/clangd"
|
|
@@ -921,7 +919,7 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
|
|
|
5. _This step is optional._
|
|
|
|
|
|
- Build the regex [43] module for improved Unicode support and better
|
|
|
+ Build the regex [39] module for improved Unicode support and better
|
|
|
performance with regular expressions. The procedure is similar to
|
|
|
compiling the 'ycm_core' library:
|
|
|
>
|
|
@@ -935,16 +933,16 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
|
|
|
6. Set up support for additional languages, as desired:
|
|
|
|
|
|
- - C# support: install Mono on non-Windows platforms [44]. Navigate to
|
|
|
+ - C# support: install Mono on non-Windows platforms [40]. Navigate to
|
|
|
'YouCompleteMe/third_party/ycmd/third_party/OmniSharpServer' and run
|
|
|
|
|
|
msbuild /property:Configuration=Release /property:Platform="Any CPU"
|
|
|
/property:TargetFrameworkVersion=v4.5
|
|
|
|
|
|
On Windows, be sure that the build utility 'msbuild' is in your PATH
|
|
|
- [39].
|
|
|
+ [35].
|
|
|
|
|
|
- - Go support: install Go [27] and add it to your path. Navigate to
|
|
|
+ - Go support: install Go [23] and add it to your path. Navigate to
|
|
|
'YouCompleteMe/third_party/ycmd/third_party/go' and in **both**
|
|
|
'src/github.com/mdempsky/gocode' and 'src/github.com/rogpeppe/godef'
|
|
|
run
|
|
@@ -955,16 +953,16 @@ will notify you to recompile it. You should then rerun the install process.
|
|
|
'YouCompleteMe/third_party/ycmd/third_party/go' then run 'go build' in
|
|
|
the two directories above.
|
|
|
|
|
|
- - JavaScript and TypeScript support: install Node.js and npm [28],
|
|
|
+ - JavaScript and TypeScript support: install Node.js and npm [24],
|
|
|
navigate to 'YouCompleteMe/third_party/ycmd' and run 'npm install -g
|
|
|
--prefix third_party/tsserver typescript'.
|
|
|
|
|
|
- - Rust support: install Rust [29]. Navigate to
|
|
|
+ - Rust support: install Rust [25]. Navigate to
|
|
|
'YouCompleteMe/third_party/ycmd/third_party/racerd' and run 'cargo
|
|
|
build --release'.
|
|
|
|
|
|
- - Java support: install JDK8 (version 8 required) [30]. Download a
|
|
|
- binary release of eclipse.jdt.ls [45] and extract it to 'YouCompleteM
|
|
|
+ - Java support: install JDK8 (version 8 required) [26]. Download a
|
|
|
+ binary release of eclipse.jdt.ls [41] and extract it to 'YouCompleteM
|
|
|
e/third_party/ycmd/third_party/eclipse.jdt.ls/target/repository'.
|
|
|
Note: this approach is not recommended for most users and is
|
|
|
supported only for advanced users and developers of YCM on a
|
|
@@ -1096,7 +1094,7 @@ 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" and "smart-diacritic [46]" sensitive; if you are
|
|
|
+Filtering is "smart-case" and "smart-diacritic [42]" 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
|
|
@@ -1147,7 +1145,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 [47] that has the vast majority of YCM
|
|
|
+that talks to the ycmd HTTP+JSON server [43] that has the vast majority of YCM
|
|
|
logic and functionality. The server is started and stopped automatically as you
|
|
|
start and stop Vim.
|
|
|
|
|
@@ -1186,8 +1184,8 @@ If clang can't parse your code, YouCompleteMe can't provide semantic analysis.
|
|
|
There are 2 methods which can be used to provide compile flags to clang:
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
- *youcompleteme-option-1-use-compilation-database-48*
|
|
|
-Option 1: Use a compilation database [48] ~
|
|
|
+ *youcompleteme-option-1-use-compilation-database-44*
|
|
|
+Option 1: Use a compilation database [44] ~
|
|
|
|
|
|
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
|
|
@@ -1195,18 +1193,18 @@ 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 [48]. In short:
|
|
|
+documentation [44]. 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 [49].
|
|
|
+- If using Ninja, check out the 'compdb' tool ('-t compdb') in its docs [45].
|
|
|
|
|
|
-- If using GNU make, check out Bear [50].
|
|
|
+- If using GNU make, check out Bear [46].
|
|
|
|
|
|
- For other build systems, check out '.ycm_extra_conf.py' below. Note that
|
|
|
- **experimental**clangd [12]-based completer doesn't support this option. So
|
|
|
+ **experimental**clangd [8]-based completer doesn't support this option. So
|
|
|
it (and anything after this point) only applies to 'libclang'-based
|
|
|
completer.
|
|
|
|
|
@@ -1239,8 +1237,8 @@ directory.
|
|
|
*youcompleteme-option-2-provide-flags-manually*
|
|
|
Option 2: Provide the flags manually ~
|
|
|
|
|
|
-_Note that this option doesn't work with **experimental** clangd [12]-based
|
|
|
-completer. You can use a compile_flags.txt [51] file instead._
|
|
|
+_Note that this option doesn't work with **experimental** clangd [8]-based
|
|
|
+completer. You can use a compile_flags.txt [47] file instead._
|
|
|
|
|
|
If you don't have a compilation database, or aren't able to generate one, you
|
|
|
have to tell YouCompleteMe how to compile your code some other way.
|
|
@@ -1291,14 +1289,14 @@ 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 ycmd's own '.ycm_extra_conf.py' [52]. You
|
|
|
+For a more elaborate example, see ycmd's own '.ycm_extra_conf.py' [48]. 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 [49] to generate the
|
|
|
'ycm_extra_conf.py' file.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -1321,7 +1319,7 @@ your file.
|
|
|
Selecting a C-family completion engine ~
|
|
|
|
|
|
Currently YCM supports two completion engines for C-family semantic completion.
|
|
|
-One libclang-based and an **experimental** clangd [12]-based completer. When in
|
|
|
+One libclang-based and an **experimental** clangd [8]-based completer. When in
|
|
|
doubt we recommend using the libclang-based engine. Here is a quick comparison
|
|
|
of the two completer engines:
|
|
|
|
|
@@ -1356,16 +1354,16 @@ of the two completer engines:
|
|
|
|
|
|
Note that for clangd to have some of the above mentioned functionality, you
|
|
|
need to provide a static index. For details on how to do that please have a
|
|
|
-look at clangd-indexing [54].
|
|
|
+look at clangd-indexing [50].
|
|
|
|
|
|
To enable:
|
|
|
|
|
|
- libclang-based completer pass '--clang-completer'
|
|
|
-- clangd [12]-based completer pass '--clangd-completer'
|
|
|
+- clangd [8]-based completer pass '--clangd-completer'
|
|
|
|
|
|
to 'install.py' while following the installation guide. As mentioned before,
|
|
|
-pass '--clang-completer' when in doubt, since the clangd [12]-based completer
|
|
|
-is still experimental.
|
|
|
+pass '--clang-completer' when in doubt, since the clangd [8]-based completer is
|
|
|
+still experimental.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-java-semantic-completion*
|
|
@@ -1398,8 +1396,8 @@ 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 [19] supports eclipse
|
|
|
-project files [55], maven projects [56] and gradle projects [57].
|
|
|
+path to use, when compiling your code. Fortunately jdt.ls [15] supports eclipse
|
|
|
+project files [51], maven projects [52] and gradle projects [53].
|
|
|
|
|
|
**NOTE:** Our recommendation is to use either maven or gradle projects.
|
|
|
|
|
@@ -1434,16 +1432,16 @@ native Java support. This can be done temporarily with ':EclimDisable'.
|
|
|
*youcompleteme-eclipse-projects*
|
|
|
Eclipse Projects ~
|
|
|
|
|
|
-Eclipse style projects require two files: .project [55] and .classpath [58].
|
|
|
+Eclipse style projects require two files: .project [51] and .classpath [54].
|
|
|
|
|
|
If your project already has these files due to previously being set up within
|
|
|
-eclipse, then no setup is required. jdt.ls [19] should load the project just
|
|
|
+eclipse, then no setup is required. jdt.ls [15] should load the project just
|
|
|
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 [59] can be found in the ycmd test
|
|
|
+A simple eclipse style project example [55] can be found in the ycmd test
|
|
|
directory. 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:
|
|
|
>
|
|
@@ -1463,10 +1461,10 @@ don't already use eclipse to manage your projects.
|
|
|
*youcompleteme-maven-projects*
|
|
|
Maven Projects ~
|
|
|
|
|
|
-Maven needs a file named pom.xml [56] in the root of the project. Once again a
|
|
|
-simple pom.xml [60] can be found in ycmd source.
|
|
|
+Maven needs a file named pom.xml [52] in the root of the project. Once again a
|
|
|
+simple pom.xml [56] can be found in ycmd source.
|
|
|
|
|
|
-The format of pom.xml [56] files is way beyond the scope of this document, but
|
|
|
+The format of pom.xml [52] 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.
|
|
|
|
|
@@ -1474,10 +1472,10 @@ you're not familiar with them already.
|
|
|
*youcompleteme-gradle-projects*
|
|
|
Gradle Projects ~
|
|
|
|
|
|
-Gradle projects require a build.gradle [57]. Again, there is a trivial example
|
|
|
-in ycmd's tests [61].
|
|
|
+Gradle projects require a build.gradle [53]. Again, there is a trivial example
|
|
|
+in ycmd's tests [57].
|
|
|
|
|
|
-The format of build.gradle [57] files is way beyond the scope of this document,
|
|
|
+The format of build.gradle [53] 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.
|
|
|
|
|
@@ -1506,15 +1504,15 @@ 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 [62]
|
|
|
+love to hear your feedback! Please do remember to check CONTRIBUTING.md [58]
|
|
|
for the list of diagnostics we'll need.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-python-semantic-completion*
|
|
|
Python Semantic Completion ~
|
|
|
|
|
|
-YCM relies on the Jedi [13] engine to provide completion and code navigation.
|
|
|
-By default, it will pick the version of Python running the ycmd server [47] and
|
|
|
+YCM relies on the Jedi [9] engine to provide completion and code navigation. By
|
|
|
+default, it will pick the version of Python running the ycmd server [43] and
|
|
|
use its 'sys.path'. While this is fine for simple projects, this needs to be
|
|
|
configurable when working with virtual environments or in a project with
|
|
|
third-party packages. The next sections explain how to do that.
|
|
@@ -1581,7 +1579,7 @@ the second position of 'sys.path':
|
|
|
sys_path.insert( 1, '/path/to/third_party/package' )
|
|
|
return sys_path
|
|
|
<
|
|
|
-A more advanced example can be found in YCM's own '.ycm_extra_conf.py' [63].
|
|
|
+A more advanced example can be found in YCM's own '.ycm_extra_conf.py' [59].
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-configuring-through-vim-options*
|
|
@@ -1626,7 +1624,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 [64]. If using rustup [65], run the
|
|
|
+have a local copy of the Rust source code [60]. If using rustup [61], run the
|
|
|
following command to download the code:
|
|
|
>
|
|
|
rustup component add rust-src
|
|
@@ -1642,23 +1640,23 @@ extract it somewhere, and set the following option so YCM can locate it:
|
|
|
*youcompleteme-javascript-typescript-semantic-completion*
|
|
|
JavaScript and TypeScript Semantic Completion ~
|
|
|
|
|
|
-**NOTE:** YCM originally used the Tern [66] engine for JavaScript but due to
|
|
|
-Tern [66] not being maintained anymore by its main author and the TSServer [17]
|
|
|
-engine offering more features, YCM is moving to TSServer [17]. This won't
|
|
|
-affect you if you were already using Tern [66] but you are encouraged to do the
|
|
|
+**NOTE:** YCM originally used the Tern [62] engine for JavaScript but due to
|
|
|
+Tern [62] not being maintained anymore by its main author and the TSServer [13]
|
|
|
+engine offering more features, YCM is moving to TSServer [13]. This won't
|
|
|
+affect you if you were already using Tern [62] but you are encouraged to do the
|
|
|
switch by deleting the 'third_party/ycmd/third_party/tern_runtime/node_modules'
|
|
|
-directory in YCM folder. If you are a new user but still want to use Tern [66],
|
|
|
+directory in YCM folder. If you are a new user but still want to use Tern [62],
|
|
|
you should pass the '--js-completer' option to the 'install.py' script during
|
|
|
-installation. Further instructions on how to setup YCM with Tern [66] are
|
|
|
-available on the wiki [67].
|
|
|
+installation. Further instructions on how to setup YCM with Tern [62] are
|
|
|
+available on the wiki [63].
|
|
|
|
|
|
-All JavaScript and TypeScript features are provided by the TSServer [17]
|
|
|
+All JavaScript and TypeScript features are provided by the TSServer [13]
|
|
|
engine, which is included in the TypeScript SDK. To enable these features,
|
|
|
-install Node.js and npm [28] and call the 'install.py' script with the
|
|
|
+install Node.js and npm [24] and call the 'install.py' script with the
|
|
|
'--ts-completer' flag.
|
|
|
|
|
|
-TSServer [17] relies on the 'jsconfig.json' file [68] for JavaScript and the
|
|
|
-'tsconfig.json' file [69] for TypeScript to analyze your project. Ensure the
|
|
|
+TSServer [13] relies on the 'jsconfig.json' file [64] for JavaScript and the
|
|
|
+'tsconfig.json' file [65] for TypeScript to analyze your project. Ensure the
|
|
|
file exists at the root of your project.
|
|
|
|
|
|
To get diagnostics in JavaScript, set the 'checkJs' option to 'true' in your
|
|
@@ -1675,17 +1673,17 @@ To get diagnostics in JavaScript, set the 'checkJs' option to 'true' in your
|
|
|
Semantic Completion for Other Languages ~
|
|
|
|
|
|
C-family, C#, Go, Java, Python, Rust, and JavaScript/TypeScript languages are
|
|
|
-supported natively by YouCompleteMe using the Clang [11], OmniSharp [14],
|
|
|
-Gocode [15]/Godef [16], jdt.ls [19], Jedi [13], racer [18], and TSServer [17]
|
|
|
-engines, respectively. Check the installation section for instructions to
|
|
|
-enable these features if desired.
|
|
|
+supported natively by YouCompleteMe using the Clang [7], OmniSharp [10], Gocode
|
|
|
+[11]/Godef [12], jdt.ls [15], Jedi [9], racer [14], and TSServer [13] engines,
|
|
|
+respectively. Check the installation section for instructions to enable these
|
|
|
+features if desired.
|
|
|
|
|
|
YCM will use your 'omnifunc' (see ':h omnifunc' in Vim) as a source for
|
|
|
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 [70]. 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.*').
|
|
|
|
|
@@ -1702,7 +1700,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 [71].
|
|
|
+YCM using the Completer API [67].
|
|
|
|
|
|
Here are the differences between the two approaches:
|
|
|
|
|
@@ -1721,7 +1719,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 [71].
|
|
|
+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.
|
|
@@ -1772,7 +1770,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 [72] (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.
|
|
|
|
|
@@ -1818,7 +1816,7 @@ Commands ~
|
|
|
-------------------------------------------------------------------------------
|
|
|
The *:YcmRestartServer* command
|
|
|
|
|
|
-If the ycmd completion server [47] suddenly stops for some reason, you can
|
|
|
+If the ycmd completion server [43] suddenly stops for some reason, you can
|
|
|
restart it with this command.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -1866,7 +1864,7 @@ semantic completion engine.
|
|
|
The *:YcmToggleLogs* command
|
|
|
|
|
|
This command presents the list of logfiles created by YCM, the ycmd server
|
|
|
-[47], and the semantic engine server for the current filetype, if any. One of
|
|
|
+[43], 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
|
|
@@ -2270,7 +2268,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 [73] 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.
|
|
|
|
|
@@ -2334,12 +2332,12 @@ Options ~
|
|
|
|
|
|
All options have reasonable defaults so if the plug-in works after installation
|
|
|
you don't need to change any options. These options can be configured in your
|
|
|
-vimrc script [35] by including a line like this:
|
|
|
+vimrc script [31] by including a line like this:
|
|
|
>
|
|
|
let g:ycm_min_num_of_chars_for_completion = 1
|
|
|
<
|
|
|
-Note that after changing an option in your vimrc script [35] you have to
|
|
|
-restart ycmd [47] with the |:YcmRestartServer| command for the changes to take
|
|
|
+Note that after changing an option in your vimrc script [31] you have to
|
|
|
+restart ycmd [43] with the |:YcmRestartServer| command for the changes to take
|
|
|
effect.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -2638,13 +2636,13 @@ YCM will not render it.
|
|
|
|
|
|
The following filter types are supported:
|
|
|
|
|
|
-- "regex": Accepts a string regular expression [74]. 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 [74].
|
|
|
+**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [70].
|
|
|
|
|
|
Default: '{}'
|
|
|
>
|
|
@@ -2733,7 +2731,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 [75]. 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.
|
|
@@ -2770,7 +2768,7 @@ handy; it's a way of sending data from Vim to your 'Settings' 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 [47] and then passed to your
|
|
|
+evaluated for every request to the ycmd server [43] and then passed to your
|
|
|
'Settings' function as a 'client_data' keyword argument.
|
|
|
|
|
|
For instance, if you set this option to "['v:version']", your 'Settings'
|
|
@@ -2799,7 +2797,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 [47]. The YCM
|
|
|
+**NOTE:** This interpreter is only used for the ycmd server [43]. The YCM
|
|
|
client running inside Vim always uses the Python interpreter that's embedded
|
|
|
inside Vim.
|
|
|
|
|
@@ -2810,7 +2808,7 @@ Default: "''"
|
|
|
-------------------------------------------------------------------------------
|
|
|
The *g:ycm_keep_logfiles* option
|
|
|
|
|
|
-When this option is set to '1', YCM and the ycmd completion server [47] will
|
|
|
+When this option is set to '1', YCM and the ycmd completion server [43] will
|
|
|
keep the logfiles around after shutting down (they are deleted on shutdown by
|
|
|
default).
|
|
|
|
|
@@ -2823,7 +2821,7 @@ Default: '0'
|
|
|
-------------------------------------------------------------------------------
|
|
|
The *g:ycm_log_level* option
|
|
|
|
|
|
-The logging level that YCM and the ycmd completion server [47] use. Valid
|
|
|
+The logging level that YCM and the ycmd completion server [43] use. Valid
|
|
|
values are the following, from most verbose to least verbose: - 'debug' -
|
|
|
'info' - 'warning' - 'error' - 'critical'
|
|
|
|
|
@@ -2973,7 +2971,7 @@ The *g:ycm_key_list_stop_completion* option
|
|
|
|
|
|
This option controls the key mappings used to close the completion menu. This
|
|
|
is useful when the menu is blocking the view, when you need to insert the
|
|
|
-'<TAB>' character, or when you want to expand a snippet from UltiSnips [23] and
|
|
|
+'<TAB>' character, or when you want to expand a snippet from UltiSnips [19] and
|
|
|
navigate through it.
|
|
|
|
|
|
Default: "['<C-y>']"
|
|
@@ -3115,7 +3113,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 [74].
|
|
|
+**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [70].
|
|
|
|
|
|
Default: '[see next line]'
|
|
|
>
|
|
@@ -3257,7 +3255,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 [47]. So the magic 'vim' module you could have previously
|
|
|
+is in the ycmd server [43]. 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
|
|
@@ -3328,7 +3326,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 [47] logfile
|
|
|
+out various debugging information, including the YCM and ycmd [43] 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.
|
|
@@ -3439,7 +3437,7 @@ I see 'undefined symbol: clang_getCompletionFixIt' in the server logs. ~
|
|
|
This means that the server is trying to load a version of libclang that is too
|
|
|
old. You need at least libclang 8.0.0. We recommend running the 'install.py'
|
|
|
script without '--system-libclang' or downloading the latest prebuilt binaries
|
|
|
-from llvm.org [41] when going through the full installation guide.
|
|
|
+from llvm.org [37] when going through the full installation guide.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-i-get-fatal-python-error-pythreadstate_get-no-current-thread-on-startup*
|
|
@@ -3472,15 +3470,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 [76] to produce your tags files since
|
|
|
-the only supported tag format is the Exuberant Ctags format [75]. The format
|
|
|
+Make sure you are using Exuberant Ctags [72] 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 [77] for a maintained version.
|
|
|
+list "Exuberant Ctags". See Universal Ctags [73] 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 [76] by default sets language tag for '*.h' files as
|
|
|
+**NOTE:** Exuberant Ctags [72] 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.
|
|
|
|
|
@@ -3559,7 +3557,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 [78] plugin instead. It does the same thing without
|
|
|
+Use the delimitMate [74] plugin instead. It does the same thing without
|
|
|
conflicting with YCM.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -3567,7 +3565,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
|
|
|
-[79] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
|
|
+[75] mailing list, _don't_ create issues on the tracker. The tracker is for bug
|
|
|
reports and feature requests.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -3621,7 +3619,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 [80]) and other problems, like random
|
|
|
+Syntastic-Vim interactions (issue #593 [76]) 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).
|
|
|
|
|
@@ -3657,7 +3655,7 @@ paths, prepend '-isystem' to each individual path and append them all to the
|
|
|
list of flags you return from your 'Settings' function in your
|
|
|
'.ycm_extra_conf.py' file.
|
|
|
|
|
|
-See issue #303 [81] for details.
|
|
|
+See issue #303 [77] for details.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-when-i-start-vim-i-get-runtime-error-saying-r6034-an-application-has-made-an-attempt-to-load-c-runtime-library-incorrectly.*
|
|
@@ -3665,7 +3663,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. [82] Add the following to the very top of your vimrc to remove these
|
|
|
+versions. [78] Add the following to the very top of your vimrc to remove these
|
|
|
entries from the path.
|
|
|
>
|
|
|
python << EOF
|
|
@@ -3690,7 +3688,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 [47] run on Python 2 or 3. If
|
|
|
+**No.** Both the Vim client and the ycmd server [43] run on Python 2 or 3. If
|
|
|
you are talking about code completion in a project, you can configure the
|
|
|
Python used for your project through a '.ycm_extra_conf.py' file. See the
|
|
|
Python Semantic Completion section for more details.
|
|
@@ -3701,14 +3699,14 @@ 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 [83]. Follow this workaround [84] or use a different version (Python
|
|
|
+a bug [79]. Follow this workaround [80] or use a different version (Python
|
|
|
2.7.12 does not suffer from the bug).
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
*youcompleteme-i-cant-complete-python-packages-in-virtual-environment.*
|
|
|
I can't complete Python packages in a virtual environment. ~
|
|
|
|
|
|
-This means that the Python used to run Jedi [13] is not the Python of the
|
|
|
+This means that the Python used to run Jedi [9] is not the Python of the
|
|
|
virtual environment you're in. To resolve this you should create a
|
|
|
'.ycm_extra_conf.py' file at the root of your project that sets the
|
|
|
'interpreter_path' option to the Python of your virtual environment, e.g.
|
|
@@ -3737,11 +3735,11 @@ 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 [47]. Some
|
|
|
+YCM relies on the 'VimLeave' event to shut down the ycmd server [43]. Some
|
|
|
plugins prevent this event from triggering by exiting Vim through an
|
|
|
autocommand without using the 'nested' keyword (see ':h autocmd-nested'). You
|
|
|
should identify which plugin is responsible for the issue and report it to the
|
|
|
-plugin author. Note that when this happens, ycmd [47] will automatically shut
|
|
|
+plugin author. Note that when this happens, ycmd [43] will automatically shut
|
|
|
itself down after 30 minutes.
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
@@ -3787,17 +3785,17 @@ using this key to cycle through YCM's suggestions without changing the value of
|
|
|
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.
|
|
|
+[81]. 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 [79] mailing list.
|
|
|
+room [1] or use the ycm-users [75] mailing list.
|
|
|
|
|
|
If you have bug reports or feature suggestions, please use the issue tracker
|
|
|
-[86]. Before you do, please carefully read CONTRIBUTING.md [62] as this asks
|
|
|
+[82]. Before you do, please carefully read CONTRIBUTING.md [58] 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
|
|
@@ -3812,7 +3810,7 @@ YouCompleteMe maintainers directly using the contact details.
|
|
|
*youcompleteme-license*
|
|
|
License ~
|
|
|
|
|
|
-This software is licensed under the GPL v3 license [87]. © 2015-2018
|
|
|
+This software is licensed under the GPL v3 license [83]. © 2015-2018
|
|
|
YouCompleteMe contributors
|
|
|
|
|
|
===============================================================================
|
|
@@ -3821,90 +3819,86 @@ References ~
|
|
|
|
|
|
[1] https://gitter.im/Valloric/YouCompleteMe
|
|
|
[2] https://img.shields.io/gitter/room/Valloric/YouCompleteMe.svg
|
|
|
-[3] https://travis-ci.org/Valloric/YouCompleteMe
|
|
|
-[4] https://img.shields.io/travis/Valloric/YouCompleteMe/master.svg?label=Linux
|
|
|
-[5] https://circleci.com/gh/Valloric/YouCompleteMe
|
|
|
-[6] https://img.shields.io/circleci/project/github/Valloric/YouCompleteMe/master.svg?label=macOS
|
|
|
-[7] https://ci.appveyor.com/project/Valloric/YouCompleteMe
|
|
|
-[8] https://img.shields.io/appveyor/ci/Valloric/YouCompleteMe/master.svg?label=Windows
|
|
|
-[9] https://codecov.io/gh/Valloric/YouCompleteMe
|
|
|
-[10] https://img.shields.io/codecov/c/github/Valloric/YouCompleteMe/master.svg
|
|
|
-[11] http://clang.llvm.org/
|
|
|
-[12] https://clang.llvm.org/extra/clangd.html
|
|
|
-[13] https://github.com/davidhalter/jedi
|
|
|
-[14] https://github.com/OmniSharp/omnisharp-server
|
|
|
-[15] https://github.com/nsf/gocode
|
|
|
-[16] https://github.com/Manishearth/godef
|
|
|
-[17] https://github.com/Microsoft/TypeScript/tree/master/src/server
|
|
|
-[18] https://github.com/phildawes/racer
|
|
|
-[19] https://github.com/eclipse/eclipse.jdt.ls
|
|
|
-[20] http://i.imgur.com/0OP4ood.gif
|
|
|
-[21] https://en.wikipedia.org/wiki/Subsequence
|
|
|
-[22] https://github.com/scrooloose/syntastic
|
|
|
-[23] https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
|
|
|
-[24] https://macvim-dev.github.io/macvim/
|
|
|
-[25] http://brew.sh
|
|
|
-[26] http://www.mono-project.com/docs/getting-started/install/mac/
|
|
|
-[27] https://golang.org/doc/install
|
|
|
-[28] https://docs.npmjs.com/getting-started/installing-node#1-install-nodejs--npm
|
|
|
-[29] https://www.rust-lang.org/
|
|
|
-[30] http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
|
|
|
-[31] https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
|
|
|
-[32] https://github.com/VundleVim/Vundle.vim#about
|
|
|
-[33] https://www.mono-project.com/download/stable/#download-lin
|
|
|
-[34] https://github.com/vim/vim-win32-installer/releases
|
|
|
-[35] http://vimhelp.appspot.com/starting.txt.html#vimrc
|
|
|
-[36] https://www.python.org/downloads/windows/
|
|
|
-[37] https://cmake.org/download/
|
|
|
-[38] https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
|
|
|
-[39] http://stackoverflow.com/questions/6319274/how-do-i-run-msbuild-from-the-command-line-using-windows-sdk-7-1
|
|
|
-[40] https://github.com/tpope/vim-pathogen#pathogenvim
|
|
|
-[41] http://llvm.org/releases/download.html
|
|
|
-[42] http://www.7-zip.org/download.html
|
|
|
-[43] https://pypi.org/project/regex/
|
|
|
-[44] http://www.mono-project.com/docs/getting-started/install/
|
|
|
-[45] http://download.eclipse.org/jdtls/milestones
|
|
|
-[46] https://www.unicode.org/glossary/#diacritic
|
|
|
-[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://clang.llvm.org/docs/JSONCompilationDatabase.html#alternatives
|
|
|
-[52] https://raw.githubusercontent.com/Valloric/ycmd/66030cd94299114ae316796f3cad181cac8a007c/.ycm_extra_conf.py
|
|
|
-[53] https://github.com/rdnetto/YCM-Generator
|
|
|
-[54] https://clang.llvm.org/extra/clangd.html#project-wide-indexing
|
|
|
-[55] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
|
|
-[56] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
|
|
-[57] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
|
|
-[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/tree/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_eclipse_project
|
|
|
-[60] https://github.com/Valloric/ycmd/blob/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
|
|
-[61] https://github.com/Valloric/ycmd/tree/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_gradle_project
|
|
|
-[62] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
|
|
-[63] https://github.com/Valloric/YouCompleteMe/blob/master/.ycm_extra_conf.py
|
|
|
-[64] https://www.rust-lang.org/downloads.html
|
|
|
-[65] https://www.rustup.rs/
|
|
|
-[66] http://ternjs.net
|
|
|
-[67] https://github.com/Valloric/YouCompleteMe/wiki/JavaScript-Semantic-Completion-through-Tern
|
|
|
-[68] https://code.visualstudio.com/docs/languages/jsconfig
|
|
|
-[69] https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
|
|
|
-[70] http://eclim.org/
|
|
|
-[71] https://github.com/Valloric/ycmd/blob/master/ycmd/completers/completer.py
|
|
|
-[72] https://github.com/Valloric/ListToggle
|
|
|
-[73] https://github.com/itchyny/lightline.vim
|
|
|
-[74] https://docs.python.org/2/library/re.html#regular-expression-syntax
|
|
|
-[75] http://ctags.sourceforge.net/FORMAT
|
|
|
-[76] http://ctags.sourceforge.net/
|
|
|
-[77] https://github.com/universal-ctags/ctags
|
|
|
-[78] https://github.com/Raimondi/delimitMate
|
|
|
-[79] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
|
|
-[80] https://github.com/Valloric/YouCompleteMe/issues/593
|
|
|
-[81] https://github.com/Valloric/YouCompleteMe/issues/303
|
|
|
-[82] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
|
|
-[83] https://github.com/vim/vim/issues/717
|
|
|
-[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
|
|
|
-[86] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
|
|
-[87] http://www.gnu.org/copyleft/gpl.html
|
|
|
+[3] https://dev.azure.com/YouCompleteMe/YCM/_build/latest?definitionId=1&branchName=master
|
|
|
+[4] https://dev.azure.com/YouCompleteMe/YCM/_apis/build/status/Valloric.YouCompleteMe?branchName=master
|
|
|
+[5] https://codecov.io/gh/Valloric/YouCompleteMe
|
|
|
+[6] https://img.shields.io/codecov/c/github/Valloric/YouCompleteMe/master.svg
|
|
|
+[7] http://clang.llvm.org/
|
|
|
+[8] https://clang.llvm.org/extra/clangd.html
|
|
|
+[9] https://github.com/davidhalter/jedi
|
|
|
+[10] https://github.com/OmniSharp/omnisharp-server
|
|
|
+[11] https://github.com/nsf/gocode
|
|
|
+[12] https://github.com/Manishearth/godef
|
|
|
+[13] https://github.com/Microsoft/TypeScript/tree/master/src/server
|
|
|
+[14] https://github.com/phildawes/racer
|
|
|
+[15] https://github.com/eclipse/eclipse.jdt.ls
|
|
|
+[16] http://i.imgur.com/0OP4ood.gif
|
|
|
+[17] https://en.wikipedia.org/wiki/Subsequence
|
|
|
+[18] https://github.com/scrooloose/syntastic
|
|
|
+[19] https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
|
|
|
+[20] https://macvim-dev.github.io/macvim/
|
|
|
+[21] http://brew.sh
|
|
|
+[22] http://www.mono-project.com/docs/getting-started/install/mac/
|
|
|
+[23] https://golang.org/doc/install
|
|
|
+[24] https://docs.npmjs.com/getting-started/installing-node#1-install-nodejs--npm
|
|
|
+[25] https://www.rust-lang.org/
|
|
|
+[26] http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
|
|
|
+[27] https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
|
|
|
+[28] https://github.com/VundleVim/Vundle.vim#about
|
|
|
+[29] https://www.mono-project.com/download/stable/#download-lin
|
|
|
+[30] https://github.com/vim/vim-win32-installer/releases
|
|
|
+[31] http://vimhelp.appspot.com/starting.txt.html#vimrc
|
|
|
+[32] https://www.python.org/downloads/windows/
|
|
|
+[33] https://cmake.org/download/
|
|
|
+[34] https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
|
|
|
+[35] http://stackoverflow.com/questions/6319274/how-do-i-run-msbuild-from-the-command-line-using-windows-sdk-7-1
|
|
|
+[36] https://github.com/tpope/vim-pathogen#pathogenvim
|
|
|
+[37] http://llvm.org/releases/download.html
|
|
|
+[38] http://www.7-zip.org/download.html
|
|
|
+[39] https://pypi.org/project/regex/
|
|
|
+[40] http://www.mono-project.com/docs/getting-started/install/
|
|
|
+[41] http://download.eclipse.org/jdtls/milestones
|
|
|
+[42] https://www.unicode.org/glossary/#diacritic
|
|
|
+[43] https://github.com/Valloric/ycmd
|
|
|
+[44] http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
|
|
+[45] https://ninja-build.org/manual.html
|
|
|
+[46] https://github.com/rizsotto/Bear
|
|
|
+[47] https://clang.llvm.org/docs/JSONCompilationDatabase.html#alternatives
|
|
|
+[48] https://raw.githubusercontent.com/Valloric/ycmd/66030cd94299114ae316796f3cad181cac8a007c/.ycm_extra_conf.py
|
|
|
+[49] https://github.com/rdnetto/YCM-Generator
|
|
|
+[50] https://clang.llvm.org/extra/clangd.html#project-wide-indexing
|
|
|
+[51] https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fproject_description_file.html
|
|
|
+[52] https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
|
|
|
+[53] https://docs.gradle.org/current/userguide/tutorial_java_projects.html
|
|
|
+[54] https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIClasspathEntry.html
|
|
|
+[55] https://github.com/Valloric/ycmd/tree/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_eclipse_project
|
|
|
+[56] https://github.com/Valloric/ycmd/blob/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_maven_project/pom.xml
|
|
|
+[57] https://github.com/Valloric/ycmd/tree/3602f38ef7a762fc765afd75e562aec9a134711e/ycmd/tests/java/testdata/simple_gradle_project
|
|
|
+[58] https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
|
|
|
+[59] https://github.com/Valloric/YouCompleteMe/blob/master/.ycm_extra_conf.py
|
|
|
+[60] https://www.rust-lang.org/downloads.html
|
|
|
+[61] https://www.rustup.rs/
|
|
|
+[62] http://ternjs.net
|
|
|
+[63] https://github.com/Valloric/YouCompleteMe/wiki/JavaScript-Semantic-Completion-through-Tern
|
|
|
+[64] https://code.visualstudio.com/docs/languages/jsconfig
|
|
|
+[65] https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
|
|
|
+[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] http://ctags.sourceforge.net/
|
|
|
+[73] https://github.com/universal-ctags/ctags
|
|
|
+[74] https://github.com/Raimondi/delimitMate
|
|
|
+[75] https://groups.google.com/forum/?hl=en#!forum/ycm-users
|
|
|
+[76] https://github.com/Valloric/YouCompleteMe/issues/593
|
|
|
+[77] https://github.com/Valloric/YouCompleteMe/issues/303
|
|
|
+[78] http://stackoverflow.com/questions/14552348/runtime-error-r6034-in-embedded-python-application/34696022
|
|
|
+[79] https://github.com/vim/vim/issues/717
|
|
|
+[80] https://github.com/vim/vim-win32-installer/blob/a27bbdba9bb87fa0e44c8a00d33d46be936822dd/appveyor.bat#L86-L88
|
|
|
+[81] https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
|
|
|
+[82] https://github.com/Valloric/YouCompleteMe/issues?state=open
|
|
|
+[83] http://www.gnu.org/copyleft/gpl.html
|
|
|
|
|
|
vim: ft=help
|