From 52a357acc03c1ad96932d077ed03c57b3065cfe4 Mon Sep 17 00:00:00 2001 From: Norman Walsh Date: Sun, 10 Nov 2024 08:46:06 +0000 Subject: [PATCH 1/2] Rewrote verbatim handling for clearer, more orthogonal features --- src/guide/xml/ch02.xml | 294 ++- src/guide/xml/ch04.xml | 55 - src/guide/xml/changelog.xml | 25 + src/guide/xml/ref-functions.xml | 137 +- src/guide/xml/ref-params.xml | 85 + src/main/scss/media-all.scss | 8 + src/main/scss/media-screen.scss | 4 + src/main/web/css/highlight-11.10.0.min.css | 9 + src/main/web/js/highlight-11.10.0.min.js | 1706 +++++++++++++++++ .../js/highlightjs-line-numbers-2.9.0.min.js | 1 + src/main/xslt/modules/attributes.xsl | 21 +- src/main/xslt/modules/chunk-cleanup.xsl | 6 +- src/main/xslt/modules/functions.xsl | 15 + src/main/xslt/modules/head.xsl | 21 +- src/main/xslt/modules/inlines.xsl | 16 +- src/main/xslt/modules/variable.xsl | 14 +- src/main/xslt/modules/verbatim.xsl | 1388 +++++++------- src/test/resources/expected/address.002.html | 25 +- src/test/resources/expected/book.003.html | 7 +- src/test/resources/expected/book.021.html | 3 +- .../resources/expected/calloutlist.001.html | 9 +- .../resources/expected/calloutlist.002.html | 39 +- .../resources/expected/calloutlist.003.html | 38 +- src/test/resources/expected/chapter.003.html | 50 +- src/test/resources/expected/co.001.html | 9 +- src/test/resources/expected/colors.001.html | 41 +- src/test/resources/expected/example.001.html | 3 +- src/test/resources/expected/fit.001.html | 70 +- src/test/resources/expected/fit.002.html | 70 +- src/test/resources/expected/glossary.007.html | 3 +- src/test/resources/expected/glossary.008.html | 3 +- src/test/resources/expected/glossary.009.html | 3 +- .../resources/expected/highlight.001.html | 105 + .../resources/expected/highlight.002.html | 49 + .../resources/expected/highlightjs.001.html | 80 + .../resources/expected/indexterm.005.html | 3 +- .../expected/informalexample.001.html | 3 +- src/test/resources/expected/iso690.001.html | 3 +- src/test/resources/expected/iso690.002.html | 3 +- src/test/resources/expected/iso690.003.html | 3 +- src/test/resources/expected/iso690.004.html | 3 +- src/test/resources/expected/iso690.005.html | 3 +- src/test/resources/expected/iso690.006.html | 3 +- src/test/resources/expected/iso690.007.html | 3 +- src/test/resources/expected/iso690.008.html | 3 +- src/test/resources/expected/iso690.009.html | 3 +- src/test/resources/expected/iso690.010.html | 3 +- src/test/resources/expected/iso690.011.html | 3 +- src/test/resources/expected/iso690.012.html | 3 +- src/test/resources/expected/iso690.013.html | 3 +- .../expected/lineannotation.001.html | 11 +- .../resources/expected/literallayout.002.html | 2 +- .../resources/expected/literallayout.005.html | 26 +- src/test/resources/expected/panelset.001.html | 6 +- src/test/resources/expected/para.004.html | 3 +- .../resources/expected/presentation.001.html | 6 +- src/test/resources/expected/prism.001.html | 58 + .../expected/programlisting.001.html | 3 +- .../expected/programlisting.002.html | 3 +- .../expected/programlisting.003.html | 3 +- .../expected/programlisting.004.html | 3 +- .../expected/programlisting.005.html | 3 +- .../expected/programlisting.006.html | 63 +- .../expected/programlisting.007.html | 3 +- .../expected/programlisting.008.html | 6 +- .../expected/programlisting.009.html | 50 +- .../expected/programlisting.010.html | 31 +- .../expected/programlisting.011.html | 3 +- .../expected/programlisting.012.html | 15 +- .../expected/programlisting.013.html | 58 +- .../expected/programlisting.014.html | 10 +- .../expected/programlisting.015.html | 6 +- .../expected/programlistingco.001.html | 3 +- .../programlistingco.001_l_f_l-lra.html | 25 +- .../programlistingco.001_l_f_l-lrf.html | 25 +- .../expected/programlistingco.001_l_f_l.html | 25 +- .../programlistingco.001_l_f_lc-l-lra.html | 25 +- .../programlistingco.001_l_f_lc-l-lrf.html | 25 +- .../programlistingco.001_l_f_lc-l.html | 25 +- .../programlistingco.001_l_f_lc-lra.html | 25 +- .../programlistingco.001_l_f_lc-lrf.html | 25 +- .../expected/programlistingco.001_l_f_lc.html | 25 +- .../programlistingco.001_l_f_lra.html | 25 +- .../programlistingco.001_l_f_lrf.html | 25 +- .../programlistingco.001_l_t_l-lra.html | 3 +- .../programlistingco.001_l_t_l-lrf.html | 3 +- .../expected/programlistingco.001_l_t_l.html | 3 +- .../programlistingco.001_l_t_lc-l-lra.html | 3 +- .../programlistingco.001_l_t_lc-l-lrf.html | 3 +- .../programlistingco.001_l_t_lc-l.html | 3 +- .../programlistingco.001_l_t_lc-lra.html | 3 +- .../programlistingco.001_l_t_lc-lrf.html | 3 +- .../expected/programlistingco.001_l_t_lc.html | 3 +- .../programlistingco.001_l_t_lra.html | 3 +- .../programlistingco.001_l_t_lrf.html | 3 +- .../programlistingco.001_p_f_l-lra.html | 14 +- .../programlistingco.001_p_f_l-lrf.html | 12 +- .../expected/programlistingco.001_p_f_l.html | 10 +- .../programlistingco.001_p_f_lc-l-lra.html | 20 +- .../programlistingco.001_p_f_lc-l-lrf.html | 18 +- .../programlistingco.001_p_f_lc-l.html | 16 +- .../programlistingco.001_p_f_lc-lra.html | 14 +- .../programlistingco.001_p_f_lc-lrf.html | 12 +- .../expected/programlistingco.001_p_f_lc.html | 10 +- .../programlistingco.001_p_f_lra.html | 8 +- .../programlistingco.001_p_f_lrf.html | 6 +- .../programlistingco.001_p_t_l-lra.html | 14 +- .../programlistingco.001_p_t_l-lrf.html | 12 +- .../expected/programlistingco.001_p_t_l.html | 10 +- .../programlistingco.001_p_t_lc-l-lra.html | 20 +- .../programlistingco.001_p_t_lc-l-lrf.html | 18 +- .../programlistingco.001_p_t_lc-l.html | 16 +- .../programlistingco.001_p_t_lc-lra.html | 16 +- .../programlistingco.001_p_t_lc-lrf.html | 14 +- .../expected/programlistingco.001_p_t_lc.html | 12 +- .../programlistingco.001_p_t_lra.html | 10 +- .../programlistingco.001_p_t_lrf.html | 8 +- .../programlistingco.001_r_t_l-lra.html | 2 +- .../programlistingco.001_r_t_l-lrf.html | 2 +- .../expected/programlistingco.001_r_t_l.html | 2 +- .../programlistingco.001_r_t_lc-l-lra.html | 2 +- .../programlistingco.001_r_t_lc-l-lrf.html | 2 +- .../programlistingco.001_r_t_lc-l.html | 2 +- .../programlistingco.001_r_t_lc-lra.html | 2 +- .../programlistingco.001_r_t_lc-lrf.html | 2 +- .../expected/programlistingco.001_r_t_lc.html | 2 +- .../programlistingco.001_r_t_lra.html | 2 +- .../programlistingco.001_r_t_lrf.html | 2 +- .../expected/programlistingco.002.html | 9 +- .../expected/programlistingco.003.html | 12 +- .../expected/programlistingco.004.html | 3 +- src/test/resources/expected/pygments.001.html | 6 +- src/test/resources/expected/pygments.002.html | 37 +- src/test/resources/expected/pygments.003.html | 3 +- src/test/resources/expected/pygments.004.html | 3 +- src/test/resources/expected/qandaset.002.html | 6 +- src/test/resources/expected/qandaset.003.html | 18 +- src/test/resources/expected/refentry.003.html | 3 +- src/test/resources/expected/refentry.004.html | 3 +- src/test/resources/expected/refentry.007.html | 64 +- src/test/resources/expected/refentry.012.html | 6 +- src/test/resources/expected/screen.001.html | 9 +- src/test/resources/expected/screen.002.html | 29 +- src/test/resources/expected/screenco.001.html | 25 +- .../expected/screenco.001_l_f_l-lra.html | 25 +- .../expected/screenco.001_l_f_l-lrf.html | 25 +- .../expected/screenco.001_l_f_l.html | 25 +- .../expected/screenco.001_l_f_lc-l-lra.html | 25 +- .../expected/screenco.001_l_f_lc-l-lrf.html | 25 +- .../expected/screenco.001_l_f_lc-l.html | 25 +- .../expected/screenco.001_l_f_lc-lra.html | 25 +- .../expected/screenco.001_l_f_lc-lrf.html | 25 +- .../expected/screenco.001_l_f_lc.html | 25 +- .../expected/screenco.001_l_f_lra.html | 25 +- .../expected/screenco.001_l_f_lrf.html | 25 +- .../expected/screenco.001_l_t_l-lra.html | 3 +- .../expected/screenco.001_l_t_l-lrf.html | 3 +- .../expected/screenco.001_l_t_l.html | 3 +- .../expected/screenco.001_l_t_lc-l-lra.html | 3 +- .../expected/screenco.001_l_t_lc-l-lrf.html | 3 +- .../expected/screenco.001_l_t_lc-l.html | 3 +- .../expected/screenco.001_l_t_lc-lra.html | 3 +- .../expected/screenco.001_l_t_lc-lrf.html | 3 +- .../expected/screenco.001_l_t_lc.html | 3 +- .../expected/screenco.001_l_t_lra.html | 3 +- .../expected/screenco.001_l_t_lrf.html | 3 +- .../expected/screenco.001_p_f_l-lra.html | 14 +- .../expected/screenco.001_p_f_l-lrf.html | 12 +- .../expected/screenco.001_p_f_l.html | 10 +- .../expected/screenco.001_p_f_lc-l-lra.html | 20 +- .../expected/screenco.001_p_f_lc-l-lrf.html | 18 +- .../expected/screenco.001_p_f_lc-l.html | 16 +- .../expected/screenco.001_p_f_lc-lra.html | 14 +- .../expected/screenco.001_p_f_lc-lrf.html | 12 +- .../expected/screenco.001_p_f_lc.html | 10 +- .../expected/screenco.001_p_f_lra.html | 8 +- .../expected/screenco.001_p_f_lrf.html | 6 +- .../expected/screenco.001_p_t_l-lra.html | 14 +- .../expected/screenco.001_p_t_l-lrf.html | 12 +- .../expected/screenco.001_p_t_l.html | 10 +- .../expected/screenco.001_p_t_lc-l-lra.html | 20 +- .../expected/screenco.001_p_t_lc-l-lrf.html | 18 +- .../expected/screenco.001_p_t_lc-l.html | 16 +- .../expected/screenco.001_p_t_lc-lra.html | 16 +- .../expected/screenco.001_p_t_lc-lrf.html | 14 +- .../expected/screenco.001_p_t_lc.html | 12 +- .../expected/screenco.001_p_t_lra.html | 10 +- .../expected/screenco.001_p_t_lrf.html | 8 +- .../expected/screenco.001_r_t_l-lra.html | 2 +- .../expected/screenco.001_r_t_l-lrf.html | 2 +- .../expected/screenco.001_r_t_l.html | 2 +- .../expected/screenco.001_r_t_lc-l-lra.html | 2 +- .../expected/screenco.001_r_t_lc-l-lrf.html | 2 +- .../expected/screenco.001_r_t_lc-l.html | 2 +- .../expected/screenco.001_r_t_lc-lra.html | 2 +- .../expected/screenco.001_r_t_lc-lrf.html | 2 +- .../expected/screenco.001_r_t_lc.html | 2 +- .../expected/screenco.001_r_t_lra.html | 2 +- .../expected/screenco.001_r_t_lrf.html | 2 +- .../resources/expected/table-cals.020.html | 3 +- .../resources/expected/table-cals.039.html | 3 +- .../resources/expected/table-html.024.html | 5 +- src/test/resources/expected/template.001.html | 9 + src/test/resources/expected/titles.001.html | 3 +- .../expected/unwrapped-para.004.html | 3 +- .../resources/expected/verbatim-xspec-001.xml | 11 +- .../resources/expected/verbatim-xspec-002.xml | 11 +- .../resources/expected/verbatim-xspec-003.xml | 3 +- .../resources/expected/verbatim-xspec-004.xml | 11 +- .../resources/expected/verbatim-xspec-005.xml | 11 +- .../resources/expected/verbatim-xspec-006.xml | 3 +- .../resources/expected/verbatim-xspec-007.xml | 3 +- .../resources/expected/verbatim-xspec-008.xml | 3 +- .../resources/expected/verbatim-xspec-009.xml | 3 +- src/test/resources/expected/xinclude.002.html | 16 +- src/test/resources/expected/xinclude.003.html | 4 +- src/test/resources/expected/xinclude.004.html | 4 +- src/test/resources/expected/xinclude.005.html | 4 +- src/test/resources/expected/xinclude.006.html | 4 +- src/test/resources/expected/xinclude.013.html | 4 +- src/test/resources/expected/xinclude.014.html | 4 +- src/test/resources/expected/xinclude.015.html | 2 +- src/test/resources/expected/xinclude.016.html | 2 +- src/test/resources/expected/xinclude.019.html | 21 +- src/test/resources/expected/xinclude.021.html | 20 +- src/test/resources/expected/xinclude.022.html | 14 +- src/test/resources/sample.py | 36 +- src/test/resources/xml/highlight.001.xml | 135 ++ src/test/resources/xml/highlight.002.xml | 138 ++ src/test/resources/xml/highlightjs.001.xml | 103 + src/test/resources/xml/prism.001.xml | 77 + src/test/resources/xml/template.001.xml | 28 + src/test/xspec/verbatim.xspec | 14 +- 233 files changed, 4824 insertions(+), 2199 deletions(-) create mode 100644 src/main/web/css/highlight-11.10.0.min.css create mode 100644 src/main/web/js/highlight-11.10.0.min.js create mode 100644 src/main/web/js/highlightjs-line-numbers-2.9.0.min.js create mode 100644 src/test/resources/expected/highlight.001.html create mode 100644 src/test/resources/expected/highlight.002.html create mode 100644 src/test/resources/expected/highlightjs.001.html create mode 100644 src/test/resources/expected/prism.001.html create mode 100644 src/test/resources/expected/template.001.html create mode 100644 src/test/resources/xml/highlight.001.xml create mode 100644 src/test/resources/xml/highlight.002.xml create mode 100644 src/test/resources/xml/highlightjs.001.xml create mode 100644 src/test/resources/xml/prism.001.xml create mode 100644 src/test/resources/xml/template.001.xml diff --git a/src/guide/xml/ch02.xml b/src/guide/xml/ch02.xml index 6def75c4ef..c9bfb7b399 100755 --- a/src/guide/xml/ch02.xml +++ b/src/guide/xml/ch02.xml @@ -1223,8 +1223,187 @@ to avoid extraneous whitespace in either version. +
+Verbatim environments + +Verbatim environments are ones in which spaces and line-breaks are +preserved. There are several flavors of verbatim environment in DocBook: +programlisting, screen, literallayout, +address, and several flavors of synopsis. Most verbatim +environments are presented in a monospace font, but literallayout and +address usually are not. In addition, programlistingco +and screenco provide mechanisms for out-of-band annotations (“callouts”) +in the environments the contain. + +To further complicate matters, line numbering may be added to verbatim +environments, they may be syntax highlighted, and these embellishments can be +performed by the stylesheets or with JavaScript in the browser (or more +generally, "the rending engine"; it’s not impossible to imagine a paged +media formatter that renders JavaScript, I just don’t know of any). + +Handling of verbatim environments was largely rewritten in version 2.5.0 +of the stylesheets to clarify what can be controlled and how. There are still +a collection of not-quite-orthogonal issues at play. + +Broadly, there are four possible presentation styles for verbatim +environments and three sets of features: syntax highlighting, line numbering, +and support for out-of-band callouts. Syntax highlighting can be performed +by the stylesheets using Pygments or by the browser using JavaScript. + + +Verbatim processing matrix + + + + + + + + + + Verbatim presentation style + + + + lines + table + plain + raw + + + + + Pygments highlighting + + + + + + + JavaScript highlighting + + + + + + + Line numbering + + + * + * + + + Out-of-band callouts + + + + + + + * Maybe, if supported by JavaScript highlighter + + + +
+ +At the highest level, if verbatim-embellishments is +false, no special formatting is provided. If +verbatim-embellish-linenumbers is false, no line +numbering will be provided, irrespective of other settings. The +DocBook xslTNG Stylesheets have always numbered verbatim +environments by default; this is a simple, global parameter to disable that +behavior. Assuming that embellishments are enabled, the +verbatim-numbered-elements parameter determines which +elements are numbered by default. + +How a verbatim environment is processed depends a number of options +described in the sections that follow. + +
+Verbatim style + +There are four verbatim styles: lines, table, +plain, and raw. + + +lines + +In the lines style, each line of the verbatim environment is +marked up individually. In this style, lines can be numbered and +callouts can be inserted. + + + +table + +In the table style, each line of the verbatim environment is +marked up individually, very much like the lines style. In this style, +lines can be numbered and callouts can be inserted. It differs from +the lines style in that the whole thing is wrapped in a table. + +The table has one row and two columns. The line numbers appear in the +first column, the lines in the second. This format was added in order +to improve the display in user agents that don’t support CSS. +Ironically, in the course of adding this style, a number of changes +were made to the way line numbers are formatted in the lines style +making it largely, perhaps entirely, unnecessary. + + + +plain + +In the plain style, callouts can be inserted, but additional markup is not +added (except for the callouts). Consequently, it isn’t possible to do line numbering +or syntax highlighting. (It may be possible to provide these features with JavaScript +libraries in the browser, however.) + + + +raw + +In the raw style, no changes are made to the verbatim content. It’s output as +it appears. Inline markup that it contains, emphasis or other elements, will +be processed, but you cannot add line numbers, callouts, or syntax highlighting. + + + + + +The lines +style assures that inline markup doesn’t cross line boundaries, wraps each line in a +span, may add an additional +spans for line numbers, and may +be augmented with out-of-band callouts. +The table style is essentially the same as the lines +style except that the final presentation uses an HTML +table to separate the line numbers +from the listing. +The plain style +assures that inline markup doesn’t cross line boundaries, but otherwise adds +no markup. +The raw style does nothing but format the listing. +For a given verbatim element, if its (local) name appears in the +verbatim-table-style parameter, it will use the table +style, if it appears in the verbatim-line-style parameter, it will +use the line style, if it appears in the verbatim-plain-style +parameter, it will use the plain style. Otherwise, it will use the +raw style. +The style of an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +verbatim-style +db processing instruction +verbatim-style pseudo-attribute + pseudo attribute that specifies the style. +In addition, the default style for all the listings in a given +document can be specified by setting the verbatim-style on a +dbdb processing instruction + processing instruction in the root element. +
+
-Syntax highlighting +Syntax highlighter Program listings and other verbatim environments can be “syntax highlighted”, that is, the significant tokens in the listing can be colored differently (keywords in red, @@ -1245,8 +1424,116 @@ has no impact on formatting and doesn’t require an external process. However, xslTNG Stylesheets have no control over the process. Most of the verbatim options only apply when Pygments is used. -The choice of syntax highlighter is determined by the -verbatim-syntax-highlighter parameter. +There are four highlighter choices: pygments, +highlight.js, prism, or none. + + +If the pygments highlighter is selected, an attempt is made +to run an external Python program to apply syntax highlighting to the listing. This +ignores all inline markup and, obviously, will only succeed if the Pygments highlighter +is configured on your system. +The highlight.js and prism highlighters are two +different JavaScript-based highlighters. +If none is selected, no highlighting will be attempted. + + +The highlighter for an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +syntax-highlighter +db processing instruction +syntax-highlighter pseudo-attribute + pseudo attribute that specifies the highlighter. +In addition, the default style for all the listings in a given +document can be specified by setting the syntax-highlighter on a +dbdb processing instruction + processing instruction in the root element. + +Although none and pygments can always be +selected, the JavaScript highlighters can only be selected at the document level. + +
+ +
+Verbatim numbering + +If enabled, line numbers are added to verbatim listings. + +The verbatim-numbered-elements parameter determines which +elements are numbered by default. Numbering for an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +verbatim-numbered +db processing instruction +verbatim-numbered pseudo-attribute + pseudo attribute. +
+ +
+Verbatim (out-of-band) callouts +This option determines how out-of-band callouts should be rendered. + +The verbatim-callouts parameter determines the default +renderings. The rendering for an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +verbatim-highlight +db processing instruction +verbatim-highlight pseudo-attribute + pseudo attribute. +
+ +
+Starting line number + +When numbering, what is the number of the first line? + +This is determined by the startinglinenumber +and continuation attributes. +
+ +
+Shortest numbered listing + +What is the shortest listing that should be numbered? +Even if line numbering is enabled, it may not be desirable to number +the lines of very short listings. Listings shorter than the minimimum number +will not be numbered. +The verbatim-number-minlines parameter determines the default +value. The valu for an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +linenumbering-minlines +db processing instruction +linenumbering-minlines pseudo-attribute + pseudo attribute. +
+ +
+Trimming blank lines + +Controls if leading and/or trailing blank lines will be +removed from the listing. This can improve the appearance of listings where the author +has added a blank line after the start tag or before the end tag. + +The verbatim-trim-leading-blank-lines +(verbatim-trim-trailing-blank-lines +parameter determines if leading (trailing) blank lines will be removed by default. +The value for an individual element can be changed by adding a +dbdb processing instruction + processing instruction with a +verbatim-trim-leading +db processing instruction +verbatim-trim-leading pseudo-attribute + +or +verbatim-trim-trailing +db processing instruction +verbatim-trim-trailing pseudo-attribute + +pseudo attribute. +This only applies for the lines and table presentation styles. +
@@ -1723,3 +2010,4 @@ has a background color.
+ diff --git a/src/guide/xml/ch04.xml b/src/guide/xml/ch04.xml index 3487d95765..2d1e70dc1f 100644 --- a/src/guide/xml/ch04.xml +++ b/src/guide/xml/ch04.xml @@ -65,59 +65,6 @@ SVG images is not available. v:unit-scale. -
-Verbatim styles - -There are four verbatim styles: lines, table, -plain, and raw. - - -lines - -In the lines style, each line of the verbatim environment is -marked up individually. In this style, lines can be numbered and -callouts can be inserted. - - - -table - -In the table style, each line of the verbatim environment is -marked up individually, very much like the lines style. In this style, -lines can be numbered and callouts can be inserted. It differs from -the lines style in that the whole thing is wrapped in a table. - -The table has one row and two columns. The line numbers appear in the -first column, the lines in the second. This format was added in order -to improve the display in user agents that don’t support CSS. -Ironically, in the course of adding this style, a number of changes -were made to the way line numbers are formatted in the lines style -making it largely, perhaps entirely, unnecessary. - - - -plain - -In the plain style, callouts can be inserted, but additional markup is not -added (except for the callouts). Consequently, it isn’t possible to do line numbering -or syntax highlighting. (It may be possible to provide these features with JavaScript -libraries in the browser, however.) - - - -raw - -In the raw style, no changes are made to the verbatim content. It’s output as -it appears. Inline markup that it contains, emphasis or other elements, will -be processed, but you cannot add line numbers, callouts, or syntax highlighting. - - - - - -Consult for a variety of parameters that control -aspects of verbatim processing. -
Line numbers @@ -156,8 +103,6 @@ the verbatim environment. But without CSS, the numbers are aligned and separated from the text that follows. The verbatim-number-separator is generally suppressed by CSS, but is visible in text browsers. - -
diff --git a/src/guide/xml/changelog.xml b/src/guide/xml/changelog.xml index 077d221226..b2aa7daafc 100644 --- a/src/guide/xml/changelog.xml +++ b/src/guide/xml/changelog.xml @@ -10,6 +10,31 @@ be of interest to users of the stylesheets. See the commits and pull requests on the repository for finer detail. +
+ + Changes in version 2.5.0 + 2.5.0 + 2024-11-09 + + + +Fixed bug where @db-line didn’t take startinglinenumber into consideration. + + +Verbatim environments that aren’t numbered no longer have “invisible” number markup. + + +Trailing newline removed from verbatim environments. + + +The f:verbatim-highlight and f:highlight-verbatim +functions have been removed. The highlighter, and highligting, is determined by +the f:verbatim-syntax-highlighter fucntion. + + + +
+
Changes in version 2.4.1 diff --git a/src/guide/xml/ref-functions.xml b/src/guide/xml/ref-functions.xml index b083571311..c7e7318b2c 100644 --- a/src/guide/xml/ref-functions.xml +++ b/src/guide/xml/ref-functions.xml @@ -544,26 +544,6 @@ to construct the divisions in an index. - - - -f:highlight-verbatim -{http://docbook.org/ns/docbook/functions}highlight-verbatim#1 - - -f:highlight-verbatim -Syntax highlight verbatim element? -function - - -Description -Returns true if the specified verbatim environment should have -syntax highlighting applied to it. This depends on the -language specified on the environment and the -verbatim-syntax-highlight-languages parameter. - - - @@ -1714,36 +1694,6 @@ Otherwise, it returns an empty sequence. - - - -f:verbatim-highlight -{http://docbook.org/ns/docbook/functions}verbatim-highlight#1 - - -f:verbatim-highlight -Returns the highlight properties for a verbatim environment -function - - -Description -Verbatim elements can be styled in a variety of ways, see -. This function returns the highlight settings -for a particular verbatim environment. -If the style for this environment is explicitly “plain”, then no -highlight settings are returned (this avoids a bunch of warning messages). -Otherwise, if a -dbdb processing instruction - processing instruction with a -verbatim-highlight -db processing instruction -verbatim-highlight pseudo-attribute - pseudo-attribute is present, -it is returned. If there’s no PI, then the default -settings for this kind of environment are returned. - - - @@ -1889,6 +1839,66 @@ case-by-case basis. + + + +f:verbatim-callout +{http://docbook.org/ns/docbook/functions}verbatim-callout#1 +2.5.0 + + +f:verbatim-callout +Return the callout style for a verbatim environment +function + + +Description +This function examines a verbatim environment, the $context, +and returns the value of the +A dbdb processing instruction + processing instruction with a +verbatim-highlight +db processing instruction +verbatim-highlight pseudo-attribute + pseudo-attribute may be used to override the +verbatim-callouts parameter on a +case-by-case basis. + +The pseudo-attribute name is “highlight” for backwards compatibility. The function +is named “callout” to make it clear(er) that this is unrelated to syntax highlighting. + + + + + + +f:verbatim-syntax-highlighter +{http://docbook.org/ns/docbook/functions}verbatim-syntax-highlighter#1 +2.5.0 + + +f:verbatim-syntax-highlighter +Return the syntax highlighter style for a verbatim environment +function + + +Description +This function examines a verbatim environment, the $context, +and returns the value of the +A dbdb processing instruction + processing instruction with a +syntax-highlighter +db processing instruction +syntax-highlighter pseudo-attribute + pseudo-attribute may be used to override the +f:global-syntax-highlighter on a +case-by-case basis. + +Not all overrides are possible. You can’t, in general, use a JavaScript-based renderer, +or a different JavaScript-based renderer, on a case-by-case basis. + + + @@ -2486,4 +2496,31 @@ is returned instead. + + + + f:global-syntax-highlighter + {http://docbook.org/ns/docbook/functions}global-syntax-highlighter#1 + 2.5.0 + + + f:global-syntax-highlighter + Returns the global syntax highlighter + function + + +Description +The global syntax highlighter is usually specified with the +verbatim-syntax-highlighter parameter. However, mostly as an aid to +testing, you can also use the +dbdb processing instruction + processing instruction +syntax-highlighter +db processing instruction +syntax-highlighter pseudo-attribute + pseudo-attribute in the root element. +This will override the default highlighter for the specific document. + + + diff --git a/src/guide/xml/ref-params.xml b/src/guide/xml/ref-params.xml index 57031b4e50..d80cddf4c6 100644 --- a/src/guide/xml/ref-params.xml +++ b/src/guide/xml/ref-params.xml @@ -4510,6 +4510,17 @@ JavaScript is available. syntax highlighting. The highlight-js-head-elements variable determines what CSS stylesheets and JavaScript libraries are loaded for this option. +Version 11.10.0 of highlight.js +is included, configured +to highlight the following languages: abnf, apache, asciidoc, +bash, c, cmake, coffeescript, cpp, csharp, css, diff, go, gradle, groovy, http, +ini, java, javascript, json, kotlin, latex, less, lisp, lua, makefile, markdown, +nginx, objectivec, perl, pgsql, php, php-template, plaintext, powershell, +protobuf, python, python-repl, r, ruby, rust, scala, scheme, scss, shell, sql, +swift, typescript, xml, yaml. Only the default CSS is included. +Version 2.9.0 of +highlightjs-line-numbers.js +is also included. @@ -5792,4 +5803,78 @@ without rotating the page headers and footers. + + + + verbatim-embellishments + 'true' + + 2.5.0 + + + Attempt to embellish verbatim environments? + + +Description +When formatting verbatim environments, this flag controls whether +or not any attempt will be done to number lines, add syntax highlighting, or +identify callouts. Enabling this flag doesn’t +necessarily mean that the embellishments will succeed (that depends on other +settings; see ). +If this flag is true, embellishments may +be attempted. If it is not, the listings will always be presented without +embellishment. + + + + + + + verbatim-embellish-linenumbers + 'true' + + 2.5.0 + + + Attempt to add line numbers to verbatim environments? + + +Description +When formatting verbatim environments, this flag controls whether +or not any attempt will be done to number lines. +Enabling this flag doesn’t +necessarily mean that the embellishments will succeed (that depends on other +settings; see ). +If this flag is true, line numbering may +be attempted. If it is not, the listings will always be presented without +line numbers. This parameter has no effect if verbatim-embellishments is +“false”. + + + + + + + verbatim-default-language + 'none' + + 2.5.0 + + + Default language for programlisting verbatim environments + + +Description +If the language attribute is provided on +a verbatim environment, that will be reflected in the output as a +language-language class value. +This is used by some browser-based syntax highlighters for language identification +and can be used for styling. +When a programlisting doesn’t specify a language, +the value of verbatim-default-language will be used to construct +one. No class will be output if the default language is the empty sequence. +The default language only applies to programlisting elements. + + + diff --git a/src/main/scss/media-all.scss b/src/main/scss/media-all.scss index 341ee3be70..56f0178190 100644 --- a/src/main/scss/media-all.scss +++ b/src/main/scss/media-all.scss @@ -1022,6 +1022,7 @@ pre.verblines span.ln { padding-top: 4px; padding-bottom: 4px; text-align: right; + color: var(--on-background-color); } pre.verblines.numbered span.ln { @@ -1064,6 +1065,7 @@ pre.verblines span.ld { display: table-cell; padding-top: 4px; padding-bottom: 4px; + padding-left: 4px; } pre.address span.ld, @@ -1106,6 +1108,12 @@ table.verbatim tr td pre { margin-right: 0; } +/* A couple of style tweaks to highlightjs-line-numbers.js line numbers */ +.hljs-ln-n { + padding-right: 1em; + text-align: right; +} + /* ============================================================ */ .productionset .productions { diff --git a/src/main/scss/media-screen.scss b/src/main/scss/media-screen.scss index 9113783106..16bd1ecd5a 100644 --- a/src/main/scss/media-screen.scss +++ b/src/main/scss/media-screen.scss @@ -448,6 +448,10 @@ nav.top div { display: block; } +.laser-pointer { + cursor: url('data:image/gif;base64,R0lGODlhFAAUAPYAAAAAAP81If82If82Iv82I/83I/83JP84Jf84Jv85Jv85J/86J/86KP86Kf87Kf87Kv88K/88LP89LP89Lf8+Lv8/L/8/MP9AMf9BMf9BMv9CM/9CNP9DNP9ENv9FN/9GOP9GOf9HOv9JPP9JPf9KPv9LP/9MQP9NQf9OQv9PQ/9QRf9RRv9SR/9TSP9USf9VSv9WTP9XTf9XTv9YTv9ZT/9aUf9bUf9bUv9cUv9cU/9dVP9dVf9fVv9gWP9hWf9iWv9jW/9kXP9lXf9mXv9mX/9nYP9oYP9oYf9qYv9qY/9rZP9uZ/9uaP9vaf9wav9xa/9ya/9ybP90bv91b/92cP92cf93cf95c/96dP97dv98dv98d/9+ef9/e/+Ae/+Cff+Ef/+EgP+FgP+Ggv+Jhf+Khv+MiP+Nif+Pi/+QjP+Sjv+Wkv+Zlv+bmP+em/+joP+mo/+qqP+vrf+wrv+xrv+ysP+0sv+1s/+2tP+2tf+8uv+9u/++vAAAAAAAAAAAACH5BAEAAAAALAAAAAAUABQAAAfNgACCg4SFhoeIiQBqWk1HR1FgioJaOikcmCEqPZKITSkPBwajBgccMVqHUaCjBw8PpA8xYYVlM7CmKjozJbAGHD2FUSGjwF1qZ1YxsA8qnYI9zLNwdXRuViWjIVGEOsw9bHV7e3FlMaIcR92wFkdu4nt0ZzPo6oPRBg86ZXF1dXBaUojaRqgJB21EyrBZA0aHhVIpngEIs6wUhxk9esQ4+CtYoSMlROV75atZl0NFepFq1YybpxghSHIooSOVojBReujQ0cPKmUlAgyoKBAA7') 9 9, auto; +} + /* ============================================================ */ @media screen { diff --git a/src/main/web/css/highlight-11.10.0.min.css b/src/main/web/css/highlight-11.10.0.min.css new file mode 100644 index 0000000000..a75ea91162 --- /dev/null +++ b/src/main/web/css/highlight-11.10.0.min.css @@ -0,0 +1,9 @@ +/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/src/main/web/js/highlight-11.10.0.min.js b/src/main/web/js/highlight-11.10.0.min.js new file mode 100644 index 0000000000..b93eddd9c9 --- /dev/null +++ b/src/main/web/js/highlight-11.10.0.min.js @@ -0,0 +1,1706 @@ +/*! + Highlight.js v11.10.0 (git: 366a8bd012) + (c) 2006-2024 Josh Goebel and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(t){ +return t instanceof Map?t.clear=t.delete=t.set=()=>{ +throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{ +const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i) +})),t}class t{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function n(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function i(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.scope +;class o{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)} +closeNode(e){s(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const r=(e={})=>{const t={children:[]} +;return Object.assign(t,e),t};class a{constructor(){ +this.rootNode=r(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t=r({scope:e}) +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,t){const n=e.root +;t&&(n.scope="language:"+t),this.add(n)}toHTML(){ +return new o(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function l(e){ +return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")} +function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")} +function h(...e){return e.map((e=>l(e))).join("")}function f(...e){const t=(e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e);return"("+(t.capture?"":"?:")+e.map((e=>l(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break} +s+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0], +"("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)} +const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",y="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",O={ +begin:"\\\\[\\s\\S]",relevance:0},v={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[O]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t, +contains:[]},n);s.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const o=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return s.contains.push({begin:h(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s +},S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var j=Object.freeze({ +__proto__:null,APOS_STRING_MODE:v,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{ +scope:"number",begin:_,relevance:0},BINARY_NUMBER_RE:_,COMMENT:N, +C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number", +begin:y,relevance:0},C_NUMBER_RE:y,END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:R,IDENT_RE:E, +MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0}, +NUMBER_MODE:{scope:"number",begin:w,relevance:0},NUMBER_RE:w, +PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},QUOTE_STRING_MODE:k,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, +end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]}, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function A(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=A,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function L(e,t){ +Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(e,t){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function P(e,t){ +void 0===e.relevance&&(e.relevance=1)}const D=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords,e.begin=h(n.beforeMatch,g(n.begin)),e.starts={ +relevance:0,contains:[Object.assign(n,{endsParent:!0})] +},e.relevance=0,delete n.beforeMatch +},H=["of","and","for","in","not","or","if","then","parent","list","value"],C="keyword" +;function $(e,t,n=C){const i=Object.create(null) +;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,$(e[n],t,n))})),i;function s(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,U(n[0],n[1])]}))}}function U(e,t){ +return t?Number(t):(e=>H.includes(e.toLowerCase()))(e)?0:1}const z={},W=e=>{ +console.error(e)},X=(e,...t)=>{console.log("WARN: "+e,...t)},G=(e,t)=>{ +z[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0) +},K=Error();function F(e,t,{key:n}){let i=0;const s=e[n],o={},r={} +;for(let e=1;e<=t.length;e++)r[e+i]=s[e],o[e+i]=!0,i+=p(t[e-1]) +;e[n]=r,e[n]._emit=o,e[n]._multi=!0}function Z(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw W("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +K +;if("object"!=typeof e.beginScope||null===e.beginScope)throw W("beginScope must be object"), +K;F(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw W("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +K +;if("object"!=typeof e.endScope||null===e.endScope)throw W("endScope must be object"), +K;F(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function V(e){ +function t(t,n){ +return RegExp(l(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":"")) +}class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=i(e.classNameAliases||{}),function n(o,r){const a=o +;if(o.isCompiled)return a +;[I,B,Z,D].forEach((e=>e(o,r))),e.compilerExtensions.forEach((e=>e(o,r))), +o.__beforeBegin=null,[T,L,P].forEach((e=>e(o,r))),o.isCompiled=!0;let c=null +;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords), +c=o.keywords.$pattern, +delete o.keywords.$pattern),c=c||/\w+/,o.keywords&&(o.keywords=$(o.keywords,e.case_insensitive)), +a.keywordPatternRe=t(c,!0), +r&&(o.begin||(o.begin=/\B|\b/),a.beginRe=t(a.begin),o.end||o.endsWithParent||(o.end=/\B|\b/), +o.end&&(a.endRe=t(a.end)), +a.terminatorEnd=l(a.end)||"",o.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)), +o.illegal&&(a.illegalRe=t(o.illegal)), +o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:q(e)?i(e,{ +starts:e.starts?i(e.starts):null +}):Object.isFrozen(e)?i(e):e))("self"===e?o:e)))),o.contains.forEach((e=>{n(e,a) +})),o.starts&&n(o.starts,r),a.matcher=(e=>{const t=new s +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function q(e){ +return!!e&&(e.endsWithParent||q(e.starts))}class J extends Error{ +constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}} +const Y=n,Q=i,ee=Symbol("nomatch"),te=n=>{ +const i=Object.create(null),s=Object.create(null),o=[];let r=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",l={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:c};function b(e){ +return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s="" +;"object"==typeof t?(i=e, +n=t.ignoreIllegals,s=t.language):(G("10.7.0","highlight(lang, code, ...args) has been deprecated."), +G("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +s=e,i=t),void 0===n&&(n=!0);const o={code:i,language:s};N("before:highlight",o) +;const r=o.result?o.result:E(o.language,o.code,n) +;return r.code=o.code,N("after:highlight",r),r}function E(e,n,s,o){ +const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R) +;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n="" +;for(;t;){n+=R.substring(e,t.index) +;const s=_.case_insensitive?t[0].toLowerCase():t[0],o=(i=s,N.keywords[i]);if(o){ +const[e,i]=o +;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(j+=i),e.startsWith("_"))n+=t[0];else{ +const n=_.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0] +;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i +;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{ +if(""===R)return;let e=null;if("string"==typeof N.subLanguage){ +if(!i[N.subLanguage])return void M.addText(R) +;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top +}else e=x(R,N.subLanguage.length?N.subLanguage:null) +;N.relevance>0&&(j+=e.relevance),M.__addSublanguage(e._emitter,e.language) +})():l(),R=""}function u(e,t){ +""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1 +;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue} +const i=_.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}} +function h(e,t){ +return e.scope&&"string"==typeof e.scope&&M.openNode(_.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(u(R,_.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{ +value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e) +;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return f(e.parent,n,i)}function b(e){ +return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){ +const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return ee;const o=N +;N.endScope&&N.endScope._wrap?(g(), +u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(), +d(N.endScope,e)):o.skip?R+=t:(o.returnEnd||o.excludeEnd||(R+=t), +g(),o.excludeEnd&&(R=t));do{ +N.scope&&M.closeNode(),N.skip||N.subLanguage||(j+=N.relevance),N=N.parent +}while(N!==s.parent);return s.starts&&h(s.starts,e),o.returnEnd?0:t.length} +let w={};function y(i,o){const a=o&&o[0];if(R+=i,null==a)return g(),0 +;if("begin"===w.type&&"end"===o.type&&w.index===o.index&&""===a){ +if(R+=n.slice(o.index,o.index+1),!r){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=w.rule,t}return 1} +if(w=o,"begin"===o.type)return(e=>{ +const n=e[0],i=e.rule,s=new t(i),o=[i.__beforeBegin,i["on:begin"]] +;for(const t of o)if(t&&(t(e,s),s.isMatchIgnored))return b(n) +;return i.skip?R+=n:(i.excludeBegin&&(R+=n), +g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(o) +;if("illegal"===o.type&&!s){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"")+'"') +;throw e.mode=N,e}if("end"===o.type){const e=m(o);if(e!==ee)return e} +if("illegal"===o.type&&""===a)return 1 +;if(I>1e5&&I>3*o.index)throw Error("potential infinite loop, way more iterations than matches") +;return R+=a,a.length}const _=O(e) +;if(!_)throw W(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const v=V(_);let k="",N=o||v;const S={},M=new p.__emitter(p);(()=>{const e=[] +;for(let t=N;t!==_;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>M.openNode(e)))})();let R="",j=0,A=0,I=0,T=!1;try{ +if(_.__emitTokens)_.__emitTokens(n,M);else{for(N.matcher.considerAll();;){ +I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=A +;const e=N.matcher.exec(n);if(!e)break;const t=y(n.substring(A,e.index),e) +;A=e.index+t}y(n.substring(A))}return M.finalize(),k=M.toHTML(),{language:e, +value:k,relevance:j,illegal:!1,_emitter:M,_top:N}}catch(t){ +if(t.message&&t.message.includes("Illegal"))return{language:e,value:Y(n), +illegal:!0,relevance:0,_illegalBy:{message:t.message,index:A, +context:n.slice(A-100,A+100),mode:t.mode,resultSoFar:k},_emitter:M};if(r)return{ +language:e,value:Y(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N} +;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{ +const t={value:Y(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)} +;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(k).map((t=>E(t,e,!1))) +;s.unshift(n);const o=s.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1 +;if(O(t.language).supersetOf===e.language)return-1}return 0})),[r,a]=o,c=r +;return c.secondBest=a,c}function w(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1]) +;return t||(X(a.replace("{}",n[1])), +X("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return +;if(N("before:highlightElement",{el:e,language:n +}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) +;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new J("One of your code blocks includes unescaped HTML.",e.innerHTML) +;t=e;const i=t.textContent,o=n?m(i,{language:n,ignoreIllegals:!0}):x(i) +;e.innerHTML=o.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,o.language),e.result={language:o.language,re:o.relevance, +relevance:o.relevance},o.secondBest&&(e.secondBest={ +language:o.secondBest.language,relevance:o.secondBest.relevance +}),N("after:highlightElement",{el:e,result:o,text:i})}let y=!1;function _(){ +"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(w):y=!0 +}function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]} +function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +s[e.toLowerCase()]=t}))}function k(e){const t=O(e) +;return t&&!t.disableAutodetect}function N(e,t){const n=e;o.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +y&&_()}),!1),Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:_, +highlightElement:w, +highlightBlock:e=>(G("10.7.0","highlightBlock will be removed entirely in v12.0"), +G("10.7.0","Please use highlightElement now."),w(e)),configure:e=>{p=Q(p,e)}, +initHighlighting:()=>{ +_(),G("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +_(),G("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){ +if(W("Language definition for '{}' could not be registered.".replace("{}",e)), +!r)throw t;W(t),s=l} +s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&v(s.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete i[e] +;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, +listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v, +autoDetection:k,inherit:Q,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),o.push(e)}, +removePlugin:e=>{const t=o.indexOf(e);-1!==t&&o.splice(t,1)}}),n.debugMode=()=>{ +r=!1},n.safeMode=()=>{r=!0},n.versionString="11.10.0",n.regex={concat:h, +lookahead:g,either:f,optional:d,anyNumberOfTimes:u} +;for(const t in j)"object"==typeof j[t]&&e(j[t]);return Object.assign(n,j),n +},ne=te({});return ne.newInstance=()=>te({}),ne}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `abnf` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex,s=e.COMMENT(/;/,/$/) +;return{name:"Augmented Backus-Naur Form",illegal:/[!@#$^&',?+~`|:]/, +keywords:["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"], +contains:[{scope:"operator",match:/=\/?/},{scope:"attribute", +match:a.concat(/^[a-zA-Z][a-zA-Z0-9-]*/,/(?=\s*=)/)},s,{scope:"symbol", +match:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/},{scope:"symbol", +match:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/},{scope:"symbol", +match:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/},{scope:"symbol", +match:/%[si](?=".*")/},e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}})() +;hljs.registerLanguage("abnf",e)})();/*! `apache` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={className:"number", +begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};return{ +name:"Apache config",aliases:["apacheconf"],case_insensitive:!0, +contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/, +contains:[n,{className:"number",begin:/:\d{1,5}/ +},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute", +begin:/\w+/,relevance:0,keywords:{ +_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"] +},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"}, +contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable", +begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}] +},n,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}} +})();hljs.registerLanguage("apache",e)})();/*! `asciidoc` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a=[{ +className:"strong",begin:/\*{2}([^\n]+?)\*{2}/},{className:"strong", +begin:n.concat(/\*\*/,/((\*(?!\*)|\\[^\n]|[^*\n\\])+\n)+/,/(\*(?!\*)|\\[^\n]|[^*\n\\])*/,/\*\*/), +relevance:0},{className:"strong",begin:/\B\*(\S|\S[^\n]*?\S)\*(?!\w)/},{ +className:"strong",begin:/\*[^\s]([^\n]+\n)+([^\n]+)\*/}],s=[{ +className:"emphasis",begin:/_{2}([^\n]+?)_{2}/},{className:"emphasis", +begin:n.concat(/__/,/((_(?!_)|\\[^\n]|[^_\n\\])+\n)+/,/(_(?!_)|\\[^\n]|[^_\n\\])*/,/__/), +relevance:0},{className:"emphasis",begin:/\b_(\S|\S[^\n]*?\S)_(?!\w)/},{ +className:"emphasis",begin:/_[^\s]([^\n]+\n)+([^\n]+)_/},{className:"emphasis", +begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0 +}],relevance:0}];return{name:"AsciiDoc",aliases:["adoc"], +contains:[e.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10 +}),e.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{ +begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"section", +relevance:10,variants:[{begin:"^(={1,6})[ \t].+?([ \t]\\1)?$"},{ +begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{className:"meta", +begin:"^:.+?:",end:"\\s",excludeEnd:!0,relevance:10},{className:"meta", +begin:"^\\[.+?\\]$",relevance:0},{className:"quote",begin:"^_{4,}\\n", +end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n", +end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$", +contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},{ +className:"bullet",begin:"^(\\*+|-+|\\.+|[^\\n]+?::)\\s+"},{className:"symbol", +begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10},{ +begin:/\\[*_`]/},{begin:/\\\\\*{2}[^\n]*?\*{2}/},{begin:/\\\\_{2}[^\n]*_{2}/},{ +begin:/\\\\`{2}[^\n]*`{2}/},{begin:/[:;}][*_`](?![*_`])/},...a,...s,{ +className:"string",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{ +className:"code",begin:/`{2}/,end:/(\n{2}|`{2})/},{className:"code", +begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]", +end:"$",relevance:0},{begin:"^'{3,}[ \\t]*$",relevance:10},{ +begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+?\\[[^[]*?\\]", +returnBegin:!0,contains:[{begin:"(link|image:?):",relevance:0},{ +className:"link",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"string", +begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}] +}}})();hljs.registerLanguage("asciidoc",e)})();/*! `bash` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/, +end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{ +className:"variable",variants:[{ +begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] +},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(o);const r={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),m,r,i,c,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ +className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}}})() +;hljs.registerLanguage("bash",e)})();/*! `c` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",i="("+a+"|"+n.optional(s)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(s)+e.IDENT_RE,relevance:0 +},_=n.optional(s)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},g=[c,r,t,e.C_BLOCK_COMMENT_MODE,o,l],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:g.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:g.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+i+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:_,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], +relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, +keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,o,r,{begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,l,o,r] +}]},r,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, +strings:l,keywords:u}}}})();hljs.registerLanguage("c",e)})();/*! `cmake` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>({name:"CMake",aliases:["cmake.in"], +case_insensitive:!0,keywords:{ +keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined" +},contains:[{className:"variable",begin:/\$\{/,end:/\}/ +},e.COMMENT(/#\[\[/,/]]/),e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE] +})})();hljs.registerLanguage("cmake",e)})();/*! `coffeescript` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],r=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;return t=>{const a={ +keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"], +e=>!i.includes(e))),literal:n.concat(["yes","no","on","off"]), +built_in:r.concat(["npm","print"])};var i;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={ +className:"subst",begin:/#\{/,end:/\}/,keywords:a +},c=[t.BINARY_NUMBER_MODE,t.inherit(t.C_NUMBER_MODE,{starts:{end:"(\\s*/)?", +relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/, +contains:[t.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[t.BACKSLASH_ESCAPE] +},{begin:/"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/, +contains:[t.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///", +end:"///",contains:[o,t.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)", +relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s +},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{ +begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c +;const l=t.inherit(t.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={ +className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/, +end:/\)/,keywords:a,contains:["self"].concat(c)}]},u={variants:[{ +match:[/class\s+/,s,/\s+extends\s+/,s]},{match:[/class\s+/,s]}],scope:{ +2:"title.class",4:"title.class.inherited"},keywords:a};return{ +name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:a,illegal:/\/\*/, +contains:[...c,t.COMMENT("###","###"),t.HASH_COMMENT_MODE,{className:"function", +begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0,contains:[l,g]},{ +begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:d, +end:"[-=]>",returnBegin:!0,contains:[g]}]},u,{begin:s+":",end:":", +returnBegin:!0,returnEnd:!0,relevance:0}]}}})() +;hljs.registerLanguage("coffeescript",e)})();/*! `cpp` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,a=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),n="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+n+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",s={ +className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{ +begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)" +},{ +begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)" +}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{ +className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},u={ +className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0 +},d=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={ +type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], +keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], +literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], +_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] +},_={className:"function.dispatch",relevance:0,keywords:{ +_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] +}, +begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/)) +},m=[_,l,s,a,e.C_BLOCK_COMMENT_MODE,o,c],f={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:p,contains:m.concat([{begin:/\(/,end:/\)/,keywords:p, +contains:m.concat(["self"]),relevance:0}]),relevance:0},g={className:"function", +begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:p,relevance:0},{ +begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{ +begin:/:/,endsWithParent:!0,contains:[c,o]},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0, +contains:[a,e.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/,end:/\)/,keywords:p, +relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,c,o,s]}] +},s,a,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"",keywords:p,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:p},{ +match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], +className:{1:"keyword",3:"title.class"}}])}}})();hljs.registerLanguage("cpp",e) +})();/*! `csharp` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={ +keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},a=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},t=e.inherit(s,{illegal:/\n/}),r={className:"subst",begin:/\{/,end:/\}/, +keywords:n},l=e.inherit(r,{illegal:/\n/}),c={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,l]},o={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},r]},d=e.inherit(o,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]}) +;r.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE], +l.contains=[d,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[{className:"string", +begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1 +},o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">", +contains:[{beginKeywords:"in out"},a] +},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +keyword:"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,i,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,i,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}})() +;hljs.registerLanguage("csharp",e)})();/*! `css` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),t=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),o=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse() +;return n=>{const a=n.regex,l=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, +BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", +begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ +className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ +scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}))(n),s=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,{ +begin:/-(webkit|moz|ms|o)-(?=[a-z])/},l.CSS_NUMBER_MODE,{ +className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{ +className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+t.join("|")+")"},{begin:":(:)?("+i.join("|")+")"}]},l.CSS_VARIABLE,{ +className:"attribute",begin:"\\b("+o.join("|")+")\\b"},{begin:/:/,end:/[;}{]/, +contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...s,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...s,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:a.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:r.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...s,l.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+e.join("|")+")\\b"}]}}})() +;hljs.registerLanguage("css",e)})();/*! `diff` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"Diff", +aliases:["patch"],contains:[{className:"meta",relevance:10, +match:a.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:a.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}}})();hljs.registerLanguage("diff",e)})();/*! `go` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:a,illegal:"{var e=(()=>{"use strict";return e=>({name:"Gradle",case_insensitive:!0, +keywords:["task","project","allprojects","subprojects","artifacts","buildscript","configurations","dependencies","repositories","sourceSets","description","delete","from","into","include","exclude","source","classpath","destinationDir","includes","options","sourceCompatibility","targetCompatibility","group","flatDir","doLast","doFirst","flatten","todir","fromdir","ant","def","abstract","break","case","catch","continue","default","do","else","extends","final","finally","for","if","implements","instanceof","native","new","private","protected","public","return","static","switch","synchronized","throw","throws","transient","try","volatile","while","strictfp","package","import","false","null","super","this","true","antlrtask","checkstyle","codenarc","copy","boolean","byte","char","class","double","float","int","interface","long","short","void","compile","runTime","file","fileTree","abs","any","append","asList","asWritable","call","collect","compareTo","count","div","dump","each","eachByte","eachFile","eachLine","every","find","findAll","flatten","getAt","getErr","getIn","getOut","getText","grep","immutable","inject","inspect","intersect","invokeMethods","isCase","join","leftShift","minus","multiply","newInputStream","newOutputStream","newPrintWriter","newReader","newWriter","next","plus","pop","power","previous","print","println","push","putAt","read","readBytes","readLines","reverse","reverseEach","round","size","sort","splitEachLine","step","subMap","times","toInteger","toList","tokenize","upto","waitForOrKill","withPrintWriter","withReader","withStream","withWriter","withWriterAppend","write","writeLine"], +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.REGEXP_MODE] +})})();hljs.registerLanguage("gradle",e)})();/*! `groovy` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";function e(e,a={}){return a.variants=e,a} +return a=>{ +const n=a.regex,t="[A-Za-z0-9_$]+",r=e([a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*","\\*/",{ +relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag", +begin:"@[A-Za-z]+"}]})]),s={className:"regexp",begin:/~?\/[^\/\n]+\//, +contains:[a.BACKSLASH_ESCAPE] +},i=e([a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]),l=e([{begin:/"""/,end:/"""/},{ +begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10 +},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],{className:"string"}),c={ +match:[/(class|interface|trait|enum|record|extends|implements)/,/\s+/,a.UNDERSCORE_IDENT_RE], +scope:{1:"keyword",3:"title.class"}};return{name:"Groovy",keywords:{ +"variable.language":"this super",literal:"true false null", +type:["byte","short","char","int","long","boolean","float","double","void"], +keyword:["def","as","in","assert","trait","abstract","static","volatile","transient","public","private","protected","synchronized","final","class","interface","enum","if","else","for","while","switch","case","break","default","continue","throw","throws","try","catch","finally","implements","extends","new","import","package","return","instanceof","var"] +},contains:[a.SHEBANG({binary:"groovy",relevance:10}),r,l,s,i,c,{ +className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr", +begin:t+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0, +contains:[r,l,s,i,"self"]},{className:"symbol", +begin:"^[ \t]*"+n.lookahead(t+":"),excludeBegin:!0,end:t+":",relevance:0}], +illegal:/#|<\//}}})();hljs.registerLanguage("groovy",e)})();/*! `http` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n="HTTP/([32]|1\\.[01])",a={ +className:"attribute", +begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{ +contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$", +relevance:0}}]}},s=[a,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0} +}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{ +begin:"^(?="+n+" \\d{3})",end:/$/,contains:[{className:"meta",begin:n},{ +className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/, +contains:s}},{begin:"(?=^[A-Z]+ (.*?) "+n+"$)",end:/$/,contains:[{ +className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{ +className:"meta",begin:n},{className:"keyword",begin:"[A-Z]+"}],starts:{ +end:/\b\B/,illegal:/\S/,contains:s}},e.inherit(a,{relevance:0})]}}})() +;hljs.registerLanguage("http",e)})();/*! `ini` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={className:"number", +relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}] +},s=e.COMMENT();s.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={ +className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ +}]},t={className:"literal",begin:/\bon|off|true|false|yes|no\b/},r={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''", +end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' +},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[s,t,i,r,a,"self"], +relevance:0},c=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[s,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(c,"(\\s*\\.\\s*",c,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[s,l,t,i,r,a]}}]}}})() +;hljs.registerLanguage("ini",e)})();/*! `java` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;var e="[0-9](_*[0-9])*",a=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",s={ +className:"number",variants:[{ +begin:`(\\b(${e})((${a})|\\.)?|(${a}))[eE][+-]?(${e})[fFdD]?\\b`},{ +begin:`\\b(${e})((${a})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${a})[fFdD]?\\b` +},{begin:`\\b(${e})[fFdD]\\b`},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function t(e,a,n){return-1===n?"":e.replace(a,(s=>t(e,a,n-1)))} +return e=>{ +const a=e.regex,n="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",i=n+t("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),r={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},l={className:"meta",begin:"@"+n,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},c={className:"params",begin:/\(/, +end:/\)/,keywords:r,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:r,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[a.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword", +3:"title.class"},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:r,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:r,relevance:0, +contains:[l,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},s,l]}}})() +;hljs.registerLanguage("java",e)})();/*! `javascript` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(r,t,s) +;return o=>{const l=o.regex,b=e,d={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,t=e.input[a] +;if("<"===t||","===t)return void n.ignoreMatch();let s +;">"===t&&(((e,{after:n})=>{const a="e+"\\s*\\(")), +l.concat("(?!",T.join("|"),")")),b,l.lookahead(/\s*\(/)), +className:"title.function",relevance:0};var T;const C={ +begin:l.concat(/\./,l.lookahead(l.concat(b,/(?![0-9A-Za-z$_(])/))),end:b, +excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={ +match:[/get|set/,/\s+/,b,/(?=\()/],className:{1:"keyword",3:"title.function"}, +contains:[{begin:/\(\)/},R] +},B="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={ +match:[/const|var|let/,/\s+/,b,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(B)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ +PARAMS_CONTAINS:w,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/, +contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,h,N,_,f,p,{match:/\$\d+/},A,k,{ +className:"attr",begin:b+l.lookahead(":"),relevance:0},$,{ +begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[p,o.REGEXP_MODE,{ +className:"function",begin:B,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w}]}]},{begin:/,/,relevance:0 +},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d.begin, +"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{ +begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},I,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[R,o.inherit(o.TITLE_MODE,{begin:b, +className:"title.function"})]},{match:/\.\.\./,relevance:0},C,{match:"\\$"+b, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[R]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},O,M,{match:/\$[(.]/}]}}})() +;hljs.registerLanguage("javascript",e)})();/*! `json` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=["true","false","null"],s={ +scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"], +keywords:{literal:a},contains:[{className:"attr", +begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/, +className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}}})();hljs.registerLanguage("json",e)})();/*! `kotlin` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;var e="[0-9](_*[0-9])*",n=`\\.(${e})`,a="[0-9a-fA-F](_*[0-9a-fA-F])*",i={ +className:"number",variants:[{ +begin:`(\\b(${e})((${n})|\\.)?|(${n}))[eE][+-]?(${e})[fFdD]?\\b`},{ +begin:`\\b(${e})((${n})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${n})[fFdD]?\\b` +},{begin:`\\b(${e})[fFdD]\\b`},{ +begin:`\\b0[xX]((${a})\\.?|(${a})?\\.(${a}))[pP][+-]?(${e})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${a})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},o=i,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},a,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 +},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},o]}}})();hljs.registerLanguage("kotlin",e)})();/*! `latex` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=[{begin:/\^{6}[0-9a-f]{6}/},{ +begin:/\^{5}[0-9a-f]{5}/},{begin:/\^{4}[0-9a-f]{4}/},{begin:/\^{3}[0-9a-f]{3}/ +},{begin:/\^{2}[0-9a-f]{2}/},{begin:/\^{2}[\u0000-\u007f]/}],a=[{ +className:"keyword",begin:/\\/,relevance:0,contains:[{endsParent:!0, +begin:e.regex.either(...["(?:NeedsTeXFormat|RequirePackage|GetIdInfo)","Provides(?:Expl)?(?:Package|Class|File)","(?:DeclareOption|ProcessOptions)","(?:documentclass|usepackage|input|include)","makeat(?:letter|other)","ExplSyntax(?:On|Off)","(?:new|renew|provide)?command","(?:re)newenvironment","(?:New|Renew|Provide|Declare)(?:Expandable)?DocumentCommand","(?:New|Renew|Provide|Declare)DocumentEnvironment","(?:(?:e|g|x)?def|let)","(?:begin|end)","(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph)","caption","(?:label|(?:eq|page|name)?ref|(?:paren|foot|super)?cite)","(?:alpha|beta|[Gg]amma|[Dd]elta|(?:var)?epsilon|zeta|eta|[Tt]heta|vartheta)","(?:iota|(?:var)?kappa|[Ll]ambda|mu|nu|[Xx]i|[Pp]i|varpi|(?:var)rho)","(?:[Ss]igma|varsigma|tau|[Uu]psilon|[Pp]hi|varphi|chi|[Pp]si|[Oo]mega)","(?:frac|sum|prod|lim|infty|times|sqrt|leq|geq|left|right|middle|[bB]igg?)","(?:[lr]angle|q?quad|[lcvdi]?dots|d?dot|hat|tilde|bar)"].map((e=>e+"(?![a-zA-Z@:_])"))) +},{endsParent:!0, +begin:RegExp(["(?:__)?[a-zA-Z]{2,}_[a-zA-Z](?:_?[a-zA-Z])+:[a-zA-Z]*","[lgc]__?[a-zA-Z](?:_?[a-zA-Z])*_[a-zA-Z]{2,}","[qs]__?[a-zA-Z](?:_?[a-zA-Z])+","use(?:_i)?:[a-zA-Z]*","(?:else|fi|or):","(?:if|cs|exp):w","(?:hbox|vbox):n","::[a-zA-Z]_unbraced","::[a-zA-Z:]"].map((e=>e+"(?![a-zA-Z:_])")).join("|")) +},{endsParent:!0,variants:n},{endsParent:!0,relevance:0,variants:[{ +begin:/[a-zA-Z@]+/},{begin:/[^a-zA-Z@]?/}]}]},{className:"params",relevance:0, +begin:/#+\d?/},{variants:n},{className:"built_in",relevance:0,begin:/[$&^_]/},{ +className:"meta",begin:/% ?!(T[eE]X|tex|BIB|bib)/,end:"$",relevance:10 +},e.COMMENT("%","$",{relevance:0})],i={begin:/\{/,end:/\}/,relevance:0, +contains:["self",...a]},t=e.inherit(i,{relevance:0,endsParent:!0, +contains:[i,...a]}),r={begin:/\[/,end:/\]/,endsParent:!0,relevance:0, +contains:[i,...a]},s={begin:/\s+/,relevance:0},c=[t],l=[r],o=(e,n)=>({ +contains:[s],starts:{relevance:0,contains:e,starts:n}}),d=(e,n)=>({ +begin:"\\\\"+e+"(?![a-zA-Z@:_])",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\"+e +},relevance:0,contains:[s],starts:n}),g=(n,a)=>e.inherit({ +begin:"\\\\begin(?=[ \t]*(\\r?\\n[ \t]*)?\\{"+n+"\\})",keywords:{ +$pattern:/\\[a-zA-Z]+/,keyword:"\\begin"},relevance:0 +},o(c,a)),m=(n="string")=>e.END_SAME_AS_BEGIN({className:n,begin:/(.|\r?\n)/, +end:/(.|\r?\n)/,excludeBegin:!0,excludeEnd:!0,endsParent:!0}),b=e=>({ +className:"string",end:"(?=\\\\end\\{"+e+"\\})"}),p=(e="string")=>({relevance:0, +begin:/\{/,starts:{endsParent:!0,contains:[{className:e,end:/(?=\})/, +endsParent:!0,contains:[{begin:/\{/,end:/\}/,relevance:0,contains:["self"]}]}]} +});return{name:"LaTeX",aliases:["tex"], +contains:[...["verb","lstinline"].map((e=>d(e,{contains:[m()]}))),d("mint",o(c,{ +contains:[m()]})),d("mintinline",o(c,{contains:[p(),m()]})),d("url",{ +contains:[p("link"),p("link")]}),d("hyperref",{contains:[p("link")] +}),d("href",o(l,{contains:[p("link")] +})),...[].concat(...["","\\*"].map((e=>[g("verbatim"+e,b("verbatim"+e)),g("filecontents"+e,o(c,b("filecontents"+e))),...["","B","L"].map((n=>g(n+"Verbatim"+e,o(l,b(n+"Verbatim"+e)))))]))),g("minted",o(l,o(c,b("minted")))),...a] +}}})();hljs.registerLanguage("latex",e)})();/*! `less` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),r=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),o=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse(),n=r.concat(i).sort().reverse() +;return a=>{const l=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, +BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", +begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ +className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ +scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}))(a),s=n,d="[\\w-]+",c="("+d+"|@\\{"+d+"\\})",g=[],b=[],m=e=>({ +className:"string",begin:"~?"+e+".*?"+e}),p=(e,t,r)=>({className:e,begin:t, +relevance:r}),f={$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:t.join(" ")},u={begin:"\\(",end:"\\)",contains:b,keywords:f, +relevance:0} +;b.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,m("'"),m('"'),l.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},l.HEXCOLOR,u,p("variable","@@?"+d,10),p("variable","@\\{"+d+"\\}"),p("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:d+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},l.IMPORTANT,{beginKeywords:"and not"},l.FUNCTION_DISPATCH);const h=b.concat({ +begin:/\{/,end:/\}/,contains:g}),k={beginKeywords:"when",endsWithParent:!0, +contains:[{beginKeywords:"and not"}].concat(b)},v={begin:c+"\\s*:", +returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ +},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+o.join("|")+")\\b", +end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:b}}] +},y={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:f,returnEnd:!0,contains:b,relevance:0}},w={ +className:"variable",variants:[{begin:"@"+d+"\\s*:",relevance:15},{begin:"@"+d +}],starts:{end:"[;}]",returnEnd:!0,contains:h}},x={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:c,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,k,p("keyword","all\\b"),p("variable","@\\{"+d+"\\}"),{ +begin:"\\b("+e.join("|")+")\\b",className:"selector-tag" +},l.CSS_NUMBER_MODE,p("selector-tag",c,0),p("selector-id","#"+c),p("selector-class","\\."+c,0),p("selector-tag","&",0),l.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+r.join("|")+")"},{ +className:"selector-pseudo",begin:":(:)?("+i.join("|")+")"},{begin:/\(/, +end:/\)/,relevance:0,contains:h},{begin:"!important"},l.FUNCTION_DISPATCH]},_={ +begin:d+":(:)?"+`(${s.join("|")})`,returnBegin:!0,contains:[x]} +;return g.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,y,w,_,v,x,k,l.FUNCTION_DISPATCH), +{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:g}}})() +;hljs.registerLanguage("less",e)})();/*! `lisp` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",a="\\|[^]*?\\|",i="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",s={ +className:"literal",begin:"\\b(t{1}|nil)\\b"},l={className:"number",variants:[{ +begin:i,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{ +begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{ +begin:"#(c|C)\\("+i+" +"+i,end:"\\)"}]},b=e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null}),g=e.COMMENT(";","$",{relevance:0}),r={begin:"\\*",end:"\\*"},t={ +className:"symbol",begin:"[:&]"+n},c={begin:n,relevance:0},d={begin:a},o={ +contains:[l,b,r,t,{begin:"\\(",end:"\\)",contains:["self",s,b,l,c]},c], +variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{ +name:"quote"}},{begin:"'"+a}]},v={variants:[{begin:"'"+n},{ +begin:"#'"+n+"(::"+n+")*"}]},m={begin:"\\(\\s*",end:"\\)"},u={endsWithParent:!0, +relevance:0};return m.contains=[{className:"name",variants:[{begin:n,relevance:0 +},{begin:a}]},u],u.contains=[o,v,m,s,l,b,g,r,t,d,c],{name:"Lisp",illegal:/\S/, +contains:[l,e.SHEBANG(),s,b,g,o,v,m,c]}}})();hljs.registerLanguage("lisp",e) +})();/*! `lua` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const t="\\[=*\\[",a="\\]=*\\]",n={ +begin:t,end:a,contains:["self"] +},o=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,a,{contains:[n],relevance:10 +})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:o}].concat(o) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:t,end:a,contains:[n],relevance:5}])}}})();hljs.registerLanguage("lua",e) +})();/*! `makefile` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const i={className:"variable", +variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{var e=(()=>{"use strict";return e=>{const n={begin:/<\/?[A-Za-z_]/, +end:">",subLanguage:"xml",relevance:0},a={variants:[{begin:/\[.+?\]\[.*?\]/, +relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},i={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},s={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},c=e.inherit(i,{contains:[] +}),t=e.inherit(s,{contains:[]});i.contains.push(t),s.contains.push(c) +;let g=[n,a];return[i,s,c,t].forEach((e=>{e.contains=e.contains.concat(g) +})),g=g.concat(i,s),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:g},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:g}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:g, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", +match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}})() +;hljs.registerLanguage("markdown",e)})();/*! `nginx` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={ +className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{ +begin:n.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},s={endsWithParent:!0,keywords:{ +$pattern:/[a-z_]{2,}|\/dev\/poll/, +literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"] +},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string", +contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/ +}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[a] +},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:"\\s\\^", +end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{ +begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number", +begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{ +className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},a]};return{ +name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{ +beginKeywords:"upstream location",end:/;|\{/,contains:s.contains,keywords:{ +section:"upstream location"}},{className:"section", +begin:n.concat(e.UNDERSCORE_IDENT_RE+n.lookahead(/\s+\{/)),relevance:0},{ +begin:n.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{ +className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:s}],relevance:0}], +illegal:"[^\\s\\}\\{]"}}})();hljs.registerLanguage("nginx",e)})();/*! `objectivec` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={ +$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]} +;return{name:"Objective-C", +aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{ +"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+_.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:_, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}}})();hljs.registerLanguage("objectivec",e)})();/*! `perl` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,t=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},r={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},a={begin:/->\{/, +end:/\}/},i={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable", +variants:[{begin:/\$\d/},{ +begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[i]},o={ +className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{ +match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{ +match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{ +match:/\b0b[0-1][0-1_]*\b/}],relevance:0 +},l=[e.BACKSLASH_ESCAPE,r,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(e,s,r="\\1")=>{ +const a="\\1"===r?r:n.concat(r,s) +;return n.concat(n.concat("(?:",e,")"),s,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,r,t) +},m=(e,s,r)=>n.concat(n.concat("(?:",e,")"),s,/(?:\\.|[^\\\/])*?/,r,t),p=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),a,{className:"string",contains:l,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},o,{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:d("s|tr|y",n.either(...g,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{ +begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:m("(?:m|qr)?",/\//,/\//)},{begin:m("m|qr",n.either(...g,{capture:!0 +}),/\1/)},{begin:m("m|qr",/\(/,/\)/)},{begin:m("m|qr",/\[/,/\]/)},{ +begin:m("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,i] +},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5, +contains:[e.TITLE_MODE,i,o]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$", +end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$", +className:"comment"}]}];return r.contains=p,a.contains=p,{name:"Perl", +aliases:["pl","pm"],keywords:s,contains:p}}})();hljs.registerLanguage("perl",e) +})();/*! `pgsql` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var E=(()=>{"use strict";return E=>{ +const T=E.COMMENT("--","$"),N="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",A="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",R=A.trim().split(" ").map((E=>E.split("|")[0])).join("|"),I="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST".split(" ").map((E=>E.split("|")[0])).join("|") +;return{name:"PostgreSQL",aliases:["postgres","postgresql"],supersetOf:"sql", +case_insensitive:!0,keywords:{ +keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ", +built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED " +},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/, +contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{ +begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{ +begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{ +begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{ +begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{ +begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{ +begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{ +begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{ +begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{ +begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/ +},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{ +begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{ +begin:/\bGROUPING\s+SETS\b/},{ +begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{ +begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{ +begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{ +begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{ +begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{ +begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/ +},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/ +},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{ +begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{ +begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{ +begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{ +begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{ +begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{ +begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{ +begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{ +begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{ +begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{ +begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/ +},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{ +begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/, +keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ +},{ +begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/ +},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{ +begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{ +type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR" +}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{ +begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{ +keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE", +end:E.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE" +},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type", +begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/ +},{ +begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/, +keywords:{keyword:"RETURNS", +type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER" +}},{begin:"\\b("+I+")\\s*\\("},{begin:"\\.("+R+")\\b"},{ +begin:"\\b("+R+")\\s+PATH\\b",keywords:{keyword:"PATH", +type:A.replace("PATH ","")}},{className:"type",begin:"\\b("+R+")\\b"},{ +className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{ +className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}], +relevance:10},E.END_SAME_AS_BEGIN({begin:N,end:N,contains:[{ +subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"], +endsWithParent:!0}]}),{begin:'"',end:'"',contains:[{begin:'""'}] +},E.C_NUMBER_MODE,E.C_BLOCK_COMMENT_MODE,T,{className:"meta",variants:[{ +begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{ +className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}} +})();hljs.registerLanguage("pgsql",E)})();/*! `php` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const t=e.regex,a=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),n=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),o={ +scope:"variable",match:"\\$+"+r},c={scope:"subst",variants:[{begin:/\$\w+/},{ +begin:/\{\$/,end:/\}/}]},i=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),s="[ \t\n]",l={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),i,{ +begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{ +t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({ +begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{ +begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" +}],relevance:0 +},_=["false","null","true"],p=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],E={ +keyword:p,literal:(e=>{const t=[];return e.forEach((e=>{ +t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase()) +})),t})(_),built_in:b},u=e=>e.map((e=>e.replace(/\|\d+$/,""))),g={variants:[{ +match:[/new/,t.concat(s,"+"),t.concat("(?!",u(b).join("\\b|"),"\\b)"),n],scope:{ +1:"keyword",4:"title.class"}}]},h=t.concat(r,"\\b(?!\\()"),m={variants:[{ +match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" +}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ +match:[n,t.concat(/::/,t.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", +3:"variable.constant"}},{match:[n,t.concat("::",t.lookahead(/(?!class\b)/))], +scope:{1:"title.class"}},{match:[n,/::/,/class/],scope:{1:"title.class", +3:"variable.language"}}]},I={scope:"attr", +match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},f={relevance:0, +begin:/\(/,end:/\)/,keywords:E,contains:[I,o,m,e.C_BLOCK_COMMENT_MODE,l,d,g] +},O={relevance:0, +match:[/\b/,t.concat("(?!fn\\b|function\\b|",u(p).join("\\b|"),"|",u(b).join("\\b|"),"\\b)"),r,t.concat(s,"*"),t.lookahead(/(?=\()/)], +scope:{3:"title.function.invoke"},contains:[f]};f.contains.push(O) +;const v=[I,m,e.C_BLOCK_COMMENT_MODE,l,d,g];return{case_insensitive:!1, +keywords:E,contains:[{begin:t.concat(/#\[\s*/,n),beginScope:"meta",end:/]/, +endScope:"meta",keywords:{literal:_,keyword:["new","array"]},contains:[{ +begin:/\[/,end:/]/,keywords:{literal:_,keyword:["new","array"]}, +contains:["self",...v]},...v,{scope:"meta",match:n}] +},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ +scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, +keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, +contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ +begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ +begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},o,O,m,{ +match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},g,{ +scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, +excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" +},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", +begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:E, +contains:["self",o,m,e.C_BLOCK_COMMENT_MODE,l,d]}]},{scope:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ +beginKeywords:"use",relevance:0,end:";",contains:[{ +match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},l,d]} +}})();hljs.registerLanguage("php",e)})();/*! `php-template` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var n=(()=>{"use strict";return n=>({name:"PHP template", +subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php", +contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{ +begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null, +className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{ +illegal:null,className:null,contains:null,skip:!0})]}]})})() +;hljs.registerLanguage("php-template",n)})();/*! `plaintext` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0})})() +;hljs.registerLanguage("plaintext",t)})();/*! `powershell` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={$pattern:/-?[A-z\.\-]+\b/, +keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter", +built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write" +},s={begin:"`[\\s\\S]",relevance:0},i={className:"variable",variants:[{ +begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}] +},a={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}], +contains:[s,i,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},t={ +className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}] +},r=e.inherit(e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/, +end:/#>/}],contains:[{className:"doctag",variants:[{ +begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/ +},{ +begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/ +}]}]}),c={className:"class",beginKeywords:"class enum",end:/\s*[{]/, +excludeEnd:!0,relevance:0,contains:[e.TITLE_MODE]},l={className:"function", +begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0, +contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title", +begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/, +className:"params",relevance:0,contains:[i]}]},o={begin:/using\s/,end:/$/, +returnBegin:!0,contains:[a,t,{className:"keyword", +begin:/(using|assembly|command|module|namespace|type)/}]},p={ +className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0, +relevance:0,contains:[{className:"keyword", +begin:"(".concat(n.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0, +relevance:0},e.inherit(e.TITLE_MODE,{endsParent:!0})] +},g=[p,r,s,e.NUMBER_MODE,a,t,{className:"built_in",variants:[{ +begin:"(Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where)+(-)[\\w\\d]+" +}]},i,{className:"literal",begin:/\$(null|true|false)\b/},{ +className:"selector-tag",begin:/@\B/,relevance:0}],m={begin:/\[/,end:/\]/, +excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",g,{ +begin:"(string|char|byte|int|long|bool|decimal|single|double|DateTime|xml|array|hashtable|void)", +className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/, +relevance:0})};return p.contains.unshift(m),{name:"PowerShell", +aliases:["pwsh","ps","ps1"],case_insensitive:!0,keywords:n, +contains:g.concat(c,l,o,{variants:[{className:"operator", +begin:"(-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor)\\b" +},{className:"literal",begin:/(-){1,2}[\w\d-]+/,relevance:0}]},m)}}})() +;hljs.registerLanguage("powershell",e)})();/*! `protobuf` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const s={ +match:[/(message|enum|service)\s+/,e.IDENT_RE],scope:{1:"keyword", +2:"title.class"}};return{name:"Protocol Buffers",aliases:["proto"],keywords:{ +keyword:["package","import","option","optional","required","repeated","group","oneof"], +type:["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"], +literal:["true","false"]}, +contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{ +className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:!0, +keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}}})() +;hljs.registerLanguage("protobuf",e)})();/*! `python` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},i={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/, +end:/\}/,keywords:t,illegal:/#/},l={begin:/\{\{/,relevance:0},o={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,i,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,i,l,r]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},b="[0-9](_?[0-9])*",c=`(\\b(${b}))?\\.(${b})|\\b(${b})\\.`,d="\\b|"+s.join("|"),g={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${b})|(${c}))[eE][+-]?(${b})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${b})[jJ](?=${d})` +}]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:t, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t, +contains:["self",i,g,o,e.HASH_COMMENT_MODE]}]};return r.contains=[o,g,i],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t, +illegal:/(<\/|\?)|=>/,contains:[i,g,{scope:"variable.language",match:/\bself\b/ +},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" +},o,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword", +3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,o]}]}}})() +;hljs.registerLanguage("python",e)})();/*! `python-repl` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var a=(()=>{"use strict";return a=>({aliases:["pycon"],contains:[{ +className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"} +},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]})})() +;hljs.registerLanguage("python-repl",a)})();/*! `r` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const a=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=a.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),s=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,t=a.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) +;return{name:"R",keywords:{$pattern:n, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, +starts:{end:a.lookahead(a.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), +endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ +scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 +}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] +}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], +variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ +1:"operator",2:"number"},match:[s,i]},{scope:{1:"operator",2:"number"}, +match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[t,i]},{scope:{ +2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"}, +match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:s},{ +match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:t},{begin:"`",end:"`", +contains:[{begin:/\\./}]}]}}})();hljs.registerLanguage("r",e)})();/*! `ruby` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(s,/(::\w+)*/),t={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},c={className:"doctag",begin:"@[A-Za-z]+"},r={ +begin:"#<",end:">"},b=[e.COMMENT("#","$",{contains:[c] +}),e.COMMENT("^=begin","^=end",{contains:[c],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/, +end:/\}/,keywords:t},d={className:"string",contains:[e.BACKSLASH_ESCAPE,l], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,l]})]}]},o="[0-9](_?[0-9])*",g={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${o}))?([eE][+-]?(${o})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},_={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:t}]},u=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:t},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:t},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{ +match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[_]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},g,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:t},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,l], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(r,b),relevance:0}].concat(r,b) +;l.contains=u,_.contains=u;const m=[{begin:/^\s*=>/,starts:{end:"$",contains:u} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:t,contains:u}}];return b.unshift(r),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:t,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(m).concat(b).concat(u)}}})() +;hljs.registerLanguage("ruby",e)})();/*! `rust` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const t=e.regex,n=/(r#)?/,a=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),r={ +className:"title.function.invoke",relevance:0, +begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/)) +},s="([ui](8|16|32|64|128|size)|f(32|64))?",l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],o=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:o, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:l},illegal:""},r]}}})() +;hljs.registerLanguage("rust",e)})();/*! `scala` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={className:"subst", +variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:/\$\{/,end:/\}/}]},s={ +className:"string",variants:[{begin:'"""',end:'"""'},{begin:'"',end:'"', +illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'[a-z]+"',end:'"', +illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,a]},{className:"string", +begin:'[a-z]+"""',end:'"""',contains:[a],relevance:10}]},i={className:"type", +begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title", +begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/, +relevance:0},c={className:"class",beginKeywords:"class object trait type", +end:/[:={\[\n;]/,excludeEnd:!0, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ +beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0, +excludeEnd:!0,relevance:0, +contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0, +contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},t]},r={ +className:"function",beginKeywords:"def",end:n.lookahead(/[:={\[(\n;]/), +contains:[t]};return{name:"Scala",keywords:{literal:"true false null", +keyword:"type yield lazy override def with val var sealed abstract private trait object if then forSome for while do throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit export enum given transparent" +},contains:[{begin:["//>",/\s+/,/using/,/\s+/,/\S+/],beginScope:{1:"comment", +3:"keyword",5:"type"},end:/$/,contains:[{className:"string",begin:/\S+/}] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,i,r,c,e.C_NUMBER_MODE,{ +begin:[/^\s*/,"extension",/\s+(?=[[(])/],beginScope:{2:"keyword"}},{ +begin:[/^\s*/,/end/,/\s+/,/(extension\b)?/],beginScope:{2:"keyword",4:"keyword"} +},{match:/\.inline\b/},{begin:/\binline(?=\s)/,keywords:"inline"},{ +begin:[/\(\s*/,/using/,/\s+(?!\))/],beginScope:{2:"keyword"}},{className:"meta", +begin:"@[A-Za-z]+"}]}}})();hljs.registerLanguage("scala",e)})();/*! `scheme` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",n="(-|\\+)?\\d+([./]\\d+)?",r={ +$pattern:t, +built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?" +},a={className:"literal",begin:"(#t|#f|#\\\\"+t+"|#\\\\.)"},i={ +className:"number",variants:[{begin:n,relevance:0},{begin:n+"[+\\-]"+n+"i", +relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{ +begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},c=e.QUOTE_STRING_MODE,s=[e.COMMENT(";","$",{ +relevance:0}),e.COMMENT("#\\|","\\|#")],l={begin:t,relevance:0},o={ +className:"symbol",begin:"'"+t},g={endsWithParent:!0,relevance:0},u={variants:[{ +begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)", +contains:["self",a,c,i,l,o]}]},d={className:"name",relevance:0,begin:t, +keywords:r},p={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}], +contains:[{begin:/lambda/,endsWithParent:!0,returnBegin:!0,contains:[d,{ +endsParent:!0,variants:[{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/}], +contains:[l]}]},d,g]};return g.contains=[a,i,c,l,o,u,p].concat(s),{ +name:"Scheme",aliases:["scm"],illegal:/\S/, +contains:[e.SHEBANG(),i,c,o,u,p].concat(s)}}})() +;hljs.registerLanguage("scheme",e)})();/*! `scss` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),t=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),o=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse() +;return n=>{const a=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, +BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", +begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ +className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ +scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}))(n),l=i,s=t,d="@[a-z-]+",c={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", +case_insensitive:!0,illegal:"[=/|']", +contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,a.CSS_NUMBER_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+s.join("|")+")"},{className:"selector-pseudo", +begin:":(:)?("+l.join("|")+")"},c,{begin:/\(/,end:/\)/, +contains:[a.CSS_NUMBER_MODE]},a.CSS_VARIABLE,{className:"attribute", +begin:"\\b("+o.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:/:/,end:/[;}{]/,relevance:0, +contains:[a.BLOCK_COMMENT,c,a.HEXCOLOR,a.CSS_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,a.IMPORTANT,a.FUNCTION_DISPATCH] +},{begin:"@(page|font-face)",keywords:{$pattern:d,keyword:"@page @font-face"}},{ +begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:r.join(" ")},contains:[{begin:d, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},c,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,a.HEXCOLOR,a.CSS_NUMBER_MODE] +},a.FUNCTION_DISPATCH]}}})();hljs.registerLanguage("scss",e)})();/*! `shell` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();/*! `sql` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const r=e.regex,t=e.COMMENT("--","$"),n=["true","false","unknown"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],i=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=i,c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!i.includes(e))),l={ +begin:r.concat(/\b/,r.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:r,when:t}={})=>{const n=t +;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:n(e)?e+"|0":e)) +})(c,{when:e=>e.length<3}),literal:n,type:a, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:r.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:c.concat(s),literal:n,type:a}},{className:"type", +begin:r.either("double precision","large object","with timezone","without timezone") +},l,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string", +variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/, +contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{ +className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, +relevance:0}]}}})();hljs.registerLanguage("sql",e)})();/*! `swift` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return t("(?=",e,")")} +function t(...n){return n.map((n=>e(n))).join("")}function a(...n){const t=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(n);return"("+(t.capture?"":"?:")+n.map((n=>e(n))).join("|")+")"} +const i=e=>t(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),c=["init","self"].map(i),u=["Any","Self"],o=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],r=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],p=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],d=a(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),F=a(d,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=t(d,F,"*"),h=a(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=a(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=t(h,f,"*"),g=t(/[A-Z]/,f,"*"),y=["attached","autoclosure",t(/convention\(/,a("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",t(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],v=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;return e=>{const d={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ +contains:["self"]}),E=[e.C_LINE_COMMENT_MODE,h],A={match:[/\./,a(...s,...c)], +className:{2:"keyword"}},C={match:t(/\./,a(...o)),relevance:0 +},k=o.filter((e=>"string"==typeof e)).concat(["_|0"]),N={variants:[{ +className:"keyword", +match:a(...o.filter((e=>"string"!=typeof e)).concat(u).map(i),...c)}]},S={ +$pattern:a(/\b\w+/,/#\w+/),keyword:k.concat(m),literal:r},B=[A,C,N],D=[{ +match:t(/\./,a(...p)),relevance:0},{className:"built_in", +match:t(/\b/,a(...p),/(?=\()/)}],_={match:/->/,relevance:0},M=[_,{ +className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${F})+`}] +}],x="([0-9]_*)+",L="([0-9a-fA-F]_*)+",$={className:"number",relevance:0, +variants:[{match:`\\b(${x})(\\.(${x}))?([eE][+-]?(${x}))?\\b`},{ +match:`\\b0x(${L})(\\.(${L}))?([pP][+-]?(${x}))?\\b`},{match:/\b0o([0-7]_*)+\b/ +},{match:/\b0b([01]_*)+\b/}]},I=(e="")=>({className:"subst",variants:[{ +match:t(/\\/,e,/[0\\tnr"']/)},{match:t(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] +}),O=(e="")=>({className:"subst",match:t(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) +}),P=(e="")=>({className:"subst",label:"interpol",begin:t(/\\/,e,/\(/),end:/\)/ +}),j=(e="")=>({begin:t(e,/"""/),end:t(/"""/,e),contains:[I(e),O(e),P(e)] +}),K=(e="")=>({begin:t(e,/"/),end:t(/"/,e),contains:[I(e),P(e)]}),T={ +className:"string", +variants:[j(),j("#"),j("##"),j("###"),K(),K("#"),K("##"),K("###")] +},q=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0, +contains:[e.BACKSLASH_ESCAPE]}],U={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//, +contains:q},z=e=>{const n=t(e,/\//),a=t(/\//,e);return{begin:n,end:a, +contains:[...q,{scope:"comment",begin:`#(?!.*${a})`,end:/$/}]}},V={ +scope:"regexp",variants:[z("###"),z("##"),z("#"),U]},W={match:t(/`/,w,/`/) +},Z=[W,{className:"variable",match:/\$\d+/},{className:"variable", +match:`\\$${f}+`}],G=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{ +contains:[{begin:/\(/,end:/\)/,keywords:v,contains:[...M,$,T]}]}},{ +scope:"keyword",match:t(/@/,a(...y),n(a(/\(/,/\s+/)))},{scope:"meta", +match:t(/@/,w)}],H={match:n(/\b[A-Z]/),relevance:0,contains:[{className:"type", +match:t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") +},{className:"type",match:g,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:t(/\s+&\s+/,n(g)),relevance:0}]},R={ +begin://,keywords:S,contains:[...E,...B,...G,_,H]};H.contains.push(R) +;const X={begin:/\(/,end:/\)/,relevance:0,keywords:S,contains:["self",{ +match:t(w,/\s*:/),keywords:"_|0",relevance:0 +},...E,V,...B,...D,...M,$,T,...Z,...G,H]},J={begin://, +keywords:"repeat each",contains:[...E,H]},Q={begin:/\(/,end:/\)/,keywords:S, +contains:[{begin:a(n(t(w,/\s*:/)),n(t(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}] +},...E,...B,...M,$,T,...G,H,X],endsParent:!0,illegal:/["']/},Y={ +match:[/(func|macro)/,/\s+/,a(W.match,w,b)],className:{1:"keyword", +3:"title.function"},contains:[J,Q,d],illegal:[/\[/,/%/]},ee={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[J,Q,d],illegal:/\[|%/},ne={match:[/operator/,/\s+/,b],className:{ +1:"keyword",3:"title"}},te={begin:[/precedencegroup/,/\s+/,g],className:{ +1:"keyword",3:"title"},contains:[H],keywords:[...l,...r],end:/}/},ae={ +begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,w,/\s*/], +beginScope:{1:"keyword",3:"title.class"},keywords:S,contains:[J,...B,{begin:/:/, +end:/\{/,keywords:S,contains:[{scope:"title.class.inherited",match:g},...B], +relevance:0}]};for(const e of T.variants){ +const n=e.contains.find((e=>"interpol"===e.label));n.keywords=S +;const t=[...B,...D,...M,$,T,...Z];n.contains=[...t,{begin:/\(/,end:/\)/, +contains:["self",...t]}]}return{name:"Swift",keywords:S, +contains:[...E,Y,ee,ae,ne,te,{beginKeywords:"import",end:/$/,contains:[...E], +relevance:0},V,...B,...D,...M,$,T,...Z,...G,H,X]}}})() +;hljs.registerLanguage("swift",e)})();/*! `typescript` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(r,t,s) +;function o(o){const l=o.regex,d=e,b={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,t=e.input[a] +;if("<"===t||","===t)return void n.ignoreMatch();let s +;">"===t&&(((e,{after:n})=>{const a="e+"\\s*\\(")), +l.concat("(?!",C.join("|"),")")),d,l.lookahead(/\s*\(/)), +className:"title.function",relevance:0};var C;const T={ +begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d, +excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={ +match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"}, +contains:[{begin:/\(\)/},R] +},B="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={ +match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(B)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ +PARAMS_CONTAINS:w,CLASS_REFERENCE:x},illegal:/#(?![$_A-z])/, +contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,p,N,f,_,h,{match:/\$\d+/},A,x,{ +className:"attr",begin:d+l.lookahead(":"),relevance:0},$,{ +begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[h,o.REGEXP_MODE,{ +className:"function",begin:B,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w}]}]},{begin:/,/,relevance:0 +},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:b.begin, +"on:begin":b.isTrulyOpeningTag,end:b.end}],subLanguage:"xml",contains:[{ +begin:b.begin,end:b.end,skip:!0,contains:["self"]}]}]},O,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[R,o.inherit(o.TITLE_MODE,{begin:d, +className:"title.function"})]},{match:/\.\.\./,relevance:0},T,{match:"\\$"+d, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[R]},I,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},k,M,{match:/\$[(.]/}]}}return t=>{ +const s=o(t),r=e,l=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],d={ +begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} +},b={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ +keyword:"interface extends",built_in:l},contains:[s.exports.CLASS_REFERENCE] +},g={$pattern:e, +keyword:n.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), +literal:a,built_in:i.concat(l),"variable.language":c},u={className:"meta", +begin:"@"+r},m=(e,n,a)=>{const t=e.contains.findIndex((e=>e.label===n)) +;if(-1===t)throw Error("can not find mode to replace");e.contains.splice(t,1,a)} +;Object.assign(s.keywords,g),s.exports.PARAMS_CONTAINS.push(u) +;const E=s.contains.find((e=>"attr"===e.className)) +;return s.exports.PARAMS_CONTAINS.push([s.exports.CLASS_REFERENCE,E]), +s.contains=s.contains.concat([u,d,b]), +m(s,"shebang",t.SHEBANG()),m(s,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),s.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(s,{ +name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),s}})() +;hljs.registerLanguage("typescript",e)})();/*! `xml` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},i=e.inherit(t,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),r={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,l,c,i,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[t,i,l,c]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:r}]},{ +className:"tag",begin:a.concat(/<\//,a.lookahead(a.concat(n,/>/))),contains:[{ +className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}} +})();hljs.registerLanguage("xml",e)})();/*! `yaml` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, +end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", +contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ +begin:/\w[\w :()\./-]*:(?=[ \t]|$)/},{begin:/"\w[\w :()\./-]*":(?=[ \t]|$)/},{ +begin:/'\w[\w :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] +;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:b}}})();hljs.registerLanguage("yaml",e)})(); \ No newline at end of file diff --git a/src/main/web/js/highlightjs-line-numbers-2.9.0.min.js b/src/main/web/js/highlightjs-line-numbers-2.9.0.min.js new file mode 100644 index 0000000000..dd3b04100d --- /dev/null +++ b/src/main/web/js/highlightjs-line-numbers-2.9.0.min.js @@ -0,0 +1 @@ +!function(r,o){"use strict";var e,a="hljs-ln",l="hljs-ln-line",h="hljs-ln-code",s="hljs-ln-numbers",c="hljs-ln-n",m="data-line-number",i=/\r\n|\r|\n/g;function u(e){for(var n=e.toString(),t=e.anchorNode;"TD"!==t.nodeName;)t=t.parentNode;for(var r=e.focusNode;"TD"!==r.nodeName;)r=r.parentNode;var o=parseInt(t.dataset.lineNumber),i=parseInt(r.dataset.lineNumber);if(o==i)return n;var a,l=t.textContent,s=r.textContent;for(i
{6}',[l,s,c,m,h,o+n.startFrom,0{1}',[a,r])}return e}(e.innerHTML,o)}function v(e){var n=e.className;if(/hljs-/.test(n)){for(var t=g(e.innerHTML),r=0,o="";r{1}
\n',[n,0 + @@ -274,12 +275,22 @@ + + + + (local-name(.), $lang, @class, $style, $numbered, $long, $no-highlight), ())"/> diff --git a/src/main/xslt/modules/chunk-cleanup.xsl b/src/main/xslt/modules/chunk-cleanup.xsl index 895ee2f5ff..822f478a72 100644 --- a/src/main/xslt/modules/chunk-cleanup.xsl +++ b/src/main/xslt/modules/chunk-cleanup.xsl @@ -178,7 +178,11 @@ - + + diff --git a/src/main/xslt/modules/functions.xsl b/src/main/xslt/modules/functions.xsl index 8eb3fbf45e..629db0071c 100644 --- a/src/main/xslt/modules/functions.xsl +++ b/src/main/xslt/modules/functions.xsl @@ -827,5 +827,20 @@ + + + + + + + + + + + + + + + diff --git a/src/main/xslt/modules/head.xsl b/src/main/xslt/modules/head.xsl index 826fd22149..81af45c822 100644 --- a/src/main/xslt/modules/head.xsl +++ b/src/main/xslt/modules/head.xsl @@ -31,11 +31,16 @@ + + - + + + + - + @@ -154,19 +159,21 @@ href="{$resource-base-uri}{fp:minified-css($persistent-toc-css)}"/> + + - - - + + + - + - + diff --git a/src/main/xslt/modules/inlines.xsl b/src/main/xslt/modules/inlines.xsl index 374393895b..bf9a23da1f 100644 --- a/src/main/xslt/modules/inlines.xsl +++ b/src/main/xslt/modules/inlines.xsl @@ -164,7 +164,8 @@ - + @@ -544,7 +545,8 @@ - + @@ -743,7 +745,8 @@ - + @@ -817,4 +820,11 @@ + + + + + diff --git a/src/main/xslt/modules/variable.xsl b/src/main/xslt/modules/variable.xsl index 654597f523..ac1b731606 100644 --- a/src/main/xslt/modules/variable.xsl +++ b/src/main/xslt/modules/variable.xsl @@ -299,9 +299,17 @@ - - + href="{$resource-base-uri}css/highlight-11.10.0.min.css" /> + + + + + + + + + + diff --git a/src/main/xslt/modules/verbatim.xsl b/src/main/xslt/modules/verbatim.xsl index 48b5908454..e433adf8ff 100644 --- a/src/main/xslt/modules/verbatim.xsl +++ b/src/main/xslt/modules/verbatim.xsl @@ -21,19 +21,46 @@ exclude-result-prefixes="#all" version="3.0"> - @@ -50,30 +77,29 @@ '︌', '︍', '︎', '️', '​')"/> - - - + - + select="string(. = $v:verbatim-numbered-elements)"/> @@ -81,42 +107,26 @@ - - - - - + - - - - + + - + + Out-of-band callouts are only supported for 'lines' and 'table' styles + -

Verbatim environment formatted with - style={$style}, numbered={$numbered}, and - highlight={string-join($highlight, ',')}.

-
- - - - - - -
@@ -126,232 +136,10 @@ |db:funcsynopsisinfo |db:classsynopsisinfo |db:literallayout|db:address"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verbatim plain processing doesn’t support highlighting - - - - - Verbatim plain processing doesn’t support line numbering - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verbatim raw processing doesn’t support injections - - - - - Verbatim raw processing doesn’t support highlighting - - - - - Verbatim raw processing doesn’t support line numbering - - - - - - - - - - - - Unrecognized verbatim-style: {$style} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-      
-        
-        
-      
-
-      
-      
-        
-          
-        
-        
-          
-        
-      
-    
-
-
- - - - - - - - - - - -
-
-      
-        
-        
-      
-
-      
-        
-          
-        
-        
-          
-        
-      
-    
-
-
- - - - - - - - - - - - - - - - - + + - + @@ -385,180 +173,295 @@ - + - + + select="xs:integer(fp:vpi(., 'linenumbering-minlines', + fp:verbatim-properties(.)?minlines))"/> - + - - - - - - - - - + + + + + + + + + + + + - + + + - - + + + + + + + + + + + + + + + + + + + + - + + Pygments is only supported for 'lines', 'table', and 'plain' styles + + - + + + + + + -
- - - - + - - - - - - - -
-
-            
-              
-              
-              
-            
-
-            
-              
-              
-              
-                
-                  
-                  
-                    
-                      
-                    
-                  
-                
-              
-              

-            
-          
-
-
-            
-              
-              
-              
-            
-
-            
-              
-              
-              
-                
-              
-              

-            
-          
-
-
+ + + + + + + +
- - - - - - + + + + + + + + + + + - - - - - - - - +
+ + + + + +
+
+ + + + + + + + + + + + - + + +
+        
+        
+          
+            
+              
+                
+              
+              
+            
+          
+          
+            
+          
+        
+      
+
- - - - - - - - + +
+        
+        
+          
+            
+              
+            
+            
+              
+            
+            
+              
+                
+                  
+                    
+                  
+                
+                
+                  
+                
+              
+            
+          
+          
+            

+          
+        
+      
+
+ + + + + + + + + +
+
+                
+                
+                  
+                    
+                  
+                  
+                    

+                  
+                
+              
+
+
+              
+              
+                
+                  
+                    
+                      
+                        
+                          
+                        
+                      
+                      
+                        
+                      
+                    
+                  
+                
+                
+                  

+                
+              
+            
+
+
+ + + + + + + + + + + +
+        
         
-          
-            
+          
+            
+              
+                
+              
+              
+            
           
           
-            
-              
-            
-            
+            
           
         
-      
-      
-        
-      
-    
-  
+      
+
+ + + + +
+
+ + + + + + + + - + + select="xs:integer(fp:vpi(., 'linenumbering-everyNth', + fp:verbatim-properties(.)?everyNth))"/> @@ -568,11 +471,11 @@ - + + select="f:is-true(fp:vpi(., 'linenumbering-first', + fp:verbatim-properties(.)?first))"/> @@ -580,105 +483,77 @@ - - - - - - - - - + + + + + - - -
- - - - -
-      
-        
-        
-        
-      
-
-      
-
-      
-        
-        
-        
-        
-
-        
-
-        
-          
-            
-              
-              
-            
-          
-        
-
-        
-          
-          
-            
-            
+  
+
+  
+    
+    
+
+    
+    
+
+     
+
+     
+
+     
+       
+         
+           
+           
+         
+       
+     
+
+     
+       
+       
+         
+         
+       
+     
+
+    
+      
+      
+        
+          
+          
+            
+              
+            
           
-        
-
-        
-          
-            
-            
-              
-                
-              
-            
-          
-          
-            
-              
-                
-              
-              
-                
-              
-            
-          
         
-        

-      
-    
-
+ + + + + + +
@@ -725,94 +600,32 @@ - - - - - - - - + - - - - - - - - - - - - - - - - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -822,7 +635,7 @@ - + @@ -863,6 +676,22 @@ + + + + + + + + + + + + + + + @@ -1254,6 +1083,7 @@ + @@ -1294,30 +1124,75 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1342,6 +1217,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -1416,6 +1322,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1495,7 +1441,7 @@ + select="fp:vpi(., 'starting-callout-number')"/> @@ -1539,102 +1485,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - + + - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - @@ -1645,37 +1519,54 @@ select="if (empty($style)) then map { 'style': $verbatim-style-default, 'numbered': (local-name($context) = $v:verbatim-numbered-elements), - 'highlight': $v:verbatim-callouts } + 'callout': $v:verbatim-callouts } else $style"/> - + + + + + + + + + + + + - - + + + + + + + + + + + - + - + + + + + + - + select="fp:vpi($context, 'verbatim-highlight', fp:verbatim-properties($context)?callout)"/> - + - - - + - - + - - + - - - - + + - - + + + + + + + + + + + - - + + + + + - + + + + diff --git a/src/test/resources/expected/address.002.html b/src/test/resources/expected/address.002.html index cd47802d0e..01f4e1e457 100644 --- a/src/test/resources/expected/address.002.html +++ b/src/test/resources/expected/address.002.html @@ -1,29 +1,12 @@ -Test: address.002

Test: address.002

An address (in table style):

  |
-  |
-  |
-  |
-  |
-
Santa Clause
+Test: address.002

Test: address.002

An address (in table style):

Santa Clause
 1 Main Street
 North Pole, AK
 12345
-US
-

Other address fields:

  |
-  |
-  |
-  |
-  |
-
Information:
+US

Other address fields:

Information:
 +1-914-555-1212
 +1-213-555-1212
 
-http://www.example.com/
-

With a PO Box:

  |
-  |
-  |
-  |
-
Some Company
+http://www.example.com/

With a PO Box:

Some Company
 P.O. Box 123
 Anytown, XX
-12345
-
\ No newline at end of file +12345
\ No newline at end of file diff --git a/src/test/resources/expected/book.003.html b/src/test/resources/expected/book.003.html index 15e5491b9e..e803b3eafd 100644 --- a/src/test/resources/expected/book.003.html +++ b/src/test/resources/expected/book.003.html @@ -34,9 +34,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. -

  |A figure. Just to test the numeration.
-
Figure 1.1A Test Figure

1First Section

  |A figure. Just to test the numeration.
-
Figure 1.2Another Test Figure

Blah blah blah blah. Blah blah blah blah. Blah blah blah blah. +

  |A figure. Just to test the numeration.
Figure 1.1A Test Figure

1First Section

  |A figure. Just to test the numeration.
Figure 1.2Another Test Figure

Blah blah blah blah. Blah blah blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. @@ -53,8 +51,7 @@ Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. -

  |An example.
-
Example 1.1Test Example

1.1First Subsection

Blah blah blah blah. Blah blah blah blah. Blah blah blah blah. +

  |An example.
Example 1.1Test Example

1.1First Subsection

Blah blah blah blah. Blah blah blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. Blah. Blah blah blah blah. Blah blah. Blah blah blah blah. Blah blah blah blah blah blah blah blah. Blah blah blah blah. diff --git a/src/test/resources/expected/book.021.html b/src/test/resources/expected/book.021.html index f8e0f79a12..61003f298e 100644 --- a/src/test/resources/expected/book.021.html +++ b/src/test/resources/expected/book.021.html @@ -5,6 +5,5 @@ But you can fix it changing the self::db:article template in the “title-numbered” part of the localization to: -

  |<template match="self::db:article">%l%.%c</template>
-
+
  |<template match="self::db:article">%l%.%c</template>

First Article

This article is numbered, so are its sections.

1First section

1.1Second section

Second Article

This article is not numbered, neither are its sections.

First section

Second section

Third Article

This article is numbered, its sections are not.

First section

Second section

Fourth Article

This article is not numbered, but its sections are.

1First section

1.1Second section

\ No newline at end of file diff --git a/src/test/resources/expected/calloutlist.001.html b/src/test/resources/expected/calloutlist.001.html index 42a98dd2f5..87f09166f1 100644 --- a/src/test/resources/expected/calloutlist.001.html +++ b/src/test/resources/expected/calloutlist.001.html @@ -1,8 +1,7 @@ -Article wrapper

Article wrapper

Callouts using co:

  |(let loopvar ((count 1))
-  |  (if (> count 10)
-  |    #t
-  |    (loopvar (+ count 1))))
-

This variable controls the loop. It is declared without an +Article wrapper

Article wrapper

Callouts using co:

(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))

This variable controls the loop. It is declared without an initial value, immediately after the let operand.

Any number of additional local variables can be defined after the loop variable, just as they can in any other diff --git a/src/test/resources/expected/calloutlist.002.html b/src/test/resources/expected/calloutlist.002.html index 80c79a3dbd..763f01fe33 100644 --- a/src/test/resources/expected/calloutlist.002.html +++ b/src/test/resources/expected/calloutlist.002.html @@ -1,23 +1,22 @@ -Article wrapper

Article wrapper

Callouts using co:

   |(let loopvar ((count 1))
-   |  (if (> count 10)
-   |    #t
-   |    (loopvar (+ count 1))))
-   | 
-   |(let loopvar ((count 1))
-   |  (if (> count 10)
-   |    #t
-   |    (loopvar (+ count 1))))
-   | 
-   |(let loopvar ((count 1))
-   |  (if (> count 10)
-   |    #t
-   |    (loopvar (+ count 1))))
-   | 
-   |(let loopvar ((count 1))
-   |  (if (> count 10)
-   |    #t
-   |    (loopvar (+ count 1))))
-

This variable controls the loop. It is declared without an +Article wrapper

Article wrapper

Callouts using co:

(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))
+ 
+(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))
+ 
+(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))
+ 
+(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))

