[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master e23d22c 04/15: Implement disabling the mode too
From: |
Artur Malabarba |
Subject: |
[elpa] master e23d22c 04/15: Implement disabling the mode too |
Date: |
Thu, 03 Sep 2015 11:01:19 +0000 |
branch: master
commit e23d22cf90e6f4545f527b60dbb26383dfd0304c
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
Implement disabling the mode too
---
nameless.el | 32 ++++++++++++++++++++++----------
1 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/nameless.el b/nameless.el
index 33ec3fe..cdc841a 100644
--- a/nameless.el
+++ b/nameless.el
@@ -5,7 +5,7 @@
;; Author: Artur Malabarba <address@hidden>
;; Keywords: convenience, lisp
;; Version: 0.1
-;; Package-Requires: ((emacs "24.3"))
+;; Package-Requires: ((emacs "24.2"))
;; 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
@@ -64,19 +64,30 @@
(or display nameless-prefix))
'(face nameless-face)))
+(defvar-local nameless--font-lock-keywords nil)
+
+(defun nameless--ensure ()
+ (save-excursion
+ (font-lock-fontify-region (point-min) (point-max))))
+
+(defun nameless--remove-keywords ()
+ "Remove font-lock keywords set by `nameless--add-keywords'."
+ (font-lock-remove-keywords nil nameless--font-lock-keywords)
+ (setq nameless--font-lock-keywords nil)
+ (nameless--ensure))
+
(defun nameless--add-keywords (&rest r)
"Add font-lock keywords displaying REGEXP as DISPLAY.
\(fn regexp display [regexp display ...])"
(setq-local font-lock-extra-managed-props
(cons 'composition font-lock-extra-managed-props))
- (while r
- (font-lock-add-keywords
- nil `((,(pop r) 0 (nameless--compose-as ,(pop r)) prepend)) t))
- (with-no-warnings
- (if (fboundp 'font-lock-ensure)
- (font-lock-ensure)
- (font-lock-fontify-buffer))))
+ (let ((kws nil))
+ (while r
+ (push `(,(pop r) 0 (nameless--compose-as ,(pop r)) prepend) kws))
+ (setq nameless--font-lock-keywords kws)
+ (font-lock-add-keywords nil kws t))
+ (nameless--ensure))
;;; Name and regexp
@@ -112,7 +123,7 @@
;;;###autoload
(define-minor-mode nameless-mode
nil nil " :" '(("_" . nameless-insert-name))
- (if (and nameless-mode)
+ (if nameless-mode
(if (or nameless-current-name-regexp
nameless-current-name
(ignore-errors (string-match "\\.el\\'" (lm-get-package-name))))
@@ -122,7 +133,8 @@
(setq nameless-current-name (replace-regexp-in-string
"\\.[^.]*\\'" "" (lm-get-package-name))))
(setq nameless-current-name-regexp (nameless--name-regexp
nameless-current-name)))
(nameless--add-keywords nameless-current-name-regexp))
- (nameless-mode -1))))
+ (nameless-mode -1))
+ (nameless--remove-keywords)))
;; (font-lock-remove-keywords)
(provide 'nameless)
- [elpa] master updated (4de2352 -> e0a3544), Artur Malabarba, 2015/09/03
- [elpa] master dc2fb41 06/15: Improve regexps, Artur Malabarba, 2015/09/03
- [elpa] master 3074f24 01/15: Initial commit, Artur Malabarba, 2015/09/03
- [elpa] master f662c5e 10/15: Fix composition, Artur Malabarba, 2015/09/03
- [elpa] master 2cd0e01 03/15: Autoload, Artur Malabarba, 2015/09/03
- [elpa] master 1a1719a 02/15: Add file, Artur Malabarba, 2015/09/03
- [elpa] master 7c425ed 12/15: Documentation, Artur Malabarba, 2015/09/03
- [elpa] master e23d22c 04/15: Implement disabling the mode too,
Artur Malabarba <=
- [elpa] master e8922a6 05/15: Only hide prefix if something is written after it, Artur Malabarba, 2015/09/03
- [elpa] master 3690ce8 13/15: Add nameless-insert-name-or-self-insert command, Artur Malabarba, 2015/09/03
- [elpa] master b81dadf 08/15: Add nameless-affect-indentation variable, to decide between display and compose, Artur Malabarba, 2015/09/03
- [elpa] master 59d6da9 07/15: Change defaults a bit, Artur Malabarba, 2015/09/03
- [elpa] master 1937b95 09/15: Implement aliases, Artur Malabarba, 2015/09/03
- [elpa] master c1dd76b 14/15: Readme, Artur Malabarba, 2015/09/03
- [elpa] master 9767c97 11/15: Improve aliases, Artur Malabarba, 2015/09/03
- [elpa] master e0a3544 15/15: Add 'packages/nameless/' from commit 'c1dd76b972ab978884d5c1b2add43e83cc23134e', Artur Malabarba, 2015/09/03