Commit graph

85 commits

Author SHA1 Message Date
ralph-cheng a6fc48dba4
bug fix - eslint not available for typescript-tsx-mode (#14685) 2021-04-21 11:04:51 -04:00
Lucius Hu b1f54b3371 typescript: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
- Replaced `(if foo bar nil)` with `(when foo bar)`
2021-04-04 12:48:21 +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
Maximilian Wolff 37008c07c4
[typescript] Restore format bindings for typescript-tsx-mode 2021-02-23 22:17:44 +01:00
Maximilian Wolff 98176b130c
[typescript] Cleanup bindings to avoid duplicate code 2021-02-22 22:32:11 +01:00
Cheng, Rong 1f1ed2a976
Add typescript-format keybinding in typescript-tsx-mode
typescript-format is bound to leader-key == in typescript-mode, but not
in typescript-tsx-mode.
2021-02-22 22:08:30 +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 efcab8f61a
Bind typescript-format to "==" or "=" depending on backend (#14049)
* Bind typescript-format to "==" or "=" depending on backend

This fixes a problem when using 'lsp backend: the lsp layer binds its own
formatting functions under "=" as a prefix. The spacemacs/typescript-format
function which the typescript layer defines has advantages over these, mainly
it respects the typescript-fmt-tool variable (uses the formatting tool that
theuser specified).

This patch solves this by keybinding leader+"==" to the function when
typescript-backend is set to 'lsp and binding to leader+"=" in any other case.

* Fix an accidentally deleted keybinding in table in documentation

* use getter for backend variable

Co-authored-by: nanashi0x74 <rian.lindenberger@mpq.se>
2020-10-17 10:17:41 +02:00
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Maximilian Wolff 15d93914f5
Fix "lsp is no valid syntax checker" error message
See #13841
2020-08-27 00:04:53 +02:00
Tommi Komulainen f57ebbb994 [typescript] configure tslint also for lsp backend 2020-07-28 15:34:27 +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
Seong Yong-ju 889a40cdc3 Add eslint_d support for JavaScript, React, TypeScript modes 2019-11-22 18:03:42 +01:00
smile13241324 7a83b5a7ad Remove javascript-eslint from next checker for lsp-ui
To activate javascript-eslint all lsp layers where
running eslint during lsp-ui flycheck phase. This
caused a lot of side effects and has been deactivated
for now. Eslint shall be called by the lsp server instead.
2019-11-15 00:27:38 +01:00
Aaron Jensen 1bd3777006 Fix tide with tsx files
This was broken in
ac30247811
if you do not specify a backend explicitly
2019-10-18 20:36:05 +02:00
Ryan f1d55ed002 Add eslint as option for linting typescript 2019-06-09 17:59:01 +02:00
Seong Yong-ju 59504029b1 Configure emmet-mode for typescript-tsx-mode 2019-05-31 17:57:37 +02: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
trapez.breen a8b7c0d591 Adding the same setup to typescript-tsx files as to typescript files.
Changed typescript major mode formating to "=".
2019-04-17 00:13:58 +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
Aaron Jensen c9eacd1f7e typescript: Fix jump handlers in tsx 2019-01-15 00:32:46 +02:00
Aaron Jensen d52883fc56 typescript: Fix jump handling with multiple backends
Because the setup functions run after local vars are set, setting jump handlers
needs to happen directly. Otherwise setting them only applies to the next
typescript file that is opened, which may or may not even have the same backend.

Also prevents lsp jump handlers from being installed unless the backend is lsp.
2018-11-20 11:34:24 +00:00
Stéphane Bisinger 8db682fc6d
Fix the rename file and organize import key binding for typescript 2018-10-16 09:19:24 +03:00
Stéphane Bisinger c68c526fd6
Add keybings to rename the file and organize imports in typescript 2018-10-13 19:24:32 +03: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
Roy Choo 43f0b4d617 typescript: remap keybinding to use tide function
- As described in #10870, typescript/jump-to-type-def function is removed,
but the keybinding is still calling it.

- Mapping the keybind to call tide jump to definition directly.
2018-07-11 00:20:07 +03:00
Daniel Perez Alvarez ce1d1a19c4 change En -> Ed 2018-07-04 00:53:38 +03:00
Daniel Perez Alvarez 75e192c897 [typescript] En -> tide-add-tslint-disable-next-line 2018-07-04 00:53:38 +03:00
syl20bnr 19b478efbd Lazy load flycheck 2018-06-11 02:14:12 -04:00
syl20bnr 49b1659a18 Lazy load lsp-mode 2018-06-11 00:28:11 -04:00
Aaron Jensen 95a40af341 Revert "Move yas-activate-extra-mode setup to javascript layer" (#10746)
This reverts commit e4eca01e82.
2018-06-01 20:34:48 -04:00
syl20bnr e4eca01e82 Move yas-activate-extra-mode setup to javascript layer 2018-05-18 01:25:29 -04:00
syl20bnr 1a0e5e34e3 javascript: add safe values for javascript backend 2018-05-13 02:14:09 -04:00
syl20bnr 1a5664e436 typescript: add safe values for typescript-backend variable 2018-05-12 02:51:42 -04:00
syl20bnr f4223543e1 typescript: fix usage of hooks in multiple backends setup
This is necessary as we use hack-local-variables-hook to setup the backends,
at this time it is too late to setup hooks, we need to call the function right
away.
2018-05-12 02:46:51 -04:00
syl20bnr 883f57ee74 typescript: fix hooks to take into account directory variables
Also use spacemacs/add-hooks when applicable.
2018-05-12 02:33:10 -04:00
syl20bnr 14a5b8c21a typescript: use spacemacs/add-to-hooks function 2018-05-12 00:23:10 -04:00
Andrea Moretti 3a516438cd add smartparens mode 2018-05-12 00:23:10 -04:00
Andrea Moretti 8081d51560 typescript: avoid 0 char autocomplete 2018-05-12 00:10:36 -04:00
Ting Zhou 5c14486b62 Fix: remove buggy hooks in javascript and typescript 2018-05-11 01:48:03 -04:00
Ting Zhou 59e0c5683a Add: lsp-typescript support 2018-05-07 23:47:24 -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
Aaron Jensen 31dc961ef8 typescript: Fix eldoc hooks 2018-03-03 22:46:47 -05:00
syl20bnr baf154b0c3 typescript: isolate el-doc configuration
also ensure that eldoc-mode is called after tide-setup
2018-03-03 16:53:42 -05:00
Aaron Jensen e1e4aeb5a4 typescript: Fix eldoc
eldoc cannot be enabled until after tide-setup is run.
2018-03-03 16:47:41 -05:00
syl20bnr 3731d0d3fc Move major specific error key bindings to SPC m E prefix
Also add a convention for it.
2018-03-03 16:45:00 -05:00
Simon Altschuler ed1cccd319 Rename typescript "rename" bindings to "refactor" 2018-03-03 16:30:13 -05:00