LanguageClient-neovim: mention LSP-Extensions.md

Fangrui Song 2019-10-02 20:24:39 -07:00
parent 450995098b
commit 9e0a418cae

@ -72,26 +72,10 @@ augroup LanguageClient_config
augroup END augroup END
``` ```
### `$ccls/navigate`
Semantic navigation. Roughly,
"D" => first child declaration
"L" => previous declaration
"R" => next declaration
"U" => parent declaration
```vim
nn <silent> xh :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'L'})<cr>
nn <silent> xj :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'D'})<cr>
nn <silent> xk :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'U'})<cr>
nn <silent> xl :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'R'})<cr>
```
![](https://ptpb.pw/89Y2.gif)
### Cross reference extensions ### Cross reference extensions
See [[LSP Extensions]] for the description of these extensions.
```vim ```vim
" bases " bases
nn <silent> xb :call LanguageClient#findLocations({'method':'$ccls/inheritance'})<cr> nn <silent> xb :call LanguageClient#findLocations({'method':'$ccls/inheritance'})<cr>
@ -120,26 +104,27 @@ nn xx x
`$ccls/inheritance derived:false`: base classes/overridden methods/specialized from `$ccls/inheritance derived:false`: base classes/overridden methods/specialized from
![$ccls/inheritanceHierarchy derived:false](https://ptpb.pw/pEDL.jpg)
`$ccls/inheritance derived:true` `$ccls/inheritance derived:true`
![$ccls/inheritanceHierarchy derived:true](https://ptpb.pw/QgCd.jpg)
`$ccls/call`: callers/callees of a function `$ccls/call`: callers/callees of a function
![$ccls/callers](https://ptpb.pw/2RDi.jpg)
`$ccls/vars`: instances of a type `$ccls/vars`: instances of a type
![$ccls/vars](https://ptpb.pw/peyX.jpg)
`$ccls/member`: fields of a struct/class/union/... `$ccls/member`: fields of a struct/class/union/...
![$ccls/member](https://ptpb.pw/V8WR.jpg)
There are also hierarchical views of `$ccls/call` `$ccls/inheritance` `$ccls/member` (see the Emacs page) but they have not been implemented by a Vim plugin. There are also hierarchical views of `$ccls/call` `$ccls/inheritance` `$ccls/member` (see the Emacs page) but they have not been implemented by a Vim plugin.
### `$ccls/navigate`
See [[$ccls/navigate|LSP-Extensions#cclsnavigate]]
```vim
nn <silent> xh :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'L'})<cr>
nn <silent> xj :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'D'})<cr>
nn <silent> xk :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'U'})<cr>
nn <silent> xl :call LanguageClient#findLocations({'method':'$ccls/navigate','direction':'R'})<cr>
```
### Formatting ### Formatting
```vim ```vim