This variable controls the loop. It is declared without an initial value, immediately after the let operand.

Any number of additional local variables can be defined after the loop variable, just as they can in any other diff --git a/src/test/resources/expected/calloutlist.003.html b/src/test/resources/expected/calloutlist.003.html index aaed926bb0..c6017545c8 100644 --- a/src/test/resources/expected/calloutlist.003.html +++ b/src/test/resources/expected/calloutlist.003.html @@ -18,26 +18,24 @@ | <para>This manual page describes the command line options, which | are common to all GTK+ based applications.</para> 20 | </refsect1> - | </refentry> -

Sets the date part of the header/footer.

Sets the title part.

Sets the section part.

Sets the source name part.

Sets the version part.

Sets the manual part.

+ | </refentry>

Sets the date part of the header/footer.

Sets the title part.

Sets the section part.

Sets the source name part.

Sets the version part.

Sets the manual part.

Another screen including coref too. The first coref is not valid, the second one is valid. It checks also that several items in co/@linkends are correctly handled. -

   | Volume in drive C is SYSTEM         Serial number is 2350:717C
-   | Directory of  C:\
-   | 
-   |10/17/97   9:04         <DIR>    bin
-   |10/16/97  14:11         <DIR>    DOS 
-   |10/16/97  14:40         <DIR>    Program Files
-   |10/16/97  14:46         <DIR>    TEMP 
-   |10/17/97   9:04         <DIR>    tmp 
-   |10/16/97  14:37         <DIR>    WINNT
-   |10/16/97  14:25             119  AUTOEXEC.BAT 
-   | 2/13/94   6:21          54,619  COMMAND.COM 
-   |10/16/97  14:25             115  CONFIG.SYS 
-   |11/16/97  17:17      61,865,984  pagefile.sys
-   | 2/13/94   6:21           9,349  WINA20.386 
-

