Commit graph

55 commits

Author SHA1 Message Date
Ivan Yonchovski
6fbcef0648 [lsp] Use lsp-ivy when ivy layer is present 2020-04-16 21:53:31 +02:00
Ivan Yonchovski
c3f13d0391 Removed company-lsp in favour of company-capf
- Also removed some cquery artifacts which accidentally ended up in this PR
instead of in https://github.com/syl20bnr/spacemacs/pull/13446
2020-04-04 08:24:44 +02:00
duianto
dd8e611158
Replace obsolete lsp-prefer-flymake with lsp-diagnostic-package 2020-02-21 23:19:20 +01:00
Steven Allen
2088eb67a9
[lsp] set jump handler per lsp-managed buffer
Previously, this would try to add the lsp jump handler to the mode's jump
handler list every time lsp started managing a buffer of that mode. Now, we only
use the lsp jump handler for buffers managed by lsp.
2020-02-08 09:08:37 +00:00
duianto
53c1059582 [lsp] Change ecase to cl-ecase 2019-12-23 16:38:07 +01:00
Magnus Therning
3240c24873
Use "mgb" for jumping back
[elisp] use "mgb" for jumping back
[lsp] use "mgb"/"mGb" to jump back
[haskell] use "mgb" for jumping back
2019-11-23 21:52:13 +01:00
Sylvain Benner
6ddcf6f0a6 [c-c++] Fix typos and improve wording
Co-Authored-By: duianto <otnaiud@gmail.com>
2019-11-09 09:41:12 -05:00
syl20bnr
d536b36d15 [c-c++] C/C++ layer refactor to support multiple backends 2019-11-09 09:40:56 -05:00
Ivan Yonchovski
06cf8e3842 lsp layer must depend on yasnippet
- if this line is missing yasnippets might not be loaded because lsp-mode might
load the snippets before the auto-completion layer kick in.
2019-11-02 13:39:48 +01:00
syl20bnr
584392bd92 [core] Fix layer dependencies based on layer variables
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.

The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.

* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
  except for distribution layers (we declare layer dependencies right away in
  distribution layers)
2019-09-30 02:00:48 -04:00
syl20bnr
ac30247811 [lsp] When used, make LSP the default backend for all supported lang
* Added a new function to each language to select the backend
* Use these new functions in all `pcase`.
2019-09-30 00:49:44 -04:00
emacspace
560b51c324 documentation formatting: Thu Sep 12 15:09:22 UTC 2019 2019-09-12 21:44:20 +02:00
cormacc
0f034048f2 Updated keybindings w.r.t upstream lsp-mode refactoring / additions.
lsp-mode had renamed lsp-shutdown-workspace and lsp-restart-workspace.

Added bindings for the following newer interactive lsp-mode functions:
- lsp-organize-imports
- lsp-document-highlight
- lsp-lens-show
- lsp-lens-hide
- lsp-treemacs-symbols

Declared new major mode prefixes (a: code actions, x: text/code).
Moved execute-code-action binding under new `a` prefix.

Also disabled helm-lsp keybindings when ivy layer in use.
2019-09-06 23:23:28 +02:00
Steven Allen
c0763a3240 lsp: avoid pulling in treemacs/helm when their respective layers aren't enabled 2019-07-21 17:59:41 +02:00
Seong Yong-ju
b74d6a9b66 Show *lsp-help* in a popup window using popwin 2019-07-14 22:19:52 +02:00
Thanh Vuong
653a38bce5 fix #12455 lsp layer
add an internal variable for `lsp` layer `lsp-layer--active-mode-list`
to keep track of active major modes using lsp,
`spacemacs//lsp-declare-prefixes-for-mode` will check this variable
to decide whether to add prefix to which-key or not
2019-07-11 16:38:48 +02:00
Ivan Yonchovski
f892ba3091 Remove the fix-lsp-company-prefix since it is no longer needed
- company-lsp is now smarter and supports fuzzy matching
2019-07-01 13:28:42 +02:00
emacspace
c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03:00
Anton-Latukha
f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
JAremko
5d02b1c4bb Add more tags 2019-05-03 03:44:19 +03:00
Ivan Yonchovski
5e256d2506 [lsp] Sync lsp layer with latest lsp mode functionality
- provide keybindings for the new lsp-mode functionality
 - use lsp-treemacs and helm-lsp for errors and workspace symbols
