Introduction
Introduction Statistics Contact Development Disclaimer Help
Use parameter expansion of variables within heredoc - libgrapheme - unicode str…
git clone git://git.suckless.org/libgrapheme
Log
Files
Refs
README
LICENSE
---
commit 6e6c538e4efb4d191a2f0391466556eb758d76bd
parent c58eb2ceb965785dbe9fecb688e10250d17aeca7
Author: Laslo Hunhold <[email protected]>
Date: Mon, 29 Aug 2022 10:31:54 +0200
Use parameter expansion of variables within heredoc
Thanks to Quentin Rameau and Thomas Oltmann for remarking that the
workaround $(printf $VARIABLE) was not one of my brightest ideas, given
you can just use ${VARIABLE} instead.
Additionally, make use of an $ANTISUFFIX variable in the
next_break-template.
Signed-off-by: Laslo Hunhold <[email protected]>
Diffstat:
M man/grapheme_decode_utf8.sh | 2 +-
M man/grapheme_encode_utf8.sh | 2 +-
M man/grapheme_is_character_break.sh | 4 ++--
M man/libgrapheme.sh | 4 ++--
M man/template/next_break.sh | 40 ++++++++++++++++-------------…
M man/template/to_case.sh | 26 +++++++++++++-------------
6 files changed, 40 insertions(+), 38 deletions(-)
---
diff --git a/man/grapheme_decode_utf8.sh b/man/grapheme_decode_utf8.sh
@@ -1,5 +1,5 @@
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt GRAPHEME_DECODE_UTF8 3
.Os suckless.org
.Sh NAME
diff --git a/man/grapheme_encode_utf8.sh b/man/grapheme_encode_utf8.sh
@@ -1,5 +1,5 @@
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt GRAPHEME_ENCODE_UTF8 3
.Os suckless.org
.Sh NAME
diff --git a/man/grapheme_is_character_break.sh b/man/grapheme_is_character_bre…
@@ -1,5 +1,5 @@
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt GRAPHEME_IS_CHARACTER_BREAK 3
.Os suckless.org
.Sh NAME
@@ -77,7 +77,7 @@ main(void)
.Xr libgrapheme 7
.Sh STANDARDS
.Fn grapheme_is_character_break
-is compliant with the Unicode 14.0.0 specification.
+is compliant with the Unicode ${UNICODE_VERSION} specification.
.Sh AUTHORS
.An Laslo Hunhold Aq Mt [email protected]
EOF
diff --git a/man/libgrapheme.sh b/man/libgrapheme.sh
@@ -1,5 +1,5 @@
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt LIBGRAPHEME 7
.Os suckless.org
.Sh NAME
@@ -55,7 +55,7 @@ example illustrating the possible usage.
.Xr grapheme_to_titlecase_utf8 3
.Sh STANDARDS
.Nm
-is compliant with the Unicode $UNICODE_VERSION specification.
+is compliant with the Unicode ${UNICODE_VERSION} specification.
.Sh MOTIVATION
The idea behind every character encoding scheme like ASCII or Unicode
is to express abstract characters (which can be thought of as shapes
diff --git a/man/template/next_break.sh b/man/template/next_break.sh
@@ -1,34 +1,36 @@
if [ "$ENCODING" = "utf8" ]; then
UNIT="byte"
SUFFIX="_utf8"
+ ANTISUFFIX=""
else
UNIT="codepoint"
SUFFIX=""
+ ANTISUFFIX="_utf8"
fi
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt GRAPHEME_NEXT_$(printf "%s_break%s" "$TYPE" "$SUFFIX" | tr [:lower:] [:upp…
.Os suckless.org
.Sh NAME
-.Nm grapheme_next_$(printf $TYPE)_break$SUFFIX
-.Nd determine $UNIT-offset to next $REALTYPE break
+.Nm grapheme_next_${TYPE}_break${SUFFIX}
+.Nd determine ${UNIT}-offset to next ${REALTYPE} break
.Sh SYNOPSIS
.In grapheme.h
.Ft size_t
-.Fn grapheme_next_$(printf $TYPE)_break$SUFFIX "const $(if [ "$ENCODING" = "ut…
+.Fn grapheme_next_${TYPE}_break${SUFFIX} "const $(if [ "$ENCODING" = "utf8" ];…
.Sh DESCRIPTION
The
-.Fn grapheme_next_$(printf $TYPE)_break$SUFFIX
-function computes the offset (in $(printf $UNIT)s) to the next $REALTYPE
+.Fn grapheme_next_${TYPE}_break${SUFFIX}
+function computes the offset (in ${UNIT}s) to the next ${REALTYPE}
break (see
.Xr libgrapheme 7 )
in the $(if [ "$ENCODING" = "utf8" ]; then printf "UTF-8-encoded string"; else…
.Va str
of length
-.Va len .$(if [ "$TYPE" != "line" ]; then printf "\nIf a $REALTYPE begins at
+.Va len .$(if [ "$TYPE" != "line" ]; then printf "\nIf a ${REALTYPE} begins at
.Va str
-this offset is equal to the length of said $REALTYPE."; fi)
+this offset is equal to the length of said ${REALTYPE}."; fi)
.Pp
If
.Va len
@@ -41,12 +43,12 @@ NUL-byte is encountered.
.Pp
For $(if [ "$ENCODING" != "utf8" ]; then printf "UTF-8-encoded"; else printf "…
data$(if [ "$TYPE" = "character" ] && [ "$ENCODING" = "utf8" ]; then printf "\…
-.Xr grapheme_next_$(printf $TYPE)_break$(if [ "$ENCODING" != "utf8" ]; then pr…
+.Xr grapheme_next_${TYPE}_break${ANTISUFFIX}
can be used instead.
.Sh RETURN VALUES
The
-.Fn grapheme_next_$(printf $TYPE)_break$SUFFIX
-function returns the offset (in $(printf $UNIT)s) to the next $REALTYPE
+.Fn grapheme_next_${TYPE}_break${SUFFIX}
+function returns the offset (in ${UNIT}s) to the next ${REALTYPE}
break in
.Va str
or 0 if
@@ -76,19 +78,19 @@ main(void)
printf("Input: \\\\"%s\\\\"\\\\n", s);
- /* print each $REALTYPE with byte-length */
- printf("$(printf "$REALTYPE")s in NUL-delimited input:\\\\n");
+ /* print each ${REALTYPE} with byte-length */
+ printf("${REALTYPE}s in NUL-delimited input:\\\\n");
for (off = 0; s[off] != '\\\\0'; off += ret) {
- ret = grapheme_next_$(printf $TYPE)_break_utf8(s + off, SIZE_M…
+ ret = grapheme_next_${TYPE}_break_utf8(s + off, SIZE_MAX);
printf("%2zu bytes | %.*s\\\\n", ret, (int)ret, s + off, ret);
}
printf("\\\\n");
/* do the same, but this time string is length-delimited */
len = 17;
- printf("$(printf "$REALTYPE")s in input delimited to %zu bytes:\\\\n",…
+ printf("${REALTYPE}s in input delimited to %zu bytes:\\\\n", len);
for (off = 0; off < len; off += ret) {
- ret = grapheme_next_$(printf $TYPE)_break_utf8(s + off, len - …
+ ret = grapheme_next_${TYPE}_break_utf8(s + off, len - off);
printf("%2zu bytes | %.*s\\\\n", ret, (int)ret, s + off, ret);
}
@@ -100,11 +102,11 @@ fi
cat << EOF
.Sh SEE ALSO$(if [ "$TYPE" = "character" ] && [ "$ENCODING" != "utf8" ]; then …
-.Xr grapheme_next_$(printf $TYPE)_break$(if [ "$ENCODING" != "utf8" ]; then pr…
+.Xr grapheme_next_${TYPE}_break${ANTISUFFIX}
.Xr libgrapheme 7
.Sh STANDARDS
-.Fn grapheme_next_$(printf $TYPE)_break$SUFFIX
-is compliant with the Unicode $UNICODE_VERSION specification.
+.Fn grapheme_next_${TYPE}_break${SUFFIX}
+is compliant with the Unicode ${UNICODE_VERSION} specification.
.Sh AUTHORS
.An Laslo Hunhold Aq Mt [email protected]
EOF
diff --git a/man/template/to_case.sh b/man/template/to_case.sh
@@ -11,22 +11,22 @@ else
fi
cat << EOF
-.Dd $MAN_DATE
+.Dd ${MAN_DATE}
.Dt GRAPHEME_TO_$(printf "%s%s" "$CASE" "$SUFFIX" | tr [:lower:] [:upper:]) 3
.Os suckless.org
.Sh NAME
-.Nm grapheme_to_$CASE$SUFFIX
-.Nd convert codepoint array to $CASE
+.Nm grapheme_to_${CASE}${SUFFIX}
+.Nd convert codepoint array to ${CASE}
.Sh SYNOPSIS
.In grapheme.h
.Ft size_t
-.Fn grapheme_to_$CASE$SUFFIX "const $DATATYPE *src" "size_t srclen" "$DATATYPE…
+.Fn grapheme_to_${CASE}${SUFFIX} "const ${DATATYPE} *src" "size_t srclen" "${D…
.Sh DESCRIPTION
The
-.Fn grapheme_to_$CASE$SUFFIX
+.Fn grapheme_to_${CASE}${SUFFIX}
function converts the $(if [ "$ENCODING" = "utf8" ]; then printf "UTF-8-encode…
.Va str
-to $CASE and writes the result to
+to ${CASE} and writes the result to
.Va dest
up to
.Va destlen ,
@@ -45,26 +45,26 @@ is interpreted to be NUL-terminated and processing stops wh…
NUL-byte is encountered.
.Pp
For $(if [ "$ENCODING" != "utf8" ]; then printf "UTF-8-encoded"; else printf "…
-.Xr grapheme_to_$ANTISUFFIX 3
+.Xr grapheme_to_${ANTISUFFIX} 3
can be used instead.
.Sh RETURN VALUES
The
-.Fn grapheme_to_$CASE$SUFFIX
-function returns the number of $(printf $UNIT)s in the array resulting
+.Fn grapheme_to_${CASE}${SUFFIX}
+function returns the number of ${UNIT}s in the array resulting
from converting
.Va src
-to $CASE, even if
+to ${CASE}, even if
.Va len
is not large enough or
.Va dest
is
.Dv NULL .
.Sh SEE ALSO
-.Xr grapheme_to_$ANTISUFFIX 3 ,
+.Xr grapheme_to_${ANTISUFFIX} 3 ,
.Xr libgrapheme 7
.Sh STANDARDS
-.Fn grapheme_to_$CASE$SUFFIX
-is compliant with the Unicode $UNICODE_VERSION specification.
+.Fn grapheme_to_${CASE}${SUFFIX}
+is compliant with the Unicode ${UNICODE_VERSION} specification.
.Sh AUTHORS
.An Laslo Hunhold Aq Mt [email protected]
EOF
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.