;;; -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: (defun request-sudo () "Uses TRAMP to edit current opened file as root." (interactive) (when buffer-file-name (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) (add-hook 'prog-mode-hook (lambda () (font-lock-add-keywords nil '(("\\<\\(FIX\\(ME\\)?\\|TODO\\)" 1 font-lock-warning-face t))))) (setopt display-line-numbers-type 'relative) (defvar bd/enable-line-numbers-in-hooks '(prog-mode-hook) "List of hook symbols to add `display-line-numbers-mode' to.") (mapc (lambda (hook) (add-hook hook #'display-line-numbers-mode)) bd/enable-line-numbers-in-hooks) (indent-tabs-mode 0) ;; skr (skribe) is a scheme extension (add-to-list 'auto-mode-alist '("\\.skr\\'" . scheme-mode)) (use-package autoformat :custom (autoformat-mode 1)) (use-package compile :custom (compilation-always-kill t) (compilation-scroll-output 'first-error) :config (defun bd/compile-dwim (f) (let ((default-directory (or (locate-dominating-file "." "Makefile") ;; make (locate-dominating-file "." "build.xml") ;; ant (locate-dominating-file "." "manifest.scm") ;; guix default-directory))) (call-interactively f))) (keymap-set prog-mode-map "C-," #'(lambda () (interactive) (bd/compile-dwim #'recompile))) (keymap-set prog-mode-map "C-<" #'(lambda () (interactive) (bd/compile-dwim #'compile)))) (use-package man :custom (Man-notify-method 'pushy)) (use-package rainbow-mode :hook css-mode) (use-package lua-mode) (use-package magit :commands magit-status :custom (magit-define-global-key-bindings 'recommended)) (use-package tex :ensure auctex :hook ((latex-mode) (text-mode . (lambda() (setq ispell-parser 'tex)))) ; improves ispell in LaTeX :config (push '(output-pdf "Zathura") TeX-view-program-selection) :custom (TeX-auto-save t) ;; better support for latex packages (TeX-parse-self t)) (use-package rainbow-delimiters :hook prog-mode) (use-package paredit :hook (emacs-lisp-mode lisp-mode scheme-mode lisp-interaction-mode)) (provide 'bd--devel) ;;; bd--devel ends here