From b9d41c01911b807cc557ad1ce2f58b691ec2483c Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph.amissah@gmail.com>
Date: Sat, 1 Jun 2019 21:18:08 -0400
Subject: book index sort: Aa-Zz (replaces A-Za-z)

---
 src/doc_reform/meta/metadoc_from_src.d | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

(limited to 'src')

diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d
index c4c7365..3d6b441 100644
--- a/src/doc_reform/meta/metadoc_from_src.d
+++ b/src/doc_reform/meta/metadoc_from_src.d
@@ -5393,10 +5393,9 @@ template DocReformDocAbstraction() {
     auto bookindex_write_section(BI)(
       BI bookindex_unordered_hashes
     ) {
-      debug(asserts) {
-        static assert(is(typeof(bookindex_unordered_hashes) == string[][string][string]));
-      }
-      auto mainkeys=bookindex_unordered_hashes.byKey.array.sort().release;
+      auto mainkeys =
+        bookindex_unordered_hashes.byKey.array
+        .sort!("toUpper(a) < toUpper(b)", SwapStrategy.stable).release;
       foreach (mainkey; mainkeys) {
         write("_0_1 !┨", mainkey, "┣! ");
         foreach (ref_; bookindex_unordered_hashes[mainkey]["_a"]) {
@@ -5405,8 +5404,9 @@ template DocReformDocAbstraction() {
         }
         writeln(" \\\\");
         bookindex_unordered_hashes[mainkey].remove("_a");
-        auto subkeys
-          = bookindex_unordered_hashes[mainkey].byKey.array.sort().release;
+        auto subkeys =
+          bookindex_unordered_hashes[mainkey].byKey.array
+          .sort!("toUpper(a) < toUpper(b)", SwapStrategy.stable).release;
         foreach (subkey; subkeys) {
           write("  ", subkey, ", ");
           foreach (ref_; bookindex_unordered_hashes[mainkey][subkey]) {
@@ -5436,8 +5436,9 @@ template DocReformDocAbstraction() {
       int heading_lev_markup, heading_lev_collapsed;
       string attrib;
       int[string] indent;
-      auto mainkeys
-        = bookindex_unordered_hashes.byKey.array.sort().release;
+      auto mainkeys =
+        bookindex_unordered_hashes.byKey.array
+        .sort!("toUpper(a) < toUpper(b)", SwapStrategy.stable).release;
       ObjGenericComposite[] bookindex_section;
       ObjGenericComposite comp_obj_heading_, comp_obj_para;
       auto node_para_int_ = node_metadata_para_int;
@@ -5518,8 +5519,9 @@ template DocReformDocAbstraction() {
           }
           bi_tmp ~= " \\\\\n    ";
           bookindex_unordered_hashes[mainkey].remove("_a");
-          auto subkeys
-            = bookindex_unordered_hashes[mainkey].byKey.array.sort().release;
+          auto subkeys =
+            bookindex_unordered_hashes[mainkey].byKey.array
+            .sort!("toUpper(a) < toUpper(b)", SwapStrategy.stable).release;
           foreach (subkey; subkeys) {
             bi_tmp ~= subkey ~ ", ";
             buffer.clear();
-- 
cgit v1.2.3