2015-05-07 03:19:24 -04:00
|
|
|
(defun my-java-project-package ()
|
|
|
|
(if (eq major-mode 'java-mode)
|
|
|
|
(s-chop-suffix "." (s-replace "/" "." (f-dirname (f-relative (buffer-file-name)
|
2015-05-14 23:50:20 -04:00
|
|
|
(concat (project-root) "/src/")))))
|
2015-05-07 03:19:24 -04:00
|
|
|
""))
|
|
|
|
|
|
|
|
(defun my-java-class-name ()
|
|
|
|
(if (eq major-mode 'java-mode)
|
|
|
|
(f-no-ext (f-base (buffer-file-name)))
|
|
|
|
""))
|
|
|
|
|
2014-08-29 22:37:25 -04:00
|
|
|
(use-package eclim
|
2014-08-09 19:25:06 -04:00
|
|
|
:commands (eclim-mode global-eclim-mode)
|
2015-05-14 23:50:20 -04:00
|
|
|
:init
|
2014-08-09 19:25:06 -04:00
|
|
|
(progn
|
2014-09-30 16:34:25 -04:00
|
|
|
(setq eclim-eclipse-dirs '("/Applications/eclipse")
|
|
|
|
eclim-executable "/Applications/eclipse/eclim")
|
2015-05-14 23:50:20 -04:00
|
|
|
(when (f-exists? eclim-executable)
|
|
|
|
(add-hook 'java-mode-hook 'eclim-mode)))
|
|
|
|
:config
|
|
|
|
(progn
|
2014-08-09 19:25:06 -04:00
|
|
|
;; (use-package eclim-ant)
|
|
|
|
;; (use-package eclim-maven)
|
|
|
|
(use-package eclim-problems)
|
|
|
|
(use-package eclim-project)
|
|
|
|
(use-package eclimd)
|
2014-08-07 18:35:22 -04:00
|
|
|
|
2014-08-09 19:25:06 -04:00
|
|
|
(setq help-at-pt-display-when-idle t)
|
|
|
|
(setq help-at-pt-timer-delay 0.1)
|
2014-11-29 20:21:03 -05:00
|
|
|
(help-at-pt-set-timer)
|
|
|
|
|
2015-05-14 23:50:20 -04:00
|
|
|
(push "*eclim: problems*" winner-boring-buffers)
|
|
|
|
|
2014-12-05 17:28:03 -05:00
|
|
|
(after "company"
|
|
|
|
(use-package company-emacs-eclim
|
2015-05-07 03:19:24 -04:00
|
|
|
:config (company-emacs-eclim-setup)))
|
2014-12-05 17:28:03 -05:00
|
|
|
|
2014-11-29 20:21:03 -05:00
|
|
|
(bind 'motion java-mode-map "gd" 'eclim-java-find-declaration)))
|
|
|
|
|
2015-05-14 23:50:20 -04:00
|
|
|
(use-package groovy-mode :mode "\\.gradle$")
|
|
|
|
|
2015-05-07 03:19:24 -04:00
|
|
|
(use-package android-mode
|
|
|
|
:defer t
|
|
|
|
:init
|
2015-05-14 23:50:20 -04:00
|
|
|
(progn
|
|
|
|
(defun my-android-mode-enable-maybe ()
|
|
|
|
(let ((root (project-root)))
|
|
|
|
(when (or (project-has-files "local.properties" root)
|
|
|
|
(project-has-files "AndroidManifest.xml" root)
|
|
|
|
(project-has-files "src/main/AndroidManifest.xml" root))
|
|
|
|
(android-mode +1)
|
|
|
|
(set-build-command "./gradlew %s" "build.gradle"))))
|
|
|
|
(after "company" (add-to-list 'company-dictionary-major-minor-modes 'android-mode))
|
|
|
|
(add-hook 'java-mode-hook 'my-android-mode-enable-maybe)
|
|
|
|
(add-hook 'groovy-mode-hook 'my-android-mode-enable-maybe)
|
|
|
|
(add-hook 'nxml-mode-hook 'my-android-mode-enable-maybe)
|
|
|
|
(add-hook! 'android-mode-hook (my--init-yas-mode 'android-mode))))
|
2015-05-07 03:19:24 -04:00
|
|
|
|
2014-12-10 15:54:36 -05:00
|
|
|
|
2014-12-12 15:26:34 -05:00
|
|
|
(provide 'init-java)
|
|
|
|
;;; init-java.el ends here
|