panache-cli 3.9.0__tar.gz → 3.10.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.9.0 → panache_cli-3.10.0}/Cargo.lock +21 -21
- {panache_cli-3.9.0 → panache_cli-3.10.0}/Cargo.toml +3 -3
- {panache_cli-3.9.0 → panache_cli-3.10.0}/PKG-INFO +1 -1
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/CHANGELOG.md +13 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/Cargo.toml +2 -2
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/core.rs +29 -12
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/inline_layout.rs +58 -7
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/lists.rs +17 -7
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/STYLE.md +28 -14
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/lower.rs +203 -97
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +29 -18
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/tables.rs +61 -26
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/CHANGELOG.md +6 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/Cargo.toml +1 -1
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +60 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/core/list_items.rs +30 -15
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/core.rs +2 -7
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/cli.rs +2 -2
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/config/types/schema_helpers.rs +29 -1
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/config/types.rs +45 -2
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/config.rs +160 -7
- panache_cli-3.10.0/src/linter/rules/unspaced_list_marker.rs +217 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules.rs +1 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter.rs +1 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/LICENSE +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/README.md +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/build.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/config.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/directives.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/containers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/document.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/inline.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/ir.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/printer.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/preserve.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/raw.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/build.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/data/math_symbols.json +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/data/unicode-math.LICENSE +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/data/unicode-math.NOTICE +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/grid_layout.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/lib.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/options.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/pandoc_ast.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/block_dispatcher.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tables.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/core/blockquotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/core/definition_lists.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/core/html_interruptions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/core.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/reparse.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/container_stack.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/continuation.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/verify.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/parser.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/range_utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/semantic/math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/semantic.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/code_span.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/consumer.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/inlines.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/kind.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/links.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/references.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-parser/src/syntax.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/pyproject.toml +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/index.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/preview.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib/ris.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bib.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/cache.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/diagnostic_renderer.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/directives.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/external_tools_common.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/formatter.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/includes.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/incremental.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/io_context.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lib.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/code_block_collector.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/jarl.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/jolars.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/external_linters_sync.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/index.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/offsets.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/project_index.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema/interp.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema/report.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema/value.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/blank_line_in_display_math.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/blank_line_in_inline_footnote.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/citation_keys.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/consumer_divergence.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/duplicate_references.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/emoji_aliases.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/empty_list_item.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/empty_values.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/footnote_after_image.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/heading_hierarchy.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/html_entities.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/inline_math_line_break.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/link_text_is_url.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/math_content.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/quarto_schema.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/table_column_count.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/undefined_anchor.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/undefined_references.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/unspaced_citation.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/unused_definitions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/runner.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/yaml_anchors.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/config.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/context.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/conversions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/dispatch.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/documents.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/global_state.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/code_actions.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/completion.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/configuration.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/diagnostics.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/document_highlight.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/document_links.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/document_symbols.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/file_rename.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/file_watcher.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/folding_ranges.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/footnote_conversion.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/formatting.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/goto_definition.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/hover.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/link_conversion.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/list_conversion.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/prepare_rename.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/references.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/rename.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/semantic_tokens.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/helpers.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/line_index.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/navigation.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/testing.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/lsp.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/main.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata/bibliography.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata/citations.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata/project.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata/references.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata/yaml.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/metadata.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/parser.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/range_utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/salsa.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/syntax.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/utils.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/vfs.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/yaml_engine.rs +0 -0
- {panache_cli-3.9.0 → panache_cli-3.10.0}/src/yaml_regions.rs +0 -0
|
@@ -166,9 +166,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
|
166
166
|
|
|
167
167
|
[[package]]
|
|
168
168
|
name = "bitflags"
|
|
169
|
-
version = "2.13.
|
|
169
|
+
version = "2.13.2"
|
|
170
170
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
171
|
-
checksum = "
|
|
171
|
+
checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
|
|
172
172
|
|
|
173
173
|
[[package]]
|
|
174
174
|
name = "borrow-or-share"
|
|
@@ -309,9 +309,9 @@ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
|
|
|
309
309
|
|
|
310
310
|
[[package]]
|
|
311
311
|
name = "console"
|
|
312
|
-
version = "0.16.
|
|
312
|
+
version = "0.16.6"
|
|
313
313
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
314
|
-
checksum = "
|
|
314
|
+
checksum = "e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3"
|
|
315
315
|
dependencies = [
|
|
316
316
|
"encode_unicode",
|
|
317
317
|
"libc",
|
|
@@ -568,9 +568,9 @@ dependencies = [
|
|
|
568
568
|
|
|
569
569
|
[[package]]
|
|
570
570
|
name = "fancy-regex"
|
|
571
|
-
version = "0.19.
|
|
571
|
+
version = "0.19.1"
|
|
572
572
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
573
|
-
checksum = "
|
|
573
|
+
checksum = "52e0387578e845beb7a1acff126228499f26cb18edf12919cc513bb863266464"
|
|
574
574
|
dependencies = [
|
|
575
575
|
"bit-set",
|
|
576
576
|
"regex-automata",
|
|
@@ -731,9 +731,9 @@ dependencies = [
|
|
|
731
731
|
|
|
732
732
|
[[package]]
|
|
733
733
|
name = "hashlink"
|
|
734
|
-
version = "0.12.
|
|
734
|
+
version = "0.12.2"
|
|
735
735
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
736
|
-
checksum = "
|
|
736
|
+
checksum = "a596f1b20ed2cc5ecac41a164aaebc7258057060f06c0cf7a2ba3991ee7990fb"
|
|
737
737
|
dependencies = [
|
|
738
738
|
"hashbrown 0.17.1",
|
|
739
739
|
]
|
|
@@ -1250,7 +1250,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1250
1250
|
|
|
1251
1251
|
[[package]]
|
|
1252
1252
|
name = "panache"
|
|
1253
|
-
version = "3.
|
|
1253
|
+
version = "3.10.0"
|
|
1254
1254
|
dependencies = [
|
|
1255
1255
|
"annotate-snippets",
|
|
1256
1256
|
"assert_cmd",
|
|
@@ -1295,7 +1295,7 @@ dependencies = [
|
|
|
1295
1295
|
|
|
1296
1296
|
[[package]]
|
|
1297
1297
|
name = "panache-formatter"
|
|
1298
|
-
version = "0.24.
|
|
1298
|
+
version = "0.24.1"
|
|
1299
1299
|
dependencies = [
|
|
1300
1300
|
"badness-formatter",
|
|
1301
1301
|
"insta",
|
|
@@ -1315,7 +1315,7 @@ dependencies = [
|
|
|
1315
1315
|
|
|
1316
1316
|
[[package]]
|
|
1317
1317
|
name = "panache-parser"
|
|
1318
|
-
version = "0.29.
|
|
1318
|
+
version = "0.29.1"
|
|
1319
1319
|
dependencies = [
|
|
1320
1320
|
"badness-parser",
|
|
1321
1321
|
"entities",
|
|
@@ -1570,7 +1570,7 @@ version = "0.5.18"
|
|
|
1570
1570
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1571
1571
|
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
|
1572
1572
|
dependencies = [
|
|
1573
|
-
"bitflags 2.13.
|
|
1573
|
+
"bitflags 2.13.2",
|
|
1574
1574
|
]
|
|
1575
1575
|
|
|
1576
1576
|
[[package]]
|
|
@@ -1699,7 +1699,7 @@ version = "1.1.4"
|
|
|
1699
1699
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1700
1700
|
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
|
|
1701
1701
|
dependencies = [
|
|
1702
|
-
"bitflags 2.13.
|
|
1702
|
+
"bitflags 2.13.2",
|
|
1703
1703
|
"errno",
|
|
1704
1704
|
"libc",
|
|
1705
1705
|
"linux-raw-sys",
|
|
@@ -2064,9 +2064,9 @@ dependencies = [
|
|
|
2064
2064
|
|
|
2065
2065
|
[[package]]
|
|
2066
2066
|
name = "toml"
|
|
2067
|
-
version = "1.1.
|
|
2067
|
+
version = "1.1.6+spec-1.1.0"
|
|
2068
2068
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2069
|
-
checksum = "
|
|
2069
|
+
checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a"
|
|
2070
2070
|
dependencies = [
|
|
2071
2071
|
"indexmap",
|
|
2072
2072
|
"serde_core",
|
|
@@ -2164,9 +2164,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|
|
2164
2164
|
|
|
2165
2165
|
[[package]]
|
|
2166
2166
|
name = "uuid"
|
|
2167
|
-
version = "1.26.
|
|
2167
|
+
version = "1.26.1"
|
|
2168
2168
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2169
|
-
checksum = "
|
|
2169
|
+
checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
|
|
2170
2170
|
dependencies = [
|
|
2171
2171
|
"getrandom 0.4.3",
|
|
2172
2172
|
"js-sys",
|
|
@@ -2394,18 +2394,18 @@ dependencies = [
|
|
|
2394
2394
|
|
|
2395
2395
|
[[package]]
|
|
2396
2396
|
name = "zerocopy"
|
|
2397
|
-
version = "0.8.
|
|
2397
|
+
version = "0.8.57"
|
|
2398
2398
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2399
|
-
checksum = "
|
|
2399
|
+
checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873"
|
|
2400
2400
|
dependencies = [
|
|
2401
2401
|
"zerocopy-derive",
|
|
2402
2402
|
]
|
|
2403
2403
|
|
|
2404
2404
|
[[package]]
|
|
2405
2405
|
name = "zerocopy-derive"
|
|
2406
|
-
version = "0.8.
|
|
2406
|
+
version = "0.8.57"
|
|
2407
2407
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2408
|
-
checksum = "
|
|
2408
|
+
checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc"
|
|
2409
2409
|
dependencies = [
|
|
2410
2410
|
"proc-macro2",
|
|
2411
2411
|
"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.10.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
|
|
@@ -51,11 +51,11 @@ path = "src/main.rs"
|
|
|
51
51
|
required-features = ["cli"]
|
|
52
52
|
|
|
53
53
|
[dependencies]
|
|
54
|
-
panache-formatter = { path = "crates/panache-formatter", version = "0.24.
|
|
54
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.24.1", features = [
|
|
55
55
|
"serde",
|
|
56
56
|
"schema",
|
|
57
57
|
] }
|
|
58
|
-
panache-parser = { path = "crates/panache-parser", version = "0.29.
|
|
58
|
+
panache-parser = { path = "crates/panache-parser", version = "0.29.1", features = [
|
|
59
59
|
"serde",
|
|
60
60
|
"schema",
|
|
61
61
|
] }
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.24.1](https://github.com/jolars/panache/compare/panache-formatter-v0.24.0...panache-formatter-v0.24.1) (2026-09-11)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
- **formatter:** avoid duplicate quote prefixes ([`59fe1ce`](https://github.com/jolars/panache/commit/59fe1ce681cf657493b670473d05ba1638603aac))
|
|
7
|
+
- **formatter:** stabilize semantic list wrapping ([`1346dfa`](https://github.com/jolars/panache/commit/1346dfaa31ca3915f61de2b3e7fa0e58d44a9953))
|
|
8
|
+
- **formatter:** wrap separate math expressions ([`d7685b7`](https://github.com/jolars/panache/commit/d7685b7ee0d18c554814c95462c689d7c793f53a))
|
|
9
|
+
|
|
10
|
+
### Performance Improvements
|
|
11
|
+
- **formatter:** cache document sentence profiles ([`c7df8a3`](https://github.com/jolars/panache/commit/c7df8a367d2e38185075e9b06023733c82ff9de4))
|
|
12
|
+
|
|
13
|
+
### Dependencies
|
|
14
|
+
- updated crates/panache-parser to v0.29.1
|
|
15
|
+
|
|
3
16
|
## [0.24.0](https://github.com/jolars/panache/compare/panache-formatter-v0.23.0...panache-formatter-v0.24.0) (2026-09-06)
|
|
4
17
|
|
|
5
18
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.24.
|
|
3
|
+
version = "0.24.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.29.
|
|
22
|
+
panache-parser = { path = "../panache-parser", version = "0.29.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 }
|
|
@@ -13,12 +13,14 @@ use super::headings;
|
|
|
13
13
|
use super::inline;
|
|
14
14
|
use super::inline_layout;
|
|
15
15
|
use super::paragraphs;
|
|
16
|
+
use super::sentence_wrap::SentenceProfileCache;
|
|
16
17
|
use super::tables;
|
|
17
18
|
use super::utils::is_structural_block;
|
|
18
19
|
|
|
19
20
|
pub struct Formatter {
|
|
20
21
|
pub(super) output: String,
|
|
21
22
|
pub(super) config: Config,
|
|
23
|
+
pub(super) sentence_profile: SentenceProfileCache,
|
|
22
24
|
pub(super) consecutive_blank_lines: usize,
|
|
23
25
|
pub(super) fenced_div_depth: usize,
|
|
24
26
|
pub(super) formatted_code: FormattedCodeMap,
|
|
@@ -48,6 +50,7 @@ impl Formatter {
|
|
|
48
50
|
Self {
|
|
49
51
|
output: String::with_capacity(8192),
|
|
50
52
|
config,
|
|
53
|
+
sentence_profile: SentenceProfileCache::default(),
|
|
51
54
|
consecutive_blank_lines: 0,
|
|
52
55
|
fenced_div_depth: 0,
|
|
53
56
|
formatted_code,
|
|
@@ -99,9 +102,13 @@ impl Formatter {
|
|
|
99
102
|
node: &SyntaxNode,
|
|
100
103
|
width: usize,
|
|
101
104
|
) -> Vec<String> {
|
|
102
|
-
inline_layout::wrapped_lines_for_paragraph(
|
|
103
|
-
self.
|
|
104
|
-
|
|
105
|
+
inline_layout::wrapped_lines_for_paragraph(
|
|
106
|
+
&self.config,
|
|
107
|
+
&self.sentence_profile,
|
|
108
|
+
node,
|
|
109
|
+
width,
|
|
110
|
+
&|n| self.format_inline_node(n),
|
|
111
|
+
)
|
|
105
112
|
}
|
|
106
113
|
|
|
107
114
|
pub(super) fn wrapped_lines_for_paragraph_with_widths(
|
|
@@ -109,21 +116,31 @@ impl Formatter {
|
|
|
109
116
|
node: &SyntaxNode,
|
|
110
117
|
widths: &[usize],
|
|
111
118
|
) -> Vec<String> {
|
|
112
|
-
inline_layout::wrapped_lines_for_paragraph_with_widths(
|
|
113
|
-
self.
|
|
114
|
-
|
|
119
|
+
inline_layout::wrapped_lines_for_paragraph_with_widths(
|
|
120
|
+
&self.config,
|
|
121
|
+
&self.sentence_profile,
|
|
122
|
+
node,
|
|
123
|
+
widths,
|
|
124
|
+
&|n| self.format_inline_node(n),
|
|
125
|
+
)
|
|
115
126
|
}
|
|
116
127
|
|
|
117
128
|
pub(super) fn sentence_lines_for_paragraph(&self, node: &SyntaxNode) -> Vec<String> {
|
|
118
|
-
inline_layout::sentence_lines_for_paragraph(
|
|
119
|
-
self.
|
|
120
|
-
|
|
129
|
+
inline_layout::sentence_lines_for_paragraph(
|
|
130
|
+
&self.config,
|
|
131
|
+
&self.sentence_profile,
|
|
132
|
+
node,
|
|
133
|
+
&|n| self.format_inline_node(n),
|
|
134
|
+
)
|
|
121
135
|
}
|
|
122
136
|
|
|
123
137
|
pub(super) fn semantic_lines_for_paragraph(&self, node: &SyntaxNode) -> Vec<String> {
|
|
124
|
-
inline_layout::semantic_lines_for_paragraph(
|
|
125
|
-
self.
|
|
126
|
-
|
|
138
|
+
inline_layout::semantic_lines_for_paragraph(
|
|
139
|
+
&self.config,
|
|
140
|
+
&self.sentence_profile,
|
|
141
|
+
node,
|
|
142
|
+
&|n| self.format_inline_node(n),
|
|
143
|
+
)
|
|
127
144
|
}
|
|
128
145
|
|
|
129
146
|
pub(super) fn format_heading(&self, node: &SyntaxNode) -> String {
|
{panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/inline_layout.rs
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
use crate::config::{Config, Dialect};
|
|
2
2
|
use crate::formatter::sentence_wrap::{
|
|
3
|
-
ResolvedProfile, SentenceBoundaryClass, SentenceLanguage,
|
|
4
|
-
|
|
3
|
+
ResolvedProfile, SentenceBoundaryClass, SentenceLanguage, SentenceProfileCache,
|
|
4
|
+
SentenceSegment, is_sentence_boundary_segment,
|
|
5
5
|
};
|
|
6
6
|
use crate::formatter::smart::normalize_smart_punctuation;
|
|
7
|
-
use crate::syntax::{LatexCommand, SyntaxKind, SyntaxNode};
|
|
7
|
+
use crate::syntax::{LatexCommand, ListItem, SyntaxKind, SyntaxNode};
|
|
8
8
|
use panache_parser::parser::inlines::subscript::try_parse_subscript;
|
|
9
9
|
use rowan::NodeOrToken;
|
|
10
10
|
use rowan::ast::AstNode;
|
|
@@ -435,6 +435,26 @@ fn is_unsafe_list_line_start_piece(piece: &str) -> bool {
|
|
|
435
435
|
|| is_bullet_list_marker_piece(piece)
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
+
fn escape_fancy_list_marker(piece: &str) -> Option<String> {
|
|
439
|
+
let unescaped = match piece.rsplit_once('\\') {
|
|
440
|
+
Some((head, punctuation @ ("." | ")"))) => Cow::Owned(format!("{head}{punctuation}")),
|
|
441
|
+
_ => Cow::Borrowed(piece),
|
|
442
|
+
};
|
|
443
|
+
if !is_fancy_alpha_marker_piece(&unescaped)
|
|
444
|
+
&& !is_fancy_roman_marker_piece(&unescaped)
|
|
445
|
+
&& !is_fancy_paren_decimal_marker_piece(&unescaped)
|
|
446
|
+
&& !is_fancy_paren_alpha_or_roman_marker_piece(&unescaped)
|
|
447
|
+
{
|
|
448
|
+
return None;
|
|
449
|
+
}
|
|
450
|
+
if matches!(unescaped, Cow::Owned(_)) {
|
|
451
|
+
return Some(piece.to_string());
|
|
452
|
+
}
|
|
453
|
+
let mut escaped = piece.to_string();
|
|
454
|
+
escaped.insert(piece.len() - 1, '\\');
|
|
455
|
+
Some(escaped)
|
|
456
|
+
}
|
|
457
|
+
|
|
438
458
|
fn is_atx_heading_marker_piece(piece: &str) -> bool {
|
|
439
459
|
!piece.is_empty() && piece.len() <= 6 && piece.bytes().all(|b| b == b'#')
|
|
440
460
|
}
|
|
@@ -460,6 +480,7 @@ struct StreamingCoreSink<'a> {
|
|
|
460
480
|
avoid_definition_marker_line_start: bool,
|
|
461
481
|
avoid_heading_line_start: bool,
|
|
462
482
|
avoid_tilde_fence_line_start: bool,
|
|
483
|
+
escape_fancy_list_line_start: bool,
|
|
463
484
|
}
|
|
464
485
|
|
|
465
486
|
impl<'a> StreamingCoreSink<'a> {
|
|
@@ -492,6 +513,7 @@ impl<'a> StreamingCoreSink<'a> {
|
|
|
492
513
|
avoid_definition_marker_line_start,
|
|
493
514
|
avoid_heading_line_start,
|
|
494
515
|
avoid_tilde_fence_line_start,
|
|
516
|
+
escape_fancy_list_line_start: false,
|
|
495
517
|
}
|
|
496
518
|
}
|
|
497
519
|
|
|
@@ -534,12 +556,24 @@ impl<'a> StreamingCoreSink<'a> {
|
|
|
534
556
|
self.line.push(' ');
|
|
535
557
|
self.line_width += 1;
|
|
536
558
|
}
|
|
537
|
-
|
|
538
|
-
|
|
559
|
+
// Reindenting lazy list-item text can turn a preserved line's literal
|
|
560
|
+
// marker into a sublist. Keep it literal and attached to its text on
|
|
561
|
+
// subsequent passes, when its punctuation is already escaped.
|
|
562
|
+
let escaped_marker = (self.escape_fancy_list_line_start && !self.line_has_piece)
|
|
563
|
+
.then(|| escape_fancy_list_marker(&segment.text))
|
|
564
|
+
.flatten();
|
|
565
|
+
if let Some(escaped) = &escaped_marker {
|
|
566
|
+
self.line.push_str(escaped);
|
|
567
|
+
self.line_width += UnicodeWidthStr::width(escaped.as_str());
|
|
568
|
+
} else {
|
|
569
|
+
self.line.push_str(&segment.text);
|
|
570
|
+
self.line_width += piece_width;
|
|
571
|
+
}
|
|
539
572
|
self.line_has_piece = true;
|
|
540
573
|
self.prev_ws_after = segment.has_whitespace_after;
|
|
541
574
|
|
|
542
575
|
if self.sentence_mode
|
|
576
|
+
&& escaped_marker.is_none()
|
|
543
577
|
&& is_sentence_boundary_segment(&segment, next_segment, is_last, self.profile)
|
|
544
578
|
&& !next_segment.is_some_and(|next| self.piece_would_start_unsafe_line(&next.text))
|
|
545
579
|
{
|
|
@@ -1362,6 +1396,7 @@ fn process_node_recursive(
|
|
|
1362
1396
|
|
|
1363
1397
|
pub(super) fn wrapped_lines_for_paragraph(
|
|
1364
1398
|
config: &Config,
|
|
1399
|
+
sentence_profile: &SentenceProfileCache,
|
|
1365
1400
|
node: &SyntaxNode,
|
|
1366
1401
|
width: usize,
|
|
1367
1402
|
format_inline_fn: &dyn Fn(&SyntaxNode) -> String,
|
|
@@ -1372,6 +1407,7 @@ pub(super) fn wrapped_lines_for_paragraph(
|
|
|
1372
1407
|
log::trace!("wrapped_lines_for_paragraph called with width={}", width);
|
|
1373
1408
|
let out_lines = wrapped_lines_for_node(
|
|
1374
1409
|
config,
|
|
1410
|
+
sentence_profile,
|
|
1375
1411
|
node,
|
|
1376
1412
|
&[width],
|
|
1377
1413
|
format_inline_fn,
|
|
@@ -1383,6 +1419,7 @@ pub(super) fn wrapped_lines_for_paragraph(
|
|
|
1383
1419
|
|
|
1384
1420
|
pub(super) fn wrapped_lines_for_paragraph_with_widths(
|
|
1385
1421
|
config: &Config,
|
|
1422
|
+
sentence_profile: &SentenceProfileCache,
|
|
1386
1423
|
node: &SyntaxNode,
|
|
1387
1424
|
widths: &[usize],
|
|
1388
1425
|
format_inline_fn: &dyn Fn(&SyntaxNode) -> String,
|
|
@@ -1393,6 +1430,7 @@ pub(super) fn wrapped_lines_for_paragraph_with_widths(
|
|
|
1393
1430
|
log::trace!("wrapped_lines_for_paragraph_with_widths called");
|
|
1394
1431
|
let out_lines = wrapped_lines_for_node(
|
|
1395
1432
|
config,
|
|
1433
|
+
sentence_profile,
|
|
1396
1434
|
node,
|
|
1397
1435
|
widths,
|
|
1398
1436
|
format_inline_fn,
|
|
@@ -1404,6 +1442,7 @@ pub(super) fn wrapped_lines_for_paragraph_with_widths(
|
|
|
1404
1442
|
|
|
1405
1443
|
pub(super) fn sentence_lines_for_paragraph(
|
|
1406
1444
|
config: &Config,
|
|
1445
|
+
sentence_profile: &SentenceProfileCache,
|
|
1407
1446
|
node: &SyntaxNode,
|
|
1408
1447
|
format_inline_fn: &dyn Fn(&SyntaxNode) -> String,
|
|
1409
1448
|
) -> Vec<String> {
|
|
@@ -1413,6 +1452,7 @@ pub(super) fn sentence_lines_for_paragraph(
|
|
|
1413
1452
|
log::trace!("sentence_lines_for_paragraph called");
|
|
1414
1453
|
wrapped_lines_for_node(
|
|
1415
1454
|
config,
|
|
1455
|
+
sentence_profile,
|
|
1416
1456
|
node,
|
|
1417
1457
|
&[],
|
|
1418
1458
|
format_inline_fn,
|
|
@@ -1422,6 +1462,7 @@ pub(super) fn sentence_lines_for_paragraph(
|
|
|
1422
1462
|
|
|
1423
1463
|
pub(super) fn semantic_lines_for_paragraph(
|
|
1424
1464
|
config: &Config,
|
|
1465
|
+
sentence_profile: &SentenceProfileCache,
|
|
1425
1466
|
node: &SyntaxNode,
|
|
1426
1467
|
format_inline_fn: &dyn Fn(&SyntaxNode) -> String,
|
|
1427
1468
|
) -> Vec<String> {
|
|
@@ -1431,6 +1472,7 @@ pub(super) fn semantic_lines_for_paragraph(
|
|
|
1431
1472
|
log::trace!("semantic_lines_for_paragraph called");
|
|
1432
1473
|
wrapped_lines_for_node(
|
|
1433
1474
|
config,
|
|
1475
|
+
sentence_profile,
|
|
1434
1476
|
node,
|
|
1435
1477
|
&[],
|
|
1436
1478
|
format_inline_fn,
|
|
@@ -1501,6 +1543,7 @@ fn east_asian_break_creates_subscript(config: &Config, node: &SyntaxNode) -> boo
|
|
|
1501
1543
|
|
|
1502
1544
|
pub(super) fn wrapped_lines_for_node(
|
|
1503
1545
|
config: &Config,
|
|
1546
|
+
sentence_profile: &SentenceProfileCache,
|
|
1504
1547
|
node: &SyntaxNode,
|
|
1505
1548
|
widths: &[usize],
|
|
1506
1549
|
format_inline_fn: &dyn Fn(&SyntaxNode) -> String,
|
|
@@ -1513,8 +1556,11 @@ pub(super) fn wrapped_lines_for_node(
|
|
|
1513
1556
|
} else {
|
|
1514
1557
|
&[1]
|
|
1515
1558
|
};
|
|
1516
|
-
let
|
|
1517
|
-
|
|
1559
|
+
let profile = if sentence_mode {
|
|
1560
|
+
sentence_profile.resolve(node, config)
|
|
1561
|
+
} else {
|
|
1562
|
+
ResolvedProfile::builtin_only(SentenceLanguage::English)
|
|
1563
|
+
};
|
|
1518
1564
|
let escape_literal_tildes =
|
|
1519
1565
|
!options.preserve_newlines && east_asian_break_creates_subscript(config, node);
|
|
1520
1566
|
let mut builder = TraversalBuilder::new(
|
|
@@ -1529,6 +1575,11 @@ pub(super) fn wrapped_lines_for_node(
|
|
|
1529
1575
|
options.preserve_newlines,
|
|
1530
1576
|
escape_literal_tildes,
|
|
1531
1577
|
);
|
|
1578
|
+
builder.sink.escape_fancy_list_line_start = options.preserve_newlines
|
|
1579
|
+
&& config.parser_extensions.fancy_lists
|
|
1580
|
+
&& node
|
|
1581
|
+
.ancestors()
|
|
1582
|
+
.any(|ancestor| ListItem::can_cast(ancestor.kind()));
|
|
1532
1583
|
process_node_recursive(
|
|
1533
1584
|
config,
|
|
1534
1585
|
node,
|
|
@@ -8,7 +8,7 @@ use panache_parser::parser::blocks::headings::try_parse_atx_heading;
|
|
|
8
8
|
use rowan::NodeOrToken;
|
|
9
9
|
|
|
10
10
|
use super::Formatter;
|
|
11
|
-
use super::preserve::{
|
|
11
|
+
use super::preserve::{preserve_lines, preserve_lines_unprefixed};
|
|
12
12
|
use super::utils::is_block_element;
|
|
13
13
|
|
|
14
14
|
impl Formatter {
|
|
@@ -573,7 +573,7 @@ impl Formatter {
|
|
|
573
573
|
match wrap_mode {
|
|
574
574
|
WrapMode::Preserve => {
|
|
575
575
|
let escaped = self.config.formatter_extensions.escaped_line_breaks;
|
|
576
|
-
for line in
|
|
576
|
+
for line in preserve_lines_unprefixed(node, escaped) {
|
|
577
577
|
self.output.push_str(&" ".repeat(indent));
|
|
578
578
|
self.output.push_str(line.trim_start());
|
|
579
579
|
self.output.push('\n');
|
|
@@ -1184,6 +1184,7 @@ impl Formatter {
|
|
|
1184
1184
|
.map(|source| {
|
|
1185
1185
|
inline_layout::wrapped_lines_for_node(
|
|
1186
1186
|
&self.config,
|
|
1187
|
+
&self.sentence_profile,
|
|
1187
1188
|
source,
|
|
1188
1189
|
&line_widths,
|
|
1189
1190
|
&|n| self.format_inline_node(n),
|
|
@@ -1210,7 +1211,7 @@ impl Formatter {
|
|
|
1210
1211
|
Some(
|
|
1211
1212
|
content_node
|
|
1212
1213
|
.as_ref()
|
|
1213
|
-
.map(|content|
|
|
1214
|
+
.map(|content| preserve_lines_unprefixed(content, escaped))
|
|
1214
1215
|
.unwrap_or_default(),
|
|
1215
1216
|
)
|
|
1216
1217
|
}
|
|
@@ -1235,6 +1236,7 @@ impl Formatter {
|
|
|
1235
1236
|
.map(|source| {
|
|
1236
1237
|
inline_layout::wrapped_lines_for_node(
|
|
1237
1238
|
&self.config,
|
|
1239
|
+
&self.sentence_profile,
|
|
1238
1240
|
source,
|
|
1239
1241
|
&[],
|
|
1240
1242
|
&|n| self.format_inline_node(n),
|
|
@@ -1587,10 +1589,18 @@ impl Formatter {
|
|
|
1587
1589
|
" ".repeat(list_indent.spaces_after),
|
|
1588
1590
|
);
|
|
1589
1591
|
let table_str = match child.kind() {
|
|
1590
|
-
SyntaxKind::PIPE_TABLE =>
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1592
|
+
SyntaxKind::PIPE_TABLE => tables::format_pipe_table(
|
|
1593
|
+
&child,
|
|
1594
|
+
&self.config,
|
|
1595
|
+
&self.sentence_profile,
|
|
1596
|
+
content_indent,
|
|
1597
|
+
),
|
|
1598
|
+
_ => tables::format_grid_table(
|
|
1599
|
+
&child,
|
|
1600
|
+
&self.config,
|
|
1601
|
+
&self.sentence_profile,
|
|
1602
|
+
content_indent,
|
|
1603
|
+
),
|
|
1594
1604
|
};
|
|
1595
1605
|
let first_line_indent = " ".repeat(content_indent);
|
|
1596
1606
|
self.output.push_str(&prefix);
|
{panache_cli-3.9.0 → panache_cli-3.10.0}/crates/panache-formatter/src/formatter/math/STYLE.md
RENAMED
|
@@ -68,6 +68,9 @@ This line hygiene does not otherwise normalize or reflow the preserved content.
|
|
|
68
68
|
- Panache retains an authored environment-row boundary after a standalone TeX
|
|
69
69
|
control space. The pinned formatter moves the control space onto the next row;
|
|
70
70
|
Panache keeps the semantic space at the physical line end.
|
|
71
|
+
- Panache wraps independent equations at top-level punctuation. The pinned
|
|
72
|
+
formatter treats their relations as one chain and can strand the second
|
|
73
|
+
equation's left-hand side at the end of the preceding line.
|
|
71
74
|
|
|
72
75
|
## Rules
|
|
73
76
|
|
|
@@ -276,20 +279,31 @@ This line hygiene does not otherwise normalize or reflow the preserved content.
|
|
|
276
279
|
`:`.
|
|
277
280
|
|
|
278
281
|
7. **Display line-breaking.** In `reflow` mode, a free display row (`$$…$$`,
|
|
279
|
-
non-environment) wider than `line-width` is broken
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
non-environment) wider than `line-width` is broken after **top-level**
|
|
283
|
+
punctuation, around `\qquad`, or before top-level operators. Operator
|
|
284
|
+
candidates follow parser `MathBreakPriority` (**relations** > **binary** >
|
|
285
|
+
everything else). It chooses a subset of those candidates instead of breaking
|
|
286
|
+
at every operator. The deterministic layout score charges squared overflow
|
|
287
|
+
more heavily than a continuation, prefers punctuation and later relation
|
|
288
|
+
breaks to binary breaks, and prefers a binary break to separating the first
|
|
285
289
|
relation from its left-hand side. Ties favor the smaller maximum line width,
|
|
286
290
|
then the smaller sum of squared line widths. This packs complete operator
|
|
287
291
|
segments together when they fit instead of stranding `\pm`, `\cdot`, or a
|
|
288
292
|
short relation on its own line.
|
|
289
293
|
|
|
294
|
+
Top-level punctuation, such as commas and semicolons, and `\qquad` separate
|
|
295
|
+
independent expressions. A selected break after punctuation starts at the
|
|
296
|
+
display indent and leaves the punctuation attached to the preceding
|
|
297
|
+
expression. When a break selects `\qquad`, the command occupies its own
|
|
298
|
+
source line at the display indent, followed by the next expression at that
|
|
299
|
+
same indent. Its width does not affect that expression's wrapping or relation
|
|
300
|
+
alignment. Expressions that fit together keep `\qquad` inline.
|
|
301
|
+
|
|
290
302
|
A selected later relation starts a continuation aligned under the **first
|
|
291
|
-
relation**---the classic stacked-`=` layout for an
|
|
292
|
-
|
|
303
|
+
relation in its expression**---the classic stacked-`=` layout for an
|
|
304
|
+
equality/comparison chain. The anchor is the relation's printed column; if
|
|
305
|
+
the first relation moves to a new line, later relations follow that column. A
|
|
306
|
+
selected binary continuation sits **flush** under that relation segment's
|
|
293
307
|
right-hand side. The relation/RHS offset alone supplies the visual nesting;
|
|
294
308
|
binary continuations never pick up an extra step. A top-level conditioning
|
|
295
309
|
bar (`\mid`) identifies neighboring relations as separate predicates rather
|
|
@@ -334,12 +348,12 @@ This line hygiene does not otherwise normalize or reflow the preserved content.
|
|
|
334
348
|
content, `line-width`, and `math-indent`---the author's own line breaks and
|
|
335
349
|
indentation are never preserved, only recomputed.
|
|
336
350
|
|
|
337
|
-
- **Top-level only.**
|
|
338
|
-
token runs `(…)` or `[…]` --- is never a break candidate.
|
|
339
|
-
`MATH_DELIMITED` (`\left…\right`), `MATH_GROUP`, and
|
|
340
|
-
nodes are opaque operands that the break scan never
|
|
341
|
-
interior operators are likewise excluded.
|
|
342
|
-
- **Spaced operators only.**
|
|
351
|
+
- **Top-level only.** Punctuation or an operator at delimiter depth > 0 ---
|
|
352
|
+
inside the flat token runs `(…)` or `[…]` --- is never a break candidate.
|
|
353
|
+
Structural `MATH_DELIMITED` (`\left…\right`), `MATH_GROUP`, and
|
|
354
|
+
`MATH_ENVIRONMENT` nodes are opaque operands that the break scan never
|
|
355
|
+
descends into, so their interior operators are likewise excluded.
|
|
356
|
+
- **Spaced operators only.** An operator candidate has parser
|
|
343
357
|
`MathBreakPriority::Binary` or `MathBreakPriority::Relation`; a unary
|
|
344
358
|
`+`/`-` is `Ord` and never a break site. Typed lowering keeps the semantic
|
|
345
359
|
atom stream intact across continuation segments, so a leading binary
|