[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
32/32: import/utils: beautify-description: Wrap class names in @code{...
From: |
guix-commits |
Subject: |
32/32: import/utils: beautify-description: Wrap class names in @code{...}. |
Date: |
Wed, 19 Jul 2023 09:55:58 -0400 (EDT) |
rekado pushed a commit to branch master
in repository guix.
commit b9bd1bcce995299065252e192c96ae302c9b0e81
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Wed Jul 19 15:53:28 2023 +0200
import/utils: beautify-description: Wrap class names in @code{...}.
* guix/import/utils.scm (beautify-description): Add procedure to wrap words
in
@code{...} markup.
* tests/import-utils.scm: Add two tests.
---
guix/import/utils.scm | 8 +++++++-
tests/import-utils.scm | 10 +++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 2ffc13bae3..257570e95b 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -335,7 +335,13 @@ LENGTH characters."
(cut string-trim-both <> #\')
;; Escape single @ to prevent it from being understood as
;; invalid Texinfo syntax.
- (cut regexp-substitute/global #f "@" <> 'pre "@@" 'post)))))
+ (cut regexp-substitute/global #f "@" <> 'pre "@@" 'post)
+ ;; Wrap camelCase or PascalCase words in @code{...}.
+ (lambda (word)
+ (let ((pattern (make-regexp
"([A-Z][a-z]+[A-Z]|[a-z]+[A-Z])")))
+ (match (list-matches pattern word)
+ (() word)
+ (_ (string-append "@code{" word "}")))))))))
(words
(string-tokenize (string-trim-both description)
(char-set-complement
diff --git a/tests/import-utils.scm b/tests/import-utils.scm
index 1565dd610a..7b078eac05 100644
--- a/tests/import-utils.scm
+++ b/tests/import-utils.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2017, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@@ -53,6 +53,14 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS."))
"This @@ is not Texinfo syntax. Neither is this %@@>%."
(beautify-description "This @ is not Texinfo syntax. Neither is this
%@>%."))
+(test-equal "beautify-description: wrap PascalCase words in @code"
+ "The term @code{DelayedMatrix} refers to a class."
+ (beautify-description "The term DelayedMatrix refers to a class."))
+
+(test-equal "beautify-description: do not wrap acronyms in @code"
+ "The term API is not code, but @code{myAPI} might be."
+ (beautify-description "The term API is not code, but myAPI might be."))
+
(test-equal "license->symbol"
'license:lgpl2.0
(license->symbol license:lgpl2.0))
- 10/32: gnu: Add r-tkwidgets., (continued)
- 10/32: gnu: Add r-tkwidgets., guix-commits, 2023/07/19
- 12/32: gnu: Add r-singscore., guix-commits, 2023/07/19
- 15/32: gnu: Add r-mfuzz., guix-commits, 2023/07/19
- 16/32: gnu: r-cellid: Move out of experiments section., guix-commits, 2023/07/19
- 18/32: gnu: Add r-survcomp., guix-commits, 2023/07/19
- 17/32: gnu: r-missmethyl: Move out of experiments section., guix-commits, 2023/07/19
- 19/32: gnu: Add r-ggtreeextra., guix-commits, 2023/07/19
- 22/32: gnu: Add r-globalancova., guix-commits, 2023/07/19
- 25/32: gnu: Add r-beaddatapackr., guix-commits, 2023/07/19
- 30/32: gnu: Add r-spectra., guix-commits, 2023/07/19
- 32/32: import/utils: beautify-description: Wrap class names in @code{...}.,
guix-commits <=
- 27/32: gnu: Add r-gwastools., guix-commits, 2023/07/19
- 31/32: gnu: Add r-qfeatures., guix-commits, 2023/07/19
- 26/32: gnu: Add r-beadarray., guix-commits, 2023/07/19