panache-cli 3.17.0__tar.gz → 3.17.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {panache_cli-3.17.0 → panache_cli-3.17.1}/Cargo.lock +29 -29
- {panache_cli-3.17.0 → panache_cli-3.17.1}/Cargo.toml +4 -4
- {panache_cli-3.17.0 → panache_cli-3.17.1}/PKG-INFO +1 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/CHANGELOG.md +10 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/Cargo.toml +2 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/raw.rs +9 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/CHANGELOG.md +8 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/Cargo.toml +1 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/block_dispatcher.rs +1 -9
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +39 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/html_blocks.rs +100 -11
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/core.rs +1 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/inline_html.rs +25 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/sink.rs +6 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/attributes.rs +43 -13
- panache_cli-3.17.1/crates/panache-parser/src/parser/utils/raw_html.rs +150 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils.rs +2 -0
- panache_cli-3.17.1/crates/panache-parser/src/syntax/ast.rs +44 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/attributes.rs +4 -5
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/fenced_divs.rs +55 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/headings.rs +9 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/html.rs +169 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/inlines.rs +18 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/links.rs +80 -17
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/references.rs +1 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/tables.rs +1 -3
- panache_cli-3.17.1/src/diagnostic_renderer.rs +57 -0
- panache_cli-3.17.1/src/linter/docs.rs +336 -0
- panache_cli-3.17.1/src/linter/external_linters/jarl.rs +696 -0
- panache_cli-3.17.1/src/linter/fix.rs +84 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/project_index.rs +2 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema/interp.rs +5 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema/report.rs +2 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema/value.rs +101 -18
- panache_cli-3.17.0/src/diagnostic_renderer.rs → panache_cli-3.17.1/src/linter/render.rs +65 -87
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/adjacent_footnote_refs.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/blank_line_in_display_math.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/blank_line_in_inline_footnote.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/chunk_label_spaces.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/citation_keys.rs +47 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/citation_nonbreaking_space.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/consumer_divergence.rs +10 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/crossref_as_link_target.rs +15 -0
- panache_cli-3.17.1/src/linter/rules/docs/adjacent-footnote-refs.md +4 -0
- panache_cli-3.17.1/src/linter/rules/docs/blank-line-in-display-math.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/blank-line-in-inline-footnote.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/chunk-label-spaces.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/citation-keys.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/citation-nonbreaking-space.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/consumer-divergence.md +10 -0
- panache_cli-3.17.1/src/linter/rules/docs/crossref-as-link-target.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/duplicate-reference-labels.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/duplicate-yaml-anchor.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/empty-list-item.md +4 -0
- panache_cli-3.17.1/src/linter/rules/docs/empty-values.md +9 -0
- panache_cli-3.17.1/src/linter/rules/docs/figure-crossref-captions.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/footnote-after-image.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/footnote-ref-in-footnote-def.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/footnote-swallowed-by-bracket.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/heading-eaten-attrs.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/heading-hierarchy.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/heading-strip-comments-residue.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/html-entities.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/html-unclosed-attribute.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/inline-math-line-break.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/link-text-is-url.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/malformed-citation.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/math-syntax.md +8 -0
- panache_cli-3.17.1/src/linter/rules/docs/missing-chunk-labels.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/quarto-schema-unknown-key.md +9 -0
- panache_cli-3.17.1/src/linter/rules/docs/quarto-schema.md +11 -0
- panache_cli-3.17.1/src/linter/rules/docs/reversed-footnote-marker.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/space-before-punctuation.md +9 -0
- panache_cli-3.17.1/src/linter/rules/docs/stray-fenced-div-markers.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/swallowed-list-marker.md +8 -0
- panache_cli-3.17.1/src/linter/rules/docs/table-column-count.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/undefined-anchor.md +11 -0
- panache_cli-3.17.1/src/linter/rules/docs/undefined-references.md +6 -0
- panache_cli-3.17.1/src/linter/rules/docs/unknown-emoji-alias.md +3 -0
- panache_cli-3.17.1/src/linter/rules/docs/unspaced-citation.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/unspaced-list-marker.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/unsupported-metadata-key.md +7 -0
- panache_cli-3.17.1/src/linter/rules/docs/unused-definitions.md +5 -0
- panache_cli-3.17.1/src/linter/rules/docs/unused-yaml-anchor.md +6 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/duplicate_references.rs +53 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/duplicate_yaml_anchor.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/emoji_aliases.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/empty_list_item.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/empty_values.rs +10 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/figure_crossref_captions.rs +16 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/footnote_after_image.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/footnote_ref_in_footnote_def.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/footnote_swallowed_by_bracket.rs +24 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/heading_eaten_attrs.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/heading_hierarchy.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/heading_strip_comments_residue.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/html_entities.rs +10 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/html_unclosed_attribute.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/inline_math_line_break.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/link_text_is_url.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/malformed_citation.rs +10 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/math_content.rs +53 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/missing_chunk_labels.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/quarto_schema.rs +117 -9
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/reversed_footnote_marker.rs +16 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/space_before_punctuation.rs +16 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/stray_fenced_div_markers.rs +107 -30
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/swallowed_list_marker.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/table_column_count.rs +15 -0
- panache_cli-3.17.1/src/linter/rules/undefined_anchor.rs +812 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/undefined_references.rs +84 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/unspaced_citation.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/unspaced_list_marker.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/unsupported_metadata_key.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/unused_definitions.rs +60 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules/unused_yaml_anchor.rs +15 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/rules.rs +20 -6
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter.rs +7 -4
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/document_links.rs +2 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/goto_definition.rs +4 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/heading_link_conversion.rs +36 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/hover.rs +3 -3
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/helpers.rs +16 -2
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/main.rs +1 -83
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata/bibliography.rs +20 -1
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/salsa.rs +435 -23
- panache_cli-3.17.0/crates/panache-parser/src/syntax/ast.rs +0 -4
- panache_cli-3.17.0/src/linter/external_linters/jarl.rs +0 -139
- panache_cli-3.17.0/src/linter/rules/undefined_anchor.rs +0 -423
- {panache_cli-3.17.0 → panache_cli-3.17.1}/LICENSE +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/README.md +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/build.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/config.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/directives.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/containers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/core.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/document.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/headings.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/inline.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/inline_layout.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math/STYLE.md +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math/ir.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math/lower.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math/printer.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/math.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/preserve.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/table_conversion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/tables.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/formatter.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/build.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/data/math_symbols.json +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/data/unicode-math.LICENSE +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/data/unicode-math.NOTICE +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/grid_layout.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/lib.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/options.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/pandoc_ast.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/hugo.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tables.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/core/blockquotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/core/definition_lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/core/html_interruptions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/core/list_items.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/core.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/hugo.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/inline_ir.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/math.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/reparse.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/container_stack.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/continuation.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/verify.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/yaml.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/range_utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/semantic/math.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/semantic.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/citations.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/code_span.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/consumer.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/definitions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/hugo.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/kind.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/math.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/myst.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/yaml.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/syntax.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/pyproject.toml +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/index.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/preview.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib/ris.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bib.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/cache.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/cli.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/config/types/schema_helpers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/config/types.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/config.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/directives.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/external_tools_common.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/formatter.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/includes.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/incremental.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/io_context.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lib.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/code_block_collector.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/execution_context.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/jolars.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/external_linters_sync.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/index.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/offsets.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/runner.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/yaml_anchors.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/config.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/context.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/conversions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/dispatch.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/documents.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/global_state.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/code_actions.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/completion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/configuration.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/diagnostics.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/document_highlight.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/document_symbols.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/file_rename.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/file_watcher.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/folding_ranges.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/footnote_conversion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/formatting.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/link_conversion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/linked_editing_range.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/list_conversion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/prepare_rename.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/references.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/rename.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/semantic_tokens.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/table_conversion.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers/workspace_symbols.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/line_index.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/navigation.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/testing.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/lsp.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata/citations.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata/project.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata/references.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata/yaml.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/metadata.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/parser.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/range_utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/syntax.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/utils.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/vfs.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/yaml_engine.rs +0 -0
- {panache_cli-3.17.0 → panache_cli-3.17.1}/src/yaml_regions.rs +0 -0
|
@@ -39,9 +39,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
|
|
|
39
39
|
|
|
40
40
|
[[package]]
|
|
41
41
|
name = "annotate-snippets"
|
|
42
|
-
version = "0.12.
|
|
42
|
+
version = "0.12.17"
|
|
43
43
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
44
|
-
checksum = "
|
|
44
|
+
checksum = "b2a5b0a5ab8561c603f16c3b78c24a386b1f70e7fc1b1b1e8c15738828e4a176"
|
|
45
45
|
dependencies = [
|
|
46
46
|
"anstyle",
|
|
47
47
|
"memchr",
|
|
@@ -326,9 +326,9 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
|
|
|
326
326
|
|
|
327
327
|
[[package]]
|
|
328
328
|
name = "crc32fast"
|
|
329
|
-
version = "1.5.
|
|
329
|
+
version = "1.5.3"
|
|
330
330
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
331
|
-
checksum = "
|
|
331
|
+
checksum = "0ba106e844045ddc02c20768ac4b0b7cb45f2cc2ecbd833ac9f5dacb183c2055"
|
|
332
332
|
dependencies = [
|
|
333
333
|
"cfg-if",
|
|
334
334
|
]
|
|
@@ -497,9 +497,9 @@ dependencies = [
|
|
|
497
497
|
|
|
498
498
|
[[package]]
|
|
499
499
|
name = "emojis"
|
|
500
|
-
version = "0.9.
|
|
500
|
+
version = "0.9.1"
|
|
501
501
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
502
|
-
checksum = "
|
|
502
|
+
checksum = "589871e639330783bc20ad89d32ac1b049e02c273d96c907ca27478c8bc674a2"
|
|
503
503
|
dependencies = [
|
|
504
504
|
"phf 0.13.1",
|
|
505
505
|
]
|
|
@@ -850,9 +850,9 @@ dependencies = [
|
|
|
850
850
|
|
|
851
851
|
[[package]]
|
|
852
852
|
name = "jsonschema"
|
|
853
|
-
version = "0.
|
|
853
|
+
version = "0.59.0"
|
|
854
854
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
855
|
-
checksum = "
|
|
855
|
+
checksum = "1b320ad34c177093d21622edc9215bb608294c2333ff296672c0c8265a5ee60c"
|
|
856
856
|
dependencies = [
|
|
857
857
|
"ahash",
|
|
858
858
|
"bytecount",
|
|
@@ -878,18 +878,18 @@ dependencies = [
|
|
|
878
878
|
|
|
879
879
|
[[package]]
|
|
880
880
|
name = "jsonschema-regex"
|
|
881
|
-
version = "0.
|
|
881
|
+
version = "0.59.0"
|
|
882
882
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
883
|
-
checksum = "
|
|
883
|
+
checksum = "1472f7be79026f79e01a9b172263311e829d7c210d57b39cb57037abc0ce0500"
|
|
884
884
|
dependencies = [
|
|
885
885
|
"regex-syntax",
|
|
886
886
|
]
|
|
887
887
|
|
|
888
888
|
[[package]]
|
|
889
889
|
name = "jsonschema-value"
|
|
890
|
-
version = "0.
|
|
890
|
+
version = "0.59.0"
|
|
891
891
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
892
|
-
checksum = "
|
|
892
|
+
checksum = "e5a7550a7a84787e715ead0b47e01fa8c6bb7c3413630f91a8f2094c06c2078a"
|
|
893
893
|
dependencies = [
|
|
894
894
|
"ahash",
|
|
895
895
|
"bytecount",
|
|
@@ -903,9 +903,9 @@ dependencies = [
|
|
|
903
903
|
|
|
904
904
|
[[package]]
|
|
905
905
|
name = "libc"
|
|
906
|
-
version = "0.2.
|
|
906
|
+
version = "0.2.191"
|
|
907
907
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
908
|
-
checksum = "
|
|
908
|
+
checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
909
909
|
|
|
910
910
|
[[package]]
|
|
911
911
|
name = "libredox"
|
|
@@ -1114,7 +1114,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1114
1114
|
|
|
1115
1115
|
[[package]]
|
|
1116
1116
|
name = "panache"
|
|
1117
|
-
version = "3.17.
|
|
1117
|
+
version = "3.17.1"
|
|
1118
1118
|
dependencies = [
|
|
1119
1119
|
"annotate-snippets",
|
|
1120
1120
|
"assert_cmd",
|
|
@@ -1147,7 +1147,7 @@ dependencies = [
|
|
|
1147
1147
|
"schemars",
|
|
1148
1148
|
"serde",
|
|
1149
1149
|
"serde_json",
|
|
1150
|
-
"similar 3.2.
|
|
1150
|
+
"similar 3.2.1",
|
|
1151
1151
|
"similar-asserts",
|
|
1152
1152
|
"tempfile",
|
|
1153
1153
|
"toml",
|
|
@@ -1159,7 +1159,7 @@ dependencies = [
|
|
|
1159
1159
|
|
|
1160
1160
|
[[package]]
|
|
1161
1161
|
name = "panache-formatter"
|
|
1162
|
-
version = "0.28.
|
|
1162
|
+
version = "0.28.1"
|
|
1163
1163
|
dependencies = [
|
|
1164
1164
|
"badness-formatter",
|
|
1165
1165
|
"insta",
|
|
@@ -1179,7 +1179,7 @@ dependencies = [
|
|
|
1179
1179
|
|
|
1180
1180
|
[[package]]
|
|
1181
1181
|
name = "panache-parser"
|
|
1182
|
-
version = "0.34.
|
|
1182
|
+
version = "0.34.1"
|
|
1183
1183
|
dependencies = [
|
|
1184
1184
|
"badness-parser",
|
|
1185
1185
|
"entities",
|
|
@@ -1461,9 +1461,9 @@ dependencies = [
|
|
|
1461
1461
|
|
|
1462
1462
|
[[package]]
|
|
1463
1463
|
name = "referencing"
|
|
1464
|
-
version = "0.
|
|
1464
|
+
version = "0.59.0"
|
|
1465
1465
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1466
|
-
checksum = "
|
|
1466
|
+
checksum = "473f4dcca28ead7ee0f8e5b5d0bbae2549f4fc4c958fb20af328961b6c174be3"
|
|
1467
1467
|
dependencies = [
|
|
1468
1468
|
"ahash",
|
|
1469
1469
|
"fluent-uri 0.4.1",
|
|
@@ -1738,9 +1738,9 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
|
|
|
1738
1738
|
|
|
1739
1739
|
[[package]]
|
|
1740
1740
|
name = "similar"
|
|
1741
|
-
version = "3.2.
|
|
1741
|
+
version = "3.2.1"
|
|
1742
1742
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1743
|
-
checksum = "
|
|
1743
|
+
checksum = "d2f8bec09ae8fae0f4f265a4559a9334be3929d8504e9b536df0a41302bd1733"
|
|
1744
1744
|
dependencies = [
|
|
1745
1745
|
"bstr",
|
|
1746
1746
|
"unicode-segmentation",
|
|
@@ -1753,7 +1753,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
1753
1753
|
checksum = "997e6ca38e97437973fc9f7f50a50d1274cacd874341a4960fea90067291038c"
|
|
1754
1754
|
dependencies = [
|
|
1755
1755
|
"console",
|
|
1756
|
-
"similar 3.2.
|
|
1756
|
+
"similar 3.2.1",
|
|
1757
1757
|
]
|
|
1758
1758
|
|
|
1759
1759
|
[[package]]
|
|
@@ -1770,15 +1770,15 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
|
1770
1770
|
|
|
1771
1771
|
[[package]]
|
|
1772
1772
|
name = "smallvec"
|
|
1773
|
-
version = "1.16.
|
|
1773
|
+
version = "1.16.4"
|
|
1774
1774
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1775
|
-
checksum = "
|
|
1775
|
+
checksum = "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8"
|
|
1776
1776
|
|
|
1777
1777
|
[[package]]
|
|
1778
1778
|
name = "smol_str"
|
|
1779
|
-
version = "0.3.
|
|
1779
|
+
version = "0.3.7"
|
|
1780
1780
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1781
|
-
checksum = "
|
|
1781
|
+
checksum = "eeb7109d23f319619d4cc0de5464613c8b7b1a09db2774a58101459cf6be2f10"
|
|
1782
1782
|
dependencies = [
|
|
1783
1783
|
"borsh",
|
|
1784
1784
|
"serde_core",
|
|
@@ -1986,9 +1986,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|
|
1986
1986
|
|
|
1987
1987
|
[[package]]
|
|
1988
1988
|
name = "uuid"
|
|
1989
|
-
version = "1.
|
|
1989
|
+
version = "1.29.0"
|
|
1990
1990
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1991
|
-
checksum = "
|
|
1991
|
+
checksum = "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514"
|
|
1992
1992
|
dependencies = [
|
|
1993
1993
|
"getrandom 0.4.3",
|
|
1994
1994
|
"js-sys",
|
|
@@ -9,7 +9,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
|
|
|
9
9
|
|
|
10
10
|
[package]
|
|
11
11
|
name = "panache"
|
|
12
|
-
version = "3.17.
|
|
12
|
+
version = "3.17.1"
|
|
13
13
|
edition.workspace = true
|
|
14
14
|
rust-version.workspace = true
|
|
15
15
|
# `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
|
|
@@ -55,11 +55,11 @@ path = "src/main.rs"
|
|
|
55
55
|
required-features = ["cli"]
|
|
56
56
|
|
|
57
57
|
[dependencies]
|
|
58
|
-
panache-formatter = { path = "crates/panache-formatter", version = "0.28.
|
|
58
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.28.1", features = [
|
|
59
59
|
"serde",
|
|
60
60
|
"schema",
|
|
61
61
|
] }
|
|
62
|
-
panache-parser = { path = "crates/panache-parser", version = "0.34.
|
|
62
|
+
panache-parser = { path = "crates/panache-parser", version = "0.34.1", features = [
|
|
63
63
|
"serde",
|
|
64
64
|
"schema",
|
|
65
65
|
] }
|
|
@@ -95,7 +95,7 @@ similar-asserts = "2.0.0"
|
|
|
95
95
|
insta = { version = "1.47.2", features = ["json"] }
|
|
96
96
|
assert_cmd = "2.2.2"
|
|
97
97
|
predicates = "3.1.4"
|
|
98
|
-
jsonschema = { version = "0.
|
|
98
|
+
jsonschema = { version = "0.59.0", default-features = false }
|
|
99
99
|
|
|
100
100
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
101
101
|
rayon = "1.10.0"
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.28.1](https://github.com/jolars/panache/compare/panache-formatter-v0.28.0...panache-formatter-v0.28.1) (2026-10-26)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **parser:** expose IDs in raw CommonMark HTML ([`b076c95`](https://github.com/jolars/panache/commit/b076c955aa49d1a4ff9bb32cbc132e83d57b9a04))
|
|
8
|
+
|
|
9
|
+
### Dependencies
|
|
10
|
+
|
|
11
|
+
- updated crates/panache-parser to v0.34.1
|
|
12
|
+
|
|
3
13
|
## [0.28.0](https://github.com/jolars/panache/compare/panache-formatter-v0.27.1...panache-formatter-v0.28.0) (2026-10-16)
|
|
4
14
|
|
|
5
15
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.28.
|
|
3
|
+
version = "0.28.1"
|
|
4
4
|
edition.workspace = true
|
|
5
5
|
rust-version.workspace = true
|
|
6
6
|
include = [
|
|
@@ -19,7 +19,7 @@ keywords = ["quarto", "pandoc", "markdown", "formatter"]
|
|
|
19
19
|
categories = ["text-processing"]
|
|
20
20
|
|
|
21
21
|
[dependencies]
|
|
22
|
-
panache-parser = { path = "../panache-parser", version = "0.34.
|
|
22
|
+
panache-parser = { path = "../panache-parser", version = "0.34.1" }
|
|
23
23
|
log = { version = "0.4.31", features = ["release_max_level_debug"] }
|
|
24
24
|
rowan = "0.17.0"
|
|
25
25
|
serde = { version = "1.0.228", features = ["derive"], optional = true }
|
|
@@ -48,6 +48,15 @@ impl Formatter {
|
|
|
48
48
|
after_marker = false;
|
|
49
49
|
text.push_str(token.text());
|
|
50
50
|
}
|
|
51
|
+
// A prefix-only final line still belongs to the raw block without a
|
|
52
|
+
// source newline; the enclosing container must emit that blank line.
|
|
53
|
+
if text.ends_with('\n')
|
|
54
|
+
&& node
|
|
55
|
+
.last_token()
|
|
56
|
+
.is_some_and(|token| token.kind() == SyntaxKind::LINE_PREFIX)
|
|
57
|
+
{
|
|
58
|
+
text.push('\n');
|
|
59
|
+
}
|
|
51
60
|
let starts_on_marker_line = node
|
|
52
61
|
.first_token()
|
|
53
62
|
.and_then(|token| token.prev_token())
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.34.1](https://github.com/jolars/panache/compare/panache-parser-v0.34.0...panache-parser-v0.34.1) (2026-10-26)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **parser:** reject trailing div attribute blocks ([`8f88555`](https://github.com/jolars/panache/commit/8f88555b61cc4edaaf2e2a8a74a6267953f47600)), refs [#584](https://github.com/jolars/panache/issues/584)
|
|
8
|
+
- **linter:** preserve html context and raw labels ([`1655cf0`](https://github.com/jolars/panache/commit/1655cf067c19b7dd4f8e6f8dde080e3e03275a63))
|
|
9
|
+
- **parser:** expose IDs in raw CommonMark HTML ([`b076c95`](https://github.com/jolars/panache/commit/b076c955aa49d1a4ff9bb32cbc132e83d57b9a04))
|
|
10
|
+
|
|
3
11
|
## [0.34.0](https://github.com/jolars/panache/compare/panache-parser-v0.33.0...panache-parser-v0.34.0) (2026-10-16)
|
|
4
12
|
|
|
5
13
|
### Features
|
{panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/block_dispatcher.rs
RENAMED
|
@@ -2208,15 +2208,7 @@ impl BlockParser for FencedDivOpenParser {
|
|
|
2208
2208
|
|
|
2209
2209
|
emit_div_info_node(builder, &div_fence.attributes);
|
|
2210
2210
|
|
|
2211
|
-
let after_attrs =
|
|
2212
|
-
if let Some(close_idx) = content_after_space.find('}') {
|
|
2213
|
-
&content_after_space[close_idx + 1..]
|
|
2214
|
-
} else {
|
|
2215
|
-
""
|
|
2216
|
-
}
|
|
2217
|
-
} else {
|
|
2218
|
-
&content_after_space[div_fence.attributes.len()..]
|
|
2219
|
-
};
|
|
2211
|
+
let after_attrs = &content_after_space[div_fence.attributes.len()..];
|
|
2220
2212
|
|
|
2221
2213
|
if !after_attrs.is_empty() {
|
|
2222
2214
|
let suffix_trimmed = after_attrs.trim_start();
|
{panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/fenced_divs.rs
RENAMED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
//! Fenced div parsing utilities.
|
|
2
2
|
|
|
3
|
-
use crate::parser::utils::
|
|
3
|
+
use crate::parser::utils::{
|
|
4
|
+
attributes::find_matching_open_brace_for_trailing_block, helpers::strip_leading_spaces,
|
|
5
|
+
};
|
|
4
6
|
|
|
5
7
|
/// Information about a detected div fence opening.
|
|
6
8
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
|
@@ -34,8 +36,13 @@ pub(crate) fn try_parse_div_fence_open(content: &str) -> Option<DivFenceInfo> {
|
|
|
34
36
|
let after_colons = trimmed[colon_count..].trim_start();
|
|
35
37
|
|
|
36
38
|
let attributes = if after_colons.starts_with('{') {
|
|
37
|
-
let
|
|
38
|
-
|
|
39
|
+
let attributes = after_colons.trim_end().trim_end_matches(':').trim_end();
|
|
40
|
+
let open_brace = find_matching_open_brace_for_trailing_block(attributes)?;
|
|
41
|
+
// A second attribute block or other trailing text makes the whole line prose.
|
|
42
|
+
if open_brace != 0 {
|
|
43
|
+
return None;
|
|
44
|
+
}
|
|
45
|
+
attributes.to_string()
|
|
39
46
|
} else if after_colons.is_empty() {
|
|
40
47
|
return None;
|
|
41
48
|
} else {
|
|
@@ -127,6 +134,35 @@ mod tests {
|
|
|
127
134
|
assert_eq!(fence.attributes, "Warning");
|
|
128
135
|
}
|
|
129
136
|
|
|
137
|
+
#[test]
|
|
138
|
+
fn rejects_trailing_content_after_attributes() {
|
|
139
|
+
for line in [
|
|
140
|
+
"::: {custom-style=\"AbstractTitle\" .abstract-title}{#en_abstract}",
|
|
141
|
+
"::: {.class} {#id}",
|
|
142
|
+
"::: {.class} text",
|
|
143
|
+
"::: {.class} ::: text",
|
|
144
|
+
"::: {.class} : : :",
|
|
145
|
+
] {
|
|
146
|
+
assert!(try_parse_div_fence_open(line).is_none(), "{line}");
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#[test]
|
|
151
|
+
fn accepts_empty_attributes() {
|
|
152
|
+
for line in ["::: {}", "::: { } :::"] {
|
|
153
|
+
assert!(try_parse_div_fence_open(line).is_some(), "{line}");
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#[test]
|
|
158
|
+
fn accepts_attributes_with_optional_trailing_colons() {
|
|
159
|
+
for suffix in ["", " ", ":", " ::", " ::: "] {
|
|
160
|
+
let line = format!("::: {{title=\"a}}b\" #id}}{suffix}");
|
|
161
|
+
let fence = try_parse_div_fence_open(&line).unwrap();
|
|
162
|
+
assert_eq!(fence.attributes, "{title=\"a}b\" #id}");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
130
166
|
#[test]
|
|
131
167
|
fn test_opening_fence_empty_attributes() {
|
|
132
168
|
let line = ":::";
|
{panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/blocks/html_blocks.rs
RENAMED
|
@@ -1202,6 +1202,16 @@ pub(crate) fn parse_html_block_with_wrapper(
|
|
|
1202
1202
|
config: &ParserOptions,
|
|
1203
1203
|
first_line_content: Option<&str>,
|
|
1204
1204
|
) -> usize {
|
|
1205
|
+
if config.dialect == crate::options::Dialect::CommonMark {
|
|
1206
|
+
return parse_commonmark_html_block(
|
|
1207
|
+
builder,
|
|
1208
|
+
lines,
|
|
1209
|
+
start_pos,
|
|
1210
|
+
&block_type,
|
|
1211
|
+
prefix,
|
|
1212
|
+
first_line_content,
|
|
1213
|
+
);
|
|
1214
|
+
}
|
|
1205
1215
|
let bq_depth = prefix.bq_depth();
|
|
1206
1216
|
if config.dialect == crate::options::Dialect::Pandoc
|
|
1207
1217
|
&& matches!(&block_type, HtmlBlockType::BlockTag {
|
|
@@ -1741,17 +1751,6 @@ pub(crate) fn parse_html_block_with_wrapper(
|
|
|
1741
1751
|
break;
|
|
1742
1752
|
}
|
|
1743
1753
|
|
|
1744
|
-
// CommonMark §5.2: a non-blank line indented less than the list
|
|
1745
|
-
// item's content column is not part of the item, and an HTML block
|
|
1746
|
-
// takes no lazy continuation lines, so the block ends with the item.
|
|
1747
|
-
if config.dialect == crate::options::Dialect::CommonMark
|
|
1748
|
-
&& prefix.list_content_col() > 0
|
|
1749
|
-
&& !inner.trim().is_empty()
|
|
1750
|
-
&& !prefix.resolve(line).reaches_frame()
|
|
1751
|
-
{
|
|
1752
|
-
break;
|
|
1753
|
-
}
|
|
1754
|
-
|
|
1755
1754
|
if blank_terminated && inner.trim().is_empty() {
|
|
1756
1755
|
break;
|
|
1757
1756
|
}
|
|
@@ -2021,6 +2020,96 @@ pub(crate) fn parse_html_block_with_wrapper(
|
|
|
2021
2020
|
current_pos
|
|
2022
2021
|
}
|
|
2023
2022
|
|
|
2023
|
+
fn parse_commonmark_html_block(
|
|
2024
|
+
builder: &mut GreenNodeBuilder<'static>,
|
|
2025
|
+
lines: &[&str],
|
|
2026
|
+
start_pos: usize,
|
|
2027
|
+
block_type: &HtmlBlockType,
|
|
2028
|
+
prefix: &ContainerPrefix,
|
|
2029
|
+
first_line_content: Option<&str>,
|
|
2030
|
+
) -> usize {
|
|
2031
|
+
use crate::parser::inlines::sink::{InjectedMarker, InlineSink, MarkerInjectingSink};
|
|
2032
|
+
use crate::parser::utils::raw_html;
|
|
2033
|
+
|
|
2034
|
+
let (first, indent) = first_line_content.map_or_else(
|
|
2035
|
+
|| prefix.strip_line_0_with_indent_emit(lines[start_pos]),
|
|
2036
|
+
|content| (content, None),
|
|
2037
|
+
);
|
|
2038
|
+
let mut source = first.to_string();
|
|
2039
|
+
let mut markers = Vec::new();
|
|
2040
|
+
let mut end_pos = start_pos + 1;
|
|
2041
|
+
let mut close_start = None;
|
|
2042
|
+
if !is_closing_marker(first, block_type) {
|
|
2043
|
+
while let Some(&line) = lines.get(end_pos) {
|
|
2044
|
+
let (depth, inner) = count_blockquote_markers(line);
|
|
2045
|
+
// Raw HTML accepts no lazy continuation outside its container.
|
|
2046
|
+
if depth < prefix.bq_depth()
|
|
2047
|
+
|| (prefix.list_content_col() > 0
|
|
2048
|
+
&& !inner.trim().is_empty()
|
|
2049
|
+
&& !prefix.resolve(line).reaches_frame())
|
|
2050
|
+
|| (ends_at_blank_line(block_type) && inner.trim().is_empty())
|
|
2051
|
+
{
|
|
2052
|
+
break;
|
|
2053
|
+
}
|
|
2054
|
+
// List indentation remains raw HTML content. The formatter needs
|
|
2055
|
+
// those bytes when it adjusts the enclosing list's indentation.
|
|
2056
|
+
let content = strip_n_blockquote_markers(line, prefix.bq_depth());
|
|
2057
|
+
let prefix_len = line.len() - content.len();
|
|
2058
|
+
for (offset, ch) in line[..prefix_len].char_indices() {
|
|
2059
|
+
markers.push((
|
|
2060
|
+
source.len(),
|
|
2061
|
+
InjectedMarker::Indent(&line[offset..offset + ch.len_utf8()]),
|
|
2062
|
+
));
|
|
2063
|
+
}
|
|
2064
|
+
let closes = is_closing_marker(inner, block_type);
|
|
2065
|
+
if closes {
|
|
2066
|
+
close_start = Some(source.len());
|
|
2067
|
+
}
|
|
2068
|
+
source.push_str(content);
|
|
2069
|
+
end_pos += 1;
|
|
2070
|
+
if closes {
|
|
2071
|
+
break;
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
let attributes = raw_html::attribute_ranges(&source);
|
|
2077
|
+
// Neither line boundary may divide a multiline tag's attribute region.
|
|
2078
|
+
let extend_fragment = |mut end| {
|
|
2079
|
+
for attrs in &attributes {
|
|
2080
|
+
if attrs.start < end && end < attrs.end {
|
|
2081
|
+
end = source[attrs.end..]
|
|
2082
|
+
.find('\n')
|
|
2083
|
+
.map_or(source.len(), |newline| attrs.end + newline + 1);
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
end
|
|
2087
|
+
};
|
|
2088
|
+
let first_end = extend_fragment(first.len());
|
|
2089
|
+
let close_start = extend_fragment(close_start.unwrap_or(source.len())).max(first_end);
|
|
2090
|
+
builder.start_node(SyntaxKind::HTML_BLOCK.into());
|
|
2091
|
+
builder.start_node(SyntaxKind::HTML_BLOCK_TAG.into());
|
|
2092
|
+
if let Some(indent) = indent {
|
|
2093
|
+
builder.token(SyntaxKind::WHITESPACE.into(), indent);
|
|
2094
|
+
}
|
|
2095
|
+
let mut sink = MarkerInjectingSink::new(builder, &markers);
|
|
2096
|
+
raw_html::emit_fragment(&mut sink, &source, &attributes, 0..first_end);
|
|
2097
|
+
sink.finish_node();
|
|
2098
|
+
for (kind, range) in [
|
|
2099
|
+
(SyntaxKind::HTML_BLOCK_CONTENT, first_end..close_start),
|
|
2100
|
+
(SyntaxKind::HTML_BLOCK_TAG, close_start..source.len()),
|
|
2101
|
+
] {
|
|
2102
|
+
if !range.is_empty() {
|
|
2103
|
+
sink.start_node_with_leading_markers(kind.into());
|
|
2104
|
+
raw_html::emit_fragment(&mut sink, &source, &attributes, range);
|
|
2105
|
+
sink.finish_node();
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
sink.finish();
|
|
2109
|
+
builder.finish_node();
|
|
2110
|
+
end_pos
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2024
2113
|
/// Emit the collected inner content lines for an HTML block.
|
|
2025
2114
|
///
|
|
2026
2115
|
/// For `HTML_BLOCK_DIV` under Pandoc with `lift_mode == true` (single-
|
|
@@ -1289,7 +1289,7 @@ fn parse_inline_range_impl(
|
|
|
1289
1289
|
builder.token(SyntaxKind::TEXT.into(), &text[text_start..pos]);
|
|
1290
1290
|
}
|
|
1291
1291
|
log::trace!("Matched inline raw HTML at pos {}", pos);
|
|
1292
|
-
emit_inline_html(builder, &text[pos..pos + len]);
|
|
1292
|
+
emit_inline_html(builder, &text[pos..pos + len], config.dialect);
|
|
1293
1293
|
pos += len;
|
|
1294
1294
|
text_start = pos;
|
|
1295
1295
|
continue;
|
{panache_cli-3.17.0 → panache_cli-3.17.1}/crates/panache-parser/src/parser/inlines/inline_html.rs
RENAMED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
use super::sink::InlineSink;
|
|
19
19
|
use crate::options::Dialect;
|
|
20
|
-
use crate::parser::utils::attributes::pandoc_html_attribute_names_valid;
|
|
20
|
+
use crate::parser::utils::attributes::{emit_html_attrs_node, pandoc_html_attribute_names_valid};
|
|
21
21
|
use crate::syntax::SyntaxKind;
|
|
22
22
|
|
|
23
23
|
/// Try to match an inline raw HTML span starting at `text[0]`.
|
|
@@ -78,12 +78,34 @@ pub(crate) fn inspect_inline_html(
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/// Emit a single `INLINE_HTML` node holding the verbatim span.
|
|
81
|
-
pub fn emit_inline_html(builder: &mut impl InlineSink, raw: &str) {
|
|
81
|
+
pub fn emit_inline_html(builder: &mut impl InlineSink, raw: &str, dialect: Dialect) {
|
|
82
82
|
builder.start_node(SyntaxKind::INLINE_HTML.into());
|
|
83
|
-
|
|
83
|
+
if dialect == Dialect::CommonMark
|
|
84
|
+
&& let Some(attrs) = open_tag_attribute_range(raw)
|
|
85
|
+
{
|
|
86
|
+
builder.token(SyntaxKind::INLINE_HTML_CONTENT.into(), &raw[..attrs.start]);
|
|
87
|
+
emit_html_attrs_node(builder, &raw[attrs.clone()]);
|
|
88
|
+
builder.token(SyntaxKind::INLINE_HTML_CONTENT.into(), &raw[attrs.end..]);
|
|
89
|
+
} else {
|
|
90
|
+
builder.token(SyntaxKind::INLINE_HTML_CONTENT.into(), raw);
|
|
91
|
+
}
|
|
84
92
|
builder.finish_node();
|
|
85
93
|
}
|
|
86
94
|
|
|
95
|
+
/// Locate attributes only after the raw HTML recognizer has accepted the tag.
|
|
96
|
+
pub(crate) fn open_tag_attribute_range(raw: &str) -> Option<std::ops::Range<usize>> {
|
|
97
|
+
let len = parse_open_tag(raw)?;
|
|
98
|
+
let name_end = 1 + raw.as_bytes()[1..]
|
|
99
|
+
.iter()
|
|
100
|
+
.take_while(|b| b.is_ascii_alphanumeric() || **b == b'-')
|
|
101
|
+
.count();
|
|
102
|
+
let attrs = name_end..len - 1;
|
|
103
|
+
raw[attrs.clone()]
|
|
104
|
+
.bytes()
|
|
105
|
+
.any(|b| !b.is_ascii_whitespace() && b != b'/')
|
|
106
|
+
.then_some(attrs)
|
|
107
|
+
}
|
|
108
|
+
|
|
87
109
|
fn parse_html_comment(text: &str) -> Option<usize> {
|
|
88
110
|
if !text.starts_with("<!--") {
|
|
89
111
|
return None;
|
|
@@ -118,6 +118,12 @@ impl<'a, 'b> MarkerInjectingSink<'a, 'b> {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
+
/// Keep a raw block's leading container prefixes inside its line wrapper.
|
|
122
|
+
pub(crate) fn start_node_with_leading_markers(&mut self, kind: rowan::SyntaxKind) {
|
|
123
|
+
self.inner.start_node(kind);
|
|
124
|
+
self.emit_markers_at_current();
|
|
125
|
+
}
|
|
126
|
+
|
|
121
127
|
/// Flush any markers at or past the end of the emitted text. Must be called
|
|
122
128
|
/// once after the inline parser finishes, to place trailing markers.
|
|
123
129
|
pub(crate) fn finish(mut self) {
|