+

 Volume in drive C is SYSTEM         Serial number is 2350:717C
+ Directory of  C:\
+ 
+10/17/97   9:04         <DIR>    bin
+10/16/97  14:11         <DIR>    DOS 
+10/16/97  14:40         <DIR>    Program Files
+10/16/97  14:46         <DIR>    TEMP 
+10/17/97   9:04         <DIR>    tmp 
+10/16/97  14:37         <DIR>    WINNT
+10/16/97  14:25             119  AUTOEXEC.BAT 
+ 2/13/94   6:21          54,619  COMMAND.COM 
+10/16/97  14:25             115  CONFIG.SYS 
+11/16/97  17:17      61,865,984  pagefile.sys
+ 2/13/94   6:21           9,349  WINA20.386 

This directory holds MS-DOS, the operating system that was installed before Windows NT. @@ -52,8 +50,7 @@ |This is a third lien | 5 | - |... -

+ |...

here HermiteNormalFormIntegerMat is used

This programlistingco checks that you can put several markups at different @@ -66,8 +63,7 @@ 5 | |... |The very last line - | -

here HermiteNormalFormIntegerMat is used

\ No newline at end of file diff --git a/src/test/resources/expected/chapter.003.html b/src/test/resources/expected/chapter.003.html index 55d11943c1..ae3b57f0b4 100644 --- a/src/test/resources/expected/chapter.003.html +++ b/src/test/resources/expected/chapter.003.html @@ -20,8 +20,7 @@ is simply a matter of processing your input document myfile.xml with xslt/docbook.xsl. For example: -

  |$ saxon myfile.xml -xsl:xslt/docbook.xsl -o:myfile.html
