packages feed

text-display 0.0.5.1 → 0.0.5.2

raw patch · 15 files changed

+209/−40 lines, 15 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Text.Display.Core: instance Data.Text.Display.Core.CannotDisplayByteStrings => Data.Text.Display.Core.Display Data.ByteString.Internal.ByteString
- Data.Text.Display.Core: instance Data.Text.Display.Core.Display Data.Void.Void
+ Data.Text.Display.Core: instance Data.Text.Display.Core.CannotDisplayByteStrings => Data.Text.Display.Core.Display Data.ByteString.Internal.Type.ByteString
+ Data.Text.Display.Core: instance Data.Text.Display.Core.Display GHC.Base.Void
- Data.Text.Display.Generic: type AssertNoSumRecordInstance (constraint :: Type -> Constraint) a = Assert (Not (HasSum (Rep a))) ('Text "🚫 Cannot derive " :<>: 'ShowType constraint :<>: 'Text " instance for " :<>: 'ShowType a :<>: 'Text " via RecordInstance due to sum type" :$$: 'Text "💡 Sum types should use a manual instance or derive one via ShowInstance.")
+ Data.Text.Display.Generic: type AssertNoSumRecordInstance (constraint :: Type -> Constraint) a = Assert (Not (HasSum (Rep a))) ('Text "🚫 Cannot derive " ':<>: 'ShowType constraint ':<>: 'Text " instance for " ':<>: 'ShowType a ':<>: 'Text " via RecordInstance due to sum type" ':$$: 'Text "💡 Sum types should use a manual instance or derive one via ShowInstance.")

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # CHANGELOG +## [v0.0.5.2] - 07/04/2024++* Allow GHC 9.6.4 and 9.8.2+ ## [v0.0.5.1] - 04/11/2023  *  Allow bytestring 0.12 (for GHC 9.8) [#58](https://github.com/haskell-text/text-display/pull/58)
doc/book/404.html view
@@ -71,10 +71,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -87,11 +89,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/Comparison.html view
@@ -70,10 +70,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -86,11 +88,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/Design.html view
@@ -70,10 +70,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -86,11 +88,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/Introduction.html view
@@ -70,10 +70,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -86,11 +88,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/Tutorial.html view
@@ -70,10 +70,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -86,11 +88,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/book.js view
@@ -68,7 +68,7 @@     }      // updates the visibility of play button based on `no_run` class and-    // used crates vs ones available on http://play.rust-lang.org+    // used crates vs ones available on https://play.rust-lang.org     function update_play_button(pre_block, playground_crates) {         var play_button = pre_block.querySelector(".play-button"); @@ -179,7 +179,7 @@     // even if highlighting doesn't apply     code_nodes.forEach(function (block) { block.classList.add('hljs'); }); -    Array.from(document.querySelectorAll("code.language-rust")).forEach(function (block) {+    Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) {          var lines = Array.from(block.querySelectorAll('.boring'));         // If no lines were hidden, return@@ -346,7 +346,7 @@         }          setTimeout(function () {-            themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor;+            themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor;         }, 1);          if (window.ace && window.editors) {@@ -551,13 +551,6 @@             firstContact = null;         }     }, { passive: true });--    // Scroll sidebar to current active section-    var activeSection = document.getElementById("sidebar").querySelector(".active");-    if (activeSection) {-        // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView-        activeSection.scrollIntoView({ block: 'center' });-    } })();  (function chapterNavigation() {@@ -676,13 +669,14 @@         }, { passive: true });     })();     (function controllBorder() {-        menu.classList.remove('bordered');-        document.addEventListener('scroll', function () {+        function updateBorder() {             if (menu.offsetTop === 0) {                 menu.classList.remove('bordered');             } else {                 menu.classList.add('bordered');             }-        }, { passive: true });+        }+        updateBorder();+        document.addEventListener('scroll', updateBorder, { passive: true });     })(); })();
doc/book/css/chrome.css view
@@ -22,7 +22,7 @@         the screen on small screens. Without it, dragging on mobile Safari         will want to reposition the viewport in a weird way.     */-    overflow-x: hidden;+    overflow-x: clip; }  /* Menu Bar */
doc/book/css/general.css view
@@ -5,6 +5,7 @@ :root {     /* Browser default font-size is 16px, this way 1 rem = 10px */     font-size: 62.5%;+    color-scheme: var(--color-scheme); }  html {
doc/book/css/print.css view
@@ -22,14 +22,6 @@     overflow-y: initial; } -code {-    background-color: #666666;-    border-radius: 5px;--    /* Force background to be printed in Chrome */-    -webkit-print-color-adjust: exact;-}- pre > .buttons {     z-index: 2; }
doc/book/css/variables.css view
@@ -50,6 +50,8 @@     --searchresults-border-color: #888;     --searchresults-li-bg: #252932;     --search-mark-bg: #e3b171;++    --color-scheme: dark; }  .coal {@@ -90,6 +92,8 @@     --searchresults-border-color: #98a3ad;     --searchresults-li-bg: #2b2b2f;     --search-mark-bg: #355c7d;++    --color-scheme: dark; }  .light {@@ -130,6 +134,8 @@     --searchresults-border-color: #888;     --searchresults-li-bg: #e4f2fe;     --search-mark-bg: #a2cff5;++    --color-scheme: light; }  .navy {@@ -170,6 +176,8 @@     --searchresults-border-color: #5c5c68;     --searchresults-li-bg: #242430;     --search-mark-bg: #a2cff5;++    --color-scheme: dark; }  .rust {@@ -210,6 +218,8 @@     --searchresults-border-color: #888;     --searchresults-li-bg: #dec2a2;     --search-mark-bg: #e69f67;++    --color-scheme: light; }  @media (prefers-color-scheme: dark) {
doc/book/index.html view
@@ -70,10 +70,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -86,11 +88,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/print.html view
@@ -71,10 +71,12 @@         <!-- Hide / unhide sidebar before it is displayed -->         <script>             var html = document.querySelector('html');-            var sidebar = 'hidden';+            var sidebar = null;             if (document.body.clientWidth >= 1080) {                 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }                 sidebar = sidebar || 'visible';+            } else {+                sidebar = 'hidden';             }             html.classList.remove('sidebar-visible');             html.classList.add("sidebar-" + sidebar);@@ -87,11 +89,33 @@             <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>         </nav> +        <!-- Track and set sidebar scroll position -->+        <script>+            var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');+            sidebarScrollbox.addEventListener('click', function(e) {+                if (e.target.tagName === 'A') {+                    sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);+                }+            }, { passive: true });+            var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');+            sessionStorage.removeItem('sidebar-scroll');+            if (sidebarScrollTop) {+                // preserve sidebar scroll position when navigating via links within sidebar+                sidebarScrollbox.scrollTop = sidebarScrollTop;+            } else {+                // scroll sidebar to current active section when navigating via "next/previous chapter" buttons+                var activeSection = document.querySelector('#sidebar .active');+                if (activeSection) {+                    activeSection.scrollIntoView({ block: 'center' });+                }+            }+        </script>+         <div id="page-wrapper" class="page-wrapper">              <div class="page">                                 <div id="menu-bar-hover-placeholder"></div>-                <div id="menu-bar" class="menu-bar sticky bordered">+                <div id="menu-bar" class="menu-bar sticky">                     <div class="left-buttons">                         <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">                             <i class="fa fa-bars"></i>
doc/book/tomorrow-night.css view
@@ -1,7 +1,7 @@ /* Tomorrow Night Theme */-/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */+/* https://github.com/jmblog/color-themes-for-highlightjs */ /* Original theme - https://github.com/chriskempson/tomorrow-theme */-/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */+/* https://github.com/jmblog/color-themes-for-highlightjs */  /* Tomorrow Comment */ .hljs-comment {
text-display.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               text-display-version:            0.0.5.1+version:            0.0.5.2 category:           Text synopsis:           A typeclass for user-facing output description:@@ -15,7 +15,7 @@ license:            MIT build-type:         Simple tested-with:-  GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.7 || ==9.6.3 || ==9.8.1+  GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.7 || ==9.6.4 || ==9.8.2  extra-source-files:   LICENSE