aboutsummaryrefslogtreecommitdiff
path: root/internal/bible
diff options
context:
space:
mode:
Diffstat (limited to 'internal/bible')
-rw-r--r--internal/bible/booktable.go1
-rw-r--r--internal/bible/convert.go1
2 files changed, 2 insertions, 0 deletions
diff --git a/internal/bible/booktable.go b/internal/bible/booktable.go
index de8995c..ffa3907 100644
--- a/internal/bible/booktable.go
+++ b/internal/bible/booktable.go
@@ -139,6 +139,7 @@ func (t *BookTable) Books(dialect string) []BookInfo {
// normalizeSigla.
func (t *BookTable) ParseRef(dialect, input string) (string, bool) {
low := strings.ToLower(strings.Join(strings.Fields(input), " "))
+ low = bookDotRe.ReplaceAllString(low, "$1") // drop abbreviation dots ("1 cor. 9" -> "1 cor 9")
if low == "" {
return "", false
}
diff --git a/internal/bible/convert.go b/internal/bible/convert.go
index 6181dbf..e7d5944 100644
--- a/internal/bible/convert.go
+++ b/internal/bible/convert.go
@@ -46,6 +46,7 @@ var (
iRe = regexp.MustCompile(`\s+i\s+`)
dashRe = regexp.MustCompile(`\s*[-–—]\s*`)
verseLetterRe = regexp.MustCompile(`(\d)[a-c]\b`)
+ bookDotRe = regexp.MustCompile(`(\p{L})\.`) // abbreviation dot after a letter ("Cor." -> "Cor")
psalmRestRe = regexp.MustCompile(`(\d+)(?:\s*\((\d+)\))?(.*)$`)
digitsRe = regexp.MustCompile(`\d+`)
)