Commit graph

154 commits

Author SHA1 Message Date
Maximilian Wolff
500e58341c
Defer loading of lsp servers up to when the buffer is visible 2021-06-06 22:26:31 +02:00
Luis Ch
175840bc6e
react: fix file auto detection (#14680) 2021-04-19 17:26:19 +00:00
Lucius Hu
9115fd9824 react: minor change
This amended commit 58243c67f8

There is an unnecessary `when-let*` form, and it's replaced by `when`.
2021-04-04 19:40:53 +02:00
Lucius Hu
d5e563cc99 vue: refactor
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu
58243c67f8 react: refactor
- Refactored functions
  - Several functions are inlined and removed from global namespace
- Moved function from `packages.el` to `func.el`
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu
7740fea4e1 dumb-jump: Replace obsolete interface with xref-backend
- Add `dumb-jump-xref-activate` hook to `xref-backend-functions`, which
  add a fallback option, i.e. `dumb-jump`, when no better alternatives
  is availabe
- Removed the obsolte interface `dumb-jump-go` from the following layers:
  - clojure
  - latex
  - vue
- The global binding `SPC j q` requires the obsolte function
  `dumb-jump-quick-look` and is therfore removed
2021-03-31 18:50:44 +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
Maximilian Wolff
6018580958 Make layers activate/deactivate the right version of smartparens
Before layers were sometimes only activating the non strict
version of smartparens. Also some were only disabling
the non-strict version leaving some of the smartparens
advices intact.

With this PR, all layers set the right version of smartparens.
Also if the layer is trying to disable it a standard function
will now take care to disable all versions of smartparens.
2021-03-16 17:47:15 +00:00
emacspace
6ce1dc88fc documentation formatting: Fri Nov 27 19:18:09 UTC 2020 2020-11-27 23:02:42 +01:00
duianto
d9b4b2dc61 [react] Set layer keymaps: javascript as parent to react
Declared key binding prefixes.
And updated the react layer documentation:
- Mentioned the additional key bindings in the javascript layer
- Added a link to the javascript layer
2020-11-24 21:45:16 +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
nanashi0x74
b5e74cd463 Add missing dependency on javascripy layer
without this, spacemacs//javascript-setup-checkers in package.el:45 will not be
found unless user has the layer installed already
2020-10-10 22:28:20 +02:00
adispring
714512b139 Add web-mode-style-padding 0 to vue layer 2020-10-04 11:59:39 +02:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Fredrik Simón
85bef62e2d
[lsp] Fix lsp-diagnostics-provider name (#13956)
`lsp-diagnostic-package` was renamed to `lsp-diagnostics-provider` in
[LSP version 7.0.1](f23159a85f/CHANGELOG.org (release-701)).
2020-09-18 20:31:30 +02:00
Maximilian Wolff
b68b44a1b1
[tern] Remove unmaintained package company-tern
Company tern is not longer on melpa and had to be removed.
See #13725 for details.
2020-07-03 01:18:40 +02:00
lawr
f9ffb8dc94 Avoid unnecessary packages installation of tern layer
Fixes #13530
2020-05-11 09:42:13 +02:00
Mike Holm
23133adbe2 add js log key bindings to react layer 2020-04-16 23:47:18 +02:00
Simon Sellar
cf9cd69cf8
Update installation command for Vue language server in Vue Layer 2020-04-16 23:31:50 +02:00
Xiang Ji
9a7eb76101 [vue] Update package name for vue-language-server 2020-04-16 23:28:22 +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
Maximilian Wolff
f971ee7120
[typescript] Require tide layer as it is used as formatter by default
I have also updated the installation instructions as tsserver is not
longer available as single executable on npm. Also I've made sure that
modes register for tide backend only if it is really intended to.
2020-03-08 13:05:31 +01:00
Thanh Vuong
97724081bc
Tide layer
Allows use of standalone typescript server for js/ts development
Co-Authored-By: Maximilian Wolff <smile13241324@gmail.com>
2020-03-08 12:29:04 +01:00
duianto
dd8e611158
Replace obsolete lsp-prefer-flymake with lsp-diagnostic-package 2020-02-21 23:19:20 +01:00
emacspace
9d379e4ff4
documentation formatting: Thu Jan 2 22:13:38 UTC 2020 2020-01-02 23:35:41 +01:00
Maximilian Wolff
728a3f56e2
Try to correctly tag kubernetes and vue layers 2020-01-02 22:56:00 +01:00
Maximilian Wolff
6784a0e0f8
Tag uncategorized layers 2020-01-02 22:42:13 +01:00
Maximilian Wolff
6f029cc057
Integrate flow-js2-mode into flow-type layer
I have tried to integrate flow-js2-mode into flow-type in addition
I have fixed a couple of issues in the layer and replaced obsolete
react-mode bindings with rjsx-mode bindings.
2019-12-16 14:33:58 +01:00
Miloš Mošić
e9c80d7d80 Update Vue layer README to fix the link formatting 2019-12-10 13:09:12 +01:00
emacspace
76245081d6 documentation formatting: Mon Dec 9 21:44:48 UTC 2019 2019-12-09 23:52:24 +02:00
duianto
085ae8af33
[html][vue] Improve Transient States
Add a full/minified transient state toggle.

Grouped backend transient state key bindings by column.

Moved the html/init-web-mode :init section before the :config section.
2019-12-08 11:13:37 +01:00
Thanh Vuong
088a036979 Vue layer
Thanks to sei40kr, duianto and others involved in
https://github.com/thanhvg/vue/issues for contribution
2019-12-07 19:24:31 +01:00
Tommy Groshong
740e6a2a3c
Fixes function name bug in react layer fmt-on-save 2019-11-23 20:51:57 +01:00
Seong Yong-ju
889a40cdc3 Add eslint_d support for JavaScript, React, TypeScript modes 2019-11-22 18:03:42 +01:00
Tommy Groshong
59c95e7da2 Make react layer respect js fmt on save
The react layer relies on the javascript layer and uses multiple values
from it including definition of a formatter. However, the react layer
does not respect the javascript layer setting for formatting a file on
save.

This patch configures the react layer to add a before save hook that
calls the javascript layer formatting function when the
'javascript-fmt-on-save variable is enabled.
2019-10-09 18:29:23 +02: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
Thanh Vuong
ce30353b52 js, ts and react layers: linter option
this PR does two things for js-related layers:

(i) add option to disable lsp linter
javascript-lsp-linter for javascript and react layers
typescript-lsp-linter for typescript layer
when the value is t, lsp linter will be used in the layer
when nil, let flycheck pick up the best linters available such
as eslint

(ii) when syntax-checking(flycheck) layer is installed, then set
next-error-function value in react and javascript layers to nil, so that
spacemacs next-error, previous-error work A desciption of this issue can be
found at https://github.com/syl20bnr/spacemacs/issues/8078

Co-Authored-By: duianto <otnaiud@gmail.com>
2019-07-26 18:04:25 +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
Anton-Latukha
2ee74f55da layers: lang: new structure: add DSL (&markup), framework, util
layers: lang: mv framework -> programming/framework

layers: programming: framework: upd
2019-05-15 21:05:09 +03:00
syl20bnr
6d8040f2db Replace some if by when where appropriate 2019-05-12 10:01:05 -04:00
JAremko
5d02b1c4bb Add more tags 2019-05-03 03:44:19 +03:00
Thanh Vuong
9bb9038920 Move "import-js" to own layer for js based layers
Refactor import-js to its own layer import-js so it can be optional
used for the tree layers Javascript, React and Typescript layers.
2019-04-18 21:08:43 +02:00
Thanh Vuong
4f765f4a3f Fix react laye: make evil matchit work
with evil-matchit % will work on jsx tags
also correct rjsx-rename-tag-at-point keybinding
2019-04-11 23:10:09 +02:00
Seong Yong-ju
3afd959181 Add missing prefixes for ruby-on-rails layer 2019-04-10 22:52:25 +02:00
syl20bnr
1402cbc203 [javascript] remove unneeded progn 2019-04-08 11:19:18 -04:00
Seong Yong-ju
ff3d6e2ba1 Add import-js into javascript layer 2019-04-08 11:19:18 -04:00
Seong Yong-ju
4d5eadd6d6 Remove eslint_d support
Remove eslint_d support because eslint_d seems to support only older versions
like ESLint 4+, 5+.
2019-01-15 01:24:07 +02:00