-

The exact path to docbook.xsl will vary, of course, +

$ saxon myfile.xml -xsl:xslt/docbook.xsl -o:myfile.html

The exact path to docbook.xsl will vary, of course, but it’s in the xslt directory of the distribution.

Note

The resulting HTML document contains references to CSS stylesheets and possibly JavaScript libraries. The output won’t look as nice in your browser @@ -47,16 +46,14 @@ /home/ndw/xsltng, you can run the JAR like this:

java -jar /home/ndw/xsltng/libs/docbook-xslTNG-XXX.jar

Let’s try it out. Open a shell window and change to the samples directory, /home/ndw/xsltng/samples assuming you unzipped -it as described above. Now run the java command:

  |$ java -jar ../libs/docbook-xslTNG-XXX.jar article.xml
-  |<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
-  |…more HTML here...
-  |<nav class="bottom"></nav></body></html>
-

That big splash of HTML was your first DocBook document +it as described above. Now run the java command:

$ java -jar ../libs/docbook-xslTNG-XXX.jar article.xml
+<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
+…more HTML here...
+<nav class="bottom"></nav></body></html>

That big splash of HTML was your first DocBook document formatted by the stylesheets! Slightly more usefully, you can save that HTML in a file: -

  |$ java -jar ../libs/docbook-xslTNG-XXX.jar article.xml \
-  |        -o:article.html
-

If you now open article.html in your +

$ java -jar ../libs/docbook-xslTNG-XXX.jar article.xml \
+        -o:article.html

If you now open article.html in your favorite web browser, you’ll see the transformed sample document which should look like …

The JAR file, run this way, accepts the same @@ -75,8 +72,7 @@ the DocBook extension functions.

Important

The script requires the click and pygments packages, which you must install with pip before -running the script. For example:

  |python3 -m pip install pygments=2.6.1 click
-

This script behaves much like the JAR file described in …. In particular, +running the script. For example:

python3 -m pip install pygments=2.6.1 click

This script behaves much like the JAR file described in …. In particular, it accepts the same command line options as Saxon, with the same caveats.

The significant feature of the Python script is that it will attempt to sort out the dependencies for you. It assumes that you’ve @@ -84,9 +80,8 @@ have to have installed Maven. How you do that varies by platform, but your package manager probably has it.

The following command will assure that you’ve downloaded all of -the necessary dependencies. You only have to do this once.

  |$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
-  |      -Dartifact=org.docbook:docbook-xslTNG:XXX
-

That might take a while.

The script will work through the dependencies that you have +the necessary dependencies. You only have to do this once.

$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
+      -Dartifact=org.docbook:docbook-xslTNG:XXX

That might take a while.

The script will work through the dependencies that you have installed, and the things that they depend on, and construct a Java class path that includes them all.

The script stores its configuration in .docbook-xsltng.json in your home directory.

Options passed to the script are processed as follows: the @@ -121,13 +116,10 @@ isolate the environment necessary to run the DocBook xslTNG Stylesheets from your local environment.

