diff options
Diffstat (limited to 'emacs/.emacs.d/init/oni-css-mode-init.el')
-rw-r--r-- | emacs/.emacs.d/init/oni-css-mode-init.el | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/emacs/.emacs.d/init/oni-css-mode-init.el b/emacs/.emacs.d/init/oni-css-mode-init.el deleted file mode 100644 index ad2cf0f..0000000 --- a/emacs/.emacs.d/init/oni-css-mode-init.el +++ /dev/null @@ -1,86 +0,0 @@ -;;; oni-css-mode-init.el --- CSS Mode configuration -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Tom Willemse - -;; Author: Tom Willemse <tom@ryuslash.org> -;; Keywords: local - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Configuration for `css-mode'. - -;;; Code: - -(require 'css-mode) -(require 'hydra) -(eval-when-compile (require 'compile)) - -(defun oni:css-property-important-p () - "Return whether or not the current property is important." - (save-excursion - (beginning-of-line) - (re-search-forward "!important" (line-end-position) :noerror))) - -(defun oni:css-add-important () - "Add an important flag to the property on the current line." - (interactive) - (unless (oni:css-property-important-p) - (save-excursion - (end-of-line) - (when (re-search-backward ";" (line-beginning-position) :noerror) - (insert " !important"))))) - -(defun oni:css-remove-important () - "Remove the important flag from the property on the current line." - (interactive) - (when (oni:css-property-important-p) - (save-excursion - (end-of-line) - (when (re-search-backward " !important" (line-beginning-position) :noerror) - (replace-match ""))))) - -(defun oni-css-mode-init--toggle-important () - "Toggle the important flag on the property on the current line." - (interactive) - (if (oni:css-property-important-p) - (oni:css-remove-important) - (oni:css-add-important))) - -(setq css-indent-offset 2) - -(add-hook 'css-mode-hook 'electric-pair-local-mode) -(add-hook 'css-mode-hook 'electric-indent-local-mode) -(add-hook 'css-mode-hook 'company-mode) -(add-hook 'css-mode-hook 'fci-mode) - -(with-eval-after-load 'compile - (defvar oni:scss-error-regexp - (rx (and bol - (zero-or-more space) "on line " - (group (one-or-more digit)) " of " - (group (one-or-more (or word punct (syntax symbol)))) - eol))) - - (add-to-list 'compilation-error-regexp-alist - (list oni:scss-error-regexp 2 1 nil 2 2))) - -(defhydra css-mode-hydra (:color blue) - ("!" oni-css-mode-init--toggle-important)) - -(define-key css-mode-map (kbd "C-c m") #'css-mode-hydra/body) - -(provide 'oni-css-mode-init) -;;; oni-css-mode-init.el ends here |