From c70021d350a618ec29b29dbcd67b0d8cb221001b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 3 May 2015 01:48:37 -0400 Subject: [PATCH] Fix build and run commands --- init/init-dev.el | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/init/init-dev.el b/init/init-dev.el index 606b14069..d6364b839 100644 --- a/init/init-dev.el +++ b/init/init-dev.el @@ -31,8 +31,12 @@ (after "evil" (evil-ex-define-cmd "ref[actor]" 'emr-show-refactor-menu)))) -(bind my-mode-map - "M-b" 'my:build) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Code building +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(bind my-mode-map "M-b" 'my:build) (defvar my-build-command "make %s") (make-variable-buffer-local 'my-build-command) @@ -49,8 +53,33 @@ If ARG is nil this function calls `recompile', otherwise it calls (f-exists? (f-expand "Makefile" path))) default-directory))) (if makepath - (compile (format "cd '%s' && %s" makepath (format my-make-command (or arg "")))) + (compile (format "cd '%s' && %s" makepath (format my-build-command (or arg "")))) (error "Could not find Makefile")))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Code running +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(evil-define-operator my:eval-region (beg end) + :keep-visual t + :move-point nil + (interactive "") + (let ((interp (-my-get-interpreter))) + (when interp (shell-command-on-region beg end interp)))) + +(evil-define-command my:eval-buffer () + (interactive) + (let ((interp (-my-get-interpreter))) + (when interp (shell-command-on-region (point-min) (point-max) interp)))) + +(bind 'motion "gr" 'my:eval-region + "M-r" 'my:eval-region) +(bind 'normal "gR" 'my:eval-buffer + "M-R" 'my:eval-buffer) + +(defun -my-get-interpreter () + (car (--first (eq (cdr it) major-mode) interpreter-mode-alist))) + (provide 'init-dev) ;;; init-dev.el ends here