Commit graph

144 commits

Author SHA1 Message Date
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
Justin
f8bb6997a9 Remove lsp-javascript-typescript package for lsp built in.
Remove lsp-go package for lsp built in.
Changed go/react/typescript lsp-*-enable hooks to lsp
Update go/typescript/rust layer docs for lsp-mode installation command.
Remove unused rust layer variable
2019-01-15 00:41:30 +02:00
emacspace
45276bd96f documentation formatting: Wed Dec 5 03:03:03 UTC 2018 2018-12-04 22:06:14 -05:00
duianto
ee811f7b13 Unify packages list parentheses style
problem:
some layer packages lists have the open and closing parentheses on the same line
as the first and last listed package, but most seem to have them on a separate
lines.

solution:
put the open and close parentheses on separate lines, except for lists with only
a single package, they are written on the same line as the variable name and
parentheses.

fix the lists indentation
2018-11-21 21:35:38 +00:00
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
Boris Buliga
d81e75584e
bump year in the copyright headers
Folks, this time of year has come. We can bump year in the copyright headers.
Let's celebrate!
2018-10-16 20:27:05 +03:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
Seong Yong-ju
ce1cd872f9 Prefer eslint_d to eslint 2018-09-03 22:13:38 +01:00
Seong Yong-ju
2c21d5098a Add prettier layer
Add prettier layer. Add prettier support for .css/.scss/.less/.js/.json file.
Add layer variables for html, javascript, json.
2018-08-22 00:15:28 +03:00
Ismael
f1066ec66e Fixes React imports when using web beautify. 2018-08-16 00:55:32 +03:00
Thomas de Beauchêne
ce51206ff8 rjsx layer: match .jsx files as well 2018-08-03 01:58:45 +03:00