def-menu was clumsy. We could use a better UI for refactoring commands, but they should be available via localleader keybinds in any case.
50 lines
1.6 KiB
EmacsLisp
50 lines
1.6 KiB
EmacsLisp
;;; lang/java/+eclim.el -*- lexical-binding: t; -*-
|
|
;;;###if (featurep! +eclim)
|
|
|
|
;; NOTE This submodule is incomplete
|
|
|
|
(def-package! eclim
|
|
:hook (java-mode . eclim-mode)
|
|
:config
|
|
(set-lookup-handlers! 'java-mode
|
|
:definition #'eclim-java-find-declaration
|
|
:references #'eclim-java-find-references
|
|
:documentation #'eclim-java-show-documentation-for-current-element)
|
|
|
|
(require 'eclimd)
|
|
(setq help-at-pt-display-when-idle t
|
|
help-at-pt-timer-delay 0.1)
|
|
(help-at-pt-set-timer)
|
|
|
|
(map! :map java-mode-map
|
|
:localleader
|
|
(:prefix "r"
|
|
:n "gc" #'eclim-java-constructor
|
|
:n "gg" #'eclim-java-generate-getter-and-setter
|
|
:n "oi" #'eclim-java-import-organize
|
|
:n "f" #'eclim-java-format
|
|
:n "r" #'eclim-java-refactor-rename-symbol-at-point)
|
|
(:prefix "h"
|
|
:n "." #'eclim-java-show-documentation-for-current-element
|
|
:n "r" #'eclim-java-find-references
|
|
:n "c" #'eclim-java-call-hierarchy
|
|
:n "h" #'eclim-java-hierarchy
|
|
:n "p" #'eclim-problems
|
|
:n "r" #'meghanada-reference
|
|
:n "t" #'meghanada-typeinfo)
|
|
(:prefix "b"
|
|
:n "b" #'eclim-project-build
|
|
:n "c" #'eclim-project-create
|
|
:n "d" #'eclim-project-delete
|
|
:n "g" #'eclim-project-goto
|
|
:n "i" #'eclim-project-import
|
|
:n "k" #'eclim-project-close
|
|
:n "o" #'eclim-project-open
|
|
:n "u" #'eclim-project-update)))
|
|
|
|
|
|
(def-package! company-emacs-eclim
|
|
:when (featurep! :completion company)
|
|
:after java-mode
|
|
:config
|
|
(set-company-backend! 'java-mode '(company-emacs-eclim)))
|