Jelajahi Sumber

New demo gifs and generic LSP

Boris Staletic 5 tahun lalu
induk
melakukan
e22783e622
2 mengubah file dengan 299 tambahan dan 464 penghapusan
  1. 67 18
      README.md
  2. 232 446
      doc/youcompleteme.txt

+ 67 - 18
README.md

@@ -114,9 +114,29 @@ YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for
 - and an omnifunc-based completer that uses data from Vim's omnicomplete system
   to provide semantic completions for many other languages (Ruby, PHP etc.).
 
-![YouCompleteMe GIF demo](https://i.imgur.com/0OP4ood.gif)
+![YouCompleteMe GIF subcommands demo](https://i.imgur.com/nmUUbdl.gif)
 
-Here's an explanation of what happens in the short GIF demo above.
+Here we can see YCM being able to do a few things:
+
+- Retrieve references across files
+- Go to declaration/definition
+- Expand `auto` in C++
+- Fix some common errors with `FixIt`
+- Not shown in the gif is `GoToImplementation` and `GoToType`
+  for servers that support it.
+
+![YouCompleteMe GIF unicode demo](https://user-images.githubusercontent.com/10026824/34471853-af9cf32a-ef53-11e7-8229-de534058ddc4.gif)
+
+YCM might be the only vim completion engine with the correct unicode support.
+  Though we do assume UTF-8 everywhere.
+
+![YouCompleteMe GIF signature help demo](https://user-images.githubusercontent.com/10584846/58738348-5060da80-83fd-11e9-9537-d07fdbf4554c.gif)
+
+If a server provides "signature help" support, YCM is able to leverage that.
+
+![YouCompleteMe GIF completion demo](https://i.imgur.com/0OP4ood.gif)
+
+Here's an explanation of what happens in the last GIF demo above.
 
 First, realize that **no keyboard shortcuts had to be pressed** to get the list
 of completion candidates at any point in the demo. The user just types and the
@@ -201,17 +221,25 @@ Installation
 
 - Install cmake, macvim and python; Note that the *system* vim is not supported.
 
+ 
+
     brew install cmake macvim python
 
 - Install mono, go, node and npm
 
+ 
+
     brew install mono go nodejs
 
 - Compile YCM
 
+ 
+
     cd ~/.vim/bundle/YouCompleteMe
     python3 install.py --all
 
+- For plugging an arbitrary LSP server, check [the relevant section](#plugging-an-arbitrary-lsp-server)
+
 #### Explanation for the quick start
 
 These instructions (using `install.py`) are the quickest way to install
@@ -284,14 +312,20 @@ that are conservatively turned off by default that you may want to turn on.
 
 - Install cmake, vim and python
 
+ 
+
     apt install build-essential cmake vim python3-dev
 
 - Install mono-complete, go, node and npm
 - Compile YCM
 
+ 
+
     cd ~/.vim/bundle/YouCompleteMe
     python3 install.py --all
 
+- For plugging an arbitrary LSP server, check [the relevant section](#plugging-an-arbitrary-lsp-server)
+
 #### Explanation for the quick start
 
 These instructions (using `install.py`) are the quickest way to install
@@ -317,14 +351,20 @@ Install development tools, CMake, and Python headers:
 
 - Fedora 27 and later:
 
+ 
+
       sudo dnf install cmake gcc-c++ make python3-devel
 
 - Ubuntu 14.04:
 
+ 
+
       sudo apt install build-essential cmake3 python3-dev
 
 - Ubuntu 16.04 and later:
 
+ 
+
       sudo apt install build-essential cmake python3-dev
 
 Compiling YCM **with** semantic support for C-family languages through
@@ -376,10 +416,13 @@ that are conservatively turned off by default that you may want to turn on.
 - Install go, node and npm
 - Compile YCM
 
+ 
+
     cd YouCompleteMe
     python3 install.py --all
 
 - Add `set encoding=utf-8` to your [vimrc][]
+- For plugging an arbitrary LSP server, check [the relevant section](#plugging-an-arbitrary-lsp-server)
 
 #### Explanation for the quick start
 
@@ -482,14 +525,20 @@ that are conservatively turned off by default that you may want to turn on.
 
 - Install cmake
 
+ 
+
     pkg install cmake
 
 - Install xbuild, go, node and npm
 - Compile YCM
 
+ 
+
     cd ~/.vim/bundle/YouCompleteMe
     python3 install.py --all
 
+- For plugging an arbitrary LSP server, check [the relevant section](#plugging-an-arbitrary-lsp-server)
+
 #### Explanation for the quick start
 
 These instructions (using `install.py`) are the quickest way to install
@@ -1333,6 +1382,22 @@ will be used as the `kwargs[ 'language' ]`.
 See [the LSP Examples](https://github.com/ycm-core/lsp-examples) project for more
 examples of configuring the likes of PHP, Ruby, Kotlin, and D.
 
+#### LSP Configuration
+
+Many LSP servers allow some level of user configuration. YCM enables this with
+the help of `.ycm_extra_conf.py` files. Here's an example of jdt.ls user
+configuration.
+
+```python
+def Settings( **kwargs ):
+  if kwargs[ 'language' ] == 'java':
+    return { 'ls': { 'java.format.onType.enabled': True } }
+```
+
+The `ls` key tells YCM that the dictionary should be passed to thet LSP server.
+For each of the LSP server's configuration you should look up the respective
+server's documentation.
+
 #### Using `omnifunc` for semantic completion
 
 YCM will use your `omnifunc` (see `:h omnifunc` in Vim) as a source for semantic
@@ -1351,22 +1416,6 @@ vimrc. This will make YCM and Eclim play nice; YCM will use Eclim's omnifuncs as
 the data source for semantic completions and provide the auto-triggering and
 subsequence-based matching (and other YCM features) on top of it.
 
-### LSP Configuration
-
-Many LSP servers allow some level of user configuration. YCM enables this with
-the help of `.ycm_extra_conf.py` files. Here's an example of jdt.ls user
-configuration.
-
-```python
-def Settings( **kwargs ):
-  if kwargs[ 'language' ] == 'java':
-    return { 'ls': { 'java.format.onType.enabled': True } }
-```
-
-The `ls` key tells YCM that the dictionary should be passed to thet LSP server.
-For each of the LSP server's configuration you should look up the respective
-server's documentation.
-
 ### Writing New Semantic Completers
 
 You have two options here: writing an `omnifunc` for Vim's omnicomplete system

File diff ditekan karena terlalu besar
+ 232 - 446
doc/youcompleteme.txt


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini