mirror of
https://oauth2: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@github.com/m1ngsama/chopsticks.git
synced 2026-05-13 20:41:04 +08:00
Move LSP navigation to native-first mappings (#26)
This commit is contained in:
parent
5544b74545
commit
2f7d488c8c
5 changed files with 37 additions and 18 deletions
|
|
@ -57,8 +57,8 @@ Ctrl+p fuzzy find file (git-aware)
|
|||
## Write code
|
||||
|
||||
```
|
||||
gd go to definition
|
||||
K hover docs
|
||||
,dd go to definition
|
||||
,dk hover docs
|
||||
,rn rename symbol
|
||||
,ca code action
|
||||
,f format
|
||||
|
|
|
|||
|
|
@ -96,8 +96,8 @@ active profile and only shows keys for enabled features.
|
|||
Leader: `,`
|
||||
|
||||
```
|
||||
Ctrl+p fuzzy find file gd go to definition
|
||||
,rg ripgrep project K hover docs
|
||||
Ctrl+p fuzzy find file ,dd go to definition
|
||||
,rg ripgrep project ,dk hover docs
|
||||
,e toggle file sidebar ,cr run current file
|
||||
,gs git status ,f format
|
||||
,w save ,q quit
|
||||
|
|
@ -113,7 +113,7 @@ jk exit insert mode ,? cheat sheet
|
|||
|
||||
### Code
|
||||
|
||||
`gd` def | `gy` type | `gi` impl | `gr` refs | `K` docs | `[g` `]g` diagnostics | `[e` `]e` ALE errors | `,rn` rename | `,ca` action | `,o` outline | `,cr` run
|
||||
`,dd` def | `,dt` type | `,di` impl | `,dr` refs | `,dk` docs | `,dp` `,dn` diagnostics | `[e` `]e` ALE errors | `,rn` rename | `,ca` action | `,o` outline | `,cr` run
|
||||
|
||||
### Edit
|
||||
|
||||
|
|
|
|||
|
|
@ -63,14 +63,14 @@ function! s:on_lsp_buffer_enabled() abort
|
|||
setlocal signcolumn=yes
|
||||
endif
|
||||
|
||||
nmap <buffer> gd <plug>(lsp-definition)
|
||||
nmap <buffer> gy <plug>(lsp-type-definition)
|
||||
nmap <buffer> gi <plug>(lsp-implementation)
|
||||
nmap <buffer> gr <plug>(lsp-references)
|
||||
nmap <buffer> [g <plug>(lsp-previous-diagnostic)
|
||||
nmap <buffer> ]g <plug>(lsp-next-diagnostic)
|
||||
nmap <buffer> <leader>dd <plug>(lsp-definition)
|
||||
nmap <buffer> <leader>dt <plug>(lsp-type-definition)
|
||||
nmap <buffer> <leader>di <plug>(lsp-implementation)
|
||||
nmap <buffer> <leader>dr <plug>(lsp-references)
|
||||
nmap <buffer> <leader>dp <plug>(lsp-previous-diagnostic)
|
||||
nmap <buffer> <leader>dn <plug>(lsp-next-diagnostic)
|
||||
|
||||
nmap <buffer> K <plug>(lsp-hover)
|
||||
nmap <buffer> <leader>dk <plug>(lsp-hover)
|
||||
|
||||
nmap <buffer> <leader>rn <plug>(lsp-rename)
|
||||
nmap <buffer> <leader>ca <plug>(lsp-code-action)
|
||||
|
|
|
|||
|
|
@ -343,16 +343,16 @@ function! s:CheatSheet() abort
|
|||
|
||||
if l:has_lsp
|
||||
call extend(l:lines, [
|
||||
\ ' gd definition',
|
||||
\ ' gy type definition',
|
||||
\ ' gi implementation',
|
||||
\ ' gr references',
|
||||
\ ' K hover docs',
|
||||
\ ' ,dd definition',
|
||||
\ ' ,dt type definition',
|
||||
\ ' ,di implementation',
|
||||
\ ' ,dr references',
|
||||
\ ' ,dk hover docs',
|
||||
\ ' ,rn rename',
|
||||
\ ' ,ca code action',
|
||||
\ ' ,f format',
|
||||
\ ' ,o outline',
|
||||
\ ' [g ]g LSP diagnostics',
|
||||
\ ' ,dp ,dn LSP diagnostics',
|
||||
\ ' :LspInstallServer setup LSP',
|
||||
\ ' :ChopsticksStatus check LSP setup',
|
||||
\ ])
|
||||
|
|
|
|||
|
|
@ -237,6 +237,18 @@ check_vim() {
|
|||
-c 'qa!' 2>&1
|
||||
grep -Fq 'vim-lsp not installed; run :PlugInstall' "$TMP_ROOT/status-missing-plugin.txt"
|
||||
|
||||
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u .vimrc -i NONE -es -N \
|
||||
-c 'doautocmd User lsp_buffer_enabled' \
|
||||
-c 'if maparg("gd", "n") !=# "" || maparg("K", "n") !=# "" || maparg("gi", "n") !=# "" || maparg("gr", "n") !=# "" | cquit | endif' \
|
||||
-c 'if maparg(",dd", "n") !~# "lsp-definition" | cquit | endif' \
|
||||
-c 'if maparg(",dt", "n") !~# "lsp-type-definition" | cquit | endif' \
|
||||
-c 'if maparg(",di", "n") !~# "lsp-implementation" | cquit | endif' \
|
||||
-c 'if maparg(",dr", "n") !~# "lsp-references" | cquit | endif' \
|
||||
-c 'if maparg(",dk", "n") !~# "lsp-hover" | cquit | endif' \
|
||||
-c 'if maparg(",dp", "n") !~# "lsp-previous-diagnostic" | cquit | endif' \
|
||||
-c 'if maparg(",dn", "n") !~# "lsp-next-diagnostic" | cquit | endif' \
|
||||
-c 'qa!' 2>&1
|
||||
|
||||
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u .vimrc -i NONE -es -N \
|
||||
-c 'normal ,?' \
|
||||
-c "redir! > $TMP_ROOT/cheat-default.txt" \
|
||||
|
|
@ -244,6 +256,13 @@ check_vim() {
|
|||
-c 'redir END' \
|
||||
-c 'qa!' 2>&1
|
||||
grep -Fq ':ChopsticksStatus check LSP setup' "$TMP_ROOT/cheat-default.txt"
|
||||
grep -Fq ',dd definition' "$TMP_ROOT/cheat-default.txt"
|
||||
grep -Fq ',dk hover docs' "$TMP_ROOT/cheat-default.txt"
|
||||
grep -Fq ',dp ,dn LSP diagnostics' "$TMP_ROOT/cheat-default.txt"
|
||||
if grep -Eq 'gd definition|K hover docs|\\[g \\]g LSP diagnostics' "$TMP_ROOT/cheat-default.txt"; then
|
||||
cat "$TMP_ROOT/cheat-default.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
vim -u NONE -i NONE -es -N \
|
||||
-c 'let g:chopsticks_profile = "minimal"' \
|
||||
|
|
|
|||
Loading…
Reference in a new issue