|
|
|
@ -101,6 +101,34 @@ |
|
|
|
* Major modes |
|
|
|
** Java |
|
|
|
** JavaScript |
|
|
|
#+BEGIN_SRC emacs-lisp |
|
|
|
(use-package js2-mode |
|
|
|
:mode "\\.js\\'" |
|
|
|
:hook ((js2-mode . js2-imenu-extras-mode) |
|
|
|
(js2-mode . (lambda () (add-hook 'xref-backend-functions #'xref-js2-xref-backend nil t)))) |
|
|
|
:config |
|
|
|
(use-package js2-refactor |
|
|
|
:hook (js2-mode . js2-refactor-mode) |
|
|
|
:bind |
|
|
|
(:map js2-mode-map |
|
|
|
("C-k" . js2r-kill)) |
|
|
|
:config |
|
|
|
(js2r-add-keybindings-with-prefix "C-c C-r")) |
|
|
|
(use-package xref-js2 |
|
|
|
:demand t) |
|
|
|
(define-key js-mode-map (kbd "M-.") nil) |
|
|
|
(defun rlbr/jump-to-definition () |
|
|
|
"Jump to a definition." |
|
|
|
(interactive) |
|
|
|
(condition-case-unless-debug nil |
|
|
|
(js2-jump-to-definition) |
|
|
|
(error |
|
|
|
(progn |
|
|
|
(ignore-errors |
|
|
|
(xref-pop-marker-stack)) |
|
|
|
(xref-find-definitions (xref-backend-identifier-at-point (xref-find-backend))))))) |
|
|
|
(define-key js-mode-map (kbd "M-.") #'rlbr/jump-to-definition)) |
|
|
|
#+END_SRC |
|
|
|
** Magit |
|
|
|
#+BEGIN_SRC emacs-lisp |
|
|
|
(use-package magit |
|
|
|
|