Commit graph

185 commits

Author SHA1 Message Date
Henrik Lissner
61a6be264e Associate *.es6 files with js2-mode 2021-02-05 04:45:53 -05:00
Petri Lehtinen
ecc6fcd8d5 Bump :lang javascript
ananthakumaran/tide@f0b6dac -> ananthakumaran/tide@fa617f5

New version of tide.el introduces xref backend.
2020-09-01 13:53:07 +03:00
Henrik Lissner
7081d833f6
Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
Seong Yong-ju
63113ff6ce lang/javascript: Enable TSLint and ESLint for TypeScript-TSX 2020-05-31 00:57:38 +09:00
Henrik Lissner
348d5751fd
Fix #3041: void-function +javascript-init-tide-or-lsp-maybe-h error 2020-05-05 12:25:07 -04:00
Huy Duong
8ae7bf0ef1 Fix tide not working with rjsx-mode
Tide doesn't work with rjsx-mode after changing to *-mode-local-vars-hook.
Fixed by adding +javascript-init-lsp-or-tide-maybe-h for
rjsx-mode-local-vars-hook as well.

Signed-off-by: Huy Duong <huy.duong@employmenthero.com>
2020-05-04 15:28:03 +07:00
Henrik Lissner
b7836322f6
Refactor tide-mode's lookup handlers
The remap bypass is no longer necessary.
2020-04-23 23:56:17 -04:00
Henrik Lissner
daec7b5057
Remove eslintd-fix package
This package isn't hooked up to anything and has no keybinds. Its config
is so trivial that users can install it themselves, so I decided it
won't be included with the module by default.
2020-04-23 23:56:17 -04:00
Henrik Lissner
28ec59cd20
lang/javascript: start tide/lsp later
Gives direnv and other mode hooks a chance to set up the environment
first.
2020-04-23 23:56:17 -04:00
Henrik Lissner
17dd1c6527
Add add-node-modules-path package to lang/javascript
And use it on json-mode.
2020-04-23 23:28:50 -04:00
Henrik Lissner
169f9a6121
General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
Henrik Lissner
c1046231ce
Fix #1792: tide-server-max-response-length = 512kb 2020-03-14 22:00:59 -04:00
Henrik Lissner
9816209484
Fix wrong-type-arg errors in ediff+web-mode buffers 2020-02-27 11:29:50 -05:00
Henrik Lissner
10623868b8
Fix #2567: unbound js2-refactor keybinds 2020-02-19 23:41:39 -05:00
Seong Yong-ju
f31840ac9e Improve solidity layer
Enable +javascript-npm-mode in solidity-mode when package.json exists.
Set docsets for solidity-mode.
2020-01-29 23:59:45 +09:00
Henrik Lissner
12094788d7
Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
Henrik Lissner
5c45a9eff9
Fall back to typescript-mode for *.tsx #2252 2019-12-26 15:00:44 -05:00
Henrik Lissner
5f2e708cd7
Minor refactors and reformatting 2019-12-12 03:48:25 -05:00
johsi-k
6625ef7177 [lang/javascript] Add prefix names to JavaScript bindings (#1991)
* add prefix names to javascript bindings
* move prefixes into respective package declarations
2019-11-10 04:33:06 -05:00
Henrik Lissner
d0e3bc3455
Fix #1765: enabling tide when lsp is active 2019-09-08 19:20:42 -04:00
Henrik Lissner
ac5168f8af
lang/javascript: use-package -> use-package! #1712 2019-09-06 01:32:20 -04:00
Henrik Lissner
e996216714
Have lsp! return non-nil if successful
And fix an issue where +javascript-init-lsp-or-tide-maybe-h would
reference lsp-mode in the rare case where lsp-mode isn't defined (likely
because the user forgot to run `doom refresh` after enabling the :tools
lsp module).
2019-09-02 21:43:12 -04:00
Henrik Lissner
21883d9700
lang/javascript: fix npm-mode keybinds #1712 2019-08-28 22:41:31 -04:00
Henrik Lissner
09f077259e
lang/javascript: make npm keybinds more accessible #1712 2019-08-28 15:17:59 -04:00
Henrik Lissner
43ebba886f
lang/javascript: fix eldoc in tide-mode 2019-08-27 00:05:12 -04:00
Henrik Lissner
5454ca4c75
lang/javascript: enable eldoc-mode on tide-mode-hook 2019-08-08 10:05:39 -04:00
Henrik Lissner
c67c503392
lang/javascript: js2-idle-timer-delay = 0.1
Makes syntax highlighting update a little faster.
2019-07-29 18:57:18 +02:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
060ede0e2e
General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
0a84d2f0a9
core-lib: add auto-minor-mode, revise def-project-mode!
- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
2019-07-22 02:30:39 +02:00
Henrik Lissner
28d04a6f5f
Refactor +javascript|init-lsp-or-tide-maybe
LSP doesn't _need_ node to enable itself.
2019-06-14 18:38:18 +02:00
Henrik Lissner
ff26cf683c
lang/javascript: update hook reference
Wrong function!
2019-06-11 16:43:56 +02:00
Henrik Lissner
b3c27ebe60
lang/javscript: unify lsp & tide initialization
The goal was to enable lsp (if +lsp is enabled), failing that it would
fall back on tide. This also adds lsp+tide support for tsx files opened
in web-mode.
2019-06-11 08:00:14 +02:00
Henrik Lissner
9402d07228
lang/javascript: fix tide starting before lsp
And refactor to use ;;;###package cookies & outline-mode headings
2019-05-06 16:55:49 -04:00
Henrik Lissner
e5c8ced1a6
lang/javascript: if lsp fails, fallback to tide 2019-05-04 19:13:26 -04:00
Henrik Lissner
1c976dc0e4
Minor, general refactors
Also rename custom lookup handlers for consistency and use the new
inline :async property instead.
2019-05-02 17:57:31 -04:00
Henrik Lissner
77e4cc4d58
💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Eric Solomon
040cd18573 Correct Javascript module tide format mapping 2019-04-23 11:17:29 -05:00
Henrik Lissner
742687a51e
Add delq! and pushnew! macros
And move projectile configs to their respective modules (and out of
package configs).
2019-04-08 23:01:30 -04:00
chrunchyjesus
1f1e4d8d83 fix typo (#1303) 2019-04-02 15:37:52 -04:00
Henrik Lissner
3eaa57c747
Add packages.json to projectile root files #1295 2019-04-02 00:52:10 -04:00
Henrik Lissner
5e3c8c5f92
lang/javascript: fix documentation lookup
Due to how tide-documentation-at-point is designed, it isn't compatible
with lookup handlers. A better solution is needed.
2019-03-18 01:08:59 -04:00
Henrik Lissner
bf940da52a
Don't change projectile vars before it is loaded #1219 2019-03-05 19:16:08 -05:00
Henrik Lissner
843b29a4b5
Add node_modules to projectile ignored dirs 2019-03-04 20:47:26 -05:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Henrik Lissner
cb923eadcc
Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
Henrik Lissner
94b16cba6c
Standardize REPL commands & improve SPC o r
- SPC o r now prompts for a REPL to open when none was found for the
  current buffer.
- REPL handlers must now follow the naming convention "*/open*-repl".
  e.g. +python/open-ipython-repl, +emacs-lisp/open-repl, etc.
- +eval/open-repl has been split in two:
  - +eval/open-repl-other-window
  - +eval/open-repl-same-window
2019-02-18 01:59:56 -05:00
Henrik Lissner
7645f843ac
lang/javascript: mode-name = JS2
A shorter name looks nicer in the modeline.
2019-01-08 00:38:05 -05:00