;;; alchemist-compile.el --- Elixir compilation functionality ;; Copyright © 2014-2015 Samuel Tonini ;; Author: Samuel Tonini . ;;; Commentary: ;; Elixir compilation functionality. ;;; Code: (defgroup alchemist-compile nil "Elixir compilation functionality." :prefix "alchemist-compile-" :group 'alchemist) ;; Variables (defcustom alchemist-compile-command "elixirc" "The shell command for elixirc." :type 'string :group 'alchemist-compile) (defvar alchemist-compile-buffer-name "*elixirc*" "Name of the elixir output buffer.") ;; Private functions (defun alchemist-compile--file (filename) (when (not (file-exists-p filename)) (error "The given file doesn't exists")) (alchemist-compile (list alchemist-compile-command (expand-file-name filename)))) (defun alchemist-compile--read-command (command) (read-shell-command "elixirc command: " (concat command " "))) ;; Public functions (defun alchemist-compile-this-buffer () "Compile the current buffer with elixirc." (interactive) (alchemist-compile--file buffer-file-name)) (defun alchemist-compile-file (filename) "Compile the given FILENAME." (interactive "Felixirc: ") (alchemist-compile--file (expand-file-name filename))) (defun alchemist-compile (cmdlist) "Compile CMDLIST with elixirc." (interactive (list (alchemist-compile--read-command alchemist-compile-command))) (alchemist-buffer-run (alchemist-utils--build-runner-cmdlist cmdlist) alchemist-compile-buffer-name)) (provide 'alchemist-compile) ;;; alchemist-compile.el ends here