doomemacs/init/init-dev.el

83 lines
2.6 KiB
EmacsLisp
Raw Normal View History

2015-05-07 03:19:24 -04:00
(use-package hl-todo
:defer t
:init (add-hook 'after-change-major-mode-hook 'hl-todo-mode))
2014-12-10 15:54:36 -05:00
(use-package dash-at-point
:if is-mac
:commands (dash-at-point dash-at-point-with-docset))
(use-package rainbow-delimiters
:commands rainbow-delimiters-mode
:config
(progn
(setq rainbow-delimiters-outermost-only-face-count 1)
(set-face-attribute 'rainbow-delimiters-depth-1-face nil
:foreground 'unspecified
:inherit 'my-outermost-paren-face))
:init
(progn
(add-hook 'emacs-lisp-mode-hook 'rainbow-delimiters-mode)
2015-04-27 23:25:50 -04:00
(add-hook 'js2-mode-hook 'rainbow-delimiters-mode)
(add-hook 'scss-mode-hook 'rainbow-delimiters-mode)))
2014-12-10 15:54:36 -05:00
;;; Config modes
(use-package yaml-mode
:defer t
:config (add-hook 'yaml-mode-hook 'enable-tab-width-2))
(use-package emr
:commands (emr-initialize emr-show-refactor-menu)
2015-05-07 03:19:24 -04:00
:init (add-hook 'prog-mode-hook 'emr-initialize)
:config (bind popup-menu-keymap [escape] 'keyboard-quit))
2014-12-10 15:54:36 -05:00
2015-05-03 01:48:37 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Code building
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-04-27 23:25:50 -04:00
(defvar my-build-command "make %s")
(make-variable-buffer-local 'my-build-command)
(add-hook! 'enh-ruby-mode-hook (setq my-build-command "rake %s"))
(evil-define-command my:build (arg)
"Call a build command in the current directory.
If ARG is nil this function calls `recompile', otherwise it calls
`compile' passing ARG as build command."
(interactive "<sh>")
(let ((makepath (f-traverse-upwards
(lambda (path)
(f-exists? (f-expand "Makefile" path)))
default-directory)))
(if makepath
2015-05-03 01:48:37 -04:00
(compile (format "cd '%s' && %s" makepath (format my-build-command (or arg ""))))
2015-04-27 23:25:50 -04:00
(error "Could not find Makefile"))))
2014-12-10 15:54:36 -05:00
2015-05-03 01:48:37 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Code running
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(evil-define-operator my:eval-region (beg end)
:keep-visual t
:move-point nil
(interactive "<r>")
2015-05-07 03:19:24 -04:00
(cond ((eq major-mode 'emacs-lisp-mode)
(eval-region beg end))
(t
(let ((interp (my--get-interpreter)))
(when interp (shell-command-on-region beg end interp))))))
2015-05-03 01:48:37 -04:00
(evil-define-command my:eval-buffer ()
(interactive)
2015-05-07 03:19:24 -04:00
(cond ((eq major-mode 'emacs-lisp-mode)
(eval-buffer))
(t
(let ((interp (my--get-interpreter)))
(when interp (shell-command-on-region (point-min) (point-max) interp))))))
2015-05-03 01:48:37 -04:00
2015-05-07 03:19:24 -04:00
(defun my--get-interpreter ()
2015-05-03 01:48:37 -04:00
(car (--first (eq (cdr it) major-mode) interpreter-mode-alist)))
2014-12-10 15:54:36 -05:00
(provide 'init-dev)
;;; init-dev.el ends here