Replace :xref-backend setting with :jump

Which takes :definitions, :references, :documentation and :xref-backend.
Each accepts a function that will jump to definitions, references, and
documentation respectively.

If a major-mode has an :xref-backend, you don't need :definitions or
:references.
This commit is contained in:
Henrik Lissner 2017-06-19 00:25:49 +02:00
parent 928812da8a
commit bc3aee2a4f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
6 changed files with 102 additions and 56 deletions

View file

@ -7,6 +7,7 @@
:config
(set! :repl 'emacs-lisp-mode #'+emacs-lisp/repl)
(set! :eval 'emacs-lisp-mode #'+emacs-lisp-eval)
(set! :jump 'emacs-lisp-mode :documentation #'describe-symbol)
(set! :rotate 'emacs-lisp-mode
:symbols '(("t" "nil")
("let" "let*")

View file

@ -11,6 +11,10 @@
(add-hook! 'js2-mode-hook
#'(flycheck-mode highlight-indentation-mode rainbow-delimiters-mode))
(set! :repl 'js2-mode '+javascript/repl)
(set! :electric 'js2-mode :chars '(?\} ?\) ?.))
(set! :jump 'js2-mode :xref-backend #'xref-js2-xref-backend)
;; Conform switch-case indentation to editorconfig's config
(set! :editorconfig :add '(js2-mode js2-basic-offset js-switch-indent-offset))
@ -23,10 +27,6 @@
(setq-local flycheck-javascript-eslint-executable eslint))))
(add-hook 'flycheck-mode-hook #'+javascript|init-flycheck-elint)
(set! :repl 'js2-mode '+javascript/repl)
(set! :electric 'js2-mode :chars '(?\} ?\) ?.))
(set! :xref-backend 'js2-mode 'xref-js2-xref-backend)
(sp-with-modes '(js2-mode rjsx-mode)
(sp-local-pair "/* " " */" :post-handlers '(("| " "SPC"))))

View file

@ -26,10 +26,7 @@
(flycheck-mode +1)
(eldoc-mode +1)))
(add-hook! (typescript-mode web-mode) #'+typescript|tide-setup)
(map! :map typescript-mode-map
:m "gd" #'tide-jump-to-definition
:localleader
(map! :localleader
:m "fh" #'tide-documentation-at-point))
@ -37,6 +34,11 @@
:after typescript-mode
:config
(set! :company-backend 'typescript-mode '(company-tide))
(set! :jump 'typescript-mode
:definition #'tide-jump-to-definition
:references #'tide-references
:documentation #'tide-documentation-at-point)
(setq tide-format-options
'(:insertSpaceAfterFunctionKeywordForAnonymousFunctions t
:placeOpenBraceOnNewLineForFunctions nil))