panache-cli 3.15.0__tar.gz → 3.16.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.15.0 → panache_cli-3.16.0}/Cargo.lock +22 -22
- {panache_cli-3.15.0 → panache_cli-3.16.0}/Cargo.toml +3 -3
- {panache_cli-3.15.0 → panache_cli-3.16.0}/PKG-INFO +1 -1
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/CHANGELOG.md +6 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/Cargo.toml +2 -2
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/CHANGELOG.md +10 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/Cargo.toml +1 -1
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tables.rs +6 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/citations.rs +79 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/links.rs +5 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/cli.rs +12 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/config/types.rs +98 -46
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/config.rs +136 -5
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/diagnostic_renderer.rs +13 -7
- panache_cli-3.16.0/src/linter/rules/malformed_citation.rs +294 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/math_content.rs +1 -1
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/undefined_references.rs +6 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules.rs +2 -1
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter.rs +1 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/config.rs +15 -12
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/main.rs +49 -91
- {panache_cli-3.15.0 → panache_cli-3.16.0}/LICENSE +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/README.md +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/build.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/config.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/directives.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/containers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/core.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/document.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/inline.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/inline_layout.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math/STYLE.md +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math/ir.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math/lower.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math/printer.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/preserve.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/raw.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/table_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/tables.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/formatter.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/build.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/data/math_symbols.json +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/data/unicode-math.LICENSE +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/data/unicode-math.NOTICE +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/grid_layout.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/lib.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/options.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/pandoc_ast.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/block_dispatcher.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/core/blockquotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/core/definition_lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/core/html_interruptions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/core/list_items.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/core.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/core.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/reparse.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/container_stack.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/continuation.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/verify.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/parser.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/range_utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/semantic/math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/semantic.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/code_span.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/consumer.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/inlines.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/kind.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/references.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/crates/panache-parser/src/syntax.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/pyproject.toml +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/index.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/preview.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib/ris.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bib.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/cache.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/config/types/schema_helpers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/directives.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/external_tools_common.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/formatter.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/includes.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/incremental.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/io_context.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lib.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/code_block_collector.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/execution_context.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/jarl.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/jolars.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/external_linters_sync.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/index.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/offsets.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/project_index.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema/interp.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema/report.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema/value.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/blank_line_in_display_math.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/blank_line_in_inline_footnote.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/citation_keys.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/consumer_divergence.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/duplicate_references.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/emoji_aliases.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/empty_list_item.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/empty_values.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/footnote_after_image.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/heading_hierarchy.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/html_entities.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/inline_math_line_break.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/link_text_is_url.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/quarto_schema.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/space_before_punctuation.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/table_column_count.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/undefined_anchor.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/unspaced_citation.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/unspaced_list_marker.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/unused_definitions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/runner.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/yaml_anchors.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/context.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/conversions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/dispatch.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/documents.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/global_state.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/code_actions.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/completion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/configuration.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/diagnostics.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/document_highlight.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/document_links.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/document_symbols.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/file_rename.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/file_watcher.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/folding_ranges.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/footnote_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/formatting.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/goto_definition.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/hover.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/link_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/list_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/prepare_rename.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/references.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/rename.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/semantic_tokens.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/table_conversion.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/helpers.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/line_index.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/navigation.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/testing.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/lsp.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata/bibliography.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata/citations.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata/project.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata/references.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata/yaml.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/metadata.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/parser.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/range_utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/salsa.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/syntax.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/utils.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/vfs.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/yaml_engine.rs +0 -0
- {panache_cli-3.15.0 → panache_cli-3.16.0}/src/yaml_regions.rs +0 -0
|
@@ -273,7 +273,7 @@ dependencies = [
|
|
|
273
273
|
"heck",
|
|
274
274
|
"proc-macro2",
|
|
275
275
|
"quote",
|
|
276
|
-
"syn 3.0.
|
|
276
|
+
"syn 3.0.8",
|
|
277
277
|
]
|
|
278
278
|
|
|
279
279
|
[[package]]
|
|
@@ -1114,7 +1114,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1114
1114
|
|
|
1115
1115
|
[[package]]
|
|
1116
1116
|
name = "panache"
|
|
1117
|
-
version = "3.
|
|
1117
|
+
version = "3.16.0"
|
|
1118
1118
|
dependencies = [
|
|
1119
1119
|
"annotate-snippets",
|
|
1120
1120
|
"assert_cmd",
|
|
@@ -1159,7 +1159,7 @@ dependencies = [
|
|
|
1159
1159
|
|
|
1160
1160
|
[[package]]
|
|
1161
1161
|
name = "panache-formatter"
|
|
1162
|
-
version = "0.27.
|
|
1162
|
+
version = "0.27.1"
|
|
1163
1163
|
dependencies = [
|
|
1164
1164
|
"badness-formatter",
|
|
1165
1165
|
"insta",
|
|
@@ -1179,7 +1179,7 @@ dependencies = [
|
|
|
1179
1179
|
|
|
1180
1180
|
[[package]]
|
|
1181
1181
|
name = "panache-parser"
|
|
1182
|
-
version = "0.
|
|
1182
|
+
version = "0.33.0"
|
|
1183
1183
|
dependencies = [
|
|
1184
1184
|
"badness-parser",
|
|
1185
1185
|
"entities",
|
|
@@ -1456,7 +1456,7 @@ checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a"
|
|
|
1456
1456
|
dependencies = [
|
|
1457
1457
|
"proc-macro2",
|
|
1458
1458
|
"quote",
|
|
1459
|
-
"syn 3.0.
|
|
1459
|
+
"syn 3.0.8",
|
|
1460
1460
|
]
|
|
1461
1461
|
|
|
1462
1462
|
[[package]]
|
|
@@ -1607,7 +1607,7 @@ checksum = "69dd77f86ec10e72e314f4ddf7c44c8d349e73cdff1aad524ba9668603fb0549"
|
|
|
1607
1607
|
dependencies = [
|
|
1608
1608
|
"proc-macro2",
|
|
1609
1609
|
"quote",
|
|
1610
|
-
"syn 3.0.
|
|
1610
|
+
"syn 3.0.8",
|
|
1611
1611
|
]
|
|
1612
1612
|
|
|
1613
1613
|
[[package]]
|
|
@@ -1641,7 +1641,7 @@ dependencies = [
|
|
|
1641
1641
|
"proc-macro2",
|
|
1642
1642
|
"quote",
|
|
1643
1643
|
"serde_derive_internals",
|
|
1644
|
-
"syn 3.0.
|
|
1644
|
+
"syn 3.0.8",
|
|
1645
1645
|
]
|
|
1646
1646
|
|
|
1647
1647
|
[[package]]
|
|
@@ -1677,7 +1677,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
|
1677
1677
|
dependencies = [
|
|
1678
1678
|
"proc-macro2",
|
|
1679
1679
|
"quote",
|
|
1680
|
-
"syn 3.0.
|
|
1680
|
+
"syn 3.0.8",
|
|
1681
1681
|
]
|
|
1682
1682
|
|
|
1683
1683
|
[[package]]
|
|
@@ -1688,14 +1688,14 @@ checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
|
|
|
1688
1688
|
dependencies = [
|
|
1689
1689
|
"proc-macro2",
|
|
1690
1690
|
"quote",
|
|
1691
|
-
"syn 3.0.
|
|
1691
|
+
"syn 3.0.8",
|
|
1692
1692
|
]
|
|
1693
1693
|
|
|
1694
1694
|
[[package]]
|
|
1695
1695
|
name = "serde_json"
|
|
1696
|
-
version = "1.0.
|
|
1696
|
+
version = "1.0.154"
|
|
1697
1697
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1698
|
-
checksum = "
|
|
1698
|
+
checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
|
|
1699
1699
|
dependencies = [
|
|
1700
1700
|
"itoa",
|
|
1701
1701
|
"memchr",
|
|
@@ -1712,7 +1712,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
|
|
|
1712
1712
|
dependencies = [
|
|
1713
1713
|
"proc-macro2",
|
|
1714
1714
|
"quote",
|
|
1715
|
-
"syn 3.0.
|
|
1715
|
+
"syn 3.0.8",
|
|
1716
1716
|
]
|
|
1717
1717
|
|
|
1718
1718
|
[[package]]
|
|
@@ -1770,9 +1770,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
|
|
|
1770
1770
|
|
|
1771
1771
|
[[package]]
|
|
1772
1772
|
name = "smallvec"
|
|
1773
|
-
version = "1.16.
|
|
1773
|
+
version = "1.16.3"
|
|
1774
1774
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1775
|
-
checksum = "
|
|
1775
|
+
checksum = "5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b"
|
|
1776
1776
|
|
|
1777
1777
|
[[package]]
|
|
1778
1778
|
name = "smol_str"
|
|
@@ -1824,9 +1824,9 @@ dependencies = [
|
|
|
1824
1824
|
|
|
1825
1825
|
[[package]]
|
|
1826
1826
|
name = "syn"
|
|
1827
|
-
version = "3.0.
|
|
1827
|
+
version = "3.0.8"
|
|
1828
1828
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1829
|
-
checksum = "
|
|
1829
|
+
checksum = "01016da373cd8f7ef12624f796309f5c31ba8d646dd08856c02cd741d823c622"
|
|
1830
1830
|
dependencies = [
|
|
1831
1831
|
"proc-macro2",
|
|
1832
1832
|
"quote",
|
|
@@ -1881,7 +1881,7 @@ checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
|
|
|
1881
1881
|
dependencies = [
|
|
1882
1882
|
"proc-macro2",
|
|
1883
1883
|
"quote",
|
|
1884
|
-
"syn 3.0.
|
|
1884
|
+
"syn 3.0.8",
|
|
1885
1885
|
]
|
|
1886
1886
|
|
|
1887
1887
|
[[package]]
|
|
@@ -1962,9 +1962,9 @@ checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f"
|
|
|
1962
1962
|
|
|
1963
1963
|
[[package]]
|
|
1964
1964
|
name = "unicode-ident"
|
|
1965
|
-
version = "1.0.
|
|
1965
|
+
version = "1.0.27"
|
|
1966
1966
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1967
|
-
checksum = "
|
|
1967
|
+
checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
|
|
1968
1968
|
|
|
1969
1969
|
[[package]]
|
|
1970
1970
|
name = "unicode-segmentation"
|
|
@@ -1986,9 +1986,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|
|
1986
1986
|
|
|
1987
1987
|
[[package]]
|
|
1988
1988
|
name = "uuid"
|
|
1989
|
-
version = "1.
|
|
1989
|
+
version = "1.28.0"
|
|
1990
1990
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1991
|
-
checksum = "
|
|
1991
|
+
checksum = "7cc1186384beb7dd8eedea376413fd654937285ea6c9cfbb928dc3043ea4b606"
|
|
1992
1992
|
dependencies = [
|
|
1993
1993
|
"getrandom 0.4.3",
|
|
1994
1994
|
"js-sys",
|
|
@@ -2077,7 +2077,7 @@ dependencies = [
|
|
|
2077
2077
|
"bumpalo",
|
|
2078
2078
|
"proc-macro2",
|
|
2079
2079
|
"quote",
|
|
2080
|
-
"syn 3.0.
|
|
2080
|
+
"syn 3.0.8",
|
|
2081
2081
|
"wasm-bindgen-shared",
|
|
2082
2082
|
]
|
|
2083
2083
|
|
|
@@ -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.16.0"
|
|
13
13
|
edition.workspace = true
|
|
14
14
|
rust-version.workspace = true
|
|
15
15
|
# `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
|
|
@@ -55,11 +55,11 @@ path = "src/main.rs"
|
|
|
55
55
|
required-features = ["cli"]
|
|
56
56
|
|
|
57
57
|
[dependencies]
|
|
58
|
-
panache-formatter = { path = "crates/panache-formatter", version = "0.27.
|
|
58
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.27.1", features = [
|
|
59
59
|
"serde",
|
|
60
60
|
"schema",
|
|
61
61
|
] }
|
|
62
|
-
panache-parser = { path = "crates/panache-parser", version = "0.
|
|
62
|
+
panache-parser = { path = "crates/panache-parser", version = "0.33.0", features = [
|
|
63
63
|
"serde",
|
|
64
64
|
"schema",
|
|
65
65
|
] }
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.27.1](https://github.com/jolars/panache/compare/panache-formatter-v0.27.0...panache-formatter-v0.27.1) (2026-10-12)
|
|
4
|
+
|
|
5
|
+
### Dependencies
|
|
6
|
+
|
|
7
|
+
- updated crates/panache-parser to v0.33.0
|
|
8
|
+
|
|
3
9
|
## [0.27.0](https://github.com/jolars/panache/compare/panache-formatter-v0.26.1...panache-formatter-v0.27.0) (2026-10-09)
|
|
4
10
|
|
|
5
11
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.27.
|
|
3
|
+
version = "0.27.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.
|
|
22
|
+
panache-parser = { path = "../panache-parser", version = "0.33.0" }
|
|
23
23
|
log = { version = "0.4.31", features = ["release_max_level_debug"] }
|
|
24
24
|
rowan = "0.17.0"
|
|
25
25
|
serde = { version = "1.0.228", features = ["derive"], optional = true }
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.33.0](https://github.com/jolars/panache/compare/panache-parser-v0.32.0...panache-parser-v0.33.0) (2026-10-12)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **lint:** detect malformed citations ([`b8598d1`](https://github.com/jolars/panache/commit/b8598d1d94c886f80bbac8867e1aae1ded404c85))
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **parser:** keep headerless tables separate ([`835e8bb`](https://github.com/jolars/panache/commit/835e8bbd34a94689ab065118e742108c6d552258)), fixes [#557](https://github.com/jolars/panache/issues/557)
|
|
12
|
+
|
|
3
13
|
## [0.32.0](https://github.com/jolars/panache/compare/panache-parser-v0.31.1...panache-parser-v0.32.0) (2026-10-09)
|
|
4
14
|
|
|
5
15
|
### Features
|
|
@@ -3011,6 +3011,12 @@ fn scan_multiline_table(
|
|
|
3011
3011
|
column_sep_pos = pos;
|
|
3012
3012
|
has_header = pos > start_pos + 1; // Has header if there's content before column sep
|
|
3013
3013
|
pos += 1;
|
|
3014
|
+
// Pandoc requires the first body row immediately after the header
|
|
3015
|
+
// separator. Otherwise a simple table's footer can become a header
|
|
3016
|
+
// separator and pull later paragraphs into the table.
|
|
3017
|
+
if pos >= lines.len() || window.line(pos).trim().is_empty() {
|
|
3018
|
+
return None;
|
|
3019
|
+
}
|
|
3014
3020
|
continue;
|
|
3015
3021
|
}
|
|
3016
3022
|
|
|
@@ -25,6 +25,22 @@ impl AstNode for Citation {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
impl Citation {
|
|
28
|
+
/// Whether the citation has its own enclosing square brackets.
|
|
29
|
+
pub fn is_bracketed(&self) -> bool {
|
|
30
|
+
self.0
|
|
31
|
+
.first_token()
|
|
32
|
+
.is_some_and(|token| token.kind() == SyntaxKind::LINK_START)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// Every key marker, including markers whose braced key is empty.
|
|
36
|
+
pub fn markers(&self) -> impl Iterator<Item = CitationMarker> {
|
|
37
|
+
self.0
|
|
38
|
+
.children_with_tokens()
|
|
39
|
+
.filter_map(|element| element.into_token())
|
|
40
|
+
.filter(|token| token.kind() == SyntaxKind::CITATION_MARKER)
|
|
41
|
+
.map(CitationMarker)
|
|
42
|
+
}
|
|
43
|
+
|
|
28
44
|
pub fn keys(&self) -> Vec<CitationKey> {
|
|
29
45
|
self.0
|
|
30
46
|
.children_with_tokens()
|
|
@@ -39,6 +55,46 @@ impl Citation {
|
|
|
39
55
|
}
|
|
40
56
|
}
|
|
41
57
|
|
|
58
|
+
pub struct CitationMarker(SyntaxToken);
|
|
59
|
+
|
|
60
|
+
impl CitationMarker {
|
|
61
|
+
/// Range of just the `@` or `-@` marker.
|
|
62
|
+
pub fn marker_range(&self) -> rowan::TextRange {
|
|
63
|
+
self.0.text_range()
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
pub fn key(&self) -> Option<CitationKey> {
|
|
67
|
+
let mut next = self.0.next_sibling_or_token()?.into_token()?;
|
|
68
|
+
if next.kind() == SyntaxKind::CITATION_BRACE_OPEN {
|
|
69
|
+
next = next.next_sibling_or_token()?.into_token()?;
|
|
70
|
+
}
|
|
71
|
+
(next.kind() == SyntaxKind::CITATION_KEY).then_some(CitationKey(next))
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/// Range of the marker and its key, including any enclosing braces.
|
|
75
|
+
pub fn text_range(&self) -> rowan::TextRange {
|
|
76
|
+
if let Some(key) = self.key() {
|
|
77
|
+
return key.marked_range();
|
|
78
|
+
}
|
|
79
|
+
let mut end = self.0.text_range().end();
|
|
80
|
+
let next = self
|
|
81
|
+
.0
|
|
82
|
+
.next_sibling_or_token()
|
|
83
|
+
.and_then(|it| it.into_token());
|
|
84
|
+
if let Some(open) = next
|
|
85
|
+
&& open.kind() == SyntaxKind::CITATION_BRACE_OPEN
|
|
86
|
+
{
|
|
87
|
+
end = open.text_range().end();
|
|
88
|
+
if let Some(close) = open.next_sibling_or_token().and_then(|it| it.into_token())
|
|
89
|
+
&& close.kind() == SyntaxKind::CITATION_BRACE_CLOSE
|
|
90
|
+
{
|
|
91
|
+
end = close.text_range().end();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
rowan::TextRange::new(self.0.text_range().start(), end)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
42
98
|
pub struct CitationKey(SyntaxToken);
|
|
43
99
|
|
|
44
100
|
impl CitationKey {
|
|
@@ -122,4 +178,27 @@ mod tests {
|
|
|
122
178
|
fn marked_range_covers_braced_keys() {
|
|
123
179
|
assert_eq!(marked_spans("A [@{weird key}].\n"), vec!["@{weird key}"]);
|
|
124
180
|
}
|
|
181
|
+
|
|
182
|
+
#[test]
|
|
183
|
+
fn markers_include_empty_keys() {
|
|
184
|
+
let input = "[@a; -@{}] @{}\n";
|
|
185
|
+
let citations: Vec<_> = parse(input, None)
|
|
186
|
+
.descendants()
|
|
187
|
+
.filter_map(Citation::cast)
|
|
188
|
+
.collect();
|
|
189
|
+
assert!(citations[0].is_bracketed());
|
|
190
|
+
assert!(!citations[1].is_bracketed());
|
|
191
|
+
let markers: Vec<_> = citations.iter().flat_map(Citation::markers).collect();
|
|
192
|
+
let spans: Vec<_> = markers
|
|
193
|
+
.iter()
|
|
194
|
+
.map(|marker| {
|
|
195
|
+
let range = marker.text_range();
|
|
196
|
+
&input[usize::from(range.start())..usize::from(range.end())]
|
|
197
|
+
})
|
|
198
|
+
.collect();
|
|
199
|
+
assert_eq!(spans, ["@a", "-@{}", "@{}"]);
|
|
200
|
+
assert_eq!(markers[0].key().unwrap().text(), "a");
|
|
201
|
+
assert!(markers[1].key().is_none());
|
|
202
|
+
assert_eq!(markers[2].key().unwrap().text(), "");
|
|
203
|
+
}
|
|
125
204
|
}
|
|
@@ -528,6 +528,11 @@ impl AstNode for UnresolvedReference {
|
|
|
528
528
|
}
|
|
529
529
|
|
|
530
530
|
impl UnresolvedReference {
|
|
531
|
+
/// The link's bracket text as parsed inline children, excluding images.
|
|
532
|
+
pub fn text_node(&self) -> Option<LinkText> {
|
|
533
|
+
support::child(&self.0)
|
|
534
|
+
}
|
|
535
|
+
|
|
531
536
|
/// `true` if this is an image-shape reference (`![alt]...`),
|
|
532
537
|
/// `false` for a link-shape reference (`[text]...`). Determined
|
|
533
538
|
/// from the leading byte of the node's source text.
|
|
@@ -341,6 +341,18 @@ For editor configuration examples, see: https://github.com/jolars/panache#editor
|
|
|
341
341
|
)]
|
|
342
342
|
files: Vec<PathBuf>,
|
|
343
343
|
|
|
344
|
+
/// Rule names to enable instead of the configured defaults
|
|
345
|
+
#[arg(long, value_delimiter = ',')]
|
|
346
|
+
select: Option<Vec<String>>,
|
|
347
|
+
|
|
348
|
+
/// Additional rule names to enable alongside the configured selection
|
|
349
|
+
#[arg(long, value_delimiter = ',')]
|
|
350
|
+
extend_select: Vec<String>,
|
|
351
|
+
|
|
352
|
+
/// Rule names to disable, replacing configured ignores
|
|
353
|
+
#[arg(long, value_delimiter = ',')]
|
|
354
|
+
ignore: Option<Vec<String>>,
|
|
355
|
+
|
|
344
356
|
/// Apply auto-fixes
|
|
345
357
|
#[arg(long)]
|
|
346
358
|
#[arg(help = "Automatically fix violations where possible")]
|
|
@@ -385,11 +385,19 @@ pub struct ExperimentalConfig {
|
|
|
385
385
|
pub format_math: Option<bool>,
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
/// Linter configuration.
|
|
389
|
-
/// Preferred shape is `[lint.rules] rule-name = true/false`.
|
|
390
|
-
/// Legacy `[lint] rule-name = true/false` is still supported (deprecated).
|
|
388
|
+
/// Linter configuration with exact rule-name selection.
|
|
391
389
|
#[derive(Debug, Clone, Serialize, PartialEq, Default)]
|
|
390
|
+
#[serde(rename_all = "kebab-case")]
|
|
392
391
|
pub struct LintConfig {
|
|
392
|
+
/// Replace the default rule set when supplied, including an empty list.
|
|
393
|
+
pub select: Option<Vec<String>>,
|
|
394
|
+
/// Add rules to the defaults or explicit selection.
|
|
395
|
+
pub extend_select: Vec<String>,
|
|
396
|
+
/// Disable rules after applying selection and additions.
|
|
397
|
+
pub ignore: Vec<String>,
|
|
398
|
+
/// Deprecated boolean overrides, retained for configuration compatibility.
|
|
399
|
+
// TODO: Remove `[lint.rules]` boolean tables in the next major release on
|
|
400
|
+
// or after 2027-04-12, at least six months after their deprecation.
|
|
393
401
|
pub rules: HashMap<String, bool>,
|
|
394
402
|
/// Resolved Quarto compatibility target for the `quarto-schema` rule.
|
|
395
403
|
///
|
|
@@ -411,20 +419,57 @@ impl LintConfig {
|
|
|
411
419
|
.into_iter()
|
|
412
420
|
.map(|(name, enabled)| (Self::normalize_rule_name(&name), enabled))
|
|
413
421
|
.collect();
|
|
422
|
+
for names in self
|
|
423
|
+
.select
|
|
424
|
+
.iter_mut()
|
|
425
|
+
.chain([&mut self.extend_select, &mut self.ignore])
|
|
426
|
+
{
|
|
427
|
+
for name in names {
|
|
428
|
+
*name = Self::normalize_rule_name(name);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
414
431
|
self
|
|
415
432
|
}
|
|
416
433
|
|
|
417
|
-
|
|
434
|
+
fn enabled_with_default(&self, rule_name: &str, default: bool) -> bool {
|
|
418
435
|
let normalized = Self::normalize_rule_name(rule_name);
|
|
419
|
-
self.
|
|
436
|
+
let base = match &self.select {
|
|
437
|
+
Some(selected) => selected.contains(&normalized),
|
|
438
|
+
None => self.rules.get(&normalized).copied().unwrap_or(default),
|
|
439
|
+
};
|
|
440
|
+
(base || self.extend_select.contains(&normalized)) && !self.ignore.contains(&normalized)
|
|
420
441
|
}
|
|
421
442
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
443
|
+
pub fn is_rule_enabled(&self, rule_name: &str) -> bool {
|
|
444
|
+
self.enabled_with_default(rule_name, true)
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/// Check selection for an opt-in rule whose default is off.
|
|
425
448
|
pub fn is_rule_explicitly_enabled(&self, rule_name: &str) -> bool {
|
|
426
|
-
|
|
427
|
-
|
|
449
|
+
self.enabled_with_default(rule_name, false)
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/// Apply command-line settings before linting or computing cache keys.
|
|
453
|
+
pub fn apply_overrides(
|
|
454
|
+
&mut self,
|
|
455
|
+
select: Option<&[String]>,
|
|
456
|
+
extend_select: &[String],
|
|
457
|
+
ignore: Option<&[String]>,
|
|
458
|
+
) {
|
|
459
|
+
let normalize = |names: &[String]| {
|
|
460
|
+
names
|
|
461
|
+
.iter()
|
|
462
|
+
.filter(|name| !name.trim().is_empty())
|
|
463
|
+
.map(|name| Self::normalize_rule_name(name))
|
|
464
|
+
.collect::<Vec<_>>()
|
|
465
|
+
};
|
|
466
|
+
if let Some(select) = select {
|
|
467
|
+
self.select = Some(normalize(select));
|
|
468
|
+
}
|
|
469
|
+
self.extend_select.extend(normalize(extend_select));
|
|
470
|
+
if let Some(ignore) = ignore {
|
|
471
|
+
self.ignore = normalize(ignore);
|
|
472
|
+
}
|
|
428
473
|
}
|
|
429
474
|
}
|
|
430
475
|
|
|
@@ -434,23 +479,35 @@ impl JsonSchema for LintConfig {
|
|
|
434
479
|
}
|
|
435
480
|
|
|
436
481
|
fn json_schema(_generator: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
|
437
|
-
// Two accepted shapes:
|
|
438
|
-
// [lint.rules] my-rule = true (preferred)
|
|
439
|
-
// [lint] my-rule = true (legacy, deprecated)
|
|
440
|
-
// Modelled as an object whose `rules` field is a string→bool map and
|
|
441
|
-
// whose additionalProperties are also bools (for the legacy shape).
|
|
442
482
|
schemars::json_schema!({
|
|
443
483
|
"type": "object",
|
|
444
484
|
"description": "Linter configuration.",
|
|
445
485
|
"properties": {
|
|
486
|
+
"select": {
|
|
487
|
+
"type": "array",
|
|
488
|
+
"items": { "type": "string" },
|
|
489
|
+
"description": "Rule names to enable instead of the defaults. An empty list disables the defaults.",
|
|
490
|
+
},
|
|
491
|
+
"extend-select": {
|
|
492
|
+
"type": "array",
|
|
493
|
+
"items": { "type": "string" },
|
|
494
|
+
"description": "Additional rule names to enable alongside the defaults or select.",
|
|
495
|
+
"default": [],
|
|
496
|
+
},
|
|
497
|
+
"ignore": {
|
|
498
|
+
"type": "array",
|
|
499
|
+
"items": { "type": "string" },
|
|
500
|
+
"description": "Rule names to disable, including those in extend-select.",
|
|
501
|
+
"default": [],
|
|
502
|
+
},
|
|
446
503
|
"rules": {
|
|
447
504
|
"type": "object",
|
|
448
|
-
"description": "
|
|
449
|
-
|
|
505
|
+
"description": "Deprecated boolean overrides for the default rule set.",
|
|
506
|
+
"deprecated": true,
|
|
450
507
|
"additionalProperties": { "type": "boolean" },
|
|
451
508
|
},
|
|
452
509
|
},
|
|
453
|
-
"additionalProperties":
|
|
510
|
+
"additionalProperties": false,
|
|
454
511
|
})
|
|
455
512
|
}
|
|
456
513
|
}
|
|
@@ -461,16 +518,11 @@ impl<'de> Deserialize<'de> for LintConfig {
|
|
|
461
518
|
D: Deserializer<'de>,
|
|
462
519
|
{
|
|
463
520
|
let value = toml::Value::deserialize(deserializer)?;
|
|
464
|
-
let
|
|
465
|
-
|
|
466
|
-
let mut table = value
|
|
521
|
+
let table = value
|
|
467
522
|
.as_table()
|
|
468
523
|
.cloned()
|
|
469
524
|
.ok_or_else(|| serde::de::Error::custom("expected [lint] table"))?;
|
|
470
525
|
|
|
471
|
-
// `quarto-version` moved to `[compat] quarto`. Catch the old key with a
|
|
472
|
-
// pointed migration error rather than the generic "use [lint.rules]"
|
|
473
|
-
// message the legacy bool loop would otherwise emit.
|
|
474
526
|
if table.contains_key("quarto-version") {
|
|
475
527
|
return Err(serde::de::Error::custom(
|
|
476
528
|
"[lint] quarto-version moved to [compat] quarto; \
|
|
@@ -478,34 +530,34 @@ impl<'de> Deserialize<'de> for LintConfig {
|
|
|
478
530
|
));
|
|
479
531
|
}
|
|
480
532
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
let enabled = enabled.as_bool().ok_or_else(|| {
|
|
489
|
-
serde::de::Error::custom(format!(
|
|
490
|
-
"[lint.rules] entry '{}' must be true or false",
|
|
491
|
-
name
|
|
492
|
-
))
|
|
493
|
-
})?;
|
|
494
|
-
rules.insert(name.clone(), enabled);
|
|
495
|
-
}
|
|
533
|
+
#[derive(Default, Deserialize)]
|
|
534
|
+
#[serde(default, deny_unknown_fields, rename_all = "kebab-case")]
|
|
535
|
+
struct Selection {
|
|
536
|
+
select: Option<Vec<String>>,
|
|
537
|
+
extend_select: Vec<String>,
|
|
538
|
+
ignore: Vec<String>,
|
|
539
|
+
rules: HashMap<String, bool>,
|
|
496
540
|
}
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
541
|
+
// The flat `[lint] rule = true` shape was already removed in 3.0.
|
|
542
|
+
if let Some(name) = table.keys().find(|name| {
|
|
543
|
+
!matches!(
|
|
544
|
+
name.as_str(),
|
|
545
|
+
"select" | "extend-select" | "ignore" | "rules"
|
|
546
|
+
)
|
|
547
|
+
}) {
|
|
500
548
|
return Err(serde::de::Error::custom(format!(
|
|
501
|
-
"Unsupported [lint] key '{}';
|
|
549
|
+
"Unsupported [lint] key '{}'; use select, extend-select, or ignore",
|
|
502
550
|
name
|
|
503
551
|
)));
|
|
504
552
|
}
|
|
505
|
-
|
|
553
|
+
let selection: Selection = toml::Value::Table(table)
|
|
554
|
+
.try_into()
|
|
555
|
+
.map_err(serde::de::Error::custom)?;
|
|
506
556
|
Ok(Self {
|
|
507
|
-
|
|
508
|
-
|
|
557
|
+
select: selection.select,
|
|
558
|
+
extend_select: selection.extend_select,
|
|
559
|
+
ignore: selection.ignore,
|
|
560
|
+
rules: selection.rules,
|
|
509
561
|
quarto_version: None,
|
|
510
562
|
}
|
|
511
563
|
.normalize())
|