Commit graph

62 commits

Author SHA1 Message Date
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Maximilian Wolff d8260ea041
[lsp] Fix lsp-origami integration
Looks like the provided hook statement
is not working properly with this package.
I have replaced it with the recommended
way defined in the package itself and
now it seems to work.
2020-09-17 23:54:22 +02:00
Elric Milon 4c6c6c2e96 [lsp] Add support for lsp-origami 2020-09-16 21:54:00 +02:00
Colin Woodbury 61a9aeb42c [lsp] Remove mention of lsp-clients - fixes #13857 2020-08-19 20:04:39 +02:00
Maximilian Wolff b82bc40b3c
Fix ignored popwin declarations
Popwin automatically configures pupo purposes
if properly configured. While I was checking
the existing configs I have found that the
settings will be ignored if the config is not
done via a post-config hook.

A quick search revealed a lot of popwin configs
which never had any effect.

This commit fixes these and with this also
restores the missing pupo configs.
2020-07-03 21:51:33 +02:00
Steve Lorimer 70232d9f58 [lsp] remove requirement for yasnippet 2020-07-01 20:42:51 +02:00
Maximilian Wolff d314cc7eef
Make auto-complete more configurable and efficient for lsp
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.

In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.

I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.

Changes inspired from #13507
2020-05-15 22:22:28 +02:00
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