Using Docker is a three step process. Step 0, you have to have installed Docker!

  1. Build the docker image. In the docker directory, run the docker build -command:

      |$ docker build -t docbook-xsltng .
    -

    The “-t” option provides a tag for the image; +command:

    $ docker build -t docbook-xsltng .

    The “-t” option provides a tag for the image; you can make this anything you want. There’s a VERSION -build argument if you want to build a particular release. For example,

      |$ docker build --build-arg VERSION=0.9.14 -t docbook-xsltng .
    -

    will build a Docker image for the 0.9.14 release of the -stylesheets irrespective of the version in the Dockerfile.

  2. Run the image, for example:

      |$ docker run docbook-xsltng samples/article.xml
    -

    If you chose a different tag when you built the image, use that +build argument if you want to build a particular release. For example,

    $ docker build --build-arg VERSION=0.9.14 -t docbook-xsltng .

    will build a Docker image for the 0.9.14 release of the +stylesheets irrespective of the version in the Dockerfile.

  3. Run the image, for example:

    $ docker run docbook-xsltng samples/article.xml

    If you chose a different tag when you built the image, use that tag in place of docbook-xsltng in the run command. Everything after the container tag becomes options to the docbook Python script. @@ -137,10 +129,9 @@ container. So the article.xml document isn’t the one on your local filesystem.

    You can use the Docker facilities for mounting directories to change what documents the script can access. For example: -

      |$ docker run -v /tmp:/output -v /path/to/samples:/input \
    -  |       docbook-xsltng /input/article.xml chunk=index.html \
    -  |       chunk-output-base-uri=/output/
    -

    Assuming that the “samples” directory in the distribution is +

    $ docker run -v /tmp:/output -v /path/to/samples:/input \
    +       docbook-xsltng /input/article.xml chunk=index.html \
    +       chunk-output-base-uri=/output/

    Assuming that the “samples” directory in the distribution is located at /path/to/samples, this will chunk the article.xml sample document that the script sees in /input @@ -168,7 +159,7 @@ Saxon 10.1 or later. Make sure that the docbook-xsltng-version.jar file is on your class path and use the Saxon -init option to -load them:

    -init:org.docbook.xsltng.extensions.Register

    5.1Extension function debugging

    When an extension function fails, or produces result other than +load them:

    -init:org.docbook.xsltng.extensions.Register

    5.1Extension function debugging

    When an extension function fails, or produces result other than what you expect, it can be difficult sometimes to work out what happened. You can enable debugging messages by setting the the system property org.docbook.xsltng.verbose.

    Setting the property to the value “true” enables @@ -227,9 +218,8 @@ on the page, then you’ll get a “speaker notes” view of the page.

    This can be combined with another extension, the use of browser local storage, to create a simple presentation system. Add this meta tag to the -info element of your document:

      |<meta xmlns="http://www.w3.org/1999/xhtml"
    -  |      name="localStorage.key" content="keyname"/>
    -

    That will cause the pages to keep track of their location using the +info element of your document:

    <meta xmlns="http://www.w3.org/1999/xhtml"
    +      name="localStorage.key" content="keyname"/>

    That will cause the pages to keep track of their location using the “keyname” property in local storage. This is important because it enables the following trick:

    1. Configure keyboard navigation, speaker notes, and local storage in your document.

    2. Arrange for your document to be served up from a web server. @@ -260,7 +250,7 @@ and the stylesheets don’t either. You’re free to use “cat” and “dog” as effectivity values in the wordsize attribute, if you wish. The further you deviate from the nominal meaning, the more -important it is to document your system!

      Consider ….

      <para>This is an utterly contrived example of
      +important it is to document your system!

      Consider ….

      <para>This is an utterly contrived example of
       some common text. Options are introduced with the
       <phrase os="windows">/</phrase>
       <phrase os="mac;linux">-</phrase> character.</para>
      Example 1.1A contrived effectivity example

      If this document is formatted with the profile-os diff --git a/src/test/resources/expected/co.001.html b/src/test/resources/expected/co.001.html index 6c264205fd..5134554b50 100644 --- a/src/test/resources/expected/co.001.html +++ b/src/test/resources/expected/co.001.html @@ -1,5 +1,4 @@ -Unit Test: co.001

      Unit Test: co.001

      John Himpel

      Callouts inside userinput elements.

        |$cp a b
      -  |
      -  |$mv a b
      -  | 
      -

      This is a copy.

      This is a move.

      \ No newline at end of file +Unit Test: co.001

      Unit Test: co.001

      John Himpel

      Callouts inside userinput elements.

      $cp a b
      +
      +$mv a b
      + 

      This is a copy.

      This is a move.

      \ No newline at end of file diff --git a/src/test/resources/expected/colors.001.html b/src/test/resources/expected/colors.001.html index aa0257d679..3583077b1e 100644 --- a/src/test/resources/expected/colors.001.html +++ b/src/test/resources/expected/colors.001.html @@ -24,8 +24,7 @@ 20 | elif arg == "--debug": | self.debug = True | else: - | self._check_arg(arg) -

      Sections follow, just for the titles. Revision markpmarkup is also coloured. @@ -36,26 +35,24 @@ There’s also color in code.

        |Line one
         |Line two                                                   
         |Line three                                                 
      -  |Line four
      -

      There’s also the “monochrome” listing:

         |(defun ndw/insert-date-time (with-tz)
      -   |  "Insert current date-time string in ISO 8601 format.
      -   |If WITH-TZ is nil, the time is printed without the timezone;
      -   |if WITH-TZ is t, the time is printed with the timezone;
      -   |if WITH-TZ has any other value, that value is interpreted as
      -   |a timezone and the current time in that timezone is inserted.
      -   |Example: 2010-11-29T23:23:35-08:00"
      -   |  (interactive)
      -   |  (let ((tz (cond ((eq with-tz nil) nil)
      -   |                  ((eq with-tz t) (current-time-zone))
      -   |                  (t (current-time-zone () with-tz)))))
      -   |    (insert
      -   |     (if (eq tz nil)
      -   |         (format-time-string "%Y-%m-%dT%T")
      -   |       (concat
      -   |        (format-time-string "%Y-%m-%dT%T" () tz)
      -   |        ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
      -   |         (format-time-string "%z" () tz)))))))
      -

      1Links

      With JavaScript enabled, this link to + |Line four

      There’s also the “monochrome” listing:

      (defun ndw/insert-date-time (with-tz)
      +  "Insert current date-time string in ISO 8601 format.
      +If WITH-TZ is nil, the time is printed without the timezone;
      +if WITH-TZ is t, the time is printed with the timezone;
      +if WITH-TZ has any other value, that value is interpreted as
      +a timezone and the current time in that timezone is inserted.
      +Example: 2010-11-29T23:23:35-08:00"
      +  (interactive)
      +  (let ((tz (cond ((eq with-tz nil) nil)
      +                  ((eq with-tz t) (current-time-zone))
      +                  (t (current-time-zone () with-tz)))))
      +    (insert
      +     (if (eq tz nil)
      +         (format-time-string "%Y-%m-%dT%T")
      +       (concat
      +        (format-time-string "%Y-%m-%dT%T" () tz)
      +        ((lambda (x) (concat (substring x 0 3) ":" (substring x 3 5)))
      +         (format-time-string "%z" () tz)))))))

      1Links

      With JavaScript enabled, this link to DocBook [Links to DocBook resources: DocBook.org, DocBook on Wikipedia] has a popup menu to select the link target. Rendered without JavaScript, the link choices are presented as alternatives after the link. In print media, the link URIs are also shown in diff --git a/src/test/resources/expected/example.001.html b/src/test/resources/expected/example.001.html index e87cc104cb..85271767bd 100644 --- a/src/test/resources/expected/example.001.html +++ b/src/test/resources/expected/example.001.html @@ -1,2 +1 @@ -Article wrapper

      Article wrapper

        |This is a programlisting in an example.
      -
      Example 1An Example
      \ No newline at end of file +Article wrapper

      Article wrapper

        |This is a programlisting in an example.
      Example 1An Example
      \ No newline at end of file diff --git a/src/test/resources/expected/fit.001.html b/src/test/resources/expected/fit.001.html index 580a3a4c02..205fc61cd0 100644 --- a/src/test/resources/expected/fit.001.html +++ b/src/test/resources/expected/fit.001.html @@ -46,8 +46,7 @@ |import math |import click | - |SQRT5 = math.sqrt(5) -

      Click is my current favorite library for + |SQRT5 = math.sqrt(5)

      Click is my current favorite library for parsing command line arguments in Python.

      This constant1 is the 5. @@ -55,33 +54,32 @@ XInclude (and RFC 5147) to break the listing into manageable fragments for documentation. The listing above, and the one below, -are lines from the same file.

      11 |@click.command()
      -   |@click.argument("number", nargs=1,
      -   |                type=click.IntRange(1, None))
      -   |def fibonacci(number):
      -15 |    """Calculate the 'number'th Fibonacci number."""
      -   |    prefix = f"The {make_ordinal(number)} Fibonacci number is "
      -   |    try:
      -   |        value = (((1 + SQRT5) / 2) ** number -
      -   |                 ((1 - SQRT5) / 2) ** number) / SQRT5      
      -20 |        print(f"{prefix}{math.floor(value):,}.")
      -   |    except OverflowError:
      -   |        print(f"{prefix}too large to calculate.")
      -   |        sys.exit(1)
      -   | 
      -25 | 
      -   |def make_ordinal(n):
      -   |    """Create an ordinal from a number."""
      -   |    # https://stackoverflow.com/questions/9647202          
      -   |    suffix = ["th", "st", "nd", "rd", "th"][min(n % 10, 4)]
      -30 |    if 11 <= (n % 100) <= 13:
      -   |        suffix = "th"
      -   |    return str(n) + suffix
      -   | 
      +are lines from the same file.

      11 |@click.command()
      +   |@click.argument("number", nargs=1,
      +   |                type=click.IntRange(1, None))
      +   |def fibonacci(number):
      +15 |    """Calculate the 'number'th Fibonacci number."""
      +   |    prefix = f"The {make_ordinal(number)} Fibonacci number is "
      +   |    try:
      +   |        value = (((1 + SQRT5) / 2) ** number -
      +   |                 ((1 - SQRT5) / 2) ** number) / SQRT5      
      +20 |        print(f"{prefix}{math.floor(value):,}.")
      +   |    except OverflowError:
      +   |        print(f"{prefix}too large to calculate.")
      +   |        sys.exit(1)
          | 
      -35 |if __name__ == "__main__":
      -   |    fibonacci()  
      -

      One of the real strengths of using a tool like Click to wrangle +25 | + |def make_ordinal(n): + | """Create an ordinal from a number.""" + | # https://stackoverflow.com/questions/9647202 + | suffix = ["th", "st", "nd", "rd", "th"][min(n % 10, 4)] +30 | if 11 <= (n % 100) <= 13: + | suffix = "th" + | return str(n) + suffix + | + | +35 |if __name__ == "__main__": + | fibonacci()

      One of the real strengths of using a tool like Click to wrangle arguments is that you get type and range checking pretty much for free.

      This is the closed-form solution to finding the “nth” Fibonacci number:

      @@ -125,8 +123,7 @@ | <citetitle xlink:label="source" xlink:type="resource" | >DocBook</citetitle> | <link xlink:to="target" xlink:from="source" xlink:type="arc"/> - |</phrase> -

      With JavaScript enabled, this link to + |</phrase>

      With JavaScript enabled, this link to DocBook [DocBook.org, DocBook on Wikipedia] has a popup menu to select the link target. Rendered without JavaScript, the link choices are presented as alternatives after the link. In print media, the link URIs are also shown in @@ -188,13 +185,12 @@ other vocabularies, there’s no reason a DocBook customization couldn’t use simplified markup to identify links:

      -
        |<extended-link>
      -  |  <target title="DocBook.org" href="http://docbook.org/"/>
      -  |  <target title="DocBook on Wikipedia"
      -  |          href="http://en.wikipedia.org/wiki/DocBook"/>
      -  |  <citetitle>DocBook</citetitle>
      -  |</extended-link>
      -
      +
      <extended-link>
      +  <target title="DocBook.org" href="http://docbook.org/"/>
      +  <target title="DocBook on Wikipedia"
      +          href="http://en.wikipedia.org/wiki/DocBook"/>
      +  <citetitle>DocBook</citetitle>
      +</extended-link>

      In this example, I’ve adopted the convention that an extended-link element identifies an extended link with the semantic that target element(s) diff --git a/src/test/resources/expected/fit.002.html b/src/test/resources/expected/fit.002.html index 0e0ded33ca..9b28870aac 100644 --- a/src/test/resources/expected/fit.002.html +++ b/src/test/resources/expected/fit.002.html @@ -46,8 +46,7 @@ |import math |import click | - |SQRT5 = math.sqrt(5) -

      Click is my current favorite library for + |SQRT5 = math.sqrt(5)

      Click is my current favorite library for parsing command line arguments in Python.

      This constant1 is the 5. @@ -55,33 +54,32 @@ XInclude (and RFC 5147) to break the listing into manageable fragments for documentation. The listing above, and the one below, -are lines from the same file.

      11 |@click.command()
      -   |@click.argument("number", nargs=1,
      -   |                type=click.IntRange(1, None))
      -   |def fibonacci(number):
      -15 |    """Calculate the 'number'th Fibonacci number."""
      -   |    prefix = f"The {make_ordinal(number)} Fibonacci number is "
      -   |    try:
      -   |        value = (((1 + SQRT5) / 2) ** number -
      -   |                 ((1 - SQRT5) / 2) ** number) / SQRT5      
      -20 |        print(f"{prefix}{math.floor(value):,}.")
      -   |    except OverflowError:
      -   |        print(f"{prefix}too large to calculate.")
      -   |        sys.exit(1)
      -   | 
      -25 | 
      -   |def make_ordinal(n):
      -   |    """Create an ordinal from a number."""
      -   |    # https://stackoverflow.com/questions/9647202          
      -   |    suffix = ["th", "st", "nd", "rd", "th"][min(n % 10, 4)]
      -30 |    if 11 <= (n % 100) <= 13:
      -   |        suffix = "th"
      -   |    return str(n) + suffix
      -   | 
      +are lines from the same file.

      11 |@click.command()
      +   |@click.argument("number", nargs=1,
      +   |                type=click.IntRange(1, None))
      +   |def fibonacci(number):
      +15 |    """Calculate the 'number'th Fibonacci number."""
      +   |    prefix = f"The {make_ordinal(number)} Fibonacci number is "
      +   |    try:
      +   |        value = (((1 + SQRT5) / 2) ** number -
      +   |                 ((1 - SQRT5) / 2) ** number) / SQRT5      
      +20 |        print(f"{prefix}{math.floor(value):,}.")
      +   |    except OverflowError:
      +   |        print(f"{prefix}too large to calculate.")
      +   |        sys.exit(1)
          | 
      -35 |if __name__ == "__main__":
      -   |    fibonacci()  
      -

      One of the real strengths of using a tool like Click to wrangle +25 | + |def make_ordinal(n): + | """Create an ordinal from a number.""" + | # https://stackoverflow.com/questions/9647202 + | suffix = ["th", "st", "nd", "rd", "th"][min(n % 10, 4)] +30 | if 11 <= (n % 100) <= 13: + | suffix = "th" + | return str(n) + suffix + | + | +35 |if __name__ == "__main__": + | fibonacci()

      One of the real strengths of using a tool like Click to wrangle arguments is that you get type and range checking pretty much for free.

      This is the closed-form solution to finding the “nth” Fibonacci number:

      @@ -125,8 +123,7 @@ | <citetitle xlink:label="source" xlink:type="resource" | >DocBook</citetitle> | <link xlink:to="target" xlink:from="source" xlink:type="arc"/> - |</phrase> -

      With JavaScript enabled, this link to + |</phrase>

      With JavaScript enabled, this link to DocBook [DocBook.org, DocBook on Wikipedia] has a popup menu to select the link target. Rendered without JavaScript, the link choices are presented as alternatives after the link. In print media, the link URIs are also shown in @@ -188,13 +185,12 @@ other vocabularies, there’s no reason a DocBook customization couldn’t use simplified markup to identify links:

      -
        |<extended-link>
      -  |  <target title="DocBook.org" href="http://docbook.org/"/>
      -  |  <target title="DocBook on Wikipedia"
      -  |          href="http://en.wikipedia.org/wiki/DocBook"/>
      -  |  <citetitle>DocBook</citetitle>
      -  |</extended-link>
      -
      +
      <extended-link>
      +  <target title="DocBook.org" href="http://docbook.org/"/>
      +  <target title="DocBook on Wikipedia"
      +          href="http://en.wikipedia.org/wiki/DocBook"/>
      +  <citetitle>DocBook</citetitle>
      +</extended-link>

      In this example, I’ve adopted the convention that an extended-link element identifies an extended link with the semantic that target element(s) diff --git a/src/test/resources/expected/glossary.007.html b/src/test/resources/expected/glossary.007.html index b942203dd1..301723b4c9 100644 --- a/src/test/resources/expected/glossary.007.html +++ b/src/test/resources/expected/glossary.007.html @@ -1,7 +1,6 @@ Mixed Glossary with multiple entries, some from an external glossary

      Mixed Glossary with multiple entries, some from an external glossary

      Frank Steimke

      Note

      The test harness is configured to run this test without setting the glossary-collection parameter.

      This test is essentially the same as glossary.006. The difference is, - that the external glossary is referenced by the following processing instruction:

        |<?db glossary-collection='../glosscollection.xml' ?>
      -

      It checks the glossary-collection machinery when the "internal" + that the external glossary is referenced by the following processing instruction:

        |<?db glossary-collection='../glosscollection.xml' ?>

      It checks the glossary-collection machinery when the "internal" glossary is not empty, and some glossterms have definitions in the internal and external glossaries. The internal entry has priority and should therefore cover / overwrite the definition from the external glossary.

      We expect a glossary with three entries, mixed from the internal and the external diff --git a/src/test/resources/expected/glossary.008.html b/src/test/resources/expected/glossary.008.html index 022f0906ff..5336c2df47 100644 --- a/src/test/resources/expected/glossary.008.html +++ b/src/test/resources/expected/glossary.008.html @@ -2,8 +2,7 @@ setting the glossary-collection parameter.

      This test is essentially the same as glossary.007. The difference is, that we have two external glossaries, both referenced by the following processing instruction:

        |<?db glossary-collection='../glosscollection.xml 
      -  |                          ../glosscollection2.xml' ?>
      -

      It checks the glossary-collection machinery when the "internal" + | ../glosscollection2.xml' ?>

      It checks the glossary-collection machinery when the "internal" glossary is not empty, and some glossterms have definitions in the internal and external glossaries. The internal entry has priority and should therefore cover / overwrite the definition from the external glossary.

      We expect a glossary with three entries, mixed from the internal and the external diff --git a/src/test/resources/expected/glossary.009.html b/src/test/resources/expected/glossary.009.html index 1bf7c7d109..40a61ec90d 100644 --- a/src/test/resources/expected/glossary.009.html +++ b/src/test/resources/expected/glossary.009.html @@ -3,8 +3,7 @@ that we use the following processing instruction, which references one none-existing file glosscollectionx.xml:

        |<?db glossary-collection='../glosscollection.xml
         |                          ../glosscollectionx.xml
      -  |                          ../glosscollection2.xml' ?>
      -

      We expect a warning message about the non-existing file, and a glossary with three + | ../glosscollection2.xml' ?>

      We expect a warning message about the non-existing file, and a glossary with three entries, mixed from the internal and the external glossaries.

      1. Apple should reference the internal, poetic definition.

      2. Pear references the external definition from glosscollection;

      3. Cucumber references the external definition from diff --git a/src/test/resources/expected/highlight.001.html b/src/test/resources/expected/highlight.001.html new file mode 100644 index 0000000000..281d60b937 --- /dev/null +++ b/src/test/resources/expected/highlight.001.html @@ -0,0 +1,105 @@ +Unit test: highlight.001

        Unit test: highlight.001

        This is a test for syntax highlighting.

        Program listings are highlighted and numbered by default:

         1 |#!/usr/bin/env python3
        +   | 
        +   |"""This is yet another link checker. Was it better to write my own
        +   |than find an existing cross-platform version? Maybe not, but it
        + 5 |appeared to be easier."""
        +   | 
        +   |import re
        +   |import os
        +   |import sys
        +10 |import json
        +   |import glob
        +   |import click
        +   |try:
        +   |    import html5_parser
        +15 |    import lxml.etree
        +   |    from saxonche import PySaxonProcessor
        +   |    importOk = True
        +   |except ImportError:
        +   |    importOk = False

        But numbering can be turned off:

        #!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False

        And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. +

         1 |#!/usr/bin/env python3
        +   | 
        +   |"""This is yet another link checker. Was it better to write my own
        +   |than find an existing cross-platform version? Maybe not, but it
        + 5 |appeared to be easier."""
        +   | 
        +   |import re
        +   |import os
        +   |import sys
        +10 |import json
        +   |import glob
        +   |import click
        +   |try:
        +   |    import html5_parser
        +15 |    import lxml.etree
        +   |    from saxonche import PySaxonProcessor
        +   |    importOk = True
        +   |except ImportError:
        +   |    importOk = False

        Screens are not highlighted or numbered by default:

         head -20 src/bin/linkcheck.py
        +#!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False

        But can be turned on:

         1 | head -20 src/bin/linkcheck.py
        +   |#!/usr/bin/env python3
        +   | 
        +   |"""This is yet another link checker. Was it better to write my own
        + 5 |than find an existing cross-platform version? Maybe not, but it
        +   |appeared to be easier."""
        +   | 
        +   |import re
        +   |import os
        +10 |import sys
        +   |import json
        +   |import glob
        +   |import click
        +   |try:
        +15 |    import html5_parser
        +   |    import lxml.etree
        +   |    from saxonche import PySaxonProcessor
        +   |    importOk = True
        +   |except ImportError:
        +20 |    importOk = False

        Line numbering can begin at an arbitrary number:

        601 |if __name__ == "__main__":
        +    |    # I'm perfectly happy with the name 'docbook'
        +    |    # pylint: disable=C0103
        +    | 
        +605 |    try:
        +    |        docbook = JavaClassRunner(sys.argv[1:])
        +    |        docbook.compute_dependencies()
        +    |        sys.exit(docbook.run())
        +    |    except JavaClassRunnerException as err:
        +610 |        print(str(err))
        +    |        sys.exit(1)
        \ No newline at end of file diff --git a/src/test/resources/expected/highlight.002.html b/src/test/resources/expected/highlight.002.html new file mode 100644 index 0000000000..886c947ff9 --- /dev/null +++ b/src/test/resources/expected/highlight.002.html @@ -0,0 +1,49 @@ +Unit test: highlight.002

        Unit test: highlight.002

        This is a test for embellishments to verbatim environments.

        A programlisting:

        1 |import sys
        +  | 
        +  |if len(sys.argv) == 1:
        +  |    print("Hello, world.")
        +5 |else:
        +  |    print(f"Hello, {sys.argv[1]}.")

        Unnumbered:

        import sys
        + 
        +if len(sys.argv) == 1:
        +    print("Hello, world.")
        +else:
        +    print(f"Hello, {sys.argv[1]}.")

        A programlistingco:

         1 |The first line                                             
        +   |The second line              
        +   |The third line               
        +   |The fourth line              
        + 5 |The fifth line                                             
        +   |The sixth line                                             
        +   |The seventh line
        +   |The eighth line                                            
        +   |The ninth line                                             
        +10 |The tenth line
        +   | 
        +   |

        The first line.

        The second line.

        The third and fourth lines, together.

        The fifth and sixth lines, separately.

        The eight and ninth lines as a range.

        The twelfth line.

        A programlistingco with syntax highlighting:

        1 |import sys                                                 
        +  | 
        +  |if len(sys.argv) == 1:
        +  |    print("Hello, world.")             
        +5 |else:
        +  |    print(f"Hello, {sys.argv[1]}.")    

        An import statment.

        Print statements.

        A screen:

        ls -l src/test/resources/xml/l*.xml
        +-rw-r--r--@ 1 ndw  staff   1.5K Oct 21 09:53 src/test/resources/xml/l10n.001.xml
        +-rw-r--r--@ 1 ndw  staff   1.5K Oct 21 09:53 src/test/resources/xml/l10n.002.xml
        +-rw-r--r--@ 1 ndw  staff   1.5K Oct 21 09:53 src/test/resources/xml/l10n.003.xml
        +-rw-r--r--@ 1 ndw  staff   1.3K Oct 21 09:53 src/test/resources/xml/legalnotice.001.xml
        +-rw-r--r--@ 1 ndw  staff   410B Oct 21 09:53 src/test/resources/xml/lineannotation.001.xml
        +-rw-r--r--@ 1 ndw  staff   1.1K Oct 21 09:53 src/test/resources/xml/link.001.xml
        +-rw-r--r--@ 1 ndw  staff   400B Oct 21 09:53 src/test/resources/xml/link.002.xml
        +-rw-r--r--@ 1 ndw  staff   885B Oct 21 09:53 src/test/resources/xml/link.003.xml
        +-rw-r--r--@ 1 ndw  staff   369B Oct 21 09:53 src/test/resources/xml/link.004.xml
        +-rw-r--r--@ 1 ndw  staff   334B Oct 21 09:53 src/test/resources/xml/literallayout.001.xml
        +-rw-r--r--@ 1 ndw  staff   545B Oct 21 09:53 src/test/resources/xml/literallayout.002.xml
        +-rw-r--r--@ 1 ndw  staff   542B Oct 21 09:53 src/test/resources/xml/literallayout.003.xml
        +-rw-r--r--@ 1 ndw  staff   767B Oct 21 09:53 src/test/resources/xml/literallayout.004.xml
        +-rw-r--r--@ 1 ndw  staff   928B Oct 21 09:53 src/test/resources/xml/literallayout.005.xml
        +-rw-r--r--@ 1 ndw  staff   514B Oct 21 09:53 src/test/resources/xml/local.001.xml

        A literallayout:

        This is a test.
        +This is only a test.
        +Had this been a real emergency,
        +we would have fled in terror and
        +you would not have been informed.

        An address:

        Apt 56B
        +Whitehaven Mansions
        +Sandhurst Square
        +London
        \ No newline at end of file diff --git a/src/test/resources/expected/highlightjs.001.html b/src/test/resources/expected/highlightjs.001.html new file mode 100644 index 0000000000..34874434fe --- /dev/null +++ b/src/test/resources/expected/highlightjs.001.html @@ -0,0 +1,80 @@ +Unit test: highlightjs.001

        Unit test: highlightjs.001

        This is a test for syntax highlighting with +highlight.js.

        Program listings are highlighted and numbered by default:

        #!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False

        But numbering can be turned off:

        #!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False

        And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. +

        #!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False

        It doesn’t appear that highlightjs-line-numbers adds +line numbers to listings that aren’t highlighted. I guess that makes sense. +Using the value text seems to work and might be a good +$verbatim-default-language if you’re using +highlight.js.

        #!/usr/bin/env python3
        + 
        +"""This is yet another link checker. Was it better to write my own
        +than find an existing cross-platform version? Maybe not, but it
        +appeared to be easier."""
        + 
        +import re
        +import os
        +import sys
        +import json
        +import glob
        +import click
        +try:
        +    import html5_parser
        +    import lxml.etree
        +    from saxonche import PySaxonProcessor
        +    importOk = True
        +except ImportError:
        +    importOk = False
        \ No newline at end of file diff --git a/src/test/resources/expected/indexterm.005.html b/src/test/resources/expected/indexterm.005.html index b9096f8b5a..9970dfda5b 100644 --- a/src/test/resources/expected/indexterm.005.html +++ b/src/test/resources/expected/indexterm.005.html @@ -1,6 +1,5 @@ Unit Test: indexterm.005

        Unit Test: indexterm.005

        Adam Di Carlo

        1Bizarre Indexterm Test

        This is first test paragraph. -

          |#include <stdio.h>
        -
        +
          |#include <stdio.h>

        Index

        Symbols

        • <stdio.h>, 1
        \ No newline at end of file diff --git a/src/test/resources/expected/informalexample.001.html b/src/test/resources/expected/informalexample.001.html index e3491ea251..9ff5f0b6b7 100644 --- a/src/test/resources/expected/informalexample.001.html +++ b/src/test/resources/expected/informalexample.001.html @@ -1,2 +1 @@ -Article wrapper

        Article wrapper

          |This is a programlisting in an informalexample.
        -
        \ No newline at end of file +Article wrapper

        Article wrapper

          |This is a programlisting in an informalexample.
        \ No newline at end of file diff --git a/src/test/resources/expected/iso690.001.html b/src/test/resources/expected/iso690.001.html index 5883c7ff0e..a961531f6b 100644 --- a/src/test/resources/expected/iso690.001.html +++ b/src/test/resources/expected/iso690.001.html @@ -24,8 +24,7 @@ | <bibliomisc role="serie">International series in natural philosophy</bibliomisc> | <bibliomisc>Translation of: Ciklotronnye volny v plasme</bibliomisc> 20 | <biblioid class="isbn">0-08-021680-3</biblioid> - |</biblioentry> -

        Output according to ISO 690 standard:

        LOMINADZE, DG. Cyclotron waves in plasma. Translated by AN. + |</biblioentry>

        Output according to ISO 690 standard:

        LOMINADZE, DG. Cyclotron waves in plasma. Translated by AN. Dellis; edited by SM. Hamberger. 1st ed. Oxford: Pergamon Press, 1981. 206 p. International series in natural philosophy. Translation of: Ciklotronnye volny v plasme. ISBN 0-08-021680-3.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.002.html b/src/test/resources/expected/iso690.002.html index 79307c3b65..2fd69bd76a 100644 --- a/src/test/resources/expected/iso690.002.html +++ b/src/test/resources/expected/iso690.002.html @@ -17,8 +17,7 @@ | <bibliomisc role="serie">Annual census of manufacturers</bibliomisc> | <bibliomisc>Text in English and French</bibliomisc> | <biblioid class="issn">0700-0758</biblioid> - |</biblioentry> -

        Output according to ISO 690 standard:

        Communications equipment manufacturers. + |</biblioentry>

        Output according to ISO 690 standard:

        Communications equipment manufacturers. Manufacturing and Primary Industries Division, Statistics Canada. Preliminary edition. 1970- . Ottawa: Statistics Canada, 1971- . Annual census of manufacturers. Text in English and French. ISSN 0700-0758.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.003.html b/src/test/resources/expected/iso690.003.html index 4898925cd3..3fac7f899f 100644 --- a/src/test/resources/expected/iso690.003.html +++ b/src/test/resources/expected/iso690.003.html @@ -29,8 +29,7 @@ 25 | <bibliomisc role="secnum">Section 12</bibliomisc> | <bibliomisc role="sectitle">Phylum Mollusca</bibliomisc> | <pagenums>p. 663-782</pagenums> - |</biblioentry> -

        Output according to ISO 690 standard:

        PARKER, TJ. and HASWELL, WD. A text-book of + |</biblioentry>

        Output according to ISO 690 standard:

        PARKER, TJ. and HASWELL, WD. A text-book of zoology. 5th ed., vol. 1. revised by WD. Lang. London: Macmillan, 1930. Section 12, Phylum Mollusca, p. 663-782.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.004.html b/src/test/resources/expected/iso690.004.html index fa9fd7ea77..67c3643081 100644 --- a/src/test/resources/expected/iso690.004.html +++ b/src/test/resources/expected/iso690.004.html @@ -28,8 +28,7 @@ | <volumenum>vol. 1</volumenum> 25 | <pagenums>p. 155-167</pagenums> | </biblioset> - |</biblioentry> -

        Output according to ISO 690 standard:

        WRIGLEY, EA. Parish registers and the historian. In STEEL, DJ. + |</biblioentry>

        Output according to ISO 690 standard:

        WRIGLEY, EA. Parish registers and the historian. In STEEL, DJ. National index of parish registers. London: Society of Genealogists, 1968, vol. 1, p. 155-167.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.005.html b/src/test/resources/expected/iso690.005.html index d66f7c58ab..a957337360 100644 --- a/src/test/resources/expected/iso690.005.html +++ b/src/test/resources/expected/iso690.005.html @@ -21,8 +21,7 @@ | <issuenum>no. 12</issuenum> | <pagenums>p. 126-133</pagenums> | </biblioset> -20 |</biblioentry> -

        Output according to ISO 690 standard:

        WEAVER, William. The collectors: command performances. +20 |</biblioentry>

        Output according to ISO 690 standard:

        WEAVER, William. The collectors: command performances. Photography by Robert Emmett Bright. Architectural Digest. December 1985, vol. 42, no. 12, p. 126-133.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.006.html b/src/test/resources/expected/iso690.006.html index b8660939d6..1189d2c3ce 100644 --- a/src/test/resources/expected/iso690.006.html +++ b/src/test/resources/expected/iso690.006.html @@ -15,8 +15,7 @@ | <bibliomisc role="patenttype">Patentschrift</bibliomisc> | <biblioid class="other" otherclass="patentnum">608 626</biblioid> | <pubdate>1979-01-15</pubdate> - |</biblioentry> -

        Output according to ISO 690 standard:

        CARL ZEISS JENA, VEB. Anordnung zur lichtelektrischen + |</biblioentry>

        Output according to ISO 690 standard:

        CARL ZEISS JENA, VEB. Anordnung zur lichtelektrischen Erfassung der Mitte eines Lichtfeldes. Erfinder: W. FEIST, C. WAHNERT, E. FEISTAUER. Int. Cl.3: G02 B 27/14. Schweiz Patentschrift, 608 626. 1979-01-15.

        DocBook xslTNG output:

        diff --git a/src/test/resources/expected/iso690.007.html b/src/test/resources/expected/iso690.007.html index 837eed0486..824853d38a 100644 --- a/src/test/resources/expected/iso690.007.html +++ b/src/test/resources/expected/iso690.007.html @@ -21,8 +21,7 @@ | <date role="cit">10 February 1995</date> | <biblioid class="uri" xlink:href="http://germany.eu.net/books/carroll/alice/html"/> | <biblioid class="uri" xlink:href="ftp://ftp.Germany.EU.net/pub/books/carroll/">in PostScript and ASCII versions from Internet</biblioid> - |</biblioentry> -

        Output according to ISO 690 standard:

        CARROLL, Lewis. Alice's Adventures in Wonderland [online]. Textinfo ed. 2.1. [Dortmund, Germany]: Windspiel, November 1994 [cited 10 February 1995]. Available from World Wide Web: <http://germany.eu.net/books/carroll/alice/html>. Also available in PostScript and ASCII versions from Internet: <ftp://ftp.Germany.EU.net/pub/books/carroll/>.

        DocBook xslTNG output:

        + |</biblioentry>

        Output according to ISO 690 standard:

        CARROLL, Lewis. Alice's Adventures in Wonderland [online]. Textinfo ed. 2.1. [Dortmund, Germany]: Windspiel, November 1994 [cited 10 February 1995]. Available from World Wide Web: <http://germany.eu.net/books/carroll/alice/html>. Also available in PostScript and ASCII versions from Internet: <ftp://ftp.Germany.EU.net/pub/books/carroll/>.

        DocBook xslTNG output:

        Carroll, Lewis. Alice's Adventures in Wonderland [online]. Textinfo ed. 2.1. [Dortmund, Germany]: Windspiel, November 1994 [cited 10 February 1995]. Available from World Wide Web: <http://germany.eu.net/books/carroll/alice/html>. Also available in PostScript and ASCII versions from Internet: <ftp://ftp.Germany.EU.net/pub/books/carroll/>.

      \ No newline at end of file diff --git a/src/test/resources/expected/iso690.008.html b/src/test/resources/expected/iso690.008.html index 86e8b3cb11..5410aa0a3f 100644 --- a/src/test/resources/expected/iso690.008.html +++ b/src/test/resources/expected/iso690.008.html @@ -22,8 +22,7 @@ | <bibliomisc role="sectitle">Mad Tea-Party</bibliomisc> | <biblioid class="uri" xlink:href="http://germany.eu.net/books/carroll/alice_10.html#SEC13"/> 20 |</biblioentry> - |</bibliolist> -

      Output according to ISO 690 standard:

      CARROLL, Lewis. + |</bibliolist>

      Output according to ISO 690 standard:

      CARROLL, Lewis. Alice's Adventures in Wonderland [online]. Textinfo ed. 2.2. [Dortmund, Germany]: Windspiel, November 1994 [cited 30 March 1995]. diff --git a/src/test/resources/expected/iso690.009.html b/src/test/resources/expected/iso690.009.html index 12316bd4e1..5c446957bb 100644 --- a/src/test/resources/expected/iso690.009.html +++ b/src/test/resources/expected/iso690.009.html @@ -22,8 +22,7 @@ | <biblioid class="isbn">0-7710-1932-7</biblioid> | </biblioset> 20 |</biblioentry> - |</bibliolist> -

      Output according to ISO 690 standard:

      MCCONNELL, W. H. Constitutional History. In The Canadian + |</bibliolist>

      Output according to ISO 690 standard:

      MCCONNELL, W. H. Constitutional History. In The Canadian Encyclopedia [CD-ROM]. Macintosh version 1.1. Toronto: McClelland & Stewart, c1993. ISBN 0-7710-1932-7.

      DocBook xslTNG output:

      diff --git a/src/test/resources/expected/iso690.010.html b/src/test/resources/expected/iso690.010.html index 5c23e5ae60..3941021c7d 100644 --- a/src/test/resources/expected/iso690.010.html +++ b/src/test/resources/expected/iso690.010.html @@ -14,8 +14,7 @@ 10 | <bibliomisc>Semi-annual</bibliomisc> | <biblioid class="uri" xlink:href="gopher://borg.lib.vt.edu:edu:70/1/jte"/> | <biblioid class="issn">1045-1064</biblioid> - |</biblioentry> -

      Output according to ISO 690 standard:

      Journal of Technology Education [online]. + |</biblioentry>

      Output according to ISO 690 standard:

      Journal of Technology Education [online]. Blacksburg (Va.): Virginia Polytechnic Institute and State University, 1989- [cited 15 March 1995]. Semi-annual. Available from Internet: <gopher://borg.lib.vt.edu:edu:70/1/jte>. ISSN 1045-1064.

      DocBook xslTNG output:

      diff --git a/src/test/resources/expected/iso690.011.html b/src/test/resources/expected/iso690.011.html index 72a850fe6a..829d054160 100644 --- a/src/test/resources/expected/iso690.011.html +++ b/src/test/resources/expected/iso690.011.html @@ -24,8 +24,7 @@ 20 | <biblioid class="uri" xlink:href="gopher://info.lib.uh.edu:70/00/articles/e-journals/uhlibrary/pacsreview/v5/n3/pricewil.5n3"/> | <biblioid class="issn">1048-6542</biblioid> | </biblioset> - |</biblioentry> -

      Output according to ISO 690 standard:

      PRICE-WILKIN, John. Using the World-Wide Web to Deliver Complex + |</biblioentry>

      Output according to ISO 690 standard:

      PRICE-WILKIN, John. Using the World-Wide Web to Deliver Complex Electronic Documents: Implications for Libraries. The Public-Access Computer Systems Review [online]. 1994, vol. 5, no. 3 [cited 1994-07-28], pp. 5-21. Available from Internet: diff --git a/src/test/resources/expected/iso690.012.html b/src/test/resources/expected/iso690.012.html index 42994aeacc..ad9abf9cac 100644 --- a/src/test/resources/expected/iso690.012.html +++ b/src/test/resources/expected/iso690.012.html @@ -12,8 +12,7 @@ | <pubdate>June 1989-</pubdate> | <date role="cit">17 May 1995</date> 10 | <biblioid class="uri" xlink:href="listserv@unhupvm1.uh.edu"/> - |</biblioentry> -

      Output according to ISO 690 standard:

      PACS-L (Public Access Computer Systems + |</biblioentry>

      Output according to ISO 690 standard:

      PACS-L (Public Access Computer Systems Forum) [online]. Houston (Tex.): University of Houston Libraries, June 1989- [cited 17 May 1995]. Available from Internet: <listserv@unhupvm1.uh.edu>.

      DocBook xslTNG output:

      diff --git a/src/test/resources/expected/iso690.013.html b/src/test/resources/expected/iso690.013.html index 0871b82e5f..0eb99ee3a9 100644 --- a/src/test/resources/expected/iso690.013.html +++ b/src/test/resources/expected/iso690.013.html @@ -23,8 +23,7 @@ | <date role="cit">1 January 1995; 16:15 EST</date> 20 | <biblioid class="uri" xlink:href="telnet://brsuser@a.cni.org"/> | </biblioset> - |</biblioentry> -

      Output according to ISO 690 standard:

      PARKER, Elliot. Re: Citing Electronic Journals. In + |</biblioentry>

      Output according to ISO 690 standard:

      PARKER, Elliot. Re: Citing Electronic Journals. In PACS-L (Public Access Computer Systems Forum) [online]. Houston (Tex.): University of Houston Libraries, 24 November 1989; 13:29:35 CST [cited 1 January 1995; 16:15 EST]. Available from diff --git a/src/test/resources/expected/lineannotation.001.html b/src/test/resources/expected/lineannotation.001.html index 78235072eb..dffdfc5933 100644 --- a/src/test/resources/expected/lineannotation.001.html +++ b/src/test/resources/expected/lineannotation.001.html @@ -1,6 +1,5 @@ -Article wrapper

      Article wrapper

      This article tests lineannotation.

        |This is a
      -  |screen                  annotation 1
      -  |with several
      -  |lines that have no      annotation 2
      -  |particular meaning
      -
      \ No newline at end of file +Article wrapper

      Article wrapper

      This article tests lineannotation.

      This is a
      +screen                  annotation 1
      +with several
      +lines that have no      annotation 2
      +particular meaning
      \ No newline at end of file diff --git a/src/test/resources/expected/literallayout.002.html b/src/test/resources/expected/literallayout.002.html index 01f600278e..3b96970364 100644 --- a/src/test/resources/expected/literallayout.002.html +++ b/src/test/resources/expected/literallayout.002.html @@ -1,4 +1,4 @@ -Unit test: literallayout.002

      Unit test: literallayout.002

      +Unit test: literallayout.002

      Unit test: literallayout.002

       
             LiteralLayout: This is a test
           This is a test with     embedded
         markup; but still
      diff --git a/src/test/resources/expected/literallayout.005.html b/src/test/resources/expected/literallayout.005.html
      index e7857e31f8..84df24b04a 100644
      --- a/src/test/resources/expected/literallayout.005.html
      +++ b/src/test/resources/expected/literallayout.005.html
      @@ -1,31 +1,13 @@
      -Unit test: literallayout.004

      Unit test: literallayout.004

      These literal layouts explicitly use the ‘table’ style.

        |
      -  |
      -  |
      -  |
      -  |
      -
      LiteralLayout: This is a test without literal
      +Unit test: literallayout.004

      Unit test: literallayout.004

      These literal layouts explicitly use the ‘table’ style.

      LiteralLayout: This is a test without literal
         Only a test.
       Had this been a real emegency,
         We would have fled in terror
      -And you would not have been informed.
      -
        |
      -  |
      -  |
      -  |
      -  |
      -
      LiteralLayout: This is a test with literal
      +And you would not have been informed.
      LiteralLayout: This is a test with literal
         Only a test.
       Had this been a real emegency,
         We would have fled in terror
      -And you would not have been informed.
      -
        |
      -  |
      -  |
      -  |
      -  |
      -
      LiteralLayout(monospaced): This is a test
      +And you would not have been informed.
      LiteralLayout(monospaced): This is a test
         Only a test.
       Had this been a real emegency,
         We would have fled in terror
      -And you would not have been informed.
      -
      \ No newline at end of file +And you would not have been informed.
      \ No newline at end of file diff --git a/src/test/resources/expected/panelset.001.html b/src/test/resources/expected/panelset.001.html index 3f031de0c2..ff6b184b35 100644 --- a/src/test/resources/expected/panelset.001.html +++ b/src/test/resources/expected/panelset.001.html @@ -15,8 +15,7 @@ | 15 | |class JavaClassRunnerException(Exception): - | """Subclass of Exception for errors raised by the runner.""" -

      And so on, for another 600 lines or so.

       1 |#!/usr/bin/env python3
      +   |    """Subclass of Exception for errors raised by the runner."""

      And so on, for another 600 lines or so.

       1 |#!/usr/bin/env python3
          | 
          |"""This is yet another link checker. Was it better to write my own
          |than find an existing cross-platform version? Maybe not, but it
      @@ -34,6 +33,5 @@
          |    from saxonche import PySaxonProcessor
          |    importOk = True
          |except ImportError:
      -   |    importOk = False
      -

      And so on for another 150 lines or so.

      More things.

      Note

      The content of an individual panel is just ordinary + | importOk = False

      And so on for another 150 lines or so.

      More things.

      Note

      The content of an individual panel is just ordinary DocBook listitem content.

      \ No newline at end of file diff --git a/src/test/resources/expected/para.004.html b/src/test/resources/expected/para.004.html index 4088583693..496c0075c2 100644 --- a/src/test/resources/expected/para.004.html +++ b/src/test/resources/expected/para.004.html @@ -1,3 +1,2 @@ Unit test: para.004

      Unit test: para.004

      Ordinary paragraph, followed by a paragraph with a program listing.

      This is some text followed by a programlisting:

        |<!-- stuff -->
      -  |and nonsense
      -

      Ordinary paragraph.

      \ No newline at end of file + |and nonsense

      Ordinary paragraph.

      \ No newline at end of file diff --git a/src/test/resources/expected/presentation.001.html b/src/test/resources/expected/presentation.001.html index 31d7213c2e..162b82d7ec 100644 --- a/src/test/resources/expected/presentation.001.html +++ b/src/test/resources/expected/presentation.001.html @@ -7,8 +7,7 @@ http), presentation mode can use local storage to synchronize display in different browser windows.

      • Add

          |<meta xmlns="http://www.w3.org/1999/xhtml"
        -  |      name="localStorage.key" content="keyName"/>
        -
        + | name="localStorage.key" content="keyName"/> to the info of your document.

      • The key name is irrelevant, but is used to coordinate between windows. All documents with the same key name will be synchronized together. 1 @@ -16,8 +15,7 @@ while presenting the “normal” view to your audience.

      Speaker notes

      • Speaker notes can be placed on any page.

      • They are not displayed as part of the normal presentation.

      • They can be revealed by selecting notes view.

      Use the speaker-notes role to add speaker notes:

        |<para role="speaker-notes">When you present this page
         |observe that the speaker notes are normally hidden, but
      -  |can be revealed by pressing <keycap>S</keycap>.</para>
      -

      When you present this page + |can be revealed by pressing <keycap>S</keycap>.</para>

      When you present this page observe that the speaker notes are normally hidden, but can be revealed by pressing S.

      (If you’re reading this in presentation mode, press S to select notes view.)

      Press S again to return to the diff --git a/src/test/resources/expected/prism.001.html b/src/test/resources/expected/prism.001.html new file mode 100644 index 0000000000..050fb8161c --- /dev/null +++ b/src/test/resources/expected/prism.001.html @@ -0,0 +1,58 @@ +Unit test: prism.001

      Unit test: prism.001

      This is a test for syntax highlighting with +prism.

      Program listings are highlighted and numbered by default:

      #!/usr/bin/env python3
      + 
      +"""This is yet another link checker. Was it better to write my own
      +than find an existing cross-platform version? Maybe not, but it
      +appeared to be easier."""
      + 
      +import re
      +import os
      +import sys
      +import json
      +import glob
      +import click
      +try:
      +    import html5_parser
      +    import lxml.etree
      +    from saxonche import PySaxonProcessor
      +    importOk = True
      +except ImportError:
      +    importOk = False

      But numbering can be turned off:

      #!/usr/bin/env python3
      + 
      +"""This is yet another link checker. Was it better to write my own
      +than find an existing cross-platform version? Maybe not, but it
      +appeared to be easier."""
      + 
      +import re
      +import os
      +import sys
      +import json
      +import glob
      +import click
      +try:
      +    import html5_parser
      +    import lxml.etree
      +    from saxonche import PySaxonProcessor
      +    importOk = True
      +except ImportError:
      +    importOk = False

      And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. +

      #!/usr/bin/env python3
      + 
      +"""This is yet another link checker. Was it better to write my own
      +than find an existing cross-platform version? Maybe not, but it
      +appeared to be easier."""
      + 
      +import re
      +import os
      +import sys
      +import json
      +import glob
      +import click
      +try:
      +    import html5_parser
      +    import lxml.etree
      +    from saxonche import PySaxonProcessor
      +    importOk = True
      +except ImportError:
      +    importOk = False
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.001.html b/src/test/resources/expected/programlisting.001.html index 60adea29ed..63a2f763e7 100644 --- a/src/test/resources/expected/programlisting.001.html +++ b/src/test/resources/expected/programlisting.001.html @@ -4,5 +4,4 @@ | We would have fled in terror 5 |And you would not have been informed. | - |Foo <Bar> - \ No newline at end of file + |Foo <Bar> \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.002.html b/src/test/resources/expected/programlisting.002.html index 2b603a37c1..bea7c415b9 100644 --- a/src/test/resources/expected/programlisting.002.html +++ b/src/test/resources/expected/programlisting.002.html @@ -7,5 +7,4 @@ | format="linespecific"/> | </imageobject> | </inlinemediaobject></programlisting> -10 |</article> - \ No newline at end of file +10 |</article> \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.003.html b/src/test/resources/expected/programlisting.003.html index 2a1fc85063..e5fec7579e 100644 --- a/src/test/resources/expected/programlisting.003.html +++ b/src/test/resources/expected/programlisting.003.html @@ -28,5 +28,4 @@ | } |} 30 | - |exit; - \ No newline at end of file + |exit; \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.004.html b/src/test/resources/expected/programlisting.004.html index 167f1717c7..10c5ff5302 100644 --- a/src/test/resources/expected/programlisting.004.html +++ b/src/test/resources/expected/programlisting.004.html @@ -1,6 +1,5 @@ Unit Test: programlisting.004

      Unit Test: programlisting.004

      Stéphane Bortzmeyer

      Testing footnote within programlisting.

        |      hostname RTA
         |      router ospf
         |          ospf router-id 192.134.7.241	1
      -  |          network 192.134.7.0/24 area 0
      -

      It is not + | network 192.134.7.0/24 area 0


      It is not necessary to set the router ID.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.005.html b/src/test/resources/expected/programlisting.005.html index 594e825b53..fd24cd813b 100644 --- a/src/test/resources/expected/programlisting.005.html +++ b/src/test/resources/expected/programlisting.005.html @@ -3,6 +3,5 @@ | (cond ((= n 1) (values len top)) | ((evenp n) (cycle-length (ash n -1) (1+ len) (max top n))) | (t (let ((next (1+ (* 3 n)))) -5 | (cycle-length next (1+ len) (max top next)))))) - +5 | (cycle-length next (1+ len) (max top next)))))) \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.006.html b/src/test/resources/expected/programlisting.006.html index 3e87630eb3..312abab62d 100644 --- a/src/test/resources/expected/programlisting.006.html +++ b/src/test/resources/expected/programlisting.006.html @@ -1,32 +1,31 @@ -Article wrapper

      Article wrapper

         |@rem = '--*-Perl-*--
      -   |@echo off
      -   |perl.exe %_batchname %$
      -   |goto endofperl
      -   |@rem ';
      -   | 
      -   |# Compress mail...
      -   | 
      -   |require 'n:/home/nwalsh/lib/cygnus.pl';
      -   |require 'timelocal.pl';
      -   |use Cwd;
      -   | 
      -   |select (STDERR); $| = 1;
      -   |select (STDOUT); $| = 1;
      -   | 
      -   |@DIRS = ("/home/nwalsh/Mail");
      -   |while (@DIRS) {
      -   |    $dir = shift @DIRS;
      -   |    opendir (DIR, $dir);
      -   |    while ($fname = readdir(DIR)) {
      -   |        $file = "$dir/$fname";
      -   |        next if ! -d $file;
      -   |        next if $fname =~ /^\.\.?$/;
      -   | 
      -   |        print "$file\n";
      -   |        push (@DIRS, $file);
      -   |        &compress ($file);
      -   |    }
      -   |}
      -   | 
      -   |exit;
      -
      \ No newline at end of file +Article wrapper

      Article wrapper

      @rem = '--*-Perl-*--
      +@echo off
      +perl.exe %_batchname %$
      +goto endofperl
      +@rem ';
      + 
      +# Compress mail...
      + 
      +require 'n:/home/nwalsh/lib/cygnus.pl';
      +require 'timelocal.pl';
      +use Cwd;
      + 
      +select (STDERR); $| = 1;
      +select (STDOUT); $| = 1;
      + 
      +@DIRS = ("/home/nwalsh/Mail");
      +while (@DIRS) {
      +    $dir = shift @DIRS;
      +    opendir (DIR, $dir);
      +    while ($fname = readdir(DIR)) {
      +        $file = "$dir/$fname";
      +        next if ! -d $file;
      +        next if $fname =~ /^\.\.?$/;
      + 
      +        print "$file\n";
      +        push (@DIRS, $file);
      +        &compress ($file);
      +    }
      +}
      + 
      +exit;
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.007.html b/src/test/resources/expected/programlisting.007.html index 57de5663f8..0c34161484 100644 --- a/src/test/resources/expected/programlisting.007.html +++ b/src/test/resources/expected/programlisting.007.html @@ -33,5 +33,4 @@ |} | |exit;</programlisting> -35 |</article> - \ No newline at end of file +35 |</article> \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.008.html b/src/test/resources/expected/programlisting.008.html index 014bc47a99..3ceab8720b 100644 --- a/src/test/resources/expected/programlisting.008.html +++ b/src/test/resources/expected/programlisting.008.html @@ -14,8 +14,7 @@ |Line thirteen 14 |Line fourteen |Line fifteen -16 |Line sixteen -
        |Line one
      +16 |Line sixteen
        |Line one
         |Line two
         |Line three
         |Line four
      @@ -23,5 +22,4 @@
         |Line six
         |Line seven
         |Line eight
      -  |Line nine
      -
      \ No newline at end of file + |Line nine \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.009.html b/src/test/resources/expected/programlisting.009.html index ae8bde4e82..e125933098 100644 --- a/src/test/resources/expected/programlisting.009.html +++ b/src/test/resources/expected/programlisting.009.html @@ -12,29 +12,27 @@ | |$opt = '-u' if $opt_u; |$opt = '-p' if $opt_p; -15 |$opt = '-m' if $opt_m; -

      This paragraph interrupts the listing. The line numbering -continues in the following listing.

      16 |while ($file) {
      -   |    print "Converting $file to $opt linebreaks.\n" if !$opt_q;
      -   |    open (F, "$file");
      -   |    binmode F;
      -20 |    read (F, $_, -s $file);
      -   |    close (F);
      -   | 
      -   |    s/\r\n/\n/sg;
      -   |    s/\r/\n/sg;
      -25 | 
      -   |    if ($opt eq '-p') {
      -   |	s/\n/\r\n/sg;
      -   |    } elsif ($opt eq '-m') {
      -   |	s/\n/\r/sg;
      -30 |    }
      -   | 
      -   |    open (F, ">$file");
      -   |    binmode F;
      -   |    print F $_;
      -35 |    close (F);
      -   | 
      -   |    $file = shift @ARGV;
      -   |}
      -
      \ No newline at end of file +15 |$opt = '-m' if $opt_m;

      This paragraph interrupts the listing. The line numbering +continues in the following listing.

      16 |while ($file) {
      +   |    print "Converting $file to $opt linebreaks.\n" if !$opt_q;
      +   |    open (F, "$file");
      +   |    binmode F;
      +20 |    read (F, $_, -s $file);
      +   |    close (F);
      +   | 
      +   |    s/\r\n/\n/sg;
      +   |    s/\r/\n/sg;
      +25 | 
      +   |    if ($opt eq '-p') {
      +   |	s/\n/\r\n/sg;
      +   |    } elsif ($opt eq '-m') {
      +   |	s/\n/\r/sg;
      +30 |    }
      +   | 
      +   |    open (F, ">$file");
      +   |    binmode F;
      +   |    print F $_;
      +35 |    close (F);
      +   | 
      +   |    $file = shift @ARGV;
      +   |}
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.010.html b/src/test/resources/expected/programlisting.010.html index f31bd369c8..163f1d30aa 100644 --- a/src/test/resources/expected/programlisting.010.html +++ b/src/test/resources/expected/programlisting.010.html @@ -1,16 +1,15 @@ -Unit test: programlisting.010

      Unit test: programlisting.010

         | 
      -   | 
      -   | 
      -   | 
      -   |Fifth line
      -   | 
      -   | 
      -   | 
      -   | 
      -   |Tenth line
      -   | 
      -   | 
      -   | 
      -   | 
      -   | 
      -
      \ No newline at end of file +Unit test: programlisting.010

      Unit test: programlisting.010

       
      + 
      + 
      + 
      +Fifth line
      + 
      + 
      + 
      + 
      +Tenth line
      + 
      + 
      + 
      + 
      + 
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.011.html b/src/test/resources/expected/programlisting.011.html index 3dd0946f9f..de9d706ab9 100644 --- a/src/test/resources/expected/programlisting.011.html +++ b/src/test/resources/expected/programlisting.011.html @@ -2,5 +2,4 @@ | Only a test. |Had this been a real emegency, | We would have fled in terror -5 |And you would not have been informed. - \ No newline at end of file +5 |And you would not have been informed. \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.012.html b/src/test/resources/expected/programlisting.012.html index f2f27cd07c..db52036090 100644 --- a/src/test/resources/expected/programlisting.012.html +++ b/src/test/resources/expected/programlisting.012.html @@ -2,8 +2,7 @@ | Only a test. |Had this been a real emegency, | We would have fled in terror -5 |And you would not have been informed. -

      A program listing for the language “python” (explicitly).

       1 |    def _check_arg(self, arg):
      +5 |And you would not have been informed.

      A program listing for the language “python” (explicitly).

       1 |    def _check_arg(self, arg):
          |        if ":" in arg:
          |            pos = arg.index(":")
          |            name = arg[0:pos]
      @@ -16,8 +15,7 @@
          |                return
          |            elif name == "-xsl":
          |                self.stylesheet = arg
      -   |        self._app_args.append(arg)
      -

      A program listing without a language specification.

       1 |    def _check_arg(self, arg):
      +   |        self._app_args.append(arg)

      A program listing without a language specification.

       1 |    def _check_arg(self, arg):
          |        if ":" in arg:
          |            pos = arg.index(":")
          |            name = arg[0:pos]
      @@ -30,19 +28,16 @@
          |                return
          |            elif name == "-xsl":
          |                self.stylesheet = arg
      -   |        self._app_args.append(arg)
      -

      A program listing for the language “xml”

      1 |<xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
      +   |        self._app_args.append(arg)

      A program listing for the language “xml”

      1 |<xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
         |  <xsl:param name="context" as="element()"/>
         |  <xsl:variable name="pi" select="f:pi($context, 'verbatim-trim-trailing')"/>
         |  <xsl:sequence select="if ($pi)
       5 |                        then f:is-true($pi)
         |                        else f:is-true($verbatim-trim-trailing-blank-lines)"/>
      -  |</xsl:function>
      -

      A program listing for the language “xslt”

      1 |<xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
      +  |</xsl:function>

      A program listing for the language “xslt”

      1 |<xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
         |  <xsl:param name="context" as="element()"/>
         |  <xsl:variable name="pi" select="f:pi($context, 'verbatim-trim-trailing')"/>
         |  <xsl:sequence select="if ($pi)
       5 |                        then f:is-true($pi)
         |                        else f:is-true($verbatim-trim-trailing-blank-lines)"/>
      -  |</xsl:function>
      -
      \ No newline at end of file + |</xsl:function> \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.013.html b/src/test/resources/expected/programlisting.013.html index 91de5cbf69..09f905b711 100644 --- a/src/test/resources/expected/programlisting.013.html +++ b/src/test/resources/expected/programlisting.013.html @@ -2,13 +2,11 @@ | | | -5 | -
      ProgramListing: This is a test
      -  Only a test.
      -Had this been a real emegency,
      -  We would have fled in terror
      -And you would not have been informed.
      -

      A program listing for the language “python” (explicitly).

       1 |
      +5 |
      ProgramListing: This is a test
      +  Only a test.
      +Had this been a real emegency,
      +  We would have fled in terror
      +And you would not have been informed.

      A program listing for the language “python” (explicitly).

       1 |
          |
          |
          |
      @@ -21,33 +19,29 @@
          |
          |
          |
      -   |
      -
          def _check_arg(self, arg):
      -        if ":" in arg:
      -            pos = arg.index(":")
      -            name = arg[0:pos]
      -            value = arg[(pos + 1):]
      -            if name in ("-x", "-y", "-r", "-init"):
      -                raise JavaClassRunnerException(
      -                    f"The {arg} option cannot be specified")
      -            if name == "-catalog":
      -                self.catalogs.append(value)
      -                return
      -            elif name == "-xsl":
      -                self.stylesheet = arg
      -        self._app_args.append(arg)
      -

      A program listing for the language “xml”

      1 |
      +   |
          def _check_arg(self, arg):
      +        if ":" in arg:
      +            pos = arg.index(":")
      +            name = arg[0:pos]
      +            value = arg[(pos + 1):]
      +            if name in ("-x", "-y", "-r", "-init"):
      +                raise JavaClassRunnerException(
      +                    f"The {arg} option cannot be specified")
      +            if name == "-catalog":
      +                self.catalogs.append(value)
      +                return
      +            elif name == "-xsl":
      +                self.stylesheet = arg
      +        self._app_args.append(arg)

      A program listing for the language “xml”

      1 |
         |
         |
         |
       5 |
         |
      -  |
      -
      <xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
      -  <xsl:param name="context" as="element()"/>
      -  <xsl:variable name="pi" select="f:pi($context, 'verbatim-trim-trailing')"/>
      -  <xsl:sequence select="if ($pi)
      -                        then f:is-true($pi)
      -                        else f:is-true($verbatim-trim-trailing-blank-lines)"/>
      -</xsl:function>
      -
      \ No newline at end of file + |
      <xsl:function name="f:verbatim-trim-trailing" as="xs:boolean">
      +  <xsl:param name="context" as="element()"/>
      +  <xsl:variable name="pi" select="f:pi($context, 'verbatim-trim-trailing')"/>
      +  <xsl:sequence select="if ($pi)
      +                        then f:is-true($pi)
      +                        else f:is-true($verbatim-trim-trailing-blank-lines)"/>
      +</xsl:function>
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.014.html b/src/test/resources/expected/programlisting.014.html index 1c0233e9c6..2c1efa43c6 100644 --- a/src/test/resources/expected/programlisting.014.html +++ b/src/test/resources/expected/programlisting.014.html @@ -2,14 +2,10 @@ from a verbatim environment.

      Defaults (trim trailing, not leading):

        | 
         | 
         | 
      -  |line four of four
      -

      Trim trailing, not leading, explicitly:

        | 
      +  |line four of four

      Trim trailing, not leading, explicitly:

        | 
         | 
         | 
      -  |line four of four
      -

      Trim leading, not trailing:

        |line one of four
      +  |line four of four

      Trim leading, not trailing:

        |line one of four
         | 
         | 
      -  | 
      -

      Trim both:

        |line one of one
      -
      \ No newline at end of file + |

      Trim both:

        |line one of one
      \ No newline at end of file diff --git a/src/test/resources/expected/programlisting.015.html b/src/test/resources/expected/programlisting.015.html index a69d23ebbf..372cc2d099 100644 --- a/src/test/resources/expected/programlisting.015.html +++ b/src/test/resources/expected/programlisting.015.html @@ -23,8 +23,7 @@ |Line 09 10 |Line 10 |Line 11 - |Line 12 -

      (In a paged media presentation, the entire program listing should be on page 2.)

       1 |Line 01
      +   |Line 12

      (In a paged media presentation, the entire program listing should be on page 2.)

       1 |Line 01
          |Line 02
          |Line 03
          |Line 04
      @@ -48,5 +47,4 @@
          |Line 22
          |Line 23
          |Line 24
      -25 |Line 25
      -

      (In a paged media presentation, the entire second program listing should be on page 3.)

      \ No newline at end of file +25 |Line 25

      (In a paged media presentation, the entire second program listing should be on page 3.)

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001.html b/src/test/resources/expected/programlistingco.001.html index 9d5aca2edd..12c14dd13c 100644 --- a/src/test/resources/expected/programlistingco.001.html +++ b/src/test/resources/expected/programlistingco.001.html @@ -9,5 +9,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_l-lra.html b/src/test/resources/expected/programlistingco.001_l_f_l-lra.html index 7ed6d66c1a..f728bdc008 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_l-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_f_l-lra.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_l-lrf.html b/src/test/resources/expected/programlistingco.001_l_f_l-lrf.html index c670cefefc..8482dfd365 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_f_l-lrf.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_l.html b/src/test/resources/expected/programlistingco.001_l_f_l.html index 5fa098f240..808b35b477 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_l.html +++ b/src/test/resources/expected/programlistingco.001_l_f_l.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc-l-lra.html b/src/test/resources/expected/programlistingco.001_l_f_lc-l-lra.html index 5acd033314..096f3ce597 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc-l-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc-l-lra.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc-l-lrf.html b/src/test/resources/expected/programlistingco.001_l_f_lc-l-lrf.html index a7cef325c6..ff35726157 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc-l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc-l-lrf.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc-l.html b/src/test/resources/expected/programlistingco.001_l_f_lc-l.html index 61a8f75080..f06cc05d03 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc-l.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc-l.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc-lra.html b/src/test/resources/expected/programlistingco.001_l_f_lc-lra.html index f79b784816..993fd071b8 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc-lra.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc-lrf.html b/src/test/resources/expected/programlistingco.001_l_f_lc-lrf.html index 63c2e19e1d..c1d50bb403 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc-lrf.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lc.html b/src/test/resources/expected/programlistingco.001_l_f_lc.html index edb2c08cd2..93cc312298 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lc.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lc.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlinecolumn
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lra.html b/src/test/resources/expected/programlistingco.001_l_f_lra.html index cf27f60aa3..de09d7e4c9 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lra.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lra.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_f_lrf.html b/src/test/resources/expected/programlistingco.001_l_f_lrf.html index 257bde550a..ce5f955599 100644 --- a/src/test/resources/expected/programlistingco.001_l_f_lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_f_lrf.html @@ -1,14 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
         |The first line                                             
      -   |The second line              
      -   |The third line               
      -   |The fourth line              
      -   |The fifth line                                             
      -   |The sixth line                                             
      -   |The seventh line
      -   |The eighth line                                            
      -   |The ninth line                                             
      -   |The tenth line
      -   | 
      -   |
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file +listing that follows:

      OptionValue
      verbatim-stylelines
      verbatim-highlightlineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
      +The seventh line
      +The eighth line                                            
      +The ninth line                                             
      +The tenth line
      + 
      +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_l-lra.html b/src/test/resources/expected/programlistingco.001_l_t_l-lra.html index e489aac96c..c26d1a0a7a 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_l-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_t_l-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_l-lrf.html b/src/test/resources/expected/programlistingco.001_l_t_l-lrf.html index 2f9019c74d..587fef6b4b 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_t_l-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_l.html b/src/test/resources/expected/programlistingco.001_l_t_l.html index 9b6ff4506d..14523accfe 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_l.html +++ b/src/test/resources/expected/programlistingco.001_l_t_l.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc-l-lra.html b/src/test/resources/expected/programlistingco.001_l_t_lc-l-lra.html index 925d46a49a..353d8975ac 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc-l-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc-l-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc-l-lrf.html b/src/test/resources/expected/programlistingco.001_l_t_lc-l-lrf.html index 01439dcba7..dabf7d3e29 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc-l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc-l-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc-l.html b/src/test/resources/expected/programlistingco.001_l_t_lc-l.html index b178ce19c0..481a4a6eaf 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc-l.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc-l.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc-lra.html b/src/test/resources/expected/programlistingco.001_l_t_lc-lra.html index 05c846931f..73e2b0be82 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc-lra.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc-lrf.html b/src/test/resources/expected/programlistingco.001_l_t_lc-lrf.html index cb4e0a6bc0..cba0adeee1 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc-lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lc.html b/src/test/resources/expected/programlistingco.001_l_t_lc.html index cf216649df..7590e56851 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lc.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lc.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lra.html b/src/test/resources/expected/programlistingco.001_l_t_lra.html index cea3d993b8..3ee65a257c 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lra.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_l_t_lrf.html b/src/test/resources/expected/programlistingco.001_l_t_lrf.html index 3b80101bf1..9a3667be9c 100644 --- a/src/test/resources/expected/programlistingco.001_l_t_lrf.html +++ b/src/test/resources/expected/programlistingco.001_l_t_lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + |

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_l-lra.html b/src/test/resources/expected/programlistingco.001_p_f_l-lra.html index 32a3c03462..7cc0eb4e6f 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_l-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_f_l-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_l-lrf.html b/src/test/resources/expected/programlistingco.001_p_f_l-lrf.html index 92f6209e18..24367cc0ab 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_f_l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_l.html b/src/test/resources/expected/programlistingco.001_p_f_l.html index fd653dd6de..83b3f5a2b9 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_l.html +++ b/src/test/resources/expected/programlistingco.001_p_f_l.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc-l-lra.html b/src/test/resources/expected/programlistingco.001_p_f_lc-l-lra.html index 8d8e785323..795bb9702c 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc-l-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc-l-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc-l-lrf.html b/src/test/resources/expected/programlistingco.001_p_f_lc-l-lrf.html index 7f8845adf8..ce7a279aeb 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc-l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc-l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc-l.html b/src/test/resources/expected/programlistingco.001_p_f_lc-l.html index fefb375004..5598df306f 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc-l.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc-l.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc-lra.html b/src/test/resources/expected/programlistingco.001_p_f_lc-lra.html index fa97b7cc03..b6a329ca20 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc-lrf.html b/src/test/resources/expected/programlistingco.001_p_f_lc-lrf.html index 21ea89b645..9141e4c218 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lc.html b/src/test/resources/expected/programlistingco.001_p_f_lc.html index 303668c4ab..e84526b2f8 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lc.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lc.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn
      verbatim-numberedfalse
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lra.html b/src/test/resources/expected/programlistingco.001_p_f_lra.html index 1836690575..f6fe9f27c6 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lra.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lra.html @@ -6,8 +6,8 @@ The fifth line The sixth line The seventh line -The eighth line -The ninth line +The eighth line +The ninth line The tenth line - -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_f_lrf.html b/src/test/resources/expected/programlistingco.001_p_f_lrf.html index 8171ea9c91..60f1c7deb8 100644 --- a/src/test/resources/expected/programlistingco.001_p_f_lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_f_lrf.html @@ -6,8 +6,8 @@ The fifth line The sixth line The seventh line -The eighth line +The eighth line The ninth line The tenth line - -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_l-lra.html b/src/test/resources/expected/programlistingco.001_p_t_l-lra.html index 585ffaae35..55ad87e407 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_l-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_t_l-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_l-lrf.html b/src/test/resources/expected/programlistingco.001_p_t_l-lrf.html index a4409e5adb..e927533586 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_t_l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_l.html b/src/test/resources/expected/programlistingco.001_p_t_l.html index bb00db790d..455eeea044 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_l.html +++ b/src/test/resources/expected/programlistingco.001_p_t_l.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc-l-lra.html b/src/test/resources/expected/programlistingco.001_p_t_lc-l-lra.html index e7893dc925..b4931948ed 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc-l-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc-l-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc-l-lrf.html b/src/test/resources/expected/programlistingco.001_p_t_lc-l-lrf.html index e49bfdccdb..6fcfc46140 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc-l-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc-l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc-l.html b/src/test/resources/expected/programlistingco.001_p_t_lc-l.html index af65a54f0f..1726c7bade 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc-l.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc-l.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      -The fifth line                                             
      -The sixth line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
      +The fifth line                                             
      +The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc-lra.html b/src/test/resources/expected/programlistingco.001_p_t_lc-lra.html index 4007d4aef3..e6599cdb40 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc-lra.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc-lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc-lrf.html b/src/test/resources/expected/programlistingco.001_p_t_lc-lrf.html index 50d7dad1e9..f67a672b17 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc-lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc-lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lc.html b/src/test/resources/expected/programlistingco.001_p_t_lc.html index dc6a54450b..73e816ea4b 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lc.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lc.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      -The second line              
      -The third line               
      -The fourth line              
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlinecolumn
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +The second line              
      +The third line               
      +The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
       The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lra.html b/src/test/resources/expected/programlistingco.001_p_t_lra.html index 76de7a5a43..581c08e3f3 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lra.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lra.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      -The ninth line                                             
      +The eighth line                                            
      +The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_p_t_lrf.html b/src/test/resources/expected/programlistingco.001_p_t_lrf.html index 98d4ceada0..b44b347786 100644 --- a/src/test/resources/expected/programlistingco.001_p_t_lrf.html +++ b/src/test/resources/expected/programlistingco.001_p_t_lrf.html @@ -1,13 +1,13 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
      +listing that follows:

      OptionValue
      verbatim-styleplain
      verbatim-highlightlineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line                                             
       The second line              
       The third line               
       The fourth line              
       The fifth line                                             
       The sixth line                                             
       The seventh line
      -The eighth line                                            
      +The eighth line                                            
       The ninth line                                             
       The tenth line
      -
      -

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file + +

      The first line.

      The second line.

      The third and fourth lines, together.

      The fifth and sixth lines, separately.

      The eight and ninth lines as a range.

      The twelfth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.001_r_t_l-lra.html b/src/test/resources/expected/programlistingco.001_r_t_l-lra.html index b9a0c56026..7578abc233 100644 --- a/src/test/resources/expected/programlistingco.001_r_t_l-lra.html +++ b/src/test/resources/expected/programlistingco.001_r_t_l-lra.html @@ -1,5 +1,5 @@ Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_l-lrf.html b/src/test/resources/expected/programlistingco.001_r_t_l-lrf.html
      index 8dfd222196..91228867b8 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_l-lrf.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_l-lrf.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_l.html b/src/test/resources/expected/programlistingco.001_r_t_l.html
      index ed241321cd..b755a90e5d 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_l.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_l.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc-l-lra.html b/src/test/resources/expected/programlistingco.001_r_t_lc-l-lra.html
      index 07c4fa9ba7..a0493e957d 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc-l-lra.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc-l-lra.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc-l-lrf.html b/src/test/resources/expected/programlistingco.001_r_t_lc-l-lrf.html
      index 793fd43713..7bc76cecc3 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc-l-lrf.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc-l-lrf.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc-l.html b/src/test/resources/expected/programlistingco.001_r_t_lc-l.html
      index 3fadb8b78d..205dd56cc0 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc-l.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc-l.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lines
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc-lra.html b/src/test/resources/expected/programlistingco.001_r_t_lc-lra.html
      index 92bad84872..c8527c4e89 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc-lra.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc-lra.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc-lrf.html b/src/test/resources/expected/programlistingco.001_r_t_lc-lrf.html
      index 945ecb0097..d4ffbc7a8b 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc-lrf.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc-lrf.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn,lineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lc.html b/src/test/resources/expected/programlistingco.001_r_t_lc.html
      index 62e3d39c3d..9b8a5c44b3 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lc.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lc.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlinecolumn
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lra.html b/src/test/resources/expected/programlistingco.001_r_t_lra.html
      index 9783e46a91..c39a0a218f 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lra.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lra.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlineranges-all
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.001_r_t_lrf.html b/src/test/resources/expected/programlistingco.001_r_t_lrf.html
      index 5f97d1aba2..cb2ffaf101 100644
      --- a/src/test/resources/expected/programlistingco.001_r_t_lrf.html
      +++ b/src/test/resources/expected/programlistingco.001_r_t_lrf.html
      @@ -1,5 +1,5 @@
       Article wrapper

      Article wrapper

      These options apply to the -listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
      +listing that follows:

      OptionValue
      verbatim-styleraw
      verbatim-highlightlineranges-first
      verbatim-numberedtrue
      verbatim-number-every-nth5
      verbatim-number-first-linetrue
      verbatim-number-minlines5
      The first line
       The second line
       The third line
       The fourth line
      diff --git a/src/test/resources/expected/programlistingco.002.html b/src/test/resources/expected/programlistingco.002.html
      index e0ab1ad476..0610cf4237 100644
      --- a/src/test/resources/expected/programlistingco.002.html
      +++ b/src/test/resources/expected/programlistingco.002.html
      @@ -2,14 +2,11 @@
         |In the fourth line a variant selector occurs
         |after the ⚠; it should not be counted.
         |123456789⚠︎1234567890
      -5 |12345678901234567890
      -

      The user probably expects the line range marks to line up, +5 |12345678901234567890

      The user probably expects the line range marks to line up, but they don’t. It’s not clear how to fix that.

        |12345678901234567890                                       
         |12345678901234567890                                       
         |12345678901234567890                                       
      -  |12345678901234567890                                       
      -
        |12345678901234567890                                       
      +  |12345678901234567890                                       
        |12345678901234567890                                       
         |12345678901234567890                                       
         |12345678901234567890                                       
      -  |12345678901234567890                                       
      -
      \ No newline at end of file + |12345678901234567890
      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.003.html b/src/test/resources/expected/programlistingco.003.html index 44b503d9e9..181fa347ad 100644 --- a/src/test/resources/expected/programlistingco.003.html +++ b/src/test/resources/expected/programlistingco.003.html @@ -2,10 +2,8 @@ |The second line |The third line |The fourth line -5 |The fifth line -

      An interstitial para.

       6 |The sixth line
      -   |The seventh line
      -   |The eighth line
      -   |The ninth line               
      -10 |The tenth line               
      -

      The first line.

      The second line.

      The ninth line.

      The tenth line.

      \ No newline at end of file +5 |The fifth line

      An interstitial para.

       6 |The sixth line
      +   |The seventh line
      +   |The eighth line
      +   |The ninth line               
      +10 |The tenth line               

      The first line.

      The second line.

      The ninth line.

      The tenth line.

      \ No newline at end of file diff --git a/src/test/resources/expected/programlistingco.004.html b/src/test/resources/expected/programlistingco.004.html index 12f6316d08..a8911a3d65 100644 --- a/src/test/resources/expected/programlistingco.004.html +++ b/src/test/resources/expected/programlistingco.004.html @@ -11,5 +11,4 @@ | return | elif name == "-xsl": | self.stylesheet = arg - | self._app_args.append(arg) -

      The first line.

      The second line.

      \ No newline at end of file + | self._app_args.append(arg)

      The first line.

      The second line.

      \ No newline at end of file diff --git a/src/test/resources/expected/pygments.001.html b/src/test/resources/expected/pygments.001.html index 65e85b4cbc..0ecb6fbad2 100644 --- a/src/test/resources/expected/pygments.001.html +++ b/src/test/resources/expected/pygments.001.html @@ -1,7 +1,5 @@ Unit test: pygments.001

      Unit test: pygments.001

      This test checks to see if the extension function that runs Pygments syntax highlighting works.

        |def printDict(di, format="%-25s %s"):
         |    for (key, val) in di.items():
      -  |        print format % (str(key)+':', val)
      -
        |This programlisting has
      -  |no language attribute.
      -
      \ No newline at end of file + | print format % (str(key)+':', val)
        |This programlisting has
      +  |no language attribute.
      \ No newline at end of file diff --git a/src/test/resources/expected/pygments.002.html b/src/test/resources/expected/pygments.002.html index 9d7af96e77..b7116b1f7b 100644 --- a/src/test/resources/expected/pygments.002.html +++ b/src/test/resources/expected/pygments.002.html @@ -1,25 +1,24 @@ Unit test: pygments.002

      Unit test: pygments.002

      This test checks to see if the extension function that runs -Pygments syntax highlighting works.

       1 |    def matching_images(self, iname=None):
      -   |        """Filter the image list to the ones that match the
      -   |        specified iname.
      +Pygments syntax highlighting works.

       1 |def matching_images(self, iname=None):
      +   |    """Filter the image list to the ones that match the
      +   |    specified iname.
          | 
      - 5 |        """
      -   |        if iname:
      -   |            namere = re.compile(r"^%s" % iname)
      -   |        else:
      -   |            return list(self.image)
      + 5 |    """
      +   |    if iname:
      +   |        namere = re.compile(r"^%s" % iname)
      +   |    else:
      +   |        return list(self.image)
       10 | 
      -   |        # Is it a id?
      -   |        filtered = self._data_match(self.image, namere)
      +   |    # Is it a id?
      +   |    filtered = self._data_match(self.image, namere)
          | 
      -   |        if not filtered:
      -15 |            # Is it a repository name?
      -   |            filtered = self._data_match(self.image,
      -   |                                        namere, "repository")
      +   |    if not filtered:
      +15 |        # Is it a repository name?
      +   |        filtered = self._data_match(self.image,
      +   |                                    namere, "repository")
          | 
      -   |        if not filtered:
      -20 |            # Is it a tag?
      -   |            filtered = self._data_match(self.image, namere, "tag")
      +   |    if not filtered:
      +20 |        # Is it a tag?
      +   |        filtered = self._data_match(self.image, namere, "tag")
          | 
      -   |        return list(filtered)
      -
      \ No newline at end of file + | return list(filtered)
      \ No newline at end of file diff --git a/src/test/resources/expected/pygments.003.html b/src/test/resources/expected/pygments.003.html index c63109e522..cd85297767 100644 --- a/src/test/resources/expected/pygments.003.html +++ b/src/test/resources/expected/pygments.003.html @@ -2,5 +2,4 @@ Pygments syntax highlighting works.

        |def printDict(di, format="%-25s %s"):
         |    for (key, val) in di.items():
         |        print format % (str(key)+':', val)
      -  | 
      -
      \ No newline at end of file + |
      \ No newline at end of file diff --git a/src/test/resources/expected/pygments.004.html b/src/test/resources/expected/pygments.004.html index 33e2c8270c..8467d2df43 100644 --- a/src/test/resources/expected/pygments.004.html +++ b/src/test/resources/expected/pygments.004.html @@ -4,5 +4,4 @@ | color: var(--on-error-color); | padding-left: 2px; 5 | padding-right: 2px; - |} -
      \ No newline at end of file + |} \ No newline at end of file diff --git a/src/test/resources/expected/qandaset.002.html b/src/test/resources/expected/qandaset.002.html index 4e5bc5da90..90fc0ca702 100644 --- a/src/test/resources/expected/qandaset.002.html +++ b/src/test/resources/expected/qandaset.002.html @@ -1,7 +1,5 @@ -Article wrapper

      Article wrapper

      1. 

      Blah blah blah.

        |// Hello, World
      -
      Example 1 +Article wrapper

      Article wrapper

      1. 

      Blah blah blah.

        |// Hello, World
      Example 1 file.name -
        |// Goodbye, World
      -
      Example 2 +
        |// Goodbye, World
      Example 2 file2.name
      \ No newline at end of file diff --git a/src/test/resources/expected/qandaset.003.html b/src/test/resources/expected/qandaset.003.html index 126c317ccc..882ecfc6a1 100644 --- a/src/test/resources/expected/qandaset.003.html +++ b/src/test/resources/expected/qandaset.003.html @@ -4,11 +4,9 @@ Some introductory preamble. Some introductory preamble.

      Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. -Some introductory preamble. Some introductory preamble.

      Division 1
      1.1. 

      Blah blah blah.

        |// Hello, World
      -
      Example 1 +Some introductory preamble. Some introductory preamble.

      Division 1
      1.1. 

      Blah blah blah.

        |// Hello, World
      Example 1 file.name -
        |// Goodbye, World
      -
      Example 2 +
        |// Goodbye, World
      Example 2 file2.name
      Division 2

      Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. @@ -16,16 +14,12 @@ Some introductory preamble. Some introductory preamble.

      Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. Some introductory preamble. -Some introductory preamble. Some introductory preamble.

      Division 2.1
      2.1.1. 

      Blah blah blah.

        |// Hello, World
      -
      Example 1 +Some introductory preamble. Some introductory preamble.

      Division 2.1
      2.1.1. 

      Blah blah blah.

        |// Hello, World
      Example 1 file.name -
        |// Goodbye, World
      -
      Example 2 +
        |// Goodbye, World
      Example 2 file2.name -
      Division 2.2
      2.2.1. 

      Blah blah blah.

        |// Hello, World
      -
      Example 1 +
      Division 2.2
      2.2.1. 

      Blah blah blah.

        |// Hello, World
      Example 1 file.name -
        |// Goodbye, World
      -
      Example 2 +
        |// Goodbye, World
      Example 2 file2.name
      \ No newline at end of file diff --git a/src/test/resources/expected/refentry.003.html b/src/test/resources/expected/refentry.003.html index c5f7e7be13..9471837201 100644 --- a/src/test/resources/expected/refentry.003.html +++ b/src/test/resources/expected/refentry.003.html @@ -3,5 +3,4 @@ -charlie
      command -d | -delta
      command --help

      Description

      This is a less minimal RefEntry.

        |Testing
         |Some
      -  |Text
      -
      Figure 1Some Program
    \ No newline at end of file + |Text
    Figure 1Some Program
\ No newline at end of file diff --git a/src/test/resources/expected/refentry.004.html b/src/test/resources/expected/refentry.004.html index fb7a3b2213..c94d645771 100644 --- a/src/test/resources/expected/refentry.004.html +++ b/src/test/resources/expected/refentry.004.html @@ -3,5 +3,4 @@ -charlie
command -d | -delta
command --help

Description

This is a less minimal RefEntry.

  |Testing
   |Some
-  |Text
-
Figure 1Some Program
\ No newline at end of file + |Text
Figure 1Some Program
\ No newline at end of file diff --git a/src/test/resources/expected/refentry.007.html b/src/test/resources/expected/refentry.007.html index 1245136f07..662b16c414 100644 --- a/src/test/resources/expected/refentry.007.html +++ b/src/test/resources/expected/refentry.007.html @@ -8,44 +8,37 @@

Subsection

This is a minimal RefEntry.

The following is a glosslist with a title and a nested variablelist

My glosslist
glossentry term 1

some glossdef text

glossentry term 2
nested variablelist term 1

some variablelist text

nested variablelist term 2

some more variablelist text

-

Sub-subsection

This is a minimal RefEntry.

More Description

This is a not-so minimal RefEntry.

  |This is a screen [break here]
-  |that starts with a line of space. [break here]
-  |And it ends with a line of space.
-

normal paragraph here

  |This is a screen [break here]
-  |that does not start with a line of space. [break here]
-  |And does not end with a line of space.
-

This is a normal paragraph that contains a screen. -

  |This is a screen within a normal paragraph [break here]
-  |that does not start with a line of space. [break here]
-  |And does not end with a line of space but is followed
-  |by a line of space.
-
+

Sub-subsection

This is a minimal RefEntry.

More Description

This is a not-so minimal RefEntry.

This is a screen [break here]
+that starts with a line of space. [break here]
+And it ends with a line of space.

normal paragraph here

This is a screen [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space.

This is a normal paragraph that contains a screen. +

This is a screen within a normal paragraph [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space but is followed
+by a line of space.

This is another normal paragraph that contains a screen. -

  |This is a screen within a normal paragraph [break here]
-  |that does not start with a line of space. [break here]
-  |And does not end with a line of space and is not followed
-  |by a line of space.
-
+
This is a screen within a normal paragraph [break here]
+that does not start with a line of space. [break here]
+And does not end with a line of space and is not followed
+by a line of space.

This is another normal paragraph that contains a screen. -

  |This is a screen within a normal paragraph [break here]
-  |that starts with a line of space. [break here]
-  |And ends with a line of space but is not followed by a line of space.
-
+
This is a screen within a normal paragraph [break here]
+that starts with a line of space. [break here]
+And ends with a line of space but is not followed by a line of space.

This is another normal paragraph that contains a screen. -

  |This is a screen within a normal paragraph [break here]
-  |that starts with a line of space. [break here]
-  |And ends with a line of space and is followed by a line of space.
-
+
This is a screen within a normal paragraph [break here]
+that starts with a line of space. [break here]
+And ends with a line of space and is followed by a line of space.

This is another normal paragraph that contains a screen. -

  | 
-  | 
-  |This is a screen within a normal paragraph [break here]
-  |that starts with a 2 lines of space. [break here]
-  |And ends with 3 lines of space and is followed by a line of space.
-  | 
-  | 
-  | 
-
+
 
+ 
+This is a screen within a normal paragraph [break here]
+that starts with a 2 lines of space. [break here]
+And ends with 3 lines of space and is followed by a line of space.
+ 
+ 
+ 

This paragraph contains an orderedlist with a title. The title is “Mrignkwolmcng”.

Mrignkwolmcng
  1. itemizedlist listitem 1

  2. itemizedlist listitem 2

@@ -69,6 +62,5 @@ 1 and stuff after the footnote.


Stuff here

  |This is a program listing
-  |that's two lines long.
-
+ |that's two lines long.

\ No newline at end of file diff --git a/src/test/resources/expected/refentry.012.html b/src/test/resources/expected/refentry.012.html index 7d43dc42e2..286af3503d 100644 --- a/src/test/resources/expected/refentry.012.html +++ b/src/test/resources/expected/refentry.012.html @@ -1,5 +1,4 @@ -Unit Test: refentry.012

Unit Test: refentry.012

Name

iovec — data storage structure for I/O using uio.

Synopsis

  |#include <sys/uio.h>
-

Interface Level

Architecture independent level 1 (DDI/DKI). +Unit Test: refentry.012

Unit Test: refentry.012

Name

iovec — data storage structure for I/O using uio.

Synopsis

#include <sys/uio.h>

Interface Level

Architecture independent level 1 (DDI/DKI).

Description

An iovec structure describes a data storage area for transfer in a @@ -8,5 +7,4 @@ a base address and length specification.

Structure Members

  |caddr_t  iov_base;  /* base address of the data storage area */
   |                    /* represented by the iovec structure */
-  |int      iov_len;   /* size of the data storage area in bytes */  
-

\ No newline at end of file + |int iov_len; /* size of the data storage area in bytes */

\ No newline at end of file diff --git a/src/test/resources/expected/screen.001.html b/src/test/resources/expected/screen.001.html index feccc19213..9e5c55f699 100644 --- a/src/test/resources/expected/screen.001.html +++ b/src/test/resources/expected/screen.001.html @@ -1,5 +1,4 @@ -Article wrapper

Article wrapper

  |(let loopvar ((count 1))
-  |  (if (> count 10)
-  |    #t
-  |    (loopvar (+ count 1))))
-
\ No newline at end of file +Article wrapper

Article wrapper

(let loopvar ((count 1))
+  (if (> count 10)
+    #t
+    (loopvar (+ count 1))))
\ No newline at end of file diff --git a/src/test/resources/expected/screen.002.html b/src/test/resources/expected/screen.002.html index 85314d1fba..9bb2fd56ff 100644 --- a/src/test/resources/expected/screen.002.html +++ b/src/test/resources/expected/screen.002.html @@ -1,16 +1,13 @@ -Article wrapper

Article wrapper

This is a screen.

  |Code 1
-  |Code 2
-  |Code 3
-  |Code 4
-  |Code 5
-

So is this.

  |Code 1
-  |Code 2
-  |Code 3
-  |Code 4
-  |Code 5
-

The next screen is a continuation of the previous.

  |Code 6
-  |Code 7
-  |Code 8
-  |Code 9
-  |Code 10
-
\ No newline at end of file +Article wrapper

Article wrapper

This is a screen.

Code 1
+Code 2
+Code 3
+Code 4
+Code 5

So is this.

Code 1
+Code 2
+Code 3
+Code 4
+Code 5

The next screen is a continuation of the previous.

Code 6
+Code 7
+Code 8
+Code 9
+Code 10
\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001.html b/src/test/resources/expected/screenco.001.html index 00c35e2e9a..35fd06e270 100644 --- a/src/test/resources/expected/screenco.001.html +++ b/src/test/resources/expected/screenco.001.html @@ -1,13 +1,12 @@ -Article wrapper

Article wrapper

   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +Article wrapper

Article wrapper

The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_l-lra.html b/src/test/resources/expected/screenco.001_l_f_l-lra.html index 426ac46c88..aaadee4d18 100644 --- a/src/test/resources/expected/screenco.001_l_f_l-lra.html +++ b/src/test/resources/expected/screenco.001_l_f_l-lra.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_l-lrf.html b/src/test/resources/expected/screenco.001_l_f_l-lrf.html index 76d8e87e8c..58bde5e403 100644 --- a/src/test/resources/expected/screenco.001_l_f_l-lrf.html +++ b/src/test/resources/expected/screenco.001_l_f_l-lrf.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_l.html b/src/test/resources/expected/screenco.001_l_f_l.html index 9f62ff212d..dfb6b26d3c 100644 --- a/src/test/resources/expected/screenco.001_l_f_l.html +++ b/src/test/resources/expected/screenco.001_l_f_l.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc-l-lra.html b/src/test/resources/expected/screenco.001_l_f_lc-l-lra.html index 7fe91ed53d..35e3df63b1 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc-l-lra.html +++ b/src/test/resources/expected/screenco.001_l_f_lc-l-lra.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc-l-lrf.html b/src/test/resources/expected/screenco.001_l_f_lc-l-lrf.html index 7f31d56477..1cb5aea1c1 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc-l-lrf.html +++ b/src/test/resources/expected/screenco.001_l_f_lc-l-lrf.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc-l.html b/src/test/resources/expected/screenco.001_l_f_lc-l.html index 460311a169..a7e6e29370 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc-l.html +++ b/src/test/resources/expected/screenco.001_l_f_lc-l.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc-lra.html b/src/test/resources/expected/screenco.001_l_f_lc-lra.html index 995ec144dd..76c9dcaa86 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc-lra.html +++ b/src/test/resources/expected/screenco.001_l_f_lc-lra.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc-lrf.html b/src/test/resources/expected/screenco.001_l_f_lc-lrf.html index 1584ec7b2e..ccfa6391a3 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc-lrf.html +++ b/src/test/resources/expected/screenco.001_l_f_lc-lrf.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lc.html b/src/test/resources/expected/screenco.001_l_f_lc.html index 40c6fec802..17ff124780 100644 --- a/src/test/resources/expected/screenco.001_l_f_lc.html +++ b/src/test/resources/expected/screenco.001_l_f_lc.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlinecolumn
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lra.html b/src/test/resources/expected/screenco.001_l_f_lra.html index eb85adeca6..da5b5a4332 100644 --- a/src/test/resources/expected/screenco.001_l_f_lra.html +++ b/src/test/resources/expected/screenco.001_l_f_lra.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_f_lrf.html b/src/test/resources/expected/screenco.001_l_f_lrf.html index 8069cbc44f..0f1634b1f0 100644 --- a/src/test/resources/expected/screenco.001_l_f_lrf.html +++ b/src/test/resources/expected/screenco.001_l_f_lrf.html @@ -1,14 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
   |The first line                                             
-   |The second line              
-   |The third line               
-   |The fourth line              
-   |The fifth line                                             
-   |The sixth line                                             
-   |The seventh line
-   |The eighth line                                            
-   |The ninth line                                             
-   |The tenth line
-   | 
-   |
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file +listing that follows:

OptionValue
verbatim-stylelines
verbatim-highlightlineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
+The seventh line
+The eighth line                                            
+The ninth line                                             
+The tenth line
+ 
+

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_l-lra.html b/src/test/resources/expected/screenco.001_l_t_l-lra.html index f973a93cfd..7e33d9eb75 100644 --- a/src/test/resources/expected/screenco.001_l_t_l-lra.html +++ b/src/test/resources/expected/screenco.001_l_t_l-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_l-lrf.html b/src/test/resources/expected/screenco.001_l_t_l-lrf.html index 42854f1f3f..3b18f17ccb 100644 --- a/src/test/resources/expected/screenco.001_l_t_l-lrf.html +++ b/src/test/resources/expected/screenco.001_l_t_l-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_l.html b/src/test/resources/expected/screenco.001_l_t_l.html index a5cf21bbd4..ebe4585efb 100644 --- a/src/test/resources/expected/screenco.001_l_t_l.html +++ b/src/test/resources/expected/screenco.001_l_t_l.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc-l-lra.html b/src/test/resources/expected/screenco.001_l_t_lc-l-lra.html index aea0867ca0..16bb5cef9b 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc-l-lra.html +++ b/src/test/resources/expected/screenco.001_l_t_lc-l-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc-l-lrf.html b/src/test/resources/expected/screenco.001_l_t_lc-l-lrf.html index b27cc768ba..b74aa6ee45 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc-l-lrf.html +++ b/src/test/resources/expected/screenco.001_l_t_lc-l-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc-l.html b/src/test/resources/expected/screenco.001_l_t_lc-l.html index d7d8ecbfef..aa991f2480 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc-l.html +++ b/src/test/resources/expected/screenco.001_l_t_lc-l.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc-lra.html b/src/test/resources/expected/screenco.001_l_t_lc-lra.html index 146f8526c9..49ce556b8d 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc-lra.html +++ b/src/test/resources/expected/screenco.001_l_t_lc-lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc-lrf.html b/src/test/resources/expected/screenco.001_l_t_lc-lrf.html index 9fe8c2e996..c2a5b10bd6 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc-lrf.html +++ b/src/test/resources/expected/screenco.001_l_t_lc-lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lc.html b/src/test/resources/expected/screenco.001_l_t_lc.html index af74614707..4397e34622 100644 --- a/src/test/resources/expected/screenco.001_l_t_lc.html +++ b/src/test/resources/expected/screenco.001_l_t_lc.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lra.html b/src/test/resources/expected/screenco.001_l_t_lra.html index 15a5ff57c5..792d791d5e 100644 --- a/src/test/resources/expected/screenco.001_l_t_lra.html +++ b/src/test/resources/expected/screenco.001_l_t_lra.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_l_t_lrf.html b/src/test/resources/expected/screenco.001_l_t_lrf.html index 61100d8a7a..235df0bcf0 100644 --- a/src/test/resources/expected/screenco.001_l_t_lrf.html +++ b/src/test/resources/expected/screenco.001_l_t_lrf.html @@ -10,5 +10,4 @@ |The ninth line 10 |The tenth line | - | -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + |

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_l-lra.html b/src/test/resources/expected/screenco.001_p_f_l-lra.html index 44143d6abf..ea6978353f 100644 --- a/src/test/resources/expected/screenco.001_p_f_l-lra.html +++ b/src/test/resources/expected/screenco.001_p_f_l-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_l-lrf.html b/src/test/resources/expected/screenco.001_p_f_l-lrf.html index 2ea97f3108..bdbf0ef245 100644 --- a/src/test/resources/expected/screenco.001_p_f_l-lrf.html +++ b/src/test/resources/expected/screenco.001_p_f_l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_l.html b/src/test/resources/expected/screenco.001_p_f_l.html index 0e75cfa026..3dd1b98a19 100644 --- a/src/test/resources/expected/screenco.001_p_f_l.html +++ b/src/test/resources/expected/screenco.001_p_f_l.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc-l-lra.html b/src/test/resources/expected/screenco.001_p_f_lc-l-lra.html index ba48a2dcf4..38204ab710 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc-l-lra.html +++ b/src/test/resources/expected/screenco.001_p_f_lc-l-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc-l-lrf.html b/src/test/resources/expected/screenco.001_p_f_lc-l-lrf.html index 2e3973c8fe..ac99fc93a3 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc-l-lrf.html +++ b/src/test/resources/expected/screenco.001_p_f_lc-l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc-l.html b/src/test/resources/expected/screenco.001_p_f_lc-l.html index 0439a0038d..166b0c2fa7 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc-l.html +++ b/src/test/resources/expected/screenco.001_p_f_lc-l.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc-lra.html b/src/test/resources/expected/screenco.001_p_f_lc-lra.html index 545b2c2960..153d294224 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc-lra.html +++ b/src/test/resources/expected/screenco.001_p_f_lc-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc-lrf.html b/src/test/resources/expected/screenco.001_p_f_lc-lrf.html index ff72374af8..ce01490ab4 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc-lrf.html +++ b/src/test/resources/expected/screenco.001_p_f_lc-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lc.html b/src/test/resources/expected/screenco.001_p_f_lc.html index c0bc2de260..6b4e02c345 100644 --- a/src/test/resources/expected/screenco.001_p_f_lc.html +++ b/src/test/resources/expected/screenco.001_p_f_lc.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn
verbatim-numberedfalse
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lra.html b/src/test/resources/expected/screenco.001_p_f_lra.html index 18ee7915d6..c111bc4356 100644 --- a/src/test/resources/expected/screenco.001_p_f_lra.html +++ b/src/test/resources/expected/screenco.001_p_f_lra.html @@ -6,8 +6,8 @@ The fifth line The sixth line The seventh line -The eighth line -The ninth line +The eighth line +The ninth line The tenth line - -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_f_lrf.html b/src/test/resources/expected/screenco.001_p_f_lrf.html index c0fb1a5b00..537a7cbf54 100644 --- a/src/test/resources/expected/screenco.001_p_f_lrf.html +++ b/src/test/resources/expected/screenco.001_p_f_lrf.html @@ -6,8 +6,8 @@ The fifth line The sixth line The seventh line -The eighth line +The eighth line The ninth line The tenth line - -

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_l-lra.html b/src/test/resources/expected/screenco.001_p_t_l-lra.html index 209e598dd9..b1a0b90edb 100644 --- a/src/test/resources/expected/screenco.001_p_t_l-lra.html +++ b/src/test/resources/expected/screenco.001_p_t_l-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_l-lrf.html b/src/test/resources/expected/screenco.001_p_t_l-lrf.html index 0aa6548938..334ad4c971 100644 --- a/src/test/resources/expected/screenco.001_p_t_l-lrf.html +++ b/src/test/resources/expected/screenco.001_p_t_l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_l.html b/src/test/resources/expected/screenco.001_p_t_l.html index 52d332d62d..6b70b3db66 100644 --- a/src/test/resources/expected/screenco.001_p_t_l.html +++ b/src/test/resources/expected/screenco.001_p_t_l.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
-The fifth line                                             
-The sixth line                                             
+The fifth line                                             
+The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc-l-lra.html b/src/test/resources/expected/screenco.001_p_t_lc-l-lra.html index ea5b28909c..8b4eced55f 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc-l-lra.html +++ b/src/test/resources/expected/screenco.001_p_t_lc-l-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc-l-lrf.html b/src/test/resources/expected/screenco.001_p_t_lc-l-lrf.html index 7bcdc23827..6c7bf256af 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc-l-lrf.html +++ b/src/test/resources/expected/screenco.001_p_t_lc-l-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc-l.html b/src/test/resources/expected/screenco.001_p_t_lc-l.html index 6b0431f4b1..c6f66de863 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc-l.html +++ b/src/test/resources/expected/screenco.001_p_t_lc-l.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
-The fifth line                                             
-The sixth line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
+The fifth line                                             
+The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc-lra.html b/src/test/resources/expected/screenco.001_p_t_lc-lra.html index 8f7c4a516c..32bd520ee1 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc-lra.html +++ b/src/test/resources/expected/screenco.001_p_t_lc-lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc-lrf.html b/src/test/resources/expected/screenco.001_p_t_lc-lrf.html index de1c353524..b6d417da1a 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc-lrf.html +++ b/src/test/resources/expected/screenco.001_p_t_lc-lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lc.html b/src/test/resources/expected/screenco.001_p_t_lc.html index 7439e19658..c365efe77c 100644 --- a/src/test/resources/expected/screenco.001_p_t_lc.html +++ b/src/test/resources/expected/screenco.001_p_t_lc.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
-The second line              
-The third line               
-The fourth line              
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlinecolumn
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+The second line              
+The third line               
+The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
 The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lra.html b/src/test/resources/expected/screenco.001_p_t_lra.html index 3f97954996..7574350afc 100644 --- a/src/test/resources/expected/screenco.001_p_t_lra.html +++ b/src/test/resources/expected/screenco.001_p_t_lra.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
-The ninth line                                             
+The eighth line                                            
+The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_p_t_lrf.html b/src/test/resources/expected/screenco.001_p_t_lrf.html index c98a39dca9..89529042e7 100644 --- a/src/test/resources/expected/screenco.001_p_t_lrf.html +++ b/src/test/resources/expected/screenco.001_p_t_lrf.html @@ -1,13 +1,13 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
+listing that follows:

OptionValue
verbatim-styleplain
verbatim-highlightlineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line                                             
 The second line              
 The third line               
 The fourth line              
 The fifth line                                             
 The sixth line                                             
 The seventh line
-The eighth line                                            
+The eighth line                                            
 The ninth line                                             
 The tenth line
-
-

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file + +

The first line.

The second line.

The third and fourth lines, together.

The fifth and sixth lines, separately.

The eight and ninth lines as a range.

The twelfth line.

\ No newline at end of file diff --git a/src/test/resources/expected/screenco.001_r_t_l-lra.html b/src/test/resources/expected/screenco.001_r_t_l-lra.html index c5e6a2ee20..09b530b3bb 100644 --- a/src/test/resources/expected/screenco.001_r_t_l-lra.html +++ b/src/test/resources/expected/screenco.001_r_t_l-lra.html @@ -1,5 +1,5 @@ Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_l-lrf.html b/src/test/resources/expected/screenco.001_r_t_l-lrf.html
index c4c805c90a..799a97c2d3 100644
--- a/src/test/resources/expected/screenco.001_r_t_l-lrf.html
+++ b/src/test/resources/expected/screenco.001_r_t_l-lrf.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_l.html b/src/test/resources/expected/screenco.001_r_t_l.html
index 4663df32da..8043f6c89d 100644
--- a/src/test/resources/expected/screenco.001_r_t_l.html
+++ b/src/test/resources/expected/screenco.001_r_t_l.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc-l-lra.html b/src/test/resources/expected/screenco.001_r_t_lc-l-lra.html
index 1e27b213d6..823234fdbe 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc-l-lra.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc-l-lra.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc-l-lrf.html b/src/test/resources/expected/screenco.001_r_t_lc-l-lrf.html
index bfbf38d47b..60583620b0 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc-l-lrf.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc-l-lrf.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc-l.html b/src/test/resources/expected/screenco.001_r_t_lc-l.html
index 740c83b81f..b83acfeac1 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc-l.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc-l.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lines
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc-lra.html b/src/test/resources/expected/screenco.001_r_t_lc-lra.html
index 32325c8aaa..d6ee3dce17 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc-lra.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc-lra.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc-lrf.html b/src/test/resources/expected/screenco.001_r_t_lc-lrf.html
index 0db7b33310..d66506ad8c 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc-lrf.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc-lrf.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn,lineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lc.html b/src/test/resources/expected/screenco.001_r_t_lc.html
index db81871f29..3c08b59c21 100644
--- a/src/test/resources/expected/screenco.001_r_t_lc.html
+++ b/src/test/resources/expected/screenco.001_r_t_lc.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlinecolumn
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lra.html b/src/test/resources/expected/screenco.001_r_t_lra.html
index deb6cb695a..998a2c0601 100644
--- a/src/test/resources/expected/screenco.001_r_t_lra.html
+++ b/src/test/resources/expected/screenco.001_r_t_lra.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlineranges-all
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/screenco.001_r_t_lrf.html b/src/test/resources/expected/screenco.001_r_t_lrf.html
index 82131d5e3c..630851aaa1 100644
--- a/src/test/resources/expected/screenco.001_r_t_lrf.html
+++ b/src/test/resources/expected/screenco.001_r_t_lrf.html
@@ -1,5 +1,5 @@
 Article wrapper

Article wrapper

These options apply to the -listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
+listing that follows:

OptionValue
verbatim-styleraw
verbatim-highlightlineranges-first
verbatim-numberedtrue
verbatim-number-every-nth5
verbatim-number-first-linetrue
verbatim-number-minlines5
The first line
 The second line
 The third line
 The fourth line
diff --git a/src/test/resources/expected/table-cals.020.html b/src/test/resources/expected/table-cals.020.html
index 3e87dc8b8d..6e34f8f9cf 100644
--- a/src/test/resources/expected/table-cals.020.html
+++ b/src/test/resources/expected/table-cals.020.html
@@ -2,5 +2,4 @@
   |cond ((= n 1) (values len top))
   |     ((evenp n) (cycle-length (ash n -1) (1+ len) (max top n)))
   |     (t (let ((next (1+ (* 3 n))))
-5 |          (cycle-length next (1+ len) (max top next))))))
-
\ No newline at end of file +5 | (cycle-length next (1+ len) (max top next))))))
\ No newline at end of file diff --git a/src/test/resources/expected/table-cals.039.html b/src/test/resources/expected/table-cals.039.html index 6b78e49518..3900369623 100644 --- a/src/test/resources/expected/table-cals.039.html +++ b/src/test/resources/expected/table-cals.039.html @@ -1,3 +1,2 @@
Address:
  |Some literal layout
-  |goes here.
-
\ No newline at end of file + |goes here.
\ No newline at end of file diff --git a/src/test/resources/expected/table-html.024.html b/src/test/resources/expected/table-html.024.html index e555985dc7..defaacf94a 100644 --- a/src/test/resources/expected/table-html.024.html +++ b/src/test/resources/expected/table-html.024.html @@ -1,3 +1,2 @@ -
Address:
  |Some literal layout
-  |text goes here.
-
\ No newline at end of file +
Address:
Some literal layout
+text goes here.
\ No newline at end of file diff --git a/src/test/resources/expected/template.001.html b/src/test/resources/expected/template.001.html new file mode 100644 index 0000000000..49c44bd4af --- /dev/null +++ b/src/test/resources/expected/template.001.html @@ -0,0 +1,9 @@ +Unit test: template.001

Unit test: template.001

This is a smoke test for the elements related to template definitions.

class MyClass {
+
+MyTemplate
+
+}
class MyOtherClass {
+
+Some text
+
+}
\ No newline at end of file diff --git a/src/test/resources/expected/titles.001.html b/src/test/resources/expected/titles.001.html index 129fa85c22..6556828285 100644 --- a/src/test/resources/expected/titles.001.html +++ b/src/test/resources/expected/titles.001.html @@ -4,8 +4,7 @@ ∀ n ≠ 2
Equation 1.1Equation
Procedure 1.1Procedure
  1. First

  2. Second

    1. Substep

      1. Sub-substep

  3. Third step

screenshot
Figure 1.2Formal group

Subfigure 1.2.1First subfigure

Subfigure 1.2.2Second subfigure

Subfigure 1.2.3Third subfigure

Chapter 2Two1

1One

1.1One Dot One

1.2One Dot Two

Chapter 3Three

1A sect1

1.1A sect2

1.1.1A sect3

1.1.1.1A sect4

1.1.1.1.1A sect5

Chapter 4Lists chapter

An itemized list
An ordered list
  1. A nested ordered list
A variable list
Term

...

State Capitals
State: Alabama
Capital: Montgomery
State: Alaska
Capital: Anchorage
State: Arkansas
Capital: Little Rock
  |The first line
   |The second line
-  |The third line
-
Calloutlist

The first line.

Chapter 5Admonitions

Note

This note has a title.

Tip

This tip has a title.

Important

This important has a title.

Caution

This caution has a title.

🛑
Warning

This warning has a title.

Danger

This danger has a title.

Chapter 6Productions

First production set
[1] MultExpression:=MultExpression + |The third line
Calloutlist

The first line.

Chapter 5Admonitions

Note

This note has a title.

Tip

This tip has a title.

Important

This important has a title.

Caution

This caution has a title.

🛑
Warning

This warning has a title.

Danger

This danger has a title.

Chapter 6Productions

First production set
[1] MultExpression:=MultExpression '*' MultExpression
| MultExpression diff --git a/src/test/resources/expected/unwrapped-para.004.html b/src/test/resources/expected/unwrapped-para.004.html index 4b1270944e..23233b8204 100644 --- a/src/test/resources/expected/unwrapped-para.004.html +++ b/src/test/resources/expected/unwrapped-para.004.html @@ -1,3 +1,2 @@ Unit test: para.004

Unit test: para.004

Ordinary paragraph, followed by a paragraph with a program listing.

This is some text followed by a programlisting:

  |<!-- stuff -->
-  |and nonsense
-

Ordinary paragraph.

\ No newline at end of file + |and nonsense

Ordinary paragraph.

\ No newline at end of file diff --git a/src/test/resources/expected/verbatim-xspec-001.xml b/src/test/resources/expected/verbatim-xspec-001.xml index 3b2bf096cc..0afb0c397a 100644 --- a/src/test/resources/expected/verbatim-xspec-001.xml +++ b/src/test/resources/expected/verbatim-xspec-001.xml @@ -1,6 +1,5 @@ -
  |Line one
-  |Line two
-  |Line three
-  |Line four
-  |Line five
-
+
Line one
+Line two
+Line three
+Line four
+Line five
diff --git a/src/test/resources/expected/verbatim-xspec-002.xml b/src/test/resources/expected/verbatim-xspec-002.xml index c793fc84ac..233e2acba2 100644 --- a/src/test/resources/expected/verbatim-xspec-002.xml +++ b/src/test/resources/expected/verbatim-xspec-002.xml @@ -1,6 +1,5 @@ -
  |Line one
-  |Line two
-  |Line three
-  |Line four
-  |Line five
-
+
Line one
+Line two
+Line three
+Line four
+Line five
diff --git a/src/test/resources/expected/verbatim-xspec-003.xml b/src/test/resources/expected/verbatim-xspec-003.xml index 37e2585d4d..8470124328 100644 --- a/src/test/resources/expected/verbatim-xspec-003.xml +++ b/src/test/resources/expected/verbatim-xspec-003.xml @@ -2,5 +2,4 @@ |Line two |Line three |Line four -5 |Line five -
+5 |Line five
diff --git a/src/test/resources/expected/verbatim-xspec-004.xml b/src/test/resources/expected/verbatim-xspec-004.xml index 28f1015d7d..1e71fb00ce 100644 --- a/src/test/resources/expected/verbatim-xspec-004.xml +++ b/src/test/resources/expected/verbatim-xspec-004.xml @@ -1,7 +1,6 @@ -
  |Line one
-  |Line two
-  |Line three
-  |Line four
-  |Line five
-
+
Line one
+Line two
+Line three
+Line four
+Line five
diff --git a/src/test/resources/expected/verbatim-xspec-005.xml b/src/test/resources/expected/verbatim-xspec-005.xml index fbab22bbe7..5d67d27d2a 100644 --- a/src/test/resources/expected/verbatim-xspec-005.xml +++ b/src/test/resources/expected/verbatim-xspec-005.xml @@ -1,6 +1,5 @@ -
  |Line one
-  |Line two
-  |Line three
-  |Line four
-  |Line five
-
+
Line one
+Line two
+Line three
+Line four
+Line five
diff --git a/src/test/resources/expected/verbatim-xspec-006.xml b/src/test/resources/expected/verbatim-xspec-006.xml index 3a88046d8c..2db6ff915f 100644 --- a/src/test/resources/expected/verbatim-xspec-006.xml +++ b/src/test/resources/expected/verbatim-xspec-006.xml @@ -2,5 +2,4 @@ |Line two |Line end of three |Start of line four -5 |Line five -
+5 |Line five
diff --git a/src/test/resources/expected/verbatim-xspec-007.xml b/src/test/resources/expected/verbatim-xspec-007.xml index 9cccac28b6..7d9946a820 100644 --- a/src/test/resources/expected/verbatim-xspec-007.xml +++ b/src/test/resources/expected/verbatim-xspec-007.xml @@ -2,5 +2,4 @@ |Line two |Line end of three |Start of line four -5 |Line five -
+5 |Line five
diff --git a/src/test/resources/expected/verbatim-xspec-008.xml b/src/test/resources/expected/verbatim-xspec-008.xml index 3a9775e2ca..2da085a197 100644 --- a/src/test/resources/expected/verbatim-xspec-008.xml +++ b/src/test/resources/expected/verbatim-xspec-008.xml @@ -2,5 +2,4 @@ |Line two |Line three |Line four -5 |Line five -
+5 |Line five
diff --git a/src/test/resources/expected/verbatim-xspec-009.xml b/src/test/resources/expected/verbatim-xspec-009.xml index da3c52df58..f83b750c15 100644 --- a/src/test/resources/expected/verbatim-xspec-009.xml +++ b/src/test/resources/expected/verbatim-xspec-009.xml @@ -5,5 +5,4 @@ 5 |Line five | | - | -
+ |
diff --git a/src/test/resources/expected/xinclude.002.html b/src/test/resources/expected/xinclude.002.html index cc971bb308..1a45f30595 100644 --- a/src/test/resources/expected/xinclude.002.html +++ b/src/test/resources/expected/xinclude.002.html @@ -1,23 +1,23 @@ Unit Test: xinclude.002

Unit Test: xinclude.002

This is an article tests the XInclude extension. It’s unlikely to pass if that extension is not available.

There are twenty lines in ../lines-of-text.txt:

----------------------------------------
 This is line one.
-
-
+ 
+ 
 This is line four.
-
+ 
 This is line six.
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
-
+ 
 This is line twelve.
-
+ 
 This is line fourteen.
 This is line fifteen.
 This is line sixteen.
-
+ 
 This is line eighteen.
-
+ 
 This is line twenty.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.003.html b/src/test/resources/expected/xinclude.003.html index b48957d307..40d50658c5 100644 --- a/src/test/resources/expected/xinclude.003.html +++ b/src/test/resources/expected/xinclude.003.html @@ -3,7 +3,7 @@ (Using XPointer “line=0,4”)

----------------------------------------
 This is line one.
-
-
+ 
+ 
 This is line four.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.004.html b/src/test/resources/expected/xinclude.004.html index da12309942..6d46a000aa 100644 --- a/src/test/resources/expected/xinclude.004.html +++ b/src/test/resources/expected/xinclude.004.html @@ -3,7 +3,7 @@ (Using XPointer “line=,4”)

----------------------------------------
 This is line one.
-
-
+ 
+ 
 This is line four.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.005.html b/src/test/resources/expected/xinclude.005.html index e60c460e69..e93592afa2 100644 --- a/src/test/resources/expected/xinclude.005.html +++ b/src/test/resources/expected/xinclude.005.html @@ -3,8 +3,8 @@ (Using XPointer “line=15,21”)

----------------------------------------
 This is line sixteen.
-
+ 
 This is line eighteen.
-
+ 
 This is line twenty.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.006.html b/src/test/resources/expected/xinclude.006.html index d3ac246c31..5bca16c32c 100644 --- a/src/test/resources/expected/xinclude.006.html +++ b/src/test/resources/expected/xinclude.006.html @@ -2,7 +2,7 @@ to pass if that extension is not available.

Lines 2-4 ../lines-of-text.txt: (Using XPointer “line=1,4”)

----------------------------------------
-
-
+ 
+ 
 This is line four.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.013.html b/src/test/resources/expected/xinclude.013.html index a185c139bb..11c62c6807 100644 --- a/src/test/resources/expected/xinclude.013.html +++ b/src/test/resources/expected/xinclude.013.html @@ -4,10 +4,10 @@ (Using XPointer “search=/six/,/twelve/”)

----------------------------------------
 This is line six.
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
-
+ 
 This is line twelve.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.014.html b/src/test/resources/expected/xinclude.014.html index 71782c33ea..bef8f71de0 100644 --- a/src/test/resources/expected/xinclude.014.html +++ b/src/test/resources/expected/xinclude.014.html @@ -3,9 +3,9 @@ exclusive: (Using XPointer “search=/six/;after,/twelve/;before”)

----------------------------------------
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
-
+ 
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.015.html b/src/test/resources/expected/xinclude.015.html index e0d05d5ef3..b241664e45 100644 --- a/src/test/resources/expected/xinclude.015.html +++ b/src/test/resources/expected/xinclude.015.html @@ -6,5 +6,5 @@ This is line eight. This is line nine. This is line ten. - + ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.016.html b/src/test/resources/expected/xinclude.016.html index ff727e0f6b..4e1e4b5549 100644 --- a/src/test/resources/expected/xinclude.016.html +++ b/src/test/resources/expected/xinclude.016.html @@ -3,7 +3,7 @@ exclusive, trimmed from the bottom: (Using XPointer “search=/six/;after,/twelve/;trim”)

----------------------------------------
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
diff --git a/src/test/resources/expected/xinclude.019.html b/src/test/resources/expected/xinclude.019.html
index a1b2ddcc43..0f513cb96b 100644
--- a/src/test/resources/expected/xinclude.019.html
+++ b/src/test/resources/expected/xinclude.019.html
@@ -1,11 +1,10 @@
-Unit Test: xinclude.019

Unit Test: xinclude.019

See also programlisting.010.xml.

   | 
-   | 
-   | 
-   | 
-   |Fifth line
-   | 
-   | 
-   | 
-   | 
-   |Tenth line
-
\ No newline at end of file +Unit Test: xinclude.019

Unit Test: xinclude.019

See also programlisting.010.xml.

 
+ 
+ 
+ 
+Fifth line
+ 
+ 
+ 
+ 
+Tenth line
\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.021.html b/src/test/resources/expected/xinclude.021.html index e15d941ef1..445aba7fce 100644 --- a/src/test/resources/expected/xinclude.021.html +++ b/src/test/resources/expected/xinclude.021.html @@ -1,24 +1,24 @@ Unit Test: xinclude.021

Unit Test: xinclude.021

This is an article tests the XInclude extension. It’s unlikely to pass if that extension is not available.

There are twenty lines in ../blanks-of-text.txt:

----------------------------------------
-
-
-
+ 
+ 
+ 
 This is line four.
-
+ 
 This is line six.
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
-
+ 
 This is line twelve.
-
+ 
 This is line fourteen.
 This is line fifteen.
 This is line sixteen.
-
+ 
 This is line eighteen.
-
-
+ 
+ 
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

Unlike ../lines-of-text.txt, the blanks file has leading and trailing blank lines.

\ No newline at end of file diff --git a/src/test/resources/expected/xinclude.022.html b/src/test/resources/expected/xinclude.022.html index 7d69938f52..7718f3989a 100644 --- a/src/test/resources/expected/xinclude.022.html +++ b/src/test/resources/expected/xinclude.022.html @@ -1,21 +1,21 @@ Unit Test: xinclude.022

Unit Test: xinclude.022

This is an article tests the XInclude extension. It’s unlikely to pass if that extension is not available.

There are twenty lines in ../blanks-of-text.txt:

----------------------------------------
-
-
+ 
+ 
 This is line four.
-
+ 
 This is line six.
-
+ 
      This is line eight.
      This is line nine.
        This is line ten.
-
+ 
 This is line twelve.
-
+ 
 This is line fourteen.
 This is line fifteen.
 This is line sixteen.
-
+ 
 This is line eighteen.
 ----------------------------------------

(The dashes are for reference; they are not in the XIncluded file.)

Unlike ../lines-of-text.txt, the blanks file has leading and trailing blank lines.

\ No newline at end of file diff --git a/src/test/resources/sample.py b/src/test/resources/sample.py index 8ea338675d..41445e97cc 100644 --- a/src/test/resources/sample.py +++ b/src/test/resources/sample.py @@ -1,23 +1,23 @@ - def matching_images(self, iname=None): - """Filter the image list to the ones that match the - specified iname. +def matching_images(self, iname=None): + """Filter the image list to the ones that match the + specified iname. - """ - if iname: - namere = re.compile(r"^%s" % iname) - else: - return list(self.image) + """ + if iname: + namere = re.compile(r"^%s" % iname) + else: + return list(self.image) - # Is it a id? - filtered = self._data_match(self.image, namere) + # Is it a id? + filtered = self._data_match(self.image, namere) - if not filtered: - # Is it a repository name? - filtered = self._data_match(self.image, - namere, "repository") + if not filtered: + # Is it a repository name? + filtered = self._data_match(self.image, + namere, "repository") - if not filtered: - # Is it a tag? - filtered = self._data_match(self.image, namere, "tag") + if not filtered: + # Is it a tag? + filtered = self._data_match(self.image, namere, "tag") - return list(filtered) + return list(filtered) diff --git a/src/test/resources/xml/highlight.001.xml b/src/test/resources/xml/highlight.001.xml new file mode 100644 index 0000000000..986f722661 --- /dev/null +++ b/src/test/resources/xml/highlight.001.xml @@ -0,0 +1,135 @@ + +
+Unit test: highlight.001 + +This is a test for syntax highlighting. + +Program listings are highlighted and numbered by default: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +But numbering can be turned off: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. + + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +Screens are not highlighted or numbered by default: + + head -20 src/bin/linkcheck.py +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +But can be turned on: + + head -20 src/bin/linkcheck.py +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +Line numbering can begin at an arbitrary number: + +if __name__ == "__main__": + # I'm perfectly happy with the name 'docbook' + # pylint: disable=C0103 + + try: + docbook = JavaClassRunner(sys.argv[1:]) + docbook.compute_dependencies() + sys.exit(docbook.run()) + except JavaClassRunnerException as err: + print(str(err)) + sys.exit(1) + +
diff --git a/src/test/resources/xml/highlight.002.xml b/src/test/resources/xml/highlight.002.xml new file mode 100644 index 0000000000..69f57986b2 --- /dev/null +++ b/src/test/resources/xml/highlight.002.xml @@ -0,0 +1,138 @@ + +
+Unit test: highlight.002 + +This is a test for embellishments to verbatim environments. + +A programlisting: + +import sys + +if len(sys.argv) == 1: + print("Hello, world.") +else: + print(f"Hello, {sys.argv[1]}.") + +Unnumbered: + +import sys + +if len(sys.argv) == 1: + print("Hello, world.") +else: + print(f"Hello, {sys.argv[1]}.") + +A programlistingco: + + + + + The first line + + + + + + + + + + + + The first line +The second line +The third line +The fourth line +The fifth line +The sixth line +The seventh line +The eighth line +The ninth line +The tenth line + + + + The first line. + + + The second line. + + + The third and fourth lines, together. + + + The fifth and sixth lines, separately. + + + The eight and ninth lines as a range. + + + The twelfth line. + + + + +A programlistingco with syntax highlighting: + + + + + An import statment + + + + + + +import sys + +if len(sys.argv) == 1: + print("Hello, world.") +else: + print(f"Hello, {sys.argv[1]}.") + + + + + An import statment. + + + Print statements. + + + +A screen: + +ls -l src/test/resources/xml/l*.xml +-rw-r--r--@ 1 ndw staff 1.5K Oct 21 09:53 src/test/resources/xml/l10n.001.xml +-rw-r--r--@ 1 ndw staff 1.5K Oct 21 09:53 src/test/resources/xml/l10n.002.xml +-rw-r--r--@ 1 ndw staff 1.5K Oct 21 09:53 src/test/resources/xml/l10n.003.xml +-rw-r--r--@ 1 ndw staff 1.3K Oct 21 09:53 src/test/resources/xml/legalnotice.001.xml +-rw-r--r--@ 1 ndw staff 410B Oct 21 09:53 src/test/resources/xml/lineannotation.001.xml +-rw-r--r--@ 1 ndw staff 1.1K Oct 21 09:53 src/test/resources/xml/link.001.xml +-rw-r--r--@ 1 ndw staff 400B Oct 21 09:53 src/test/resources/xml/link.002.xml +-rw-r--r--@ 1 ndw staff 885B Oct 21 09:53 src/test/resources/xml/link.003.xml +-rw-r--r--@ 1 ndw staff 369B Oct 21 09:53 src/test/resources/xml/link.004.xml +-rw-r--r--@ 1 ndw staff 334B Oct 21 09:53 src/test/resources/xml/literallayout.001.xml +-rw-r--r--@ 1 ndw staff 545B Oct 21 09:53 src/test/resources/xml/literallayout.002.xml +-rw-r--r--@ 1 ndw staff 542B Oct 21 09:53 src/test/resources/xml/literallayout.003.xml +-rw-r--r--@ 1 ndw staff 767B Oct 21 09:53 src/test/resources/xml/literallayout.004.xml +-rw-r--r--@ 1 ndw staff 928B Oct 21 09:53 src/test/resources/xml/literallayout.005.xml +-rw-r--r--@ 1 ndw staff 514B Oct 21 09:53 src/test/resources/xml/local.001.xml + +A literallayout: + +This is a test. +This is only a test. +Had this been a real emergency, +we would have fled in terror and +you would not have been informed. + +An address: + +
Apt 56B +Whitehaven Mansions +Sandhurst Square +London
+ +
diff --git a/src/test/resources/xml/highlightjs.001.xml b/src/test/resources/xml/highlightjs.001.xml new file mode 100644 index 0000000000..d3bb8edbae --- /dev/null +++ b/src/test/resources/xml/highlightjs.001.xml @@ -0,0 +1,103 @@ + +
+ +Unit test: highlightjs.001 + +This is a test for syntax highlighting with +highlight.js. + +Program listings are highlighted and numbered by default: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +But numbering can be turned off: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. + + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +It doesn’t appear that highlightjs-line-numbers adds +line numbers to listings that aren’t highlighted. I guess that makes sense. +Using the value text seems to work and might be a good +$verbatim-default-language if you’re using +highlight.js. + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +
diff --git a/src/test/resources/xml/prism.001.xml b/src/test/resources/xml/prism.001.xml new file mode 100644 index 0000000000..2cb1ae43a2 --- /dev/null +++ b/src/test/resources/xml/prism.001.xml @@ -0,0 +1,77 @@ + +
+ +Unit test: prism.001 + +This is a test for syntax highlighting with +prism. + +Program listings are highlighted and numbered by default: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +But numbering can be turned off: + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +And so can highlighting. The most reliable way to disable highlighting +is to remove the language attribute from the listing. + + +#!/usr/bin/env python3 + +"""This is yet another link checker. Was it better to write my own +than find an existing cross-platform version? Maybe not, but it +appeared to be easier.""" + +import re +import os +import sys +import json +import glob +import click +try: + import html5_parser + import lxml.etree + from saxonche import PySaxonProcessor + importOk = True +except ImportError: + importOk = False + +
diff --git a/src/test/resources/xml/template.001.xml b/src/test/resources/xml/template.001.xml new file mode 100644 index 0000000000..28b9f27a82 --- /dev/null +++ b/src/test/resources/xml/template.001.xml @@ -0,0 +1,28 @@ + +
+ +Unit test: template.001 + + +This is a smoke test for the elements related to template definitions. + + + + MyClass + + + + + + + MyOtherClass + + + + +
+ diff --git a/src/test/xspec/verbatim.xspec b/src/test/xspec/verbatim.xspec index 1212d4f57d..a50b370bff 100644 --- a/src/test/xspec/verbatim.xspec +++ b/src/test/xspec/verbatim.xspec @@ -52,7 +52,7 @@ Line four Line five -
Line one
+     
Line one
 Line two
 Line three
 Line four
@@ -106,7 +106,7 @@ start of four
 Line five
    
    
-     
Line one
+     
Line one
 Line two
 Line end of three
 start of four
@@ -161,7 +161,7 @@ Line four
 Line five
    
    
-     
Line one
+     
Line one
 Line two
 Line three
 Line four
@@ -217,7 +217,7 @@ Line end of three
 start of four
 Line five
-
Line one
+   
Line one
 Line two
 Line end of three
 start of four
@@ -382,7 +382,7 @@ Line four
 Line five
    
    
-     
Line one
+     
Line one
 Line two
 Line three         
 Line four
@@ -407,7 +407,7 @@ Line four
 Line five
    
    
-     
Line one
+     
Line one
 Line two
 Line three         
 Line four
@@ -432,7 +432,7 @@ Line three
 Line four
 Line five
-
Line one
+   
Line one
 Line two
 Line three         
 Line four

From 090fac1c611dab34547dc4ba847a32d6a79b74b5 Mon Sep 17 00:00:00 2001
From: Norman Walsh 
Date: Sun, 10 Nov 2024 17:08:35 +0000
Subject: [PATCH 2/2] Bump version, update change log

---
 properties.gradle           |  4 ++--
 src/guide/xml/changelog.xml | 36 +++++++++++++++++++++++++++++-------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/properties.gradle b/properties.gradle
index f3bcc8f249..c42d8bd66c 100644
--- a/properties.gradle
+++ b/properties.gradle
@@ -2,8 +2,8 @@
 ext {
   xslTNGtitle = 'DocBook xslTNG'
   xslTNGbaseName = 'docbook-xslTNG'
-  xslTNGversion = '2.4.1'
-  guideVersion = '2.4.1'
+  xslTNGversion = '2.5.0'
+  guideVersion = '2.5.0'
   guidePrerelease = false
 
   docbookVersion = '5.2'
diff --git a/src/guide/xml/changelog.xml b/src/guide/xml/changelog.xml
index b2aa7daafc..31396a683d 100644
--- a/src/guide/xml/changelog.xml
+++ b/src/guide/xml/changelog.xml
@@ -14,23 +14,45 @@ finer detail.
 
   Changes in version 2.5.0
   2.5.0
-  2024-11-09
+  2024-11-10
 
 
 
-Fixed bug where @db-line didn’t take startinglinenumber into consideration.
+Rewrote verbatim handling; 
+fixed #556.
+There are a lot of changes to verbatim handling. The code has been refactored
+and cleaned up significantly. There are a number of backwards-incompatible changes as
+a result. (Though the goal is that most documents should look substantially the same.)
+
+
+A bug where db-line in the output didn’t take
+the starting line number into consideration has been fixed.
 
 
-Verbatim environments that aren’t numbered no longer have “invisible” number markup.
+Verbatim environments that aren’t numbered no longer have “invisible” line number markup.
 
 
-Trailing newline removed from verbatim environments.
+The verbatim features are provided using highlight.js and prism
+as much as is practical.
+
+
+There are new top-level parameters, verbatim-embellishments and
+verbatim-embellish-linenumbers. These can control embellishments overall
+and line numbering specifically at a global level. (Apparently, the XSLT 1.0 stylesheets didn’t
+number verbatim environments by default but when I wrote the xslTNG stylesheets, I did. I’m
+reluctant to make that backwards-incompatible change, so I’ve added a parameter to get that
+effect easily.)
+
+
+The verbatim style and syntax highlighter can be set on per-document basis with
+a processing instruction.
 
 
 The f:verbatim-highlight and f:highlight-verbatim
-functions have been removed. The highlighter, and highligting, is determined by
-the f:verbatim-syntax-highlighter fucntion.
-
+functions have been removed. The highlighter, and highligting, are determined by
+the combination of options. See .
+
+