From 644835c3194858b7d9e12377cec7ac577a2a02fd Mon Sep 17 00:00:00 2001 From: Shinmera Date: Fri, 5 Sep 2014 19:19:16 +0200 Subject: [PATCH] Added emacs LASS.EL support file. --- lass.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lass.el diff --git a/lass.el b/lass.el new file mode 100644 index 0000000..b480667 --- /dev/null +++ b/lass.el @@ -0,0 +1,21 @@ +;; This file is a part of LASS +;; (c) 2014 TymoonNET/NexT http://tymoon.eu (shinmera@tymoon.eu) +;; Author: Nicolas Hafner + +(defun lass-compile-current () + (interactive) + (or + (when (and (slime-connected-p) + (or (slime-eval '(cl:not (cl:null (cl:find-package :lass)))) + (and (slime-eval '(cl:not (cl:null (cl:find-package :ql)))) + (slime-eval '(ql:quickload :lass))))) + (message "LASS compiled to %s" (slime-eval `(uiop:native-namestring (lass:generate (uiop:parse-native-namestring ,(buffer-file-name))))))) + (message "LASS compiled. %s" (shell-command-to-string (format "lass %s" (shell-quote-argument (buffer-file-name))))))) + +(define-derived-mode lass-mode common-lisp-mode + "LASS" "Mode with auto-compiling for LASS files." + (add-hook 'after-save-hook 'lass-compile-current nil t)) + +(add-to-list 'auto-mode-alist '("\\.lass\\'" . lass-mode)) + +(provide 'lass)