2019-04-15 22:01:57 +02:00
duianto
1eac4dfc3f [lsp] Fix lsp-prefer-flymake readme/docstring 2019-04-07 00:14:17 +02:00
Juuso Valkeejärvi
c175e96d85 [lsp] Add lsp-prefer-flymake variable 2019-04-05 19:50:26 +02:00
Bryan Tan
ab5fb0e58e Replace lsp-capabilities keybinding with lsp-describe-session
Also, move the binding from `SPC m b c` to `SPC m b d`. lsp-capabilities was
replaced with lsp-describe-session in lsp-mode.
2019-04-05 14:07:39 +02:00
Daniel Cole
170bb98cb5 Fix lsp find-* functions using peek-navigation
With this fix lsp find-* functions correctly use xref (simple-navigation).

Fixes issue #11931.
2019-02-05 23:39:10 +02:00
emacspace
8b3a30f240 documentation formatting: Sat Dec 22 11:04:49 UTC 2018 2018-12-22 11:12:10 +00:00
cormacc
c375bc428f Flattened some cquery/ccls configuration
c-c++-lsp-initialization-options:
-> ccls-initialization-options
-> cquery-extra-init-params (cacheFormat set to "msgpack" by default)

c-c++-lsp-args:
-> ccls-args
-> cquery-extra-args

c-c++-lsp-cache-dir:
-> ccls: Appended to initialization-options
-> cquery-cache-dir

<<Amendment 1 21/12/18>>
Removing 'clangd' from list of lsp clients to squash per-file prompt for
language client.
Updated lsp/packages.el to reflect upstream lsp-mode function name changes.
Python layer -- added if guards to prevent anaconda package loading / keyboard
shortcut config when lsp backend selected.
2018-12-22 12:51:17 +02:00
Ivan Yonchovski
f346ae0683 Fix java/python/javascript/rust lsp backends 2018-12-22 12:51:05 +02:00
cormacc
aacf2a4cc1 Created core lsp minor mode keybindings
Replaced opt-in use of `spacemacs/lsp-bind-keys-for-mode` function with
keybindings for the lsp minor  mode, which should be enabled for all derived
layers.

