mirror of
https://github.com/MaskRay/ccls.git
synced 2025-02-16 05:37:55 +00:00
$ccls/member kind
parent
a3930383b4
commit
b68b882fd1
14
Emacs.md
14
Emacs.md
@ -129,7 +129,7 @@ Use [lsp-imenu.el](https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-imenu.e
|
||||
|
||||
For a symbol named `Name::FooBar`, all of `FooBar`, `foo bar`, `nafoba` find them, but with different priorities.
|
||||
|
||||
### ccls cross-reference extension
|
||||
### Cross reference extensions
|
||||
|
||||
Aside from definitions/references/workspace symbol, ccls provides some LSP extensions that find base/derived classes/methods, vars of a type, callers of a function. You may call:
|
||||
```elisp
|
||||
@ -168,11 +168,17 @@ Recommended helpers:
|
||||
(lsp-ui-peek-find-custom 'base "$ccls/inheritance" `(:levels ,levels)))
|
||||
(defun ccls/derived (levels)
|
||||
(lsp-ui-peek-find-custom 'derived "$ccls/inheritance" `(:levels ,levels :derived t)))
|
||||
(defun ccls/member ()
|
||||
(defun ccls/member (kind)
|
||||
(interactive)
|
||||
(lsp-ui-peek-find-custom 'member "$ccls/member"))
|
||||
(lsp-ui-peek-find-custom 'member "$ccls/member" `(:kind ,kind)))
|
||||
|
||||
;; ccls/vars ccls/base ccls/derived have a parameter while others are interactive.
|
||||
;; ccls/vars ccls/base ccls/derived ccls/members have a parameter while others are interactive.
|
||||
;; (ccls/base 1)
|
||||
;; (ccls/derived 1)
|
||||
;; (ccls/member 2) => 2 (Type) => nested classes / types in a namespace
|
||||
;; (ccls/member 3) => 3 (Func) => member functions / functions in a namespace
|
||||
;; (ccls/member 0) => member variables / variables in a namespace
|
||||
;; (ccls/vars 3) => field or local variable
|
||||
```
|
||||
|
||||
Hierarchies provide a flattened xref interface:
|
||||
|
@ -70,7 +70,7 @@ nn <silent> xl :call LanguageClient#findLocations({'method':'$ccls/navigate','di
|
||||
|
||||
![](https://ptpb.pw/89Y2.gif)
|
||||
|
||||
### Custom cross references
|
||||
### Cross reference extensions
|
||||
|
||||
```vim
|
||||
" bases
|
||||
@ -88,6 +88,11 @@ nn <silent> xc :call LanguageClient#findLocations({'method':'$ccls/call'})<cr>
|
||||
nn <silent> xC :call LanguageClient#findLocations({'method':'$ccls/call','callee':v:true})<cr>
|
||||
|
||||
" $ccls/member
|
||||
" nested classes / types in a namespace
|
||||
nn <silent> xs :call LanguageClient#findLocations({'method':'$ccls/member','kind':2})<cr>
|
||||
" member functions / functions in a namespace
|
||||
nn <silent> xf :call LanguageClient#findLocations({'method':'$ccls/member','kind':3})<cr>
|
||||
" member variables / variables in a namespace
|
||||
nn <silent> xm :call LanguageClient#findLocations({'method':'$ccls/member'})<cr>
|
||||
|
||||
nn xx x
|
||||
|
Loading…
Reference in New Issue
Block a user