From 70b8a04d11fb7328935c66b06fb0fad7a4f43e79 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Tue, 29 Mar 2016 22:18:41 +0430 Subject: [PATCH] arduino plugin v2.31 done --- lib/extensions/arduino/init.el | 45 ++++++++++++++++++++++++---------- lib/fg42/base.el | 9 +++++++ 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/lib/extensions/arduino/init.el b/lib/extensions/arduino/init.el index 4c6aab3..67fe684 100644 --- a/lib/extensions/arduino/init.el +++ b/lib/extensions/arduino/init.el @@ -12,22 +12,41 @@ (copy-file makefile-src makefile))))) ;;;###autoload -(defun compile-arduino () - "Compile the current arduino project." - (interactive) - (recompile)) +(defun arduino/compilation-finished (buffer result) + (cond ((string-match "finished" result) + (bury-buffer "*compilation*") + (message "Compilation done.")) + (t + (message "Compilation field.")))) ;;;###autoload -(defun compile-arduino () - "Compile the current arduino project." - (interactive) - (recompile)) +(defun arduino/compilation-and-upload-finished (buffer result) + (cond ((string-match "finished" result) + (bury-buffer "*compilation*") + (message "Compilation done.") + (message "Uploading") + (arduino/upload)) + (t + (message "Compilation field.")))) ;;;###autoload -(defun compile-and-upload-arduino () +(defun arduino/compile () + "Compile the current arduino project." + (interactive) + (let ((compilation-finish-functions 'arduino/compilation-finished)) + (recompile))) + + +(defun arduino/upload () + (interactive) + (let ((compile-command "make upload")) + (recompile))) + +;;;###autoload +(defun arduino/compile-and-upload () "Compile and upload the current arduino project." - (compile-arduino) - (let (compile-command "make upload") + (interactive) + (let ((compilation-finish-functions 'arduino/compilation-and-upload-finished)) (recompile))) ;;;###autoload @@ -40,8 +59,8 @@ (add-hook 'arduino-mode-hook 'create-makefile) (setq auto-mode-alist (cons '("\\.\\(pde\\|ino\\)$" . arduino-mode) auto-mode-alist)) - (global-set-key (kbd "C-c c") 'compile-arduino) - (global-set-key (kbd "C-c u") 'compile-and-upload-arduino) + (global-set-key (kbd "C-c c") 'arduino/compile) + (global-set-key (kbd "C-c u") 'arduino/upload) (autoload 'arduino-mode "arduino-mode" "Arduino editing mode." t))) diff --git a/lib/fg42/base.el b/lib/fg42/base.el index d40e851..579cacd 100644 --- a/lib/fg42/base.el +++ b/lib/fg42/base.el @@ -54,4 +54,13 @@ local should be 't' if theme is on FG42 it self" (get-char-property (point) 'face)))) (if face (message "Face: %s" face) (message "No face at %d" pos)))) +;;;###autoload +(defun env (&rest args) + "setup environment variables given as params" + (require 'seq) + (let ((pairs (seq-partition args 2))) + (dolist (pair pairs) + (progn (setenv (substring (symbol-name (car pair)) 1) (car (cdr pair))))))) + + (provide 'fg42/base)