panache-cli 3.16.0__tar.gz → 3.17.0__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.16.0 → panache_cli-3.17.0}/Cargo.lock +37 -37
- {panache_cli-3.16.0 → panache_cli-3.17.0}/Cargo.toml +3 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/PKG-INFO +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/build.rs +2 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/CHANGELOG.md +19 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/Cargo.toml +3 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/blockquotes.rs +11 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/blocks.rs +19 -10
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/containers.rs +11 -7
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/core.rs +78 -25
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/document.rs +2 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/headings.rs +9 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/inline.rs +97 -34
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/inline_layout.rs +68 -40
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/lists.rs +28 -10
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math/STYLE.md +11 -10
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math/lower.rs +32 -4
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math.rs +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/paragraphs.rs +15 -5
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/preserve.rs +66 -23
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/raw.rs +75 -6
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter.rs +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/utils.rs +3 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/CHANGELOG.md +21 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/Cargo.toml +2 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/lib.rs +2 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/options.rs +38 -5
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/pandoc_ast.rs +2 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/block_dispatcher.rs +68 -24
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +18 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +11 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/headings.rs +37 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +119 -29
- panache_cli-3.17.0/crates/panache-parser/src/parser/blocks/hugo.rs +388 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/lists.rs +46 -27
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +33 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tables.rs +29 -8
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +189 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks.rs +1 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/core/blockquotes.rs +2 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/core/definition_lists.rs +43 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/core/html_interruptions.rs +6 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/core/list_items.rs +222 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/core.rs +177 -12
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/core.rs +27 -4
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/escapes.rs +14 -2
- panache_cli-3.17.0/crates/panache-parser/src/parser/inlines/hugo.rs +317 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +98 -36
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +79 -9
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/links.rs +104 -14
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +33 -9
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +18 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines.rs +1 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/reparse.rs +94 -21
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/attributes.rs +21 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/container_stack.rs +7 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/continuation.rs +18 -12
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +167 -5
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +65 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/profile.rs +4 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser.rs +4 -4
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/range_utils.rs +2 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/consumer.rs +5 -0
- panache_cli-3.17.0/crates/panache-parser/src/syntax/html.rs +235 -0
- panache_cli-3.17.0/crates/panache-parser/src/syntax/hugo.rs +74 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/kind.rs +13 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax.rs +4 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/cache.rs +7 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/cli.rs +2 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/config/types/schema_helpers.rs +1 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/config/types.rs +56 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/config.rs +44 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/formatter.rs +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/incremental.rs +4 -6
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/execution_context.rs +35 -18
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters.rs +77 -21
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters_sync.rs +60 -3
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/html_entities.rs +2 -0
- panache_cli-3.17.0/src/linter/rules/html_unclosed_attribute.rs +102 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules.rs +4 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/runner.rs +7 -13
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter.rs +1 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/dispatch.rs +19 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/code_actions.rs +2 -9
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/diagnostics.rs +22 -10
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/main.rs +29 -34
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/parser.rs +1 -1
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/salsa.rs +8 -2
- {panache_cli-3.16.0 → panache_cli-3.17.0}/LICENSE +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/README.md +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/config.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/directives.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math/ir.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math/printer.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/table_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/tables.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/build.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/data/math_symbols.json +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/data/unicode-math.LICENSE +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/data/unicode-math.NOTICE +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/grid_layout.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/math.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/verify.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/semantic/math.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/semantic.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/code_span.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/inlines.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/links.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/math.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/references.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/pyproject.toml +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/index.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/preview.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib/ris.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bib.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/diagnostic_renderer.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/directives.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/external_tools_common.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/includes.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/io_context.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lib.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/code_block_collector.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/jarl.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/jolars.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/index.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/offsets.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/project_index.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema/interp.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema/report.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema/value.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/blank_line_in_display_math.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/blank_line_in_inline_footnote.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/citation_keys.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/consumer_divergence.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/duplicate_references.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/emoji_aliases.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/empty_list_item.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/empty_values.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/footnote_after_image.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/heading_hierarchy.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/inline_math_line_break.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/link_text_is_url.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/malformed_citation.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/math_content.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/quarto_schema.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/space_before_punctuation.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/table_column_count.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/undefined_anchor.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/undefined_references.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/unspaced_citation.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/unspaced_list_marker.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/unused_definitions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/yaml_anchors.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/config.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/context.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/conversions.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/documents.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/global_state.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/completion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/configuration.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/document_highlight.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/document_links.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/document_symbols.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/file_rename.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/file_watcher.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/folding_ranges.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/footnote_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/formatting.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/goto_definition.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/hover.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/link_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/list_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/prepare_rename.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/references.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/rename.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/semantic_tokens.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/table_conversion.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/helpers.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/line_index.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/navigation.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/testing.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/lsp.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata/bibliography.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata/citations.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata/project.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata/references.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata/yaml.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/metadata.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/range_utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/syntax.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/utils.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/vfs.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/yaml_engine.rs +0 -0
- {panache_cli-3.16.0 → panache_cli-3.17.0}/src/yaml_regions.rs +0 -0
|
@@ -121,9 +121,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
|
121
121
|
|
|
122
122
|
[[package]]
|
|
123
123
|
name = "badness-formatter"
|
|
124
|
-
version = "0.10.
|
|
124
|
+
version = "0.10.2"
|
|
125
125
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
126
|
-
checksum = "
|
|
126
|
+
checksum = "b174164ae9bb3abaa0115a64ecb11a54cdee5c93c9104c1cdf2c5da282039d76"
|
|
127
127
|
dependencies = [
|
|
128
128
|
"badness-parser",
|
|
129
129
|
"rowan 0.17.0",
|
|
@@ -131,9 +131,9 @@ dependencies = [
|
|
|
131
131
|
|
|
132
132
|
[[package]]
|
|
133
133
|
name = "badness-parser"
|
|
134
|
-
version = "0.
|
|
134
|
+
version = "0.11.1"
|
|
135
135
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
136
|
-
checksum = "
|
|
136
|
+
checksum = "32b45795e07c88249e867c1f2dd84ca0d5d78062753fb5fa75c8eb1ece8e202b"
|
|
137
137
|
dependencies = [
|
|
138
138
|
"phf 0.14.0",
|
|
139
139
|
"phf_codegen",
|
|
@@ -273,7 +273,7 @@ dependencies = [
|
|
|
273
273
|
"heck",
|
|
274
274
|
"proc-macro2",
|
|
275
275
|
"quote",
|
|
276
|
-
"syn 3.0.
|
|
276
|
+
"syn 3.0.9",
|
|
277
277
|
]
|
|
278
278
|
|
|
279
279
|
[[package]]
|
|
@@ -418,9 +418,9 @@ checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06"
|
|
|
418
418
|
|
|
419
419
|
[[package]]
|
|
420
420
|
name = "defmt"
|
|
421
|
-
version = "1.
|
|
421
|
+
version = "1.2.0"
|
|
422
422
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
423
|
-
checksum = "
|
|
423
|
+
checksum = "e4a0795ac740cb54d7b3775c9c17345f6aaecf884c01733b39d6017738e0e3e1"
|
|
424
424
|
dependencies = [
|
|
425
425
|
"bitflags 1.3.2",
|
|
426
426
|
"defmt-macros",
|
|
@@ -428,21 +428,21 @@ dependencies = [
|
|
|
428
428
|
|
|
429
429
|
[[package]]
|
|
430
430
|
name = "defmt-macros"
|
|
431
|
-
version = "1.
|
|
431
|
+
version = "1.2.0"
|
|
432
432
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
433
|
-
checksum = "
|
|
433
|
+
checksum = "840bb056bd99c495c9188198a258ab787c79f306d864db3e6e8451442d6d8366"
|
|
434
434
|
dependencies = [
|
|
435
435
|
"defmt-parser",
|
|
436
436
|
"proc-macro2",
|
|
437
437
|
"quote",
|
|
438
|
-
"syn
|
|
438
|
+
"syn 3.0.9",
|
|
439
439
|
]
|
|
440
440
|
|
|
441
441
|
[[package]]
|
|
442
442
|
name = "defmt-parser"
|
|
443
|
-
version = "1.
|
|
443
|
+
version = "1.1.0"
|
|
444
444
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
445
|
-
checksum = "
|
|
445
|
+
checksum = "71958f69fb2de856c5dd51ac9377e986ca1aa5919f931bf5395a807277f889a0"
|
|
446
446
|
dependencies = [
|
|
447
447
|
"thiserror",
|
|
448
448
|
]
|
|
@@ -541,9 +541,9 @@ dependencies = [
|
|
|
541
541
|
|
|
542
542
|
[[package]]
|
|
543
543
|
name = "equivalent"
|
|
544
|
-
version = "1.0.
|
|
544
|
+
version = "1.0.3"
|
|
545
545
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
546
|
-
checksum = "
|
|
546
|
+
checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826"
|
|
547
547
|
|
|
548
548
|
[[package]]
|
|
549
549
|
name = "errno"
|
|
@@ -1114,7 +1114,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1114
1114
|
|
|
1115
1115
|
[[package]]
|
|
1116
1116
|
name = "panache"
|
|
1117
|
-
version = "3.
|
|
1117
|
+
version = "3.17.0"
|
|
1118
1118
|
dependencies = [
|
|
1119
1119
|
"annotate-snippets",
|
|
1120
1120
|
"assert_cmd",
|
|
@@ -1159,7 +1159,7 @@ dependencies = [
|
|
|
1159
1159
|
|
|
1160
1160
|
[[package]]
|
|
1161
1161
|
name = "panache-formatter"
|
|
1162
|
-
version = "0.
|
|
1162
|
+
version = "0.28.0"
|
|
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.
|
|
1182
|
+
version = "0.34.0"
|
|
1183
1183
|
dependencies = [
|
|
1184
1184
|
"badness-parser",
|
|
1185
1185
|
"entities",
|
|
@@ -1456,7 +1456,7 @@ checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a"
|
|
|
1456
1456
|
dependencies = [
|
|
1457
1457
|
"proc-macro2",
|
|
1458
1458
|
"quote",
|
|
1459
|
-
"syn 3.0.
|
|
1459
|
+
"syn 3.0.9",
|
|
1460
1460
|
]
|
|
1461
1461
|
|
|
1462
1462
|
[[package]]
|
|
@@ -1607,7 +1607,7 @@ checksum = "69dd77f86ec10e72e314f4ddf7c44c8d349e73cdff1aad524ba9668603fb0549"
|
|
|
1607
1607
|
dependencies = [
|
|
1608
1608
|
"proc-macro2",
|
|
1609
1609
|
"quote",
|
|
1610
|
-
"syn 3.0.
|
|
1610
|
+
"syn 3.0.9",
|
|
1611
1611
|
]
|
|
1612
1612
|
|
|
1613
1613
|
[[package]]
|
|
@@ -1621,9 +1621,9 @@ dependencies = [
|
|
|
1621
1621
|
|
|
1622
1622
|
[[package]]
|
|
1623
1623
|
name = "schemars"
|
|
1624
|
-
version = "1.2.
|
|
1624
|
+
version = "1.2.3"
|
|
1625
1625
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1626
|
-
checksum = "
|
|
1626
|
+
checksum = "ab508826f74a77ca9d5aba6ff19b522583ee3eaf28a19384ff3d0e5835fadf6e"
|
|
1627
1627
|
dependencies = [
|
|
1628
1628
|
"dyn-clone",
|
|
1629
1629
|
"ref-cast",
|
|
@@ -1634,14 +1634,14 @@ dependencies = [
|
|
|
1634
1634
|
|
|
1635
1635
|
[[package]]
|
|
1636
1636
|
name = "schemars_derive"
|
|
1637
|
-
version = "1.2.
|
|
1637
|
+
version = "1.2.3"
|
|
1638
1638
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1639
|
-
checksum = "
|
|
1639
|
+
checksum = "e1c3a92094fa7d61aa124645844facb6b554dfc797136d0f5fd1f890e2bffc69"
|
|
1640
1640
|
dependencies = [
|
|
1641
1641
|
"proc-macro2",
|
|
1642
1642
|
"quote",
|
|
1643
1643
|
"serde_derive_internals",
|
|
1644
|
-
"syn 3.0.
|
|
1644
|
+
"syn 3.0.9",
|
|
1645
1645
|
]
|
|
1646
1646
|
|
|
1647
1647
|
[[package]]
|
|
@@ -1677,7 +1677,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
|
1677
1677
|
dependencies = [
|
|
1678
1678
|
"proc-macro2",
|
|
1679
1679
|
"quote",
|
|
1680
|
-
"syn 3.0.
|
|
1680
|
+
"syn 3.0.9",
|
|
1681
1681
|
]
|
|
1682
1682
|
|
|
1683
1683
|
[[package]]
|
|
@@ -1688,7 +1688,7 @@ checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
|
|
|
1688
1688
|
dependencies = [
|
|
1689
1689
|
"proc-macro2",
|
|
1690
1690
|
"quote",
|
|
1691
|
-
"syn 3.0.
|
|
1691
|
+
"syn 3.0.9",
|
|
1692
1692
|
]
|
|
1693
1693
|
|
|
1694
1694
|
[[package]]
|
|
@@ -1712,7 +1712,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
|
|
|
1712
1712
|
dependencies = [
|
|
1713
1713
|
"proc-macro2",
|
|
1714
1714
|
"quote",
|
|
1715
|
-
"syn 3.0.
|
|
1715
|
+
"syn 3.0.9",
|
|
1716
1716
|
]
|
|
1717
1717
|
|
|
1718
1718
|
[[package]]
|
|
@@ -1824,9 +1824,9 @@ dependencies = [
|
|
|
1824
1824
|
|
|
1825
1825
|
[[package]]
|
|
1826
1826
|
name = "syn"
|
|
1827
|
-
version = "3.0.
|
|
1827
|
+
version = "3.0.9"
|
|
1828
1828
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1829
|
-
checksum = "
|
|
1829
|
+
checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
|
|
1830
1830
|
dependencies = [
|
|
1831
1831
|
"proc-macro2",
|
|
1832
1832
|
"quote",
|
|
@@ -1881,7 +1881,7 @@ checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
|
|
|
1881
1881
|
dependencies = [
|
|
1882
1882
|
"proc-macro2",
|
|
1883
1883
|
"quote",
|
|
1884
|
-
"syn 3.0.
|
|
1884
|
+
"syn 3.0.9",
|
|
1885
1885
|
]
|
|
1886
1886
|
|
|
1887
1887
|
[[package]]
|
|
@@ -2077,7 +2077,7 @@ dependencies = [
|
|
|
2077
2077
|
"bumpalo",
|
|
2078
2078
|
"proc-macro2",
|
|
2079
2079
|
"quote",
|
|
2080
|
-
"syn 3.0.
|
|
2080
|
+
"syn 3.0.9",
|
|
2081
2081
|
"wasm-bindgen-shared",
|
|
2082
2082
|
]
|
|
2083
2083
|
|
|
@@ -2110,9 +2110,9 @@ dependencies = [
|
|
|
2110
2110
|
|
|
2111
2111
|
[[package]]
|
|
2112
2112
|
name = "wincode"
|
|
2113
|
-
version = "0.6.
|
|
2113
|
+
version = "0.6.3"
|
|
2114
2114
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2115
|
-
checksum = "
|
|
2115
|
+
checksum = "063b5affe63fb4e584a33101d8808f01f2348b4f533db6223bf27263a0fdb9e9"
|
|
2116
2116
|
dependencies = [
|
|
2117
2117
|
"pastey",
|
|
2118
2118
|
"proc-macro2",
|
|
@@ -2181,18 +2181,18 @@ dependencies = [
|
|
|
2181
2181
|
|
|
2182
2182
|
[[package]]
|
|
2183
2183
|
name = "zerocopy"
|
|
2184
|
-
version = "0.8.
|
|
2184
|
+
version = "0.8.63"
|
|
2185
2185
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2186
|
-
checksum = "
|
|
2186
|
+
checksum = "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8"
|
|
2187
2187
|
dependencies = [
|
|
2188
2188
|
"zerocopy-derive",
|
|
2189
2189
|
]
|
|
2190
2190
|
|
|
2191
2191
|
[[package]]
|
|
2192
2192
|
name = "zerocopy-derive"
|
|
2193
|
-
version = "0.8.
|
|
2193
|
+
version = "0.8.63"
|
|
2194
2194
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2195
|
-
checksum = "
|
|
2195
|
+
checksum = "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f"
|
|
2196
2196
|
dependencies = [
|
|
2197
2197
|
"proc-macro2",
|
|
2198
2198
|
"quote",
|
|
@@ -9,7 +9,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
|
|
|
9
9
|
|
|
10
10
|
[package]
|
|
11
11
|
name = "panache"
|
|
12
|
-
version = "3.
|
|
12
|
+
version = "3.17.0"
|
|
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.
|
|
58
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.28.0", features = [
|
|
59
59
|
"serde",
|
|
60
60
|
"schema",
|
|
61
61
|
] }
|
|
62
|
-
panache-parser = { path = "crates/panache-parser", version = "0.
|
|
62
|
+
panache-parser = { path = "crates/panache-parser", version = "0.34.0", features = [
|
|
63
63
|
"serde",
|
|
64
64
|
"schema",
|
|
65
65
|
] }
|
|
@@ -140,14 +140,14 @@ fn extract_field_list(block: &str, field: &str) -> Option<Vec<String>> {
|
|
|
140
140
|
let marker_slice = format!("{field}: &[");
|
|
141
141
|
if let Some(start) = block.find(&marker_slice) {
|
|
142
142
|
let after = &block[start + marker_slice.len()..];
|
|
143
|
-
let end = after.find(
|
|
143
|
+
let end = after.find(']')?;
|
|
144
144
|
return Some(extract_quoted_strings(&after[..end]));
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
let marker_vec = format!("{field}: vec![");
|
|
148
148
|
let start = block.find(&marker_vec)?;
|
|
149
149
|
let after = &block[start + marker_vec.len()..];
|
|
150
|
-
let end = after.find(
|
|
150
|
+
let end = after.find(']')?;
|
|
151
151
|
Some(extract_quoted_strings(&after[..end]))
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.28.0](https://github.com/jolars/panache/compare/panache-formatter-v0.27.1...panache-formatter-v0.28.0) (2026-10-16)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add Hugo flavor and syntax preservation (#570) ([`7247d79`](https://github.com/jolars/panache/commit/7247d79e8b78f74404fc1f258d89bcf5fe382f91)), closes [#558](https://github.com/jolars/panache/issues/558)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- preserve definition bodies when formatting ([`4e95495`](https://github.com/jolars/panache/commit/4e95495554b9b832279b117562bbbdb9c9e2f463)), fixes [#576](https://github.com/jolars/panache/issues/576)
|
|
12
|
+
- **formatter:** normalize unnumbered headings ([`4fe2f30`](https://github.com/jolars/panache/commit/4fe2f308b5e3d8a8c0e7571228ff1465172f748a)), closes [#463](https://github.com/jolars/panache/issues/463)
|
|
13
|
+
- **parser:** start HTML blocks after list markers ([`598fd82`](https://github.com/jolars/panache/commit/598fd82deaa627a1a9a76694a8900a2b2e0f736d)), fixes [#559](https://github.com/jolars/panache/issues/559)
|
|
14
|
+
- **parser:** require paragraph context for lazy list lines ([`a39a6e7`](https://github.com/jolars/panache/commit/a39a6e7d10437c69421b67cd0e276ff52bf89afe)), fixes [#561](https://github.com/jolars/panache/issues/561)
|
|
15
|
+
- **parser:** retain blocks after empty list markers ([`f6d117b`](https://github.com/jolars/panache/commit/f6d117becbf668b6ce4ee1f92643068d64300094)), fixes [#560](https://github.com/jolars/panache/issues/560)
|
|
16
|
+
- **parser:** detect HTML blocks at a nested list item's content column (#566) ([`d271057`](https://github.com/jolars/panache/commit/d27105781a8d103a2383ab5e09661435531cf0df))
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
|
|
20
|
+
- updated crates/panache-parser to v0.34.0
|
|
21
|
+
|
|
3
22
|
## [0.27.1](https://github.com/jolars/panache/compare/panache-formatter-v0.27.0...panache-formatter-v0.27.1) (2026-10-12)
|
|
4
23
|
|
|
5
24
|
### Dependencies
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.28.0"
|
|
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.
|
|
22
|
+
panache-parser = { path = "../panache-parser", version = "0.34.0" }
|
|
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 }
|
|
@@ -32,7 +32,7 @@ serde = ["dep:serde", "panache-parser/serde"]
|
|
|
32
32
|
schema = ["serde", "dep:schemars", "panache-parser/schema"]
|
|
33
33
|
|
|
34
34
|
[dev-dependencies]
|
|
35
|
-
badness-formatter = "=0.10.
|
|
35
|
+
badness-formatter = "=0.10.2"
|
|
36
36
|
serde_json = "1.0.150"
|
|
37
37
|
insta = { version = "1.47.2", features = ["json"] }
|
|
38
38
|
# TEMPORARY: cross-validation oracle only (tests/yaml_cross_validation.rs).
|
{panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/blockquotes.rs
RENAMED
|
@@ -154,7 +154,7 @@ impl Formatter {
|
|
|
154
154
|
self.output.push('\n');
|
|
155
155
|
}
|
|
156
156
|
SyntaxKind::HEADING => {
|
|
157
|
-
let heading_text = self.format_heading(child);
|
|
157
|
+
let heading_text = self.format_heading(child, 0);
|
|
158
158
|
for line in heading_text.lines() {
|
|
159
159
|
self.output.push_str(&content_prefix);
|
|
160
160
|
self.output.push_str(line);
|
|
@@ -210,6 +210,16 @@ impl Formatter {
|
|
|
210
210
|
ctx.in_list_continuation = false;
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
+
SyntaxKind::HUGO_SHORTCODE_BLOCK => {
|
|
214
|
+
let rendered = crate::syntax::text_without_line_prefixes(child);
|
|
215
|
+
for line in rendered.split_inclusive('\n') {
|
|
216
|
+
self.output.push_str(&content_prefix);
|
|
217
|
+
self.output.push_str(line);
|
|
218
|
+
}
|
|
219
|
+
if !self.output.ends_with('\n') {
|
|
220
|
+
self.output.push('\n');
|
|
221
|
+
}
|
|
222
|
+
}
|
|
213
223
|
SyntaxKind::TEX_BLOCK => {
|
|
214
224
|
let tex_output = self.render_to_buffer(child, indent, 0);
|
|
215
225
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
use crate::config::WrapMode;
|
|
2
|
-
use crate::formatter::preserve::preserve_lines_normalized;
|
|
2
|
+
use crate::formatter::preserve::{preserve_lines_normalized, preserve_lines_unprefixed_normalized};
|
|
3
3
|
use crate::formatter::smart::normalize_smart_punctuation;
|
|
4
4
|
use crate::formatter::utils::is_block_element;
|
|
5
5
|
use crate::formatter::{Formatter, paragraphs};
|
|
@@ -217,20 +217,29 @@ impl Formatter {
|
|
|
217
217
|
&& !self.output.ends_with(": ");
|
|
218
218
|
match wrap_mode {
|
|
219
219
|
WrapMode::Preserve => {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
220
|
+
let in_definition = self.output.ends_with(": ");
|
|
221
|
+
let lines = if in_definition {
|
|
222
|
+
// The normalized marker sets a new content column, so
|
|
223
|
+
// rebuild container indentation around opaque payloads.
|
|
224
|
+
preserve_lines_unprefixed_normalized(node, &self.config)
|
|
225
|
+
} else {
|
|
226
|
+
preserve_lines_normalized(node, &self.config)
|
|
227
|
+
};
|
|
228
|
+
for (i, line) in lines.iter().enumerate() {
|
|
224
229
|
if needs_indent {
|
|
225
230
|
self.output.push_str(&" ".repeat(indent));
|
|
226
231
|
} else if i > 0 {
|
|
227
232
|
self.output.push('\n');
|
|
233
|
+
if in_definition {
|
|
234
|
+
self.output.push_str(&" ".repeat(indent));
|
|
235
|
+
}
|
|
228
236
|
}
|
|
229
|
-
self.output
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
237
|
+
self.output
|
|
238
|
+
.push_str(if needs_indent || (in_definition && i > 0) {
|
|
239
|
+
paragraphs::trim_prose_indent(node, line)
|
|
240
|
+
} else {
|
|
241
|
+
line
|
|
242
|
+
});
|
|
234
243
|
if needs_indent {
|
|
235
244
|
self.output.push('\n');
|
|
236
245
|
}
|
{panache_cli-3.16.0 → panache_cli-3.17.0}/crates/panache-formatter/src/formatter/containers.rs
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
use crate::config::WrapMode;
|
|
2
2
|
use crate::formatter::Formatter;
|
|
3
3
|
use crate::formatter::paragraphs::trim_prose_indent;
|
|
4
|
-
use crate::formatter::preserve::
|
|
4
|
+
use crate::formatter::preserve::preserve_lines_unprefixed_normalized;
|
|
5
5
|
use crate::syntax::{SyntaxKind, SyntaxNode};
|
|
6
6
|
use rowan::NodeOrToken;
|
|
7
7
|
|
|
@@ -64,10 +64,12 @@ impl Formatter {
|
|
|
64
64
|
let para_start = self.output.len();
|
|
65
65
|
let available_width = self.config.line_width.saturating_sub(child_indent);
|
|
66
66
|
let lines = match wrap_mode {
|
|
67
|
-
WrapMode::Preserve =>
|
|
68
|
-
.
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
WrapMode::Preserve => {
|
|
68
|
+
preserve_lines_unprefixed_normalized(child, &self.config)
|
|
69
|
+
.iter()
|
|
70
|
+
.map(|line| trim_prose_indent(child, line).to_string())
|
|
71
|
+
.collect()
|
|
72
|
+
}
|
|
71
73
|
WrapMode::Reflow => {
|
|
72
74
|
self.wrapped_lines_for_paragraph(child, available_width)
|
|
73
75
|
}
|
|
@@ -142,7 +144,9 @@ impl Formatter {
|
|
|
142
144
|
let rest_width = self.config.line_width.saturating_sub(child_indent);
|
|
143
145
|
let widths = [first_width, rest_width];
|
|
144
146
|
let lines = match wrap_mode {
|
|
145
|
-
WrapMode::Preserve =>
|
|
147
|
+
WrapMode::Preserve => {
|
|
148
|
+
preserve_lines_unprefixed_normalized(child, &self.config)
|
|
149
|
+
}
|
|
146
150
|
WrapMode::Reflow => {
|
|
147
151
|
self.wrapped_lines_for_paragraph_with_widths(child, &widths)
|
|
148
152
|
}
|
|
@@ -180,7 +184,7 @@ impl Formatter {
|
|
|
180
184
|
let available_width = self.config.line_width.saturating_sub(child_indent);
|
|
181
185
|
match wrap_mode {
|
|
182
186
|
WrapMode::Preserve => {
|
|
183
|
-
for line in
|
|
187
|
+
for line in preserve_lines_unprefixed_normalized(child, &self.config) {
|
|
184
188
|
self.output.push_str(&" ".repeat(child_indent));
|
|
185
189
|
self.output.push_str(trim_prose_indent(child, &line));
|
|
186
190
|
self.output.push('\n');
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
use crate::config::{Config, HorizontalRuleStyle, WrapMode};
|
|
2
2
|
use crate::directives::DirectiveTracker;
|
|
3
|
-
use crate::syntax::{
|
|
3
|
+
use crate::syntax::{
|
|
4
|
+
AstNode, Definition, ExampleListMarker, ListItem, SyntaxKind, SyntaxNode, TomlMetadata,
|
|
5
|
+
};
|
|
4
6
|
use panache_parser::parser::blocks::definition_lists::try_parse_definition_marker;
|
|
5
7
|
use panache_parser::parser::blocks::headings::try_parse_atx_heading;
|
|
6
8
|
use panache_parser::parser::blocks::horizontal_rules::try_parse_horizontal_rule;
|
|
@@ -63,6 +65,18 @@ impl Formatter {
|
|
|
63
65
|
}
|
|
64
66
|
pub fn format(mut self, node: &SyntaxNode) -> String {
|
|
65
67
|
self.format_node_sync(node, 0);
|
|
68
|
+
if node.kind() == SyntaxKind::DOCUMENT {
|
|
69
|
+
// An unfinished opaque block owns the document's final whitespace.
|
|
70
|
+
let preserve_ending = node
|
|
71
|
+
.children()
|
|
72
|
+
.last()
|
|
73
|
+
.and_then(TomlMetadata::cast)
|
|
74
|
+
.is_some_and(|metadata| !metadata.is_closed());
|
|
75
|
+
if !preserve_ending {
|
|
76
|
+
self.output.truncate(self.output.trim_end().len());
|
|
77
|
+
self.output.push('\n');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
66
80
|
self.output
|
|
67
81
|
}
|
|
68
82
|
|
|
@@ -143,8 +157,13 @@ impl Formatter {
|
|
|
143
157
|
)
|
|
144
158
|
}
|
|
145
159
|
|
|
146
|
-
pub(super) fn format_heading(&self, node: &SyntaxNode) -> String {
|
|
147
|
-
headings::format_heading(node, &self.config)
|
|
160
|
+
pub(super) fn format_heading(&self, node: &SyntaxNode, continuation_indent: usize) -> String {
|
|
161
|
+
let heading = headings::format_heading(node, &self.config);
|
|
162
|
+
if continuation_indent == 0 || !heading.contains('\n') {
|
|
163
|
+
heading
|
|
164
|
+
} else {
|
|
165
|
+
heading.replace('\n', &format!("\n{}", " ".repeat(continuation_indent)))
|
|
166
|
+
}
|
|
148
167
|
}
|
|
149
168
|
|
|
150
169
|
pub(super) fn contains_latex_command(&self, node: &SyntaxNode) -> bool {
|
|
@@ -409,7 +428,7 @@ impl Formatter {
|
|
|
409
428
|
let indent_str = " ".repeat(indent);
|
|
410
429
|
|
|
411
430
|
let strip_content_columns = (!is_fenced)
|
|
412
|
-
.then(||
|
|
431
|
+
.then(|| self.container_content_offset(node))
|
|
413
432
|
.filter(|cols| *cols > 0);
|
|
414
433
|
self.format_container_code_block(
|
|
415
434
|
node,
|
|
@@ -434,13 +453,13 @@ impl Formatter {
|
|
|
434
453
|
/// `list_item_content_offset` in the pandoc-native projector
|
|
435
454
|
/// (`panache_parser::to_pandoc_ast`); the two must agree on what a code
|
|
436
455
|
/// block's payload is.
|
|
437
|
-
pub(super) fn container_content_offset(node: &SyntaxNode) -> usize {
|
|
456
|
+
pub(super) fn container_content_offset(&self, node: &SyntaxNode) -> usize {
|
|
438
457
|
let Some(parent) = node.parent() else {
|
|
439
458
|
return 0;
|
|
440
459
|
};
|
|
441
460
|
match parent.kind() {
|
|
442
461
|
SyntaxKind::DEFINITION => {
|
|
443
|
-
|
|
462
|
+
self.marker_content_offset(&parent, SyntaxKind::DEFINITION_MARKER)
|
|
444
463
|
}
|
|
445
464
|
SyntaxKind::LIST_ITEM => {
|
|
446
465
|
let parent_ws = match parent.prev_sibling_or_token() {
|
|
@@ -449,28 +468,41 @@ impl Formatter {
|
|
|
449
468
|
}
|
|
450
469
|
_ => 0,
|
|
451
470
|
};
|
|
452
|
-
parent_ws +
|
|
471
|
+
parent_ws + self.marker_content_offset(&parent, SyntaxKind::LIST_MARKER)
|
|
453
472
|
}
|
|
454
473
|
_ => 0,
|
|
455
474
|
}
|
|
456
475
|
}
|
|
457
476
|
|
|
458
|
-
fn marker_content_offset(container: &SyntaxNode, marker: SyntaxKind) -> usize {
|
|
477
|
+
fn marker_content_offset(&self, container: &SyntaxNode, marker: SyntaxKind) -> usize {
|
|
459
478
|
let mut col = 0usize;
|
|
460
479
|
let mut saw_marker = false;
|
|
480
|
+
let mut marker_end_col = 0usize;
|
|
461
481
|
for el in container.children_with_tokens() {
|
|
462
482
|
match el {
|
|
463
483
|
NodeOrToken::Token(t) if t.kind() == marker => {
|
|
464
484
|
col = Self::advance_col(col, t.text());
|
|
485
|
+
marker_end_col = col;
|
|
465
486
|
saw_marker = true;
|
|
466
487
|
}
|
|
467
488
|
NodeOrToken::Token(t) if t.kind() == SyntaxKind::WHITESPACE => {
|
|
468
489
|
col = Self::advance_col(col, t.text());
|
|
469
|
-
|
|
470
|
-
|
|
490
|
+
}
|
|
491
|
+
el if saw_marker => {
|
|
492
|
+
let first_token = match el {
|
|
493
|
+
NodeOrToken::Token(t) => Some(t),
|
|
494
|
+
NodeOrToken::Node(n) => n.first_token(),
|
|
495
|
+
};
|
|
496
|
+
// Empty CommonMark markers have one logical space of
|
|
497
|
+
// padding even when their source padding differs.
|
|
498
|
+
if marker == SyntaxKind::LIST_MARKER
|
|
499
|
+
&& self.config.dialect() == panache_parser::Dialect::CommonMark
|
|
500
|
+
&& first_token.is_some_and(|t| t.kind() == SyntaxKind::NEWLINE)
|
|
501
|
+
{
|
|
502
|
+
return marker_end_col + 1;
|
|
471
503
|
}
|
|
504
|
+
return col;
|
|
472
505
|
}
|
|
473
|
-
_ if saw_marker => return col,
|
|
474
506
|
_ => {}
|
|
475
507
|
}
|
|
476
508
|
}
|
|
@@ -587,17 +619,13 @@ impl Formatter {
|
|
|
587
619
|
let trimmed_line = line.trim_start();
|
|
588
620
|
let starts_with_list_marker = Self::starts_with_list_marker(trimmed_line)
|
|
589
621
|
&& !tables::is_partial_grid_separator(trimmed_line);
|
|
590
|
-
|
|
622
|
+
// Rendered blank lines are empty. Whitespace in nonempty lines
|
|
623
|
+
// can belong to an opaque payload and must survive re-prefixing.
|
|
624
|
+
if line.is_empty() {
|
|
591
625
|
self.output.push_str(blank_prefix);
|
|
592
626
|
in_list_item_continuation = false;
|
|
593
627
|
} else if line.starts_with("> ") {
|
|
594
628
|
let trimmed_rest = line.trim_start_matches("> ").trim_start();
|
|
595
|
-
if trimmed_rest.is_empty() {
|
|
596
|
-
self.output.push_str(blank_prefix);
|
|
597
|
-
in_list_item_continuation = false;
|
|
598
|
-
self.output.push('\n');
|
|
599
|
-
continue;
|
|
600
|
-
}
|
|
601
629
|
self.output.push_str(base_indent);
|
|
602
630
|
self.output.push_str(line);
|
|
603
631
|
in_list_item_continuation = Self::starts_with_list_marker(trimmed_rest)
|
|
@@ -799,7 +827,18 @@ impl Formatter {
|
|
|
799
827
|
SyntaxKind::FOOTNOTE_DEFINITION => self.format_footnote_definition(node, indent),
|
|
800
828
|
|
|
801
829
|
SyntaxKind::HTML_BLOCK | SyntaxKind::HTML_BLOCK_RAW | SyntaxKind::HTML_BLOCK_DIV => {
|
|
802
|
-
|
|
830
|
+
// Continuation HTML must move with its container's content
|
|
831
|
+
// column so it cannot detach the blocks that follow it.
|
|
832
|
+
let continues_container = node.parent().is_some_and(|parent| {
|
|
833
|
+
ListItem::can_cast(parent.kind()) || Definition::can_cast(parent.kind())
|
|
834
|
+
}) && node
|
|
835
|
+
.first_token()
|
|
836
|
+
.and_then(|token| token.prev_token())
|
|
837
|
+
.is_some_and(|prev| prev.text().ends_with('\n'));
|
|
838
|
+
let reindent = continues_container
|
|
839
|
+
.then(|| (self.container_content_offset(node), indent))
|
|
840
|
+
.filter(|(from, to)| from != to);
|
|
841
|
+
self.format_html_block_reindented(node, reindent)
|
|
803
842
|
}
|
|
804
843
|
SyntaxKind::COMMENT => self.format_comment(node),
|
|
805
844
|
SyntaxKind::LATEX_COMMAND => self.format_latex_command(node),
|
|
@@ -872,7 +911,22 @@ impl Formatter {
|
|
|
872
911
|
SyntaxKind::MYST_TARGET
|
|
873
912
|
| SyntaxKind::MYST_COMMENT
|
|
874
913
|
| SyntaxKind::MYST_BLOCK_BREAK
|
|
875
|
-
| SyntaxKind::SVELTE_BLOCK
|
|
914
|
+
| SyntaxKind::SVELTE_BLOCK
|
|
915
|
+
| SyntaxKind::TOML_METADATA => self.format_raw_block(node),
|
|
916
|
+
|
|
917
|
+
SyntaxKind::HUGO_SHORTCODE_BLOCK => {
|
|
918
|
+
let text = crate::syntax::text_without_line_prefixes(node);
|
|
919
|
+
for line in text.split_inclusive('\n') {
|
|
920
|
+
if indent > 0 && (self.output.is_empty() || self.output.ends_with('\n')) {
|
|
921
|
+
self.output.push_str(&" ".repeat(indent));
|
|
922
|
+
}
|
|
923
|
+
self.output.push_str(line);
|
|
924
|
+
}
|
|
925
|
+
if !self.output.ends_with('\n') {
|
|
926
|
+
self.output.push('\n');
|
|
927
|
+
}
|
|
928
|
+
self.consecutive_blank_lines = 0;
|
|
929
|
+
}
|
|
876
930
|
|
|
877
931
|
_ => {
|
|
878
932
|
self.output.push_str(&node.text().to_string());
|
|
@@ -884,11 +938,9 @@ impl Formatter {
|
|
|
884
938
|
/// Rewrite a Pandoc `{...}` attribute block in canonical form: id first, then
|
|
885
939
|
/// classes in source order, then key/value pairs with quoted values.
|
|
886
940
|
///
|
|
887
|
-
///
|
|
888
|
-
///
|
|
889
|
-
|
|
890
|
-
/// non-English documents, and expanding it would rewrite the author's source.
|
|
891
|
-
pub(super) fn normalize_attribute_text(attr_text: &str) -> String {
|
|
941
|
+
/// Expand bare `-` components only for headings in Pandoc-derived flavors;
|
|
942
|
+
/// other dialects can treat them as literal text rather than a class.
|
|
943
|
+
pub(super) fn normalize_attribute_text(attr_text: &str, expand_unnumbered: bool) -> String {
|
|
892
944
|
let Some(inner) = attr_text
|
|
893
945
|
.strip_prefix('{')
|
|
894
946
|
.and_then(|s| s.strip_suffix('}'))
|
|
@@ -905,6 +957,7 @@ pub(super) fn normalize_attribute_text(attr_text: &str) -> String {
|
|
|
905
957
|
for comp in &spans.components {
|
|
906
958
|
match comp {
|
|
907
959
|
AttrComponent::Id(r) => id = inner[r.clone()].to_string(),
|
|
960
|
+
AttrComponent::Unnumbered(_) if expand_unnumbered => classes.push(".unnumbered"),
|
|
908
961
|
AttrComponent::Class(r) | AttrComponent::Unnumbered(r) => {
|
|
909
962
|
classes.push(&inner[r.clone()])
|
|
910
963
|
}
|