aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-09-19 20:02:04 -0400
committerCameron Katri <me@cameronkatri.com>2021-09-19 20:02:04 -0400
commitb62e9ab61fda19aec2f615fe2c0aa5912152ae69 (patch)
tree787d221acdc6678c13a813a98f5d9e65b86ec303
parent79fd99c43e9bc4ede1f99ec21985c32101b9e90c (diff)
downloadfreebsd-patches-b62e9ab61fda19aec2f615fe2c0aa5912152ae69.tar.gz
freebsd-patches-b62e9ab61fda19aec2f615fe2c0aa5912152ae69.tar.zst
freebsd-patches-b62e9ab61fda19aec2f615fe2c0aa5912152ae69.zip
LSCOLORS underline support has been upstreamed
-rw-r--r--ls-1-Allow-LSCOLORS-to-specify-an-underline.patch152
1 files changed, 0 insertions, 152 deletions
diff --git a/ls-1-Allow-LSCOLORS-to-specify-an-underline.patch b/ls-1-Allow-LSCOLORS-to-specify-an-underline.patch
deleted file mode 100644
index e072094..0000000
--- a/ls-1-Allow-LSCOLORS-to-specify-an-underline.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 62bedad5fc7607ffbf76ab1f45b0aebd4b424289 Mon Sep 17 00:00:00 2001
-From: Cameron Katri <me@cameronkatri.com>
-Date: Fri, 28 May 2021 17:56:48 -0400
-Subject: [PATCH] ls(1): Allow LSCOLORS to specify an underline
-
-Summary: Allows capitalizing the background color character to unable an underline instead of bold, capitalizing the foreground color char will still do bold.
-
-Differential Revision: https://reviews.freebsd.org/D30547
----
- bin/ls/extern.h | 1 +
- bin/ls/ls.1 | 19 +++++++++++--------
- bin/ls/ls.c | 2 ++
- bin/ls/print.c | 16 ++++++++++++++--
- 4 files changed, 28 insertions(+), 10 deletions(-)
-
-diff --git a/bin/ls/extern.h b/bin/ls/extern.h
-index 8dab2bcc9d8..247c2c4a1d5 100644
---- a/bin/ls/extern.h
-+++ b/bin/ls/extern.h
-@@ -66,6 +66,7 @@ extern char *ansi_bgcol;
- extern char *ansi_coloff;
- extern char *attrs_off;
- extern char *enter_bold;
-+extern char *enter_underline;
-
- extern int colorflag;
- extern bool explicitansi;
-diff --git a/bin/ls/ls.1 b/bin/ls/ls.1
-index 8510ca609cd..ef412dd2927 100644
---- a/bin/ls/ls.1
-+++ b/bin/ls/ls.1
-@@ -740,6 +740,7 @@ where
- is the foreground color and
- .Ar b
- is the background color.
-+When the background color is capitalized, the text will underlined.
- .Pp
- The color designators are as follows:
- .Pp
-@@ -761,23 +762,25 @@ cyan
- .It Sy h
- light grey
- .It Sy A
--bold black, usually shows up as dark grey
-+bold or underlined black, usually shows up as dark grey
- .It Sy B
--bold red
-+bold or underlined red
- .It Sy C
--bold green
-+bold or underlined green
- .It Sy D
--bold brown, usually shows up as yellow
-+bold or underlined brown, usually shows up as yellow
- .It Sy E
--bold blue
-+bold or underlined blue
- .It Sy F
--bold magenta
-+bold or underlined magenta
- .It Sy G
--bold cyan
-+bold or underlined cyan
- .It Sy H
--bold light grey; looks like bright white
-+bold or underlined light grey; looks like bright white
- .It Sy x
- default foreground or background
-+.It Sy X
-+default foreground or background, with an underline or bold
- .El
- .Pp
- Note that the above are standard
-diff --git a/bin/ls/ls.c b/bin/ls/ls.c
-index 92575711251..8a30dd326b4 100644
---- a/bin/ls/ls.c
-+++ b/bin/ls/ls.c
-@@ -159,6 +159,7 @@ char *ansi_fgcol; /* ANSI sequence to set foreground colour */
- char *ansi_coloff; /* ANSI sequence to reset colours */
- char *attrs_off; /* ANSI sequence to turn off attributes */
- char *enter_bold; /* ANSI sequence to set color to bold mode */
-+char *enter_underline; /* ANSI sequence to enter underline mode */
- #endif
-
- static int rval;
-@@ -485,6 +486,7 @@ main(int argc, char *argv[])
- ansi_bgcol = tgetstr("AB", &bp);
- attrs_off = tgetstr("me", &bp);
- enter_bold = tgetstr("md", &bp);
-+ enter_underline = tgetstr("us", &bp);
-
- /* To switch colours off use 'op' if
- * available, otherwise use 'oc', or
-diff --git a/bin/ls/print.c b/bin/ls/print.c
-index 9a537418f7b..d07b83ed830 100644
---- a/bin/ls/print.c
-+++ b/bin/ls/print.c
-@@ -107,6 +107,7 @@ static const char *defcolors = "exfxcxdxbxegedabagacad";
- static struct {
- int num[2];
- int bold;
-+ int underline;
- } colors[C_NUMCOLORS];
- #endif
-
-@@ -548,6 +549,8 @@ printcolor_termcap(Colors c)
-
- if (colors[c].bold)
- tputs(enter_bold, 1, putch);
-+ if (colors[c].underline)
-+ tputs(enter_underline, 1, putch);
-
- if (colors[c].num[0] != -1) {
- ansiseq = tgoto(ansi_fgcol, 0, colors[c].num[0]);
-@@ -569,6 +572,8 @@ printcolor_ansi(Colors c)
-
- if (colors[c].bold)
- printf("1");
-+ if (colors[c].underline)
-+ printf(";4");
- if (colors[c].num[0] != -1)
- printf(";3%d", colors[c].num[0]);
- if (colors[c].num[1] != -1)
-@@ -667,6 +672,7 @@ parsecolors(const char *cs)
- len = strlen(cs);
- for (i = 0; i < (int)C_NUMCOLORS; i++) {
- colors[i].bold = 0;
-+ colors[i].underline = 0;
-
- if (len <= 2 * (size_t)i) {
- c[0] = defcolors[2 * i];
-@@ -689,9 +695,15 @@ parsecolors(const char *cs)
- colors[i].num[j] = c[j] - 'a';
- else if (c[j] >= 'A' && c[j] <= 'H') {
- colors[i].num[j] = c[j] - 'A';
-- colors[i].bold = 1;
-- } else if (tolower((unsigned char)c[j]) == 'x')
-+ if (j == 1)
-+ colors[i].underline = 1;
-+ else
-+ colors[i].bold = 1;
-+ } else if (tolower((unsigned char)c[j]) == 'x') {
-+ if (j == 1 && c[j] == 'X')
-+ colors[i].underline = 1;
- colors[i].num[j] = -1;
-+ }
- else {
- warnx("invalid character '%c' in LSCOLORS"
- " env var", c[j]);
---
-2.32.0
-