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

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

[elpa] 02/03: [aa2u] Make weight dynamically customizable.


From: Thien-Thi Nguyen
Subject: [elpa] 02/03: [aa2u] Make weight dynamically customizable.
Date: Fri, 09 May 2014 16:06:00 +0000

ttn pushed a commit to branch master
in repository elpa.

commit 9628fcb8c1ae0dbec6b28536e3134f79c75ac126
Author: Thien-Thi Nguyen <address@hidden>
Date:   Fri May 9 18:06:42 2014 +0200

    [aa2u] Make weight dynamically customizable.
    
    * packages/ascii-art-to-unicode/ascii-art-to-unicode.el
    (aa2u-uniform-weight): New defvar.
    (aa2u-ucs-bd-uniform-name): Don't take arg WEIGHT;
    instead, consult ‘aa2u-uniform-weight’.
    (aa2u-phase-1, aa2u-replacement):
    Update calls to ‘aa2u-ucs-bd-uniform-name’.
    (aa2u): Mention new var in docstring.
---
 .../ascii-art-to-unicode/ascii-art-to-unicode.el   |   41 ++++++++++++++------
 1 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/packages/ascii-art-to-unicode/ascii-art-to-unicode.el 
b/packages/ascii-art-to-unicode/ascii-art-to-unicode.el
index 3ebe951..89bcb92 100644
--- a/packages/ascii-art-to-unicode/ascii-art-to-unicode.el
+++ b/packages/ascii-art-to-unicode/ascii-art-to-unicode.el
@@ -58,6 +58,21 @@
 ;;
 ;; Much easier on the eyes now!
 ;;
+;; Normally, lines are drawn with the `LIGHT' weight.  If you set var
+;; `aa2u-uniform-weight' to symbol `HEAVY', you will see, instead:
+;;
+;;   ┏━━━━━━━━━━━━━━━┓
+;;   ┃               ┃
+;;   ┃       ┏━━━━━━━╋━━┓
+;;   ┃       ┃       ┃  ┃
+;;   ┃       ┃       ┃  ┃
+;;   ┃       ┃       ┃  ┃
+;;   ┗━━━━━━━╋━━━━━━━┛  ┃
+;;           ┃          ┃
+;;           ┃          ┃
+;;           ┃          ┃
+;;           ┗━━━━━━━━━━┛
+;;
 ;;
 ;; See Also
 ;; - HACKING: 
<http://git.sv.gnu.org/cgit/emacs/elpa.git/tree/packages/ascii-art-to-unicode/HACKING>
@@ -68,18 +83,18 @@
 (require 'cl-lib)
 (require 'pcase)
 
+(defvar aa2u-uniform-weight 'HEAVY
+  "A symbol, either `LIGHT' or `HEAVY'.
+This specifies the weight of all the lines.")
+
 ;;;---------------------------------------------------------------------------
 ;;; support
 
-(defun aa2u-ucs-bd-uniform-name (weight &rest components)
+(defun aa2u-ucs-bd-uniform-name (&rest components)
   "Return a string naming UCS char w/ WEIGHT and COMPONENTS.
-The string begins with \"BOX DRAWINGS\"; followed by WEIGHT,
-a symbol from the set:
-
-  HEAVY
-  LIGHT
-
-followed by COMPONENTS, a list of one or two symbols from the set:
+The string begins with \"BOX DRAWINGS\"; followed by the weight
+as per variable `aa2u-uniform-weight', followed by COMPONENTS,
+a list of one or two symbols from the set:
 
   VERTICAL
   HORIZONTAL
@@ -94,7 +109,7 @@ string includes \"AND\" between the elements of COMPONENTS.
 
 Lastly, all words are separated by space (U+20)."
   (format "BOX DRAWINGS %s %s"
-          weight
+          aa2u-uniform-weight
           (mapconcat 'symbol-name components
                      " AND ")))
 
@@ -114,11 +129,11 @@ Their values are STRINGIFIER and COMPONENTS, 
respectively."
 
 (defun aa2u-phase-1 ()
   (goto-char (point-min))
-  (let ((vert (aa2u-1c 'aa2u-ucs-bd-uniform-name 'LIGHT 'VERTICAL)))
+  (let ((vert (aa2u-1c 'aa2u-ucs-bd-uniform-name 'VERTICAL)))
     (while (search-forward "|" nil t)
       (replace-match vert t t)))
   (goto-char (point-min))
-  (let ((horz (aa2u-1c 'aa2u-ucs-bd-uniform-name 'LIGHT 'HORIZONTAL)))
+  (let ((horz (aa2u-1c 'aa2u-ucs-bd-uniform-name 'HORIZONTAL)))
     (while (search-forward "-" nil t)
       (replace-match horz t t))))
 
@@ -155,7 +170,6 @@ Their values are STRINGIFIER and COMPONENTS, respectively."
          (just (&rest args) (delq nil args)))
       (apply 'aa2u-1c
              'aa2u-ucs-bd-uniform-name
-             'LIGHT
              (just (pcase (just (v 'UP   0)
                                 (v 'DOWN 2))
                      ((pred two-p) 'VERTICAL)
@@ -221,6 +235,9 @@ More precisely, hyphen and vertical bar are substituted 
unconditionally,
 first, and plus is substituted with a character depending on its north,
 south, east and west neighbors.
 
+NB: Actually, `aa2u' can also use \"HEAVY\" instead of \"LIGHT\",
+depending on the value of variable `aa2u-uniform-weight'.
+
 This command operates on either the active region,
 or the accessible portion otherwise."
   (interactive "r\np")



reply via email to

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