From ab130bef51ca85161472320dfcfc5224d0acbf5f Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 17 Dec 2015 00:39:01 +0100 Subject: Split HTML and Cleanup functions into libraries --- emacs/.emacs.d/init.el | 21 +++++------------ emacs/.emacs.d/site-lisp/oni-cleanup.el | 34 +++++++++++++++++++++++++++ emacs/.emacs.d/site-lisp/oni-html.el | 41 +++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 15 deletions(-) create mode 100644 emacs/.emacs.d/site-lisp/oni-cleanup.el create mode 100644 emacs/.emacs.d/site-lisp/oni-html.el (limited to 'emacs/.emacs.d') diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index 93286f3..c2c9c0e 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -137,13 +137,6 @@ MODE1 is enabled and vice-versa." ;;;; Functions -(defun oni:before-save-func () - "Function for `before-save-hook'." - (if (eq major-mode 'html-mode) - (oni:replace-html-special-chars)) - (if (not (eq major-mode 'markdown-mode)) - (delete-trailing-whitespace))) - (defun oni:c-mode-func () "Function for `c-mode-hook'." (local-set-key [f9] 'compile)) @@ -429,13 +422,6 @@ use. If MODE is not nil, open a new buffer with the name (interactive) (revert-buffer nil t nil)) -(defun oni:replace-html-special-chars () - "Replace special characters with HTML escaped entities." - (oni:replace-occurrences "é" "é") - (oni:replace-occurrences "’" "’") - (oni:replace-occurrences "‘" "‘") - (oni:replace-occurrences "ë" "ë")) - (defun oni:replace-occurrences (from to) "Replace all occurrences of FROM with TO in the current buffer." (save-excursion @@ -1067,7 +1053,12 @@ If no direction is given, don't split." (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p :append) -(add-hook 'before-save-hook 'oni:before-save-func) +;; Delete tailing whitespace except in Markdown mode buffers. +(add-hook 'before-save-hook 'oni:delete-trailing-whitespace-unless-markdown) + +;; Replace certain characters with html entities in HTML mode buffers. +(add-hook 'before-save-hook 'oni:replace-html-special-chars-in-html-mode) + (add-hook 'css-mode-hook #'rainbow-mode) (add-hook 'diary-display-hook 'oni:diary-display-func) (add-hook 'git-commit-mode-hook #'oni:set-ispell-local-en-dict) diff --git a/emacs/.emacs.d/site-lisp/oni-cleanup.el b/emacs/.emacs.d/site-lisp/oni-cleanup.el new file mode 100644 index 0000000..beb6d99 --- /dev/null +++ b/emacs/.emacs.d/site-lisp/oni-cleanup.el @@ -0,0 +1,34 @@ +;;; oni-cleanup.el --- Cleanup functions -*- lexical-binding: t; -*- + +;; Copyright (C) 2015 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: + +;; 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 . + +;;; Commentary: + +;; Functions and commands used for cleaning up buffers and such. + +;;; Code: + +;;;###autoload +(defun oni:delete-trailing-whitespace-unless-markdown () + "Delete trailing whitespace everywhere except in Markdown buffers." + (if (not (eq major-mode 'markdown-mode)) + (delete-trailing-whitespace))) + +(provide 'oni-cleanup) +;;; oni-cleanup.el ends here diff --git a/emacs/.emacs.d/site-lisp/oni-html.el b/emacs/.emacs.d/site-lisp/oni-html.el new file mode 100644 index 0000000..e352ea4 --- /dev/null +++ b/emacs/.emacs.d/site-lisp/oni-html.el @@ -0,0 +1,41 @@ +;;; oni-html.el --- HTML functions and commands -*- lexical-binding: t; -*- + +;; Copyright (C) 2015 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: + +;; 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 . + +;;; Commentary: + +;; Here are some extra functions and commands for HTML source files. + +;;; Code: + +(defun oni:replace-html-special-chars () + "Replace special characters with HTML escaped entities." + (oni:replace-occurrences "é" "é") + (oni:replace-occurrences "’" "’") + (oni:replace-occurrences "‘" "‘") + (oni:replace-occurrences "ë" "ë")) + +;;;###autoload +(defun oni:replace-html-special-chars-in-html-mode () + "Replace special characters with HTML escaped entities in HTML mode." + (if (eq major-mode 'html-mode) + (oni:replace-html-special-chars))) + +(provide 'oni-html) +;;; oni-html.el ends here -- cgit v1.2.3-54-g00ecf