Commit graph

77 commits

Author SHA1 Message Date
Lucien Cartier-Tilet 1076d5ad61 [lsp] Fix org markup
Some parts of the README.org file for the lsp layer use Markdown syntax,
this commit fixes this. Some emphasis through equal signs are also
replaced by tildes for more coherence in the file.

Also the value of lsp-navigation is shown unquoted, this commit quotes
the possible values.
2021-03-31 18:36:13 +02:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Ivan Yonchovski 32ead25c35 [lsp] Bind SPC p E to helm-lsp-diagnostics
IMHO this should be global binding, the alternative was `SPC e e` because it can
be used everywhere, e. g. from compilation buffer to find the error causing the
build breakage.
2021-03-14 00:42:56 +01:00
Maximilian Wolff b3992c61ef
[lsp] Bind lsp specific toggles from SPC m T to SPC m T l
Many lisp related modes create confliciting bindings in
`SPC m T`. To avoid these clashes I have moved the LSP
specific toggles to a different prefix now.

As this just affects toggles I hope that the negative
impact on muscel memory will be minimal.
2021-02-23 20:40:42 +01:00
Maximilian Wolff aa1051e1c8
Move lsp-ui back to be enabled by default
I don't think that setting this to a fixed value
will solve the issue. Right now we have a conflict
between feature rich and simple here.

This is similar to what we have with the search
integration (helm vs ivy) and in the tree
implementation (treemacs vs neotree).

For these we have a workflow during the initial
dotfile creation. Which we need to follow here
too.
2021-02-21 22:06:27 +01:00
winsphinx 9ecce8231a fix variable name in lsp doc 2021-02-21 17:53:53 +01:00
Ivan Yonchovski df09240229 [lsp] Do not include lsp-ui by default
- lsp-ui is very opinionated so better to have it enabled/installed on demand
2021-02-20 22:01:23 +01:00
Ray Wang f01ca9a09b Document: prompt to run all-the-icons-install-fonts
If both `all-the-icons` and `lsp-headerline` are enabled
2021-02-03 22:32:56 +01:00
Evan Klitzke c4ad14a73a fix some errors in the lsp readme 2020-12-26 14:59:29 +01:00
thanhvg e3b6464649
[core][tide][lsp] improve spacemacs/set-leader-keys-for-minor-mode and apply it to tide and lsp layers (#14141)
* [core][keybinng] improve minor mode binding

This commit added add a new function defun spacemacs/declare-prefix-for-minor-mode
and improved spacemacs/set-leader-keys-for-minor-mode.

`which-key` package recently introduced a new api
which-key-add-keymap-based-replacements which improves perfomance and allows
prefix and namings to be stored directly in keymap. This is a great improvement.

With this new api we now make change to spacemacs/declare-prefix-for-minor-mode
to manage prefix also. For example:

  (spacemacs/set-leader-keys-for-minor-mode 'lsp-mode
    "=" "format"
    "=b" #'lsp-format-buffer)

Before we had to use another api to bind prefix
spacemacs/declare-prefix-for-mode which only works on major-mode. As lsp-mode is
a minor mode this api causes a lot of problems to which-key performance. An
example is https://github.com/syl20bnr/spacemacs/issues/12455 which led to my
hack in https://github.com/syl20bnr/spacemacs/pull/12474.

The improved spacemacs/set-leader-keys-for-minor-mode will take care of both
prefix and key naming for the minor mode. This will allows us to have a better
set up for dynamic minor modes such as lsp-mode, tide-mode etc.

Also another api is created to make prefix for minor mode:
spacemacs/declare-prefix-for-minor-mode.

Usage:
(spacemacs/declare-prefix-for-minor-mode 'tide-mode "E" "errors")"

* [tide] improve prefix

* [lsp] improve prefix
2020-11-21 07:34:55 +01:00
Maximilian Wolff 24d8d329eb
[LSP] Add documentation for missing functional area "action" 2020-11-09 23:18:57 +01:00
nanashi0x74 c8b717c9be [lsp] Add keybinding for lsp-version command 2020-10-19 11:45:53 +02:00
emacspace 598ac10337 documentation formatting: Thu Oct 15 21:23:44 UTC 2020 2020-10-15 23:33:25 +02:00
Lucius Hu edc2528590
Improved documentation for LSP layer
- Added documentation for the following minor modes:
  - lsp-headerline-breadcrumb-mode
  - lsp-lens-mode
  - lsp-modeline-diagnostics-mode
  - lsp-modeline-code-actions-mode
- Added description of Code Lens feature.
- Added description of default values of any variablese introduced in the
  commit.
- Added a section to brief mention the DAP integration of lsp-mode, which
  leads users the DAP layer for more details.
- Re-formatted the document, inline codes are quoted by '~' instead of '='.
2020-10-15 22:20:27 +02:00
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