<<Amendment 1 26/11/2018>>
Added call to (spacemacs//setup-lsp-jump-handler) to lsp-after-open-hook

<<Amendment 2 04/12/2018>>
Migrated to new lsp-mode package API.
Updated c-c++ layer accordingly.

<<Amendment 3 05/12/2018>>
Incorporated PR feedback / corrections from gessen

<<Amendment 4 05/12/2018>>
Incorporated further feedback / corrections from gessen
2018-12-22 12:50:21 +02:00
Guan Xipeng
f054573c6c fix: lsp-ui-peek-find-definitions is an async jump handler 2018-11-12 21:39:37 +00:00
JAremko
141b6328e3 Reformat docs 2018-11-08 22:37:23 +02:00
cormacc
18eacf48a2 Configure preference for lsp-ui-peek or xref/lsp navigation
<<Amendment 1 21/09/18>>
Added functions to facilitate keybindings in derived layers consistent
with navigation style preference.

<<Amendment 2 24/09/18>>
Incorporated feedback from yyoncho
Corrected error in peek binding extension definition

<<Amendment 3 24/09/18>>
Moved 'heirarchy' prefix/keybindings from 'SPC m h' to 'SPC m <g/p> h' for
consistency with navigation style preference selections.
Added 'members' prefix under 'SPC m <g/p> m'
Moved 'lsp-ui-imenu' from 'SPC m g m' to 'SPC m g M'

<<Amendment 4 20/10/18>>
Rebased. Updated README formatting for consistency with norms.

<<Amendment 5 25/10/18>>
Rebased. Moved 'peek' keybindings from 'SPC m p' to 'SPC m G'

<<Amendment 6 01/11/18>>
Reased. Updated for compatibility with upstream changes in lsp-ui.

<<Amendment 7 02/11/18>>
Corrected oversight -- was still binding some peek funcs under 'p'
rather than 'G'. Moved backend keybindings to 'b' (for backend)
rather than 'l' (for lsp)

<<Amendment 8 06/11/18>>
Documentation corrections -- based on feedback from sdwolfz
2018-11-06 22:18:43 +00:00
kyoncho
20c621c5ce Reenable lsp mode lighter
- The lsp modeline is used to provide information about the server status so it
should not be be hidden.
2018-10-24 23:15:58 +03:00
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
Juuso Valkeejärvi
50eda6a897
Fix autocompletion of file names in js2-mode when lsp is used
Do transformation only when completions are returned by lsp.
2018-10-18 19:42:59 +03:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
Fangrui Song
06d95490dc +tools/lsp: remove lsp-ui-peek-expand-by-default
lsp-ui has switched to (defcustom lsp-ui-peek-fontify 'on-demand ...) https://github.com/emacs-lsp/lsp-ui/pull/148 . This is no longer needed.
2018-09-03 20:16:46 +01:00
cormacc
4ce0c259a0 lsp-layer core keybinding amendments
`m g a` typically used to switch between .c and .h files.
Rebound `goto-viewport-symbol` under `m g k`
Added missing bindings for lsp-ui-find-implementation under `m g l`

Incorporated some other feedback from @yyoncho and @sdwolfz
(See PR discussion for detail)
2018-08-28 22:48:48 +01:00
Cormac Cannon
c122eb6a05 lsp-layer configuration and building blocks for derived layers.
See README.org for details

<<amendment 1>>
Updated some keybindings based on CONVENTIONS doc
Corrected file headers
Incorporated some immediate feedback from MaskRay

<<amendment 2>>
Corrected keybindings in README.org

<<amendment 3>>
Eliminated stray org-mode tag at table foot in README.org
Eliminated new 'l' prefix and moved bindings under 'g'

<<amendment 4>>
Updated defaults in config.el based on feedback from sebastiencs (lsp/lsp-ui dev)
- lsp-ui-sideline enabled by default
- lsp-ui-peek-expand-by-default disabled

<<amendment 5 09/04/18>>
Removed 'spacemacs/' prefix from lsp-format-buffer binding

<<amendment 6 09/04/18>>
Moved lsp-ui-peek bindings under j (jump)
Added goto bindings for new lsp-mode functions goto type definition and goto implementation

<<amendment 7 31/05/18>>
Corrected layer title in file headers
Rebased on dev tip (390462e)

<<amendment 8 03/07/18>>
Added keybindings for lsp-describe-thing-at-point,
lsp-workspace-restart, lsp-execute-code-action suggested by Yyoncho (LSP
Java)
Added avy keyboard navigation function provided by MaskRay
Reverted lsp-ui-peek to expand by default after an upstream change that
restricts expansion to current document, addressing the previous
performance issue.

<<amendment 9 04/07/18>>
Corrected keybinding for lsp-describe-thing-at-point

<<amendment 10 19/07/18>>
Rebound lsp-restart-workspace under mlq
Declared 'lsp' prefix (myrgy)
Added evil-set-command-property fix suggested by Yyoncho
Moved lsp-c-c++ layer from private branch to this PR after spending too
many hours of my life rebasing after circle CI picks up a formatting
error :)

<<amendment 11 25/07/18>>
Rebased
Bound cquery-freshen-index under lf
Bound cquery-preprocess-file under lp

<<amendment 12 01/08/18>>
Rebased
(c-c++ layer) moved semantic refactor refactor-at-point binding from mr
to mrp to prevent key binding error when semantic layer enabled

<<amendment 13 17/08/18>>
Added option to select ccls or cquery backend based on work by myrgy
Rebased on current upstream develop

<<amendment 14 20/08/18>>
Incorporated feedback from myrgy and maskray.
Corrected some duplication/inconsistencies.
Rebased.

<<amendment 15 21/08/18>>
Reduced duplication in backend config

<<amendment 16 22/08/18>>
Removed lsp-c-c++ layer example -- to be merged with c-c++ layer once
this PR is sorted

<<amendment 17 23/08/18>>
Added CHANGELOG.develop entry as per updated contribution guidelines.

<<amendment 18 24/08/18>>
Moved some keybindings as per feedback from sdwolfz
2018-08-23 23:02:52 +01:00
Ting Zhou
cffd90080b only use javascript-typescript-langserver for javascript, react, typescript
layer, and purge other langservers
2018-08-03 01:37:36 +03:00
syl20bnr
49b1659a18 Lazy load lsp-mode 2018-06-11 00:28:11 -04:00
syl20bnr
699c1da30f Lazy load lsp-ui 2018-06-10 23:25:45 -04:00
Ting Zhou
8616f07b86 Add: use rjsx-mode for react framework
Fix: add yas-activate-extra-mode
Add: add lsp support for react layer
Add: Add rjsx-mode key-bindings doc
Clean: rename spacemacs//set-lsp-key-bindings to spacemacs//setup-lsp-jump-handler
Fix: remove buggy hooks
Clean: move fix-lsp-company-prefix to lsp layer
Fix: rjsx-mode company
Fix: rjsx-mode lsp backend
2018-05-18 01:25:29 -04:00
syl20bnr
7596a156a4 Rename set-lsp-key-bindings and make it accept a list of modes 2018-05-08 00:17:56 -04:00
syl20bnr
4eaf160b90 lsp: fix typo 2018-05-07 23:34:31 -04:00
Ting Zhou
8df99c440b Clean: move spacemacs//set-lsp-key-bindings to lsp layer 2018-05-07 23:32:47 -04:00
syl20bnr
ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr
29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr
83a6778eab Lazy load diff-hl and move lsp-ui-mode hook 2018-02-27 23:32:52 -05:00
syl20bnr
be6db59b4c lsp: create logical package flycheck-lsp 2018-02-18 22:56:41 -05:00