X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/46467dc3be8cb1d218abb936c1eb21ad7313f7f3..a25e56597e6ad13f174ae0ecaee4ab31c072aab2:/init.org?ds=inline diff --git a/init.org b/init.org index 13a3c8f..058b9b0 100644 --- a/init.org +++ b/init.org @@ -646,7 +646,10 @@ Enable =winner-mode=. ("C-c b s" . save-buffer) ("C-c S" . save-buffer) ("C-c o" . other-window) - ("C-c q q" . save-buffers-kill-terminal)) + ("C-c q q" . save-buffers-kill-terminal) + ("C-c F m" . make-frame-command) + ("C-c F d" . delete-frame) + ("C-c F D" . delete-other-frames)) #+end_src ** Packages @@ -690,7 +693,9 @@ In short, my favourite way of life. org-src-preserve-indentation nil org-edit-src-content-indentation 0 org-log-done 'time) - :hook (org-mode . org-indent-mode) + :hook ((org-mode . org-indent-mode) + (org-mode . auto-fill-mode) + (org-mode . flyspell-mode)) :custom (org-latex-packages-alist '(("" "listings") ("" "color")))) @@ -1060,7 +1065,8 @@ TODO: break this giant source block down into individual org sections. :defer 5 :bind (:map company-active-map - ([tab] . company-complete-common-or-cycle)) + ([tab] . company-complete-common-or-cycle) + ([escape] . company-abort)) :custom (company-idle-delay 0.3) (company-minimum-prefix-length 1) @@ -1129,9 +1135,13 @@ TODO: break this giant source block down into individual org sections. #+begin_src emacs-lisp (eval-when-compile (defvar lean-mode-map)) (use-package lean-mode + :defer 2 :bind (:map lean-mode-map - ("S-SPC" . company-complete))) -#+end_src + ("S-SPC" . company-complete)) + :config + (require 'lean-input) + (setq default-input-method "Lean")) + #+end_src ** Haskell @@ -1368,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]] @@ -1520,7 +1594,8 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (use-package highlight-indent-guides :demand t :hook ((prog-mode . highlight-indent-guides-mode) - (org-mode . highlight-indent-guides-mode)) + ;; (org-mode . highlight-indent-guides-mode) + ) :config (setq highlight-indent-guides-character ?\|) (setq highlight-indent-guides-auto-enabled nil) @@ -1535,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 @@ -1612,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