;;; alchemist-message.el --- Internal message functionality ;; Copyright © 2014-2015 Samuel Tonini ;; Author: Samuel Tonini . ;;; Commentary: ;; Internal message functionality. ;;; Code: (defgroup alchemist-message nil "Internal message functionality." :prefix "alchemist-message-" :group 'alchemist) ;; Variables (defvar alchemist-message--buffer-name "*alchemist message*") (defun alchemist-message (message) (alchemist-message--initialize-buffer message)) (defun alchemist-message--initialize-buffer (message) (display-buffer (get-buffer-create alchemist-message--buffer-name)) (with-current-buffer alchemist-message--buffer-name (let ((inhibit-read-only t) (buffer-undo-list t)) (erase-buffer) (insert message) (goto-char (point-min)) (ansi-color-apply-on-region (point-min) (point-max)) (read-only-mode) (alchemist-message-mode 1)))) (define-minor-mode alchemist-message-mode "Minor mode for displaying alchemist messages" :group 'alchemist-message :lighter " alchemist-msg" :keymap '(("q" . quit-window))) (provide 'alchemist-message) ;;; alchemist-message.el ends here