summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emacs/.emacs.d/init.el21
-rw-r--r--emacs/.emacs.d/site-lisp/oni-cleanup.el34
-rw-r--r--emacs/.emacs.d/site-lisp/oni-html.el41
3 files changed, 81 insertions, 15 deletions
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 <tom@ryuslash.org>
+;; 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 <http://www.gnu.org/licenses/>.
+
+;;; 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 <tom@ryuslash.org>
+;; 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 <http://www.gnu.org/licenses/>.
+
+;;; 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 "é" "&eacute;")
+ (oni:replace-occurrences "’" "&rsquo;")
+ (oni:replace-occurrences "‘" "&lsquo;")
+ (oni:replace-occurrences "ë" "&euml;"))
+
+;;;###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