panache-cli 3.0.2__tar.gz → 3.1.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.0.2 → panache_cli-3.1.0}/Cargo.lock +32 -32
- {panache_cli-3.0.2 → panache_cli-3.1.0}/Cargo.toml +4 -4
- {panache_cli-3.0.2 → panache_cli-3.1.0}/PKG-INFO +1 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/CHANGELOG.md +11 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/Cargo.toml +3 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/core.rs +58 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/inline.rs +47 -5
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/CHANGELOG.md +18 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/Cargo.toml +1 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/pandoc_ast.rs +34 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/block_dispatcher.rs +82 -16
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +20 -2
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +7 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +14 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +61 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/core.rs +201 -4
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/citations.rs +169 -21
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/core.rs +3 -4
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +163 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/container_stack.rs +5 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/continuation.rs +23 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +70 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/model.rs +1 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/validator.rs +94 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser.rs +54 -50
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/inlines.rs +1 -2
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/references.rs +5 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/includes.rs +73 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lib.rs +1 -0
- panache_cli-3.1.0/src/linter/project_index.rs +334 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/citation_keys.rs +1 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/duplicate_references.rs +17 -17
- panache_cli-3.1.0/src/linter/rules/duplicate_yaml_anchor.rs +116 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/heading_hierarchy.rs +2 -12
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/undefined_anchor.rs +21 -86
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/undefined_references.rs +65 -112
- panache_cli-3.1.0/src/linter/rules/unspaced_citation.rs +219 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/unused_definitions.rs +22 -171
- panache_cli-3.1.0/src/linter/rules/unused_yaml_anchor.rs +103 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules.rs +70 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/runner.rs +18 -0
- panache_cli-3.1.0/src/linter/yaml_anchors.rs +72 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter.rs +22 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/context.rs +7 -1
- panache_cli-3.1.0/src/lsp/conversions.rs +283 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/dispatch.rs +18 -2
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/documents.rs +25 -9
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/global_state.rs +83 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/code_actions.rs +14 -11
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/completion.rs +13 -5
- panache_cli-3.1.0/src/lsp/handlers/configuration.rs +69 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/diagnostics.rs +12 -7
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/document_highlight.rs +4 -4
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/document_links.rs +10 -9
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/document_symbols.rs +37 -33
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/file_rename.rs +4 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/file_watcher.rs +1 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/folding_ranges.rs +37 -35
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/footnote_conversion.rs +11 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/formatting.rs +11 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/goto_definition.rs +4 -4
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/heading_link_conversion.rs +3 -2
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/hover.rs +1 -1
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/link_conversion.rs +11 -8
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/linked_editing_range.rs +3 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/list_conversion.rs +27 -18
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/prepare_rename.rs +3 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/references.rs +4 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/rename.rs +10 -7
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/semantic_tokens.rs +11 -9
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/workspace_symbols.rs +8 -6
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/helpers.rs +3 -2
- panache_cli-3.1.0/src/lsp/line_index.rs +341 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/navigation.rs +3 -2
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/testing.rs +37 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp.rs +5 -3
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/main.rs +358 -132
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata/project.rs +19 -9
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata.rs +22 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/salsa.rs +674 -127
- panache_cli-3.1.0/src/vfs.rs +242 -0
- panache_cli-3.0.2/src/lsp/conversions.rs +0 -667
- panache_cli-3.0.2/src/lsp/handlers/configuration.rs +0 -31
- {panache_cli-3.0.2 → panache_cli-3.1.0}/LICENSE +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/README.md +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/build.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/config.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/directives.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/inline_layout.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/lists.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/STYLE.md +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/linebreak.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/operators.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/tables.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/build.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/grid_layout.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/lib.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/options.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tables.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/math.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/range_utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/kind.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/links.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/math.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/crates/panache-parser/src/syntax.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/pyproject.toml +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/index.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/preview.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib/ris.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bib.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/cache.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/cli.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/config/types/schema_helpers.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/config/types.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/config.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/diagnostic_renderer.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/directives.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/external_tools_common.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/formatter.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/code_block_collector.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/jarl.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/external_linters_sync.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/index.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/offsets.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema/interp.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema/report.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema/value.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/consumer_divergence.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/emoji_aliases.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/empty_list_item.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/empty_values.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/html_entities.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/link_text_is_url.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/math_content.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/quarto_schema.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/config.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata/bibliography.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata/citations.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata/references.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/metadata/yaml.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/parser.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/range_utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/syntax.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/utils.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/yaml_engine.rs +0 -0
- {panache_cli-3.0.2 → panache_cli-3.1.0}/src/yaml_regions.rs +0 -0
|
@@ -24,9 +24,9 @@ dependencies = [
|
|
|
24
24
|
|
|
25
25
|
[[package]]
|
|
26
26
|
name = "aho-corasick"
|
|
27
|
-
version = "1.1.
|
|
27
|
+
version = "1.1.5"
|
|
28
28
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
29
|
-
checksum = "
|
|
29
|
+
checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
|
|
30
30
|
dependencies = [
|
|
31
31
|
"memchr",
|
|
32
32
|
]
|
|
@@ -189,9 +189,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
|
189
189
|
|
|
190
190
|
[[package]]
|
|
191
191
|
name = "clap"
|
|
192
|
-
version = "4.6.
|
|
192
|
+
version = "4.6.5"
|
|
193
193
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
194
|
-
checksum = "
|
|
194
|
+
checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
|
|
195
195
|
dependencies = [
|
|
196
196
|
"clap_builder",
|
|
197
197
|
"clap_derive",
|
|
@@ -208,9 +208,9 @@ dependencies = [
|
|
|
208
208
|
|
|
209
209
|
[[package]]
|
|
210
210
|
name = "clap_builder"
|
|
211
|
-
version = "4.6.
|
|
211
|
+
version = "4.6.5"
|
|
212
212
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
213
|
-
checksum = "
|
|
213
|
+
checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
|
|
214
214
|
dependencies = [
|
|
215
215
|
"anstream",
|
|
216
216
|
"anstyle",
|
|
@@ -366,9 +366,9 @@ dependencies = [
|
|
|
366
366
|
|
|
367
367
|
[[package]]
|
|
368
368
|
name = "data-encoding"
|
|
369
|
-
version = "2.11.
|
|
369
|
+
version = "2.11.1"
|
|
370
370
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
371
|
-
checksum = "
|
|
371
|
+
checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06"
|
|
372
372
|
|
|
373
373
|
[[package]]
|
|
374
374
|
name = "defmt"
|
|
@@ -814,9 +814,9 @@ dependencies = [
|
|
|
814
814
|
|
|
815
815
|
[[package]]
|
|
816
816
|
name = "ignore"
|
|
817
|
-
version = "0.4.
|
|
817
|
+
version = "0.4.32"
|
|
818
818
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
819
|
-
checksum = "
|
|
819
|
+
checksum = "0b17771570a2b94107741a7b033f19132c2eee21d59d21b24d2ced26500bd66e"
|
|
820
820
|
dependencies = [
|
|
821
821
|
"crossbeam-deque",
|
|
822
822
|
"globset",
|
|
@@ -930,9 +930,9 @@ dependencies = [
|
|
|
930
930
|
|
|
931
931
|
[[package]]
|
|
932
932
|
name = "jsonschema"
|
|
933
|
-
version = "0.
|
|
933
|
+
version = "0.49.3"
|
|
934
934
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
935
|
-
checksum = "
|
|
935
|
+
checksum = "508004a5500f2e1f68af048f70feea2de86d35ab115d85716530860822aef397"
|
|
936
936
|
dependencies = [
|
|
937
937
|
"ahash",
|
|
938
938
|
"bytecount",
|
|
@@ -959,18 +959,18 @@ dependencies = [
|
|
|
959
959
|
|
|
960
960
|
[[package]]
|
|
961
961
|
name = "jsonschema-regex"
|
|
962
|
-
version = "0.
|
|
962
|
+
version = "0.49.3"
|
|
963
963
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
964
|
-
checksum = "
|
|
964
|
+
checksum = "5a8b30cafa78358ae6cd1494a7d6410b89530e28bf567f862c869c667e900d9f"
|
|
965
965
|
dependencies = [
|
|
966
966
|
"regex-syntax",
|
|
967
967
|
]
|
|
968
968
|
|
|
969
969
|
[[package]]
|
|
970
970
|
name = "jsonschema-value"
|
|
971
|
-
version = "0.
|
|
971
|
+
version = "0.49.3"
|
|
972
972
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
973
|
-
checksum = "
|
|
973
|
+
checksum = "5526bd381d230af94908d07e6835a33fd82a465e12f5f1e9c81f5c2aa23b3c21"
|
|
974
974
|
dependencies = [
|
|
975
975
|
"ahash",
|
|
976
976
|
"bytecount",
|
|
@@ -994,9 +994,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
|
|
|
994
994
|
|
|
995
995
|
[[package]]
|
|
996
996
|
name = "libredox"
|
|
997
|
-
version = "0.1.
|
|
997
|
+
version = "0.1.19"
|
|
998
998
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
999
|
-
checksum = "
|
|
999
|
+
checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa"
|
|
1000
1000
|
dependencies = [
|
|
1001
1001
|
"libc",
|
|
1002
1002
|
]
|
|
@@ -1205,7 +1205,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1205
1205
|
|
|
1206
1206
|
[[package]]
|
|
1207
1207
|
name = "panache"
|
|
1208
|
-
version = "3.0
|
|
1208
|
+
version = "3.1.0"
|
|
1209
1209
|
dependencies = [
|
|
1210
1210
|
"annotate-snippets",
|
|
1211
1211
|
"assert_cmd",
|
|
@@ -1249,7 +1249,7 @@ dependencies = [
|
|
|
1249
1249
|
|
|
1250
1250
|
[[package]]
|
|
1251
1251
|
name = "panache-formatter"
|
|
1252
|
-
version = "0.20.
|
|
1252
|
+
version = "0.20.3"
|
|
1253
1253
|
dependencies = [
|
|
1254
1254
|
"insta",
|
|
1255
1255
|
"log",
|
|
@@ -1267,7 +1267,7 @@ dependencies = [
|
|
|
1267
1267
|
|
|
1268
1268
|
[[package]]
|
|
1269
1269
|
name = "panache-parser"
|
|
1270
|
-
version = "0.
|
|
1270
|
+
version = "0.23.0"
|
|
1271
1271
|
dependencies = [
|
|
1272
1272
|
"entities",
|
|
1273
1273
|
"insta",
|
|
@@ -1426,9 +1426,9 @@ dependencies = [
|
|
|
1426
1426
|
|
|
1427
1427
|
[[package]]
|
|
1428
1428
|
name = "pulldown-latex"
|
|
1429
|
-
version = "0.
|
|
1429
|
+
version = "0.8.0"
|
|
1430
1430
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1431
|
-
checksum = "
|
|
1431
|
+
checksum = "1cf850381ae0dbb131f36e31d6090f55363d079ab3e518ad0323b9cb6a96d115"
|
|
1432
1432
|
dependencies = [
|
|
1433
1433
|
"bumpalo",
|
|
1434
1434
|
]
|
|
@@ -1516,9 +1516,9 @@ dependencies = [
|
|
|
1516
1516
|
|
|
1517
1517
|
[[package]]
|
|
1518
1518
|
name = "referencing"
|
|
1519
|
-
version = "0.
|
|
1519
|
+
version = "0.49.3"
|
|
1520
1520
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1521
|
-
checksum = "
|
|
1521
|
+
checksum = "7af3eb523cce0df0af3c30d624b829b2dabd233172b5bc2615fcd03ceae8f746"
|
|
1522
1522
|
dependencies = [
|
|
1523
1523
|
"ahash",
|
|
1524
1524
|
"fluent-uri 0.4.1",
|
|
@@ -1611,9 +1611,9 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
|
|
|
1611
1611
|
|
|
1612
1612
|
[[package]]
|
|
1613
1613
|
name = "salsa"
|
|
1614
|
-
version = "0.28.
|
|
1614
|
+
version = "0.28.2"
|
|
1615
1615
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1616
|
-
checksum = "
|
|
1616
|
+
checksum = "cf0e374215cd2db2b5c75d7b3a99cb0cc052c0595335dfdefc03d4eb08f4aa81"
|
|
1617
1617
|
dependencies = [
|
|
1618
1618
|
"boxcar",
|
|
1619
1619
|
"crossbeam-queue",
|
|
@@ -1637,19 +1637,19 @@ dependencies = [
|
|
|
1637
1637
|
|
|
1638
1638
|
[[package]]
|
|
1639
1639
|
name = "salsa-macro-rules"
|
|
1640
|
-
version = "0.28.
|
|
1640
|
+
version = "0.28.2"
|
|
1641
1641
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1642
|
-
checksum = "
|
|
1642
|
+
checksum = "85f4b7d4405540bbd6d4ffa52d4322d983f3781954d3073067ac1bdb028459b3"
|
|
1643
1643
|
|
|
1644
1644
|
[[package]]
|
|
1645
1645
|
name = "salsa-macros"
|
|
1646
|
-
version = "0.28.
|
|
1646
|
+
version = "0.28.2"
|
|
1647
1647
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1648
|
-
checksum = "
|
|
1648
|
+
checksum = "445be2bfbb2f67cb663225ecd7bc5a25370c0250fca30f9d8cbad9a913650370"
|
|
1649
1649
|
dependencies = [
|
|
1650
1650
|
"proc-macro2",
|
|
1651
1651
|
"quote",
|
|
1652
|
-
"syn
|
|
1652
|
+
"syn 3.0.3",
|
|
1653
1653
|
]
|
|
1654
1654
|
|
|
1655
1655
|
[[package]]
|
|
@@ -7,7 +7,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
|
|
|
7
7
|
|
|
8
8
|
[package]
|
|
9
9
|
name = "panache"
|
|
10
|
-
version = "3.0
|
|
10
|
+
version = "3.1.0"
|
|
11
11
|
edition.workspace = true
|
|
12
12
|
# `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
|
|
13
13
|
# `cargo run` resolving to the CLI for tooling like the pre-commit format hook.
|
|
@@ -48,8 +48,8 @@ path = "src/main.rs"
|
|
|
48
48
|
required-features = ["cli"]
|
|
49
49
|
|
|
50
50
|
[dependencies]
|
|
51
|
-
panache-formatter = { path = "crates/panache-formatter", version = "0.20.
|
|
52
|
-
panache-parser = { path = "crates/panache-parser", version = "0.
|
|
51
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.20.3" }
|
|
52
|
+
panache-parser = { path = "crates/panache-parser", version = "0.23.0", features = [
|
|
53
53
|
"serde",
|
|
54
54
|
"schema",
|
|
55
55
|
] }
|
|
@@ -84,7 +84,7 @@ similar-asserts = "2.0.0"
|
|
|
84
84
|
insta = { version = "1.47.2", features = ["json"] }
|
|
85
85
|
assert_cmd = "2.2.2"
|
|
86
86
|
predicates = "3.1.4"
|
|
87
|
-
jsonschema = { version = "0.
|
|
87
|
+
jsonschema = { version = "0.49.2", default-features = false }
|
|
88
88
|
|
|
89
89
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
90
90
|
rayon = "1.10.0"
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.20.3](https://github.com/jolars/panache/compare/panache-formatter-v0.20.2...panache-formatter-v0.20.3) (2026-08-03)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
- **formatter:** preserve inline code-span whitespace ([`eea7b2e`](https://github.com/jolars/panache/commit/eea7b2ecfdff0fe0c178a757ff0cf0dab2819495))
|
|
7
|
+
- **formatter:** keep blockquote definitions prefixed ([`1110029`](https://github.com/jolars/panache/commit/1110029153ecb21f90bc14a51350e9b9809948cf))
|
|
8
|
+
- **formatter:** tidy bare-marker definition body ([`0ca8a0c`](https://github.com/jolars/panache/commit/0ca8a0ca12c0b17a38a05704a64e6e85eb5dcf9f))
|
|
9
|
+
- **formatter:** keep display math inline in table cells ([`32f45b3`](https://github.com/jolars/panache/commit/32f45b34e4c9ff28d313a8b359b8805e65559713)), closes [#449](https://github.com/jolars/panache/issues/449)
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
- updated crates/panache-parser to v0.23.0
|
|
13
|
+
|
|
3
14
|
## [0.20.2](https://github.com/jolars/panache/compare/panache-formatter-v0.20.1...panache-formatter-v0.20.2) (2026-07-28)
|
|
4
15
|
|
|
5
16
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.20.
|
|
3
|
+
version = "0.20.3"
|
|
4
4
|
edition.workspace = true
|
|
5
5
|
include = [
|
|
6
6
|
"/src/**/*",
|
|
@@ -18,7 +18,7 @@ keywords = ["quarto", "pandoc", "markdown", "formatter"]
|
|
|
18
18
|
categories = ["text-processing"]
|
|
19
19
|
|
|
20
20
|
[dependencies]
|
|
21
|
-
panache-parser = { path = "../panache-parser", version = "0.
|
|
21
|
+
panache-parser = { path = "../panache-parser", version = "0.23.0" }
|
|
22
22
|
log = { version = "0.4.31", features = ["release_max_level_debug"] }
|
|
23
23
|
rowan = "0.16.1"
|
|
24
24
|
serde = { version = "1.0.228", features = ["derive"], optional = true }
|
|
@@ -44,6 +44,6 @@ pretty_yaml = "0.6.0"
|
|
|
44
44
|
# the source of truth; this is a correctness signal, never a runtime dependency.
|
|
45
45
|
# Revisit alongside the YAML oracle once the math formatter has been stable in
|
|
46
46
|
# releases for a few months.
|
|
47
|
-
pulldown-latex = "0.
|
|
47
|
+
pulldown-latex = "0.8.0"
|
|
48
48
|
similar-asserts = "2.0.0"
|
|
49
49
|
toml = "1.1.2"
|
|
@@ -1567,6 +1567,29 @@ impl Formatter {
|
|
|
1567
1567
|
ctx.in_list_continuation = false;
|
|
1568
1568
|
}
|
|
1569
1569
|
}
|
|
1570
|
+
SyntaxKind::DEFINITION_LIST => {
|
|
1571
|
+
// Format the definition list to a temp buffer, then
|
|
1572
|
+
// re-emit each line behind the blockquote prefix so
|
|
1573
|
+
// the list stays inside the quote. Without this the
|
|
1574
|
+
// definition escapes the blockquote (dropping the
|
|
1575
|
+
// `>` prefix), which reparses as a top-level
|
|
1576
|
+
// paragraph -- a lossless/idempotency break.
|
|
1577
|
+
let saved_output = self.output.clone();
|
|
1578
|
+
self.output.clear();
|
|
1579
|
+
self.format_node_sync(child, indent);
|
|
1580
|
+
let def_output = self.output.clone();
|
|
1581
|
+
self.output = saved_output;
|
|
1582
|
+
|
|
1583
|
+
self.append_blockquote_prefixed_block(
|
|
1584
|
+
&def_output,
|
|
1585
|
+
&content_prefix,
|
|
1586
|
+
&blank_prefix,
|
|
1587
|
+
None,
|
|
1588
|
+
);
|
|
1589
|
+
if let Some(ctx) = self.blockquote_context.as_mut() {
|
|
1590
|
+
ctx.in_list_continuation = false;
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1570
1593
|
_ => {
|
|
1571
1594
|
// Handle other content within block quotes
|
|
1572
1595
|
self.format_node_sync(child, indent);
|
|
@@ -2119,10 +2142,44 @@ impl Formatter {
|
|
|
2119
2142
|
self.output.push_str(tok.text());
|
|
2120
2143
|
}
|
|
2121
2144
|
NodeOrToken::Token(tok) if tok.kind() == SyntaxKind::NEWLINE => {
|
|
2145
|
+
// Bare marker (`:` alone on its line, body on the next
|
|
2146
|
+
// line): drop this newline so the first block pulls up
|
|
2147
|
+
// onto the `: ` line, matching pandoc and the
|
|
2148
|
+
// same-line-marker style used elsewhere. Detected by an
|
|
2149
|
+
// empty marker line (output still ends with `: `) with
|
|
2150
|
+
// a block element immediately after.
|
|
2151
|
+
let bare_marker_pull_up = self.output.ends_with(": ")
|
|
2152
|
+
&& children.get(i + 1).is_some_and(|next| match next {
|
|
2153
|
+
NodeOrToken::Node(n) if n.kind() == SyntaxKind::PLAIN => {
|
|
2154
|
+
// A heading-shaped PLAIN (`# ...`) is literal
|
|
2155
|
+
// inline text in a compact definition; pulling
|
|
2156
|
+
// it onto the `: ` line would reparse as a
|
|
2157
|
+
// real ATX heading — a meaning change. Keep it
|
|
2158
|
+
// on its own line.
|
|
2159
|
+
let first_line = n
|
|
2160
|
+
.text()
|
|
2161
|
+
.to_string()
|
|
2162
|
+
.lines()
|
|
2163
|
+
.next()
|
|
2164
|
+
.unwrap_or_default()
|
|
2165
|
+
.trim_start_matches([' ', '\t'])
|
|
2166
|
+
.to_string();
|
|
2167
|
+
try_parse_atx_heading(&first_line).is_none()
|
|
2168
|
+
}
|
|
2169
|
+
NodeOrToken::Node(n) => is_block_element(n.kind()),
|
|
2170
|
+
_ => false,
|
|
2171
|
+
});
|
|
2122
2172
|
// If next child is the first lazy paragraph, add space instead
|
|
2123
2173
|
if first_para_idx.is_some_and(|idx| i + 1 == idx) {
|
|
2124
2174
|
self.output.push(' ');
|
|
2125
|
-
} else {
|
|
2175
|
+
} else if !bare_marker_pull_up {
|
|
2176
|
+
// A bare marker whose body stays on its own line (e.g.
|
|
2177
|
+
// a heading-shaped PLAIN that must not pull up) would
|
|
2178
|
+
// otherwise leave the `: ` padding as trailing
|
|
2179
|
+
// whitespace. Drop it back to a lone `:`.
|
|
2180
|
+
if self.output.ends_with(": ") {
|
|
2181
|
+
self.output.truncate(self.output.len() - 3);
|
|
2182
|
+
}
|
|
2126
2183
|
self.output.push('\n');
|
|
2127
2184
|
}
|
|
2128
2185
|
}
|
|
@@ -30,7 +30,7 @@ fn expand_tabs_code_span(text: &str, tab_width: usize) -> String {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
out
|
|
33
|
+
out
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/// Render a `CITATION` or `CROSSREF` node by concatenating its child tokens.
|
|
@@ -112,6 +112,23 @@ fn collapse_internal_newlines(text: &str) -> std::borrow::Cow<'_, str> {
|
|
|
112
112
|
std::borrow::Cow::Owned(out)
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
/// Whether `node` lives inside a table cell whose row must stay on a single
|
|
116
|
+
/// line. Pipe and simple tables encode one row per source line, so any newline
|
|
117
|
+
/// emitted inside a cell breaks the table; grid and multiline tables can hold
|
|
118
|
+
/// multi-line block content and are excluded.
|
|
119
|
+
fn in_single_line_table_cell(node: &SyntaxNode) -> bool {
|
|
120
|
+
let mut in_cell = false;
|
|
121
|
+
for ancestor in node.ancestors() {
|
|
122
|
+
match ancestor.kind() {
|
|
123
|
+
SyntaxKind::TABLE_CELL => in_cell = true,
|
|
124
|
+
SyntaxKind::PIPE_TABLE | SyntaxKind::SIMPLE_TABLE => return in_cell,
|
|
125
|
+
SyntaxKind::GRID_TABLE | SyntaxKind::MULTILINE_TABLE => return false,
|
|
126
|
+
_ => {}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
false
|
|
130
|
+
}
|
|
131
|
+
|
|
115
132
|
/// Format an inline node to normalized string (e.g., emphasis with asterisks)
|
|
116
133
|
pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
|
|
117
134
|
match node.kind() {
|
|
@@ -175,6 +192,12 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
|
|
|
175
192
|
|
|
176
193
|
// Preserve malformed multi-line triple-backtick code spans as-is so they
|
|
177
194
|
// don't collapse into one line and then reparse differently on pass 2.
|
|
195
|
+
//
|
|
196
|
+
// A single-line Quarto executable chunk (```` ```{r}\n...\n``` ````) is
|
|
197
|
+
// instead collapsed to inline `{r} ...` form. Its surrounding newlines
|
|
198
|
+
// are block-structure boundaries, not code content, so they must be
|
|
199
|
+
// trimmed after the newline->space normalization below.
|
|
200
|
+
let mut collapse_block_chunk = false;
|
|
178
201
|
if marker_len >= 3 && content.contains('\n') {
|
|
179
202
|
let trimmed_start = content.trim_start();
|
|
180
203
|
let first_line = trimmed_start.lines().next().unwrap_or_default();
|
|
@@ -183,16 +206,24 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
|
|
|
183
206
|
if !looks_quarto_chunk_header {
|
|
184
207
|
return node.text().to_string();
|
|
185
208
|
}
|
|
209
|
+
collapse_block_chunk = true;
|
|
186
210
|
}
|
|
187
211
|
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
|
|
212
|
+
// Preserve code-span content verbatim: surrounding spaces are
|
|
213
|
+
// meaningful and kept as-is (unlike pandoc's markdown reader, which
|
|
214
|
+
// strips them). Only apply spec-mandated normalizations: internal
|
|
215
|
+
// line endings become spaces, and tabs expand unless preserved. The
|
|
216
|
+
// exception is a collapsed block chunk (above), whose structural
|
|
217
|
+
// boundary whitespace is trimmed.
|
|
218
|
+
let mut normalized_content =
|
|
191
219
|
if matches!(config.tab_stops, crate::config::TabStopMode::Preserve) {
|
|
192
|
-
content.replace('\n', " ")
|
|
220
|
+
content.replace('\n', " ")
|
|
193
221
|
} else {
|
|
194
222
|
expand_tabs_code_span(&content, config.tab_width)
|
|
195
223
|
};
|
|
224
|
+
if collapse_block_chunk {
|
|
225
|
+
normalized_content = normalized_content.trim().to_string();
|
|
226
|
+
}
|
|
196
227
|
|
|
197
228
|
let mut backtick_runs = std::collections::HashSet::new();
|
|
198
229
|
let mut current_run = 0;
|
|
@@ -577,6 +608,17 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
|
|
|
577
608
|
let closing = closing_value.as_str();
|
|
578
609
|
let is_environment = display_math.is_environment_form();
|
|
579
610
|
|
|
611
|
+
// Display math inside a single-line table cell (pipe/simple table)
|
|
612
|
+
// must stay on one line: those cell formats terminate a row at the
|
|
613
|
+
// newline, so expanding `$$…$$` into a `$$\n…\n$$` block would split
|
|
614
|
+
// the cell across rows and corrupt the table (pandoc keeps the math
|
|
615
|
+
// inline in the cell). Collapse interior whitespace and emit a
|
|
616
|
+
// single-line `$$content$$`, which is idempotent across passes.
|
|
617
|
+
if in_single_line_table_cell(node) {
|
|
618
|
+
let inline_content = content.split_whitespace().collect::<Vec<_>>().join(" ");
|
|
619
|
+
return format!("{opening}{inline_content}{closing}");
|
|
620
|
+
}
|
|
621
|
+
|
|
580
622
|
// Apply delimiter style preference
|
|
581
623
|
let (open, close) = if is_environment {
|
|
582
624
|
(opening, closing)
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.23.0](https://github.com/jolars/panache/compare/panache-parser-v0.22.2...panache-parser-v0.23.0) (2026-08-03)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- **parser:** recognize bare `:` definition marker ([`cfa9eec`](https://github.com/jolars/panache/commit/cfa9eec19c010a810e906424040736067d036192))
|
|
7
|
+
- **linter:** add `unspaced-citation` rule ([`b36baed`](https://github.com/jolars/panache/commit/b36baedc4902c55f7bbfce151a3e0dcfde422c0e)), closes [#448](https://github.com/jolars/panache/issues/448)
|
|
8
|
+
- **parser:** reject undeclared YAML alias ([`4dbdfe6`](https://github.com/jolars/panache/commit/4dbdfe6e6aa2f3f298221c2f4e3f19772608cf33))
|
|
9
|
+
- **parser:** lift unclosed `<div>` as list-item body ([`4801192`](https://github.com/jolars/panache/commit/48011921ad9ec24041a9f647f7ecfaa086e4b8d4))
|
|
10
|
+
- **parser:** lift unclosed `<div>` on later content-body line ([`151515d`](https://github.com/jolars/panache/commit/151515da464940007eb32a66055b3340ad9319a4))
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
- **parser:** require a term before a definition marker ([`cc8a4fc`](https://github.com/jolars/panache/commit/cc8a4fc4b71eab6cd11a5760d66102ef6a6579cf))
|
|
14
|
+
- **parser:** keep def-list para open across `>` line ([`cbb55c4`](https://github.com/jolars/panache/commit/cbb55c41021e289438e475b47751740c79d05a6c))
|
|
15
|
+
- **parser:** suppress bare `@key` after emphasis closer ([`d6a3f87`](https://github.com/jolars/panache/commit/d6a3f8702e926769452bdd340616b3ed7f78bd15))
|
|
16
|
+
- **parser:** don't cite bare `@key` after a word char ([`291efec`](https://github.com/jolars/panache/commit/291efec5d4d3a6f571e7e69f36181dd9ba3319aa))
|
|
17
|
+
- **parser:** lift bq-nested def later-line HTML block ([`d4549fd`](https://github.com/jolars/panache/commit/d4549fd3ae66f52723df30e3a5772b97fd2f6cbb))
|
|
18
|
+
- **parser:** don't retag `HTML_BLOCK_DIV` in bq content body ([`34d9a4a`](https://github.com/jolars/panache/commit/34d9a4aa75ccfdcc2a31328c6e28f69b7fe2a344))
|
|
19
|
+
- **parser:** don't close top-level div on indented fence ([`3a603e1`](https://github.com/jolars/panache/commit/3a603e1870c48d7305cf279faaaa49e7edc27bb3))
|
|
20
|
+
|
|
3
21
|
## [0.22.2](https://github.com/jolars/panache/compare/panache-parser-v0.22.1...panache-parser-v0.22.2) (2026-07-28)
|
|
4
22
|
|
|
5
23
|
### Bug Fixes
|
|
@@ -5925,6 +5925,40 @@ mod tests {
|
|
|
5925
5925
|
serde_json::from_str(&s).expect("to_pandoc_json must emit valid JSON")
|
|
5926
5926
|
}
|
|
5927
5927
|
|
|
5928
|
+
fn pandoc_options() -> crate::options::ParserOptions {
|
|
5929
|
+
crate::options::ParserOptions {
|
|
5930
|
+
flavor: crate::options::Flavor::Pandoc,
|
|
5931
|
+
dialect: crate::options::Dialect::for_flavor(crate::options::Flavor::Pandoc),
|
|
5932
|
+
extensions: crate::options::Extensions::for_flavor(crate::options::Flavor::Pandoc),
|
|
5933
|
+
..crate::options::ParserOptions::default()
|
|
5934
|
+
}
|
|
5935
|
+
}
|
|
5936
|
+
|
|
5937
|
+
#[test]
|
|
5938
|
+
fn bq_def_later_line_div_lifts_structurally() {
|
|
5939
|
+
// A `<div>` opening on a later line of a definition body *inside* a
|
|
5940
|
+
// blockquote now lifts structurally: the dispatcher pre-strips the
|
|
5941
|
+
// `> ` markers + content indent from the body, reparses it, and
|
|
5942
|
+
// re-injects the prefix bytes during graft (byte-lossless). The
|
|
5943
|
+
// projector consumes the lifted `HTML_BLOCK_DIV` and emits a
|
|
5944
|
+
// structural `Div` matching pandoc's block shape. (The surrounding
|
|
5945
|
+
// `Para [Term]` / `Plain [text]` divergence is a pre-existing
|
|
5946
|
+
// definition-list-in-blockquote gap, unrelated to the HTML lift.)
|
|
5947
|
+
// Also a regression guard for the former `HTML_BLOCK_DIV without
|
|
5948
|
+
// structural inner shape` debug-assert panic.
|
|
5949
|
+
let input = "> Term\n>\n> : text\n>\n> <div id=\"d\">\n> x\n> </div>\n";
|
|
5950
|
+
let tree = parse(input, Some(pandoc_options()));
|
|
5951
|
+
let native = to_pandoc_ast(&tree);
|
|
5952
|
+
assert!(
|
|
5953
|
+
native.contains("Div ( \"d\" , [] , [] ) [ Para [ Str \"x\" ] ]"),
|
|
5954
|
+
"expected a structural `Div (\"d\") [Para [Str \"x\"]]`, got: {native}"
|
|
5955
|
+
);
|
|
5956
|
+
assert!(
|
|
5957
|
+
!native.contains("RawBlock"),
|
|
5958
|
+
"the lifted bq-def div must not leave any opaque RawBlock, got: {native}"
|
|
5959
|
+
);
|
|
5960
|
+
}
|
|
5961
|
+
|
|
5928
5962
|
#[test]
|
|
5929
5963
|
fn empty_doc_emits_envelope_with_no_blocks() {
|
|
5930
5964
|
let v = parse_to_json("");
|