[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/engrave-faces 011f552 2/4: Improve 3-bit and 4-bit ansi
From: |
ELPA Syncer |
Subject: |
[elpa] externals/engrave-faces 011f552 2/4: Improve 3-bit and 4-bit ansi colour codes |
Date: |
Sun, 5 Sep 2021 16:57:11 -0400 (EDT) |
branch: externals/engrave-faces
commit 011f5526e4ef6537e8468d07883b8b5c4f250ecb
Author: TEC <tec@tecosaur.com>
Commit: TEC <tec@tecosaur.com>
Improve 3-bit and 4-bit ansi colour codes
---
engrave-faces-ansi.el | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/engrave-faces-ansi.el b/engrave-faces-ansi.el
index 98a088f..cdbc265 100644
--- a/engrave-faces-ansi.el
+++ b/engrave-faces-ansi.el
@@ -61,7 +61,7 @@ Possible values are:
(append (mapcar (lambda (c) (/ c 257)) (color-values color)) (list
background)))))
(defun engrave-faces-ansi-color-dist-squared (reference rgb)
- "Squared L2 distance between a REFERENCE and RBG values, each a list of 3
values (r g b)."
+ "Squared l2 distance between a REFERENCE and RBG values, each a list of 3
values (r g b)."
(+ (* (nth 0 reference)
(nth 0 rgb))
(* (nth 1 reference)
@@ -69,14 +69,6 @@ Possible values are:
(* (nth 2 reference)
(nth 2 rgb))))
-;;;;;; 3-bit / 8-color
-
-(defun engrave-faces-ansi-color-3bit-code (r g b &optional background)
- "Convert the (R G B) colour code to a correspanding 4bit ansi escape
sequence."
- (format "\uE000[%sm"
- (% (pcase (nth (engrave-faces-ansi-color-rbg-to-256 r g b)
- engrave-faces-ansi-256-to-16-map)) 8)))
-
;;;;;; 4-bit / 16-color
(defvar engrave-faces-ansi-256-to-16-map
@@ -104,8 +96,19 @@ Possible values are:
engrave-faces-ansi-256-to-16-map)
((and (pred (> 8)) n)
(+ 30 (if background 10 0) n))
- (n
- (format "1;%d" (+ 22 (if background 10 0) n))))))
+ (n (+ 82 (if background 10 0) n)))))
+
+;;;;;; 3-bit / 8-color
+
+(defun engrave-faces-ansi-color-3bit-code (r g b &optional background)
+ "Convert the (R G B) colour code to a correspanding 3bit ansi escape
sequence.
+Brighter colours are induced via the addition of a bold code."
+ (format "\uE000[%sm"
+ (pcase (nth (engrave-faces-ansi-color-rbg-to-256 r g b)
+ engrave-faces-ansi-256-to-16-map)
+ ((and (pred (> 8)) n)
+ (+ 30 (if background 10 0) n))
+ (n (format "1;%d" (+ 22 (if background 10 0) n))))))
;;;;;; 8-bit / 256-color
@@ -122,7 +125,7 @@ Possible values are:
(format (if background "\uE000[48;5;%dm" "\uE000[38;5;%dm")
(engrave-faces-ansi-color-rbg-to-256 r g b)))
-(defun engrave-faces-ansi-color-rbg-to-256 (r g b &optional background)
+(defun engrave-faces-ansi-color-rbg-to-256 (r g b)
"Convert the (R G B) colour code to the nearest 256-colour."
(let ((6cube-r (engrave-faces-ansi-color-to-6cube r))
(6cube-g (engrave-faces-ansi-color-to-6cube g))