emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/writegood-mode da662098e4 31/47: Fix issue of dynamically


From: ELPA Syncer
Subject: [nongnu] elpa/writegood-mode da662098e4 31/47: Fix issue of dynamically updating regexes
Date: Mon, 12 Dec 2022 21:01:42 -0500 (EST)

branch: elpa/writegood-mode
commit da662098e439d1751855cdc0f38c5919974d5865
Author: Benjamin Beckwith <bnbeckwith@gmail.com>
Commit: Benjamin Beckwith <bnbeckwith@gmail.com>

    Fix issue of dynamically updating regexes
    
    This fixes an issue where a user could have added weasel words or
    passive voice verbs and the regexes used would not have been updated to
    handle the additional words.
    
    They are now dynamic in nature and are updated upon entry into the minor
    mode. This means any changes to the lists require a restart of
    Writegood-mode.
---
 writegood-mode.el | 37 +++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/writegood-mode.el b/writegood-mode.el
index 70df2cf1db..489763a1a1 100755
--- a/writegood-mode.el
+++ b/writegood-mode.el
@@ -2,7 +2,7 @@
 ;;
 ;; Author: Benjamin Beckwith
 ;; Created: 2010-8-12
-;; Version: 1.3
+;; Version: 2.1
 ;; Last-Updated: 2014-2-13
 ;; URL: http://github.com/bnbeckwith/writegood-mode
 ;; Keywords: writing weasel-words grammar
@@ -23,6 +23,7 @@
 ;;
 ;;; Change Log:
 ;;
+;; 2.1 Make user additions to word lists dynamic
 ;; 2.0 Flesch-Kincaid scoring added to functionality
 ;; 1.3 Several pull requests added, comments checked, passive voice regexp 
fixed
 ;; 1.2 Fixed weasel-words regexp to have word boundaries
@@ -96,12 +97,12 @@
   :group 'writegood
   :type '(repeat string))
   
-(defvar writegood-weasels-font-lock-keywords-regexp
-  (concat "\\b" (regexp-opt writegood-weasel-words) "\\b")
-  "Matches weasel-words")
+(defun writegood-weasels-font-lock-keywords-regexp ()
+  "Generate regex that matches weasel-words"
+  (concat "\\b" (regexp-opt writegood-weasel-words) "\\b"))
 
-(defvar writegood-weasels-font-lock-keywords
-  (list (list writegood-weasels-font-lock-keywords-regexp
+(defun writegood-weasels-font-lock-keywords ()
+  (list (list (writegood-weasels-font-lock-keywords-regexp)
              0 (quote 'writegood-weasels-face) 'prepend)))
 
 ;; Passive Voice
@@ -145,14 +146,14 @@
   :group 'writegood
   :type '(repeat character))
 
-(defvar writegood-passive-voice-font-lock-keywords-regexp
+(defun writegood-passive-voice-font-lock-keywords-regexp ()
+  "Generate font-lock keywords regexp for passive-voice"
   (concat 
"\\b\\(am\\|are\\|were\\|being\\|is\\|been\\|was\\|be\\)\\b\\([[:space:]]\\|\\s<\\|\\s>\\)+\\([[:word:]]+ed\\|"
          (regexp-opt writegood-passive-voice-irregulars)
-         "\\)\\b")
-  "Font-lock keywords regexp for passive-voice")
+         "\\)\\b"))
 
-(defvar writegood-passive-voice-font-lock-keywords
-  (list (list writegood-passive-voice-font-lock-keywords-regexp
+(defun writegood-passive-voice-font-lock-keywords ()
+  (list (list (writegood-passive-voice-font-lock-keywords-regexp)
              0 (quote 'writegood-passive-voice-face) 'prepend)))
 
 ;; Duplicates
@@ -168,7 +169,7 @@
   "\\b\\([[:word:]]+\\)\\([[:space:]]\\|\\s<\\|\\s>\\)+\\1\\b"
   "Font-lock keywords for duplicates")
 
-(defvar writegood-duplicates-font-lock-keywords
+(defun writegood-duplicates-font-lock-keywords ()
   (list (list writegood-duplicates-font-lock-keywords-regexp
              0 (quote 'writegood-duplicates-face) 'prepend)))
 
@@ -181,27 +182,27 @@
 
 (defun writegood-weasels-turn-on ()
   "Turn on syntax highlighting for weasels"
-  (font-lock-add-keywords nil writegood-weasels-font-lock-keywords))
+  (font-lock-add-keywords nil (writegood-weasels-font-lock-keywords)))
 
 (defun writegood-passive-voice-turn-on ()
   "Turn on warnings for passive voice"
-  (font-lock-add-keywords nil writegood-passive-voice-font-lock-keywords))
+  (font-lock-add-keywords nil (writegood-passive-voice-font-lock-keywords)))
 
 (defun writegood-duplicates-turn-on ()
   "Turn on warnings for duplicate words"
-  (font-lock-add-keywords nil writegood-duplicates-font-lock-keywords))
+  (font-lock-add-keywords nil (writegood-duplicates-font-lock-keywords)))
 
 (defun writegood-weasels-turn-off ()
   "Turn on syntax highlighting for weasels"
-  (font-lock-remove-keywords nil writegood-weasels-font-lock-keywords))
+  (font-lock-remove-keywords nil (writegood-weasels-font-lock-keywords)))
 
 (defun writegood-passive-voice-turn-off ()
   "Turn on warnings for passive voice"
-  (font-lock-remove-keywords nil writegood-passive-voice-font-lock-keywords))
+  (font-lock-remove-keywords nil (writegood-passive-voice-font-lock-keywords)))
 
 (defun writegood-duplicates-turn-off ()
   "Turn on warnings for duplicate words"
-  (font-lock-remove-keywords nil writegood-duplicates-font-lock-keywords))
+  (font-lock-remove-keywords nil (writegood-duplicates-font-lock-keywords)))
 
 (defun writegood-turn-on ()
   "Turn on writegood-mode."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]