vim

Fangrui Song 2018-08-23 22:14:10 -07:00
parent 14a60fe43b
commit 75b4396147
2 changed files with 25 additions and 16 deletions

@ -1,8 +1,8 @@
1. See [[Getting started]] to build the `bin/ccls` executable 1. See [[Getting started]] to build the `ccls` executable
1. Install [lsp-mode](https://github.com/emacs-lsp/lsp-mode) 2. Install [lsp-mode](https://github.com/emacs-lsp/lsp-mode)
2. Install [emacs-ccls](https://github.com/MaskRay/emacs-ccls) and [configure](#configure) it 3. Install [emacs-ccls](https://github.com/MaskRay/emacs-ccls) and [configure](#configure) it
3. Open a source file where either [[.ccls|Getting-started#ccls]] or [[compile_commands.json]] is in the project root (it may work without them, though not recommended) 4. Open a source file where either [[.ccls|Getting-started#ccls]] or [[compile_commands.json]] is in the project root (it may work without them, though not recommended)
4. `M-x lsp-ccls-enable`. Don't invoke `M-x lsp-mode`. `lsp-ccls-enable` will turn on `lsp-mode` for you 5. `M-x lsp-ccls-enable`. Don't invoke `M-x lsp-mode`. `lsp-ccls-enable` will turn on `lsp-mode` for you
### Install [emacs-ccls](https://github.com/MaskRay/emacs-ccls) ### Install [emacs-ccls](https://github.com/MaskRay/emacs-ccls)

@ -1,7 +1,6 @@
## [[Getting started]] 1. See [[Getting started]] to build the `ccls` executable
2. Install [LanguageClient-neovim](https://github.com/autozimu/LanguageClient-neovim)
## Install [LanguageClient-neovim](https://github.com/autozimu/LanguageClient-neovim) You may use the plugin manager [vim-plug](https://github.com/junegunn/vim-plug#unix-1)
Need [vim-plug](https://github.com/junegunn/vim-plug#unix-1)
### /home/YOUR_USERNAME/.config/nvim/init.vim ### /home/YOUR_USERNAME/.config/nvim/init.vim
```vim ```vim
@ -85,14 +84,24 @@ nn <silent> xV :call LanguageClient#findLocations({'method':'$ccls/vars','kind':
nn xx x nn xx x
``` ```
Bases: base classes/overridden methods/specialized from `$ccls/inheritanceHierarchy flat:t derived:false`: base classes/overridden methods/specialized from
![$ccls/inheritanceHierarchy flat:t derived:false](https://ptpb.pw/ph3W.jpg)
Derived ![$ccls/inheritanceHierarchy flat:t derived:false](https://ptpb.pw/pEDL.jpg)
![$ccls/inheritanceHierarchy flat:t derived:true](https://ptpb.pw/sSkt.jpg)
![$ccls/callers](https://ptpb.pw/U0xJ.jpg) `$ccls/inheritanceHierarchy flat:t derived:true`
![$ccls/vars](https://ptpb.pw/1mCm.jpg) ![$ccls/inheritanceHierarchy flat:t derived:true](https://ptpb.pw/QgCd.jpg)
![$ccls/memberHierarchy flat:t](https://ptpb.pw/FSYc.jpg) `$ccls/callers`: callers of a function
![$ccls/callers](https://ptpb.pw/2RDi.jpg)
The more general `$ccls/callHierarchy` has not been implemented by a Vim plugin.
`$ccls/vars`: instances of a type
![$ccls/vars](https://ptpb.pw/peyX.jpg)
`$ccls/memberHierarchy flat:t`: fields of a struct/class/union/...
![$ccls/memberHierarchy flat:t](https://ptpb.pw/V8WR.jpg)