diff options
Diffstat (limited to '.config/emacs/bd-development.el')
-rw-r--r-- | .config/emacs/bd-development.el | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/.config/emacs/bd-development.el b/.config/emacs/bd-development.el new file mode 100644 index 0000000..18bc6d5 --- /dev/null +++ b/.config/emacs/bd-development.el @@ -0,0 +1,93 @@ +;; -*- lexical-binding: t; -*- + +(defun cleanup-buffer () + (interactive) + (delete-trailing-whitespace) + (untabify (point-min) (point-max)) + (indent-region (point-min) (point-max))) + +(require 'display-line-numbers) + +(defcustom display-line-numbers-exempt-modes + '(vterm-mode eshell-mode shell-mode term-mode ansi-term-mode image-mode doc-view-mode newsticker-treeview-mode newsticker-treeview-item-mode dired-mode org-agenda-mode) + "Major modes on which to disable line numbers." + :group 'display-line-numbers + :type 'list + :version "green") + +(defun display-line-numbers--turn-on () + "Turn on line numbers except for certain major modes. +Exempt major modes are defined in `display-line-numbers-exempt-modes'." + (unless (or (minibufferp) + (member major-mode display-line-numbers-exempt-modes)) + (display-line-numbers-mode))) + +(use-package tex + :ensure auctex + :hook + ((latex-mode) + (text-mode . (lambda() (setq ispell-parser 'tex)))) ; improves ispell in LaTeX + :custom + (TeX-auto-save t) + ;; better support for latex packages + (TeX-parse-self t) + (TeX-view-program-selection '(((output-dvi has-no-display-manager) + "dvi2tty") + ((output-dvi style-pstricks) + "dvips and gv") + (output-dvi "xdvi") + (output-pdf "Zathura") + (output-html "xdg-open")))) + +(use-package company + :hook (prog-mode text-mode) + :config + (global-company-mode) + :custom + (company-global-modes '(bash-ts-mode emacs-lisp-mode + slime-mode js-ts-mode + json-ts-mode css-ts-mode + python-ts-mode java-ts-mode)) + (company-set-idle-delay (lambda () (if (company-in-string-or-comment) nil 0.3))) + (company-minimum-prefix-length 1) + (company-tooltip-flip-when-above t) + (company-show-numbers t) + (company-tooltip-align-annotations t) + (company-tooltip-limit 15) + (company-selection-wrap-around t)) + +(use-package slime + :commands slime + :config + (add-hook 'slime-mode-hook + (lambda () + (local-set-key (kdb "C-c C-k") 'slime-eval-buffer))) + :custom + ;; more memory for ml libraries + (inferior-lisp-program "sbcl --dynamic-space-size 4096")) + +(use-package magit + :commands magit-status + :custom + (magit-define-global-key-bindings 'recommended)) + +(use-package whole-line-or-region + :defer 15 + :config + (whole-line-or-region-global-mode 1)) + +(use-package python + :mode (("\\.py\\'" . python-ts-mode))) + +(use-package conda + :after python + :config + (conda-env-initialize-interactive-shells) + (custom-set-variables '(conda-anaconda-home "/home/bdunahu/miniforge3/")) + ;; kind of bad + (when (executable-find "ipython") + (setq python-shell-interpreter "ipython" + python-shell-interpreter-args "--simple-prompt"))) + +;; compilation mode +(setq compilation-always-kill t) |