From 07c674572ed1ea9c9e4554c5e0a360ff4d2adeb4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 11 May 2016 22:49:06 -0400 Subject: [PATCH] defuns-scss.el -> defuns-css.el --- modules/defuns/defuns-css.el | 53 +++++++++++++++++++++++++++++++++++ modules/defuns/defuns-scss.el | 31 -------------------- 2 files changed, 53 insertions(+), 31 deletions(-) create mode 100644 modules/defuns/defuns-css.el delete mode 100644 modules/defuns/defuns-scss.el diff --git a/modules/defuns/defuns-css.el b/modules/defuns/defuns-css.el new file mode 100644 index 000000000..ed7c5ec23 --- /dev/null +++ b/modules/defuns/defuns-css.el @@ -0,0 +1,53 @@ +;;; defuns-scss.el + +;;;###autoload +(defun narf/css-toggle-inline-or-block () + "Toggles between a SCSS multiline block and one-line block." + (interactive) + (save-excursion + (let* ((bounds (ignore-errors (evil-a-curly))) + beg end) + (unless bounds + (user-error "No block found")) + (setq beg (car bounds) + end (cadr bounds)) + (if (= (line-number-at-pos beg) (line-number-at-pos end)) + (save-excursion + (goto-char (1+ beg)) (insert "\n") + (unless (string-match ";[\s\t]*}$" (buffer-substring-no-properties beg (1+ end))) + (goto-char end) (insert "\n")) + (replace-regexp ";[\s\t]*" ";\n" nil beg (1+ end)) + (setq end (cadr (evil-a-curly))) + (evil-indent beg end) + (delete-trailing-whitespace beg end)) + (goto-char beg) + (evil-join beg end) + (goto-char (1+ beg)) + (just-one-space) + (goto-char (cadr (evil-inner-curly))) + (just-one-space))))) + +;;;###autoload +(defalias 'narf/sass-build 'narf/scss-build) + +;;;###autoload +(defun narf/scss-build () + "Compile all sass/scss files in project" + (interactive) + (let ((scss-dir (f-slash (or (f-traverse-upwards (lambda (d) + (string-match-p "/\\(\\(s[ca]\\|c\\)ss\\|styles\\)/?$" d)) + default-directory) + default-directory)))) + (compile (format "%s %s --update '%s':'%s'" + scss-sass-command + (mapconcat 'identity scss-sass-options " ") + scss-dir + (or scss-output-directory + (awhen (f-traverse-upwards (lambda (d) + (f-dir? (format "%s/css" d))) + default-directory) + (format "%s/css" it)) + "."))))) + +(provide 'defuns-scss) +;;; defuns-scss.el ends here diff --git a/modules/defuns/defuns-scss.el b/modules/defuns/defuns-scss.el deleted file mode 100644 index 20cd8f46c..000000000 --- a/modules/defuns/defuns-scss.el +++ /dev/null @@ -1,31 +0,0 @@ -;;; defuns-scss.el - -;;;###autoload -(defun narf/scss-toggle-inline-or-block () - "Toggles between a SCSS multiline block and one-line block." - (interactive) - (save-excursion - (let* ((bounds (ignore-errors (evil-a-curly))) - beg end) - (unless bounds - (user-error "No block found")) - (setq beg (car bounds)) - (setq end (cadr bounds)) - (if (= (line-number-at-pos beg) (line-number-at-pos end)) - (save-excursion - (goto-char (1+ beg)) (insert "\n") - (unless (string-match ";[\s\t]*}$" (buffer-substring-no-properties beg (1+ end))) - (goto-char end) (insert "\n")) - (replace-regexp ";[\s\t]*" ";\n" nil beg (1+ end)) - (setq end (cadr (evil-a-curly))) - (evil-indent beg end) - (delete-trailing-whitespace beg end)) - (goto-char beg) - (evil-join beg end) - (goto-char (1+ beg)) - (just-one-space) - (goto-char (cadr (evil-inner-curly))) - (just-one-space))))) - -(provide 'defuns-scss) -;;; defuns-scss.el ends here