[emacs] some pdf-tools customizations
[~bandali/configs] / init.org
index e4c7a1e..058b9b0 100644 (file)
--- a/init.org
+++ b/init.org
@@ -1378,6 +1378,70 @@ instead.
   :mode "\\.nix\\'")
 #+end_src
 
+** Java
+
+*** meghanada
+
+#+begin_src emacs-lisp :tangle yes
+(use-package meghanada
+  :bind
+  (:map meghanada-mode-map
+        (("C-M-o" . meghanada-optimize-import)
+         ("C-M-t" . meghanada-import-all)))
+  :hook (java-mode . meghanada-mode))
+#+end_src
+
+*** lsp-java
+
+#+begin_src emacs-lisp :tangle no
+(use-package treemacs)
+
+(use-package yasnippet
+  :config
+  ;; (yas-global-mode)
+  )
+
+(use-package lsp-mode
+  :init (setq lsp-eldoc-render-all nil
+              lsp-highlight-symbol-at-point nil)
+  )
+
+(use-package hydra)
+
+(use-package company-lsp
+  :after  company
+  :config
+  (setq company-lsp-cache-candidates t
+        company-lsp-async t))
+
+(use-package lsp-ui
+  :config
+  (setq lsp-ui-sideline-update-mode 'point))
+
+(use-package lsp-java
+  :config
+  (add-hook 'java-mode-hook
+           (lambda ()
+             (setq-local company-backends (list 'company-lsp))))
+
+  (add-hook 'java-mode-hook 'lsp-java-enable)
+  (add-hook 'java-mode-hook 'flycheck-mode)
+  (add-hook 'java-mode-hook 'company-mode)
+  (add-hook 'java-mode-hook 'lsp-ui-mode))
+
+(use-package dap-mode
+  :after lsp-mode
+  :config
+  (dap-mode t)
+  (dap-ui-mode t))
+
+(use-package dap-java
+  :after (lsp-java))
+
+(use-package lsp-java-treemacs
+  :after (treemacs))
+#+end_src
+
 * Emacs Enhancements
 
 ** [[https://github.com/justbur/emacs-which-key][which-key]]
@@ -1546,13 +1610,17 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
 #+begin_src emacs-lisp
 (use-package pdf-tools
   :magic ("%PDF" . pdf-view-mode)
-  :config (pdf-tools-install)
+  :config
+  (setq pdf-view-resize-factor 1.05)
+  (pdf-tools-install)
   :bind
   (:map pdf-view-mode-map
         ("C-s" . isearch-forward)
         ("C-r" . isearch-backward)
         ("j"   . pdf-view-next-line-or-next-page)
-        ("k"   . pdf-view-previous-line-or-previous-page)))
+        ("k"   . pdf-view-previous-line-or-previous-page)
+        ("h"   . image-backward-hscroll)
+        ("l"   . image-forward-hscroll)))
 #+end_src
 
 ** anzu
@@ -1623,8 +1691,9 @@ See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]].
 #+begin_src emacs-lisp
 (defun amin/notmuch ()
   "Delete other windows, then launch `notmuch'."
-  (interactive)
-  (delete-other-windows)
+  (interactive
+   (when (equal current-prefix-arg nil)
+     (delete-other-windows)))
   (notmuch))
 
 (use-package notmuch