panache-cli 3.5.0__tar.gz → 3.6.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.5.0 → panache_cli-3.6.0}/Cargo.lock +11 -11
- {panache_cli-3.5.0 → panache_cli-3.6.0}/Cargo.toml +3 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/PKG-INFO +15 -20
- {panache_cli-3.5.0 → panache_cli-3.6.0}/README.md +14 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/CHANGELOG.md +8 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/Cargo.toml +2 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/config.rs +0 -7
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/directives.rs +0 -15
- panache_cli-3.6.0/crates/panache-formatter/src/formatter/blockquotes.rs +1 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/code_blocks.rs +6 -84
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/core.rs +133 -587
- panache_cli-3.6.0/crates/panache-formatter/src/formatter/fenced_divs.rs +1 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/hashpipe.rs +8 -94
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/headings.rs +0 -14
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -38
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/inline.rs +2 -112
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/inline_layout.rs +1 -70
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/lists.rs +14 -225
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/math/STYLE.md +8 -8
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/math/linebreak.rs +34 -112
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/math/operators.rs +2 -26
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -111
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/math.rs +0 -62
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/preserve.rs +0 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -20
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -7
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/tables.rs +3 -365
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/utils.rs +0 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -78
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -140
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter.rs +1 -14
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/utils.rs +0 -13
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/CHANGELOG.md +9 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/Cargo.toml +1 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/build.rs +0 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/grid_layout.rs +0 -42
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/options.rs +0 -134
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/pandoc_ast.rs +1 -710
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/block_dispatcher.rs +23 -683
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -12
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +12 -230
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -268
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -59
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +0 -17
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -86
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -18
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -739
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -10
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -46
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -199
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -69
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -11
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -25
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -54
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tables.rs +12 -792
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -144
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -47
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -12
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -140
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -24
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -25
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -134
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -113
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -65
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -101
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -5
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -233
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/core.rs +12 -1165
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -14
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/citations.rs +8 -109
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +12 -32
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/core.rs +0 -279
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -12
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -32
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -12
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +0 -451
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -16
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/links.rs +34 -177
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -4
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -55
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -32
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -11
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -20
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -11
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -8
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -13
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -37
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -5
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -96
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -14
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/math.rs +0 -89
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/reparse.rs +4 -517
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -89
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +14 -23
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/container_stack.rs +3 -12
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/continuation.rs +0 -106
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -18
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -8
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -117
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/verify.rs +0 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -21
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -419
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -4
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/parser.rs +1 -235
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/scanner.rs +2 -387
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -492
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/yaml.rs +1 -4
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser.rs +0 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/range_utils.rs +0 -34
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/attributes.rs +0 -17
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/code_span.rs +0 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/definitions.rs +0 -9
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/headings.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/inlines.rs +0 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/kind.rs +2 -95
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/links.rs +0 -6
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/math.rs +0 -20
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/myst.rs +0 -8
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/references.rs +0 -23
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/tables.rs +0 -9
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/yaml.rs +0 -30
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -11
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax.rs +0 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/config/types.rs +22 -84
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/config.rs +4 -4
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/incremental.rs +319 -10
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/code_block_collector.rs +0 -3
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters_sync.rs +1 -2
- panache_cli-3.6.0/src/linter/rules/blank_line_in_inline_footnote.rs +122 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules.rs +1 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter.rs +1 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/dispatch.rs +1 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/documents.rs +43 -13
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/document_symbols.rs +0 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/file_watcher.rs +2 -8
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/footnote_conversion.rs +1 -7
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/semantic_tokens.rs +2 -2
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/testing.rs +1 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/main.rs +1 -1
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata/yaml.rs +0 -1
- panache_cli-3.6.0/src/range_utils.rs +5 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/salsa.rs +161 -62
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/utils.rs +0 -19
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/vfs.rs +6 -8
- panache_cli-3.5.0/crates/panache-formatter/src/formatter/blockquotes.rs +0 -1
- panache_cli-3.5.0/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -1
- panache_cli-3.5.0/src/range_utils.rs +0 -339
- {panache_cli-3.5.0 → panache_cli-3.6.0}/LICENSE +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/assets/quarto-schema/schema.json +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/build.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/README.md +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/lib.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/parser.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/syntax.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/README.md +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/lib.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/parser/utils.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/pyproject.toml +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/bibtex.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/csl_json.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/csl_yaml.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/index.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/preview.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib/ris.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bib.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/bin/distill_quarto_schema.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/cache.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/cli.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/config/formatter_presets.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/config/types/schema_helpers.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/diagnostic_renderer.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/directives.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/external_formatters_common.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/external_formatters_sync.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/external_tools_common.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/formatter.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/includes.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/io_context.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lib.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/diagnostics.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/clippy.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/eslint.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/jarl.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/jolars.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/ruff.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/shellcheck.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters/staticcheck.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/external_linters.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/fuzzy.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/index.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/metadata_diagnostics.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/offsets.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/project_index.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema/distill.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema/interp.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema/model.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema/report.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema/value.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/quarto_schema.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/citation_keys.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/consumer_divergence.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/duplicate_references.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/emoji_aliases.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/empty_list_item.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/empty_values.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/footnote_after_image.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/heading_hierarchy.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/html_entities.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/link_text_is_url.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/math_content.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/quarto_schema.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/table_column_count.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/undefined_anchor.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/undefined_references.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/unspaced_citation.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/unused_definitions.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/runner.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/yaml_anchors.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/linter/yaml_resolve.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/config.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/context.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/conversions.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/global_state.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/code_actions.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/completion.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/configuration.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/diagnostics.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/document_highlight.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/document_links.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/file_operations.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/file_rename.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/folding_ranges.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/formatting.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/goto_definition.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/hover.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/link_conversion.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/list_conversion.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/prepare_rename.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/references.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/rename.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/shortcode_args.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/workspace_folders.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/handlers.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/helpers.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/line_index.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/navigation.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/symbols.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/task_pool.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp/uri_ext.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/lsp.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata/bibliography.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata/citations.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata/project.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata/references.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/metadata.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/parser.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/syntax.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/yaml_engine.rs +0 -0
- {panache_cli-3.5.0 → panache_cli-3.6.0}/src/yaml_regions.rs +0 -0
|
@@ -1203,7 +1203,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
|
1203
1203
|
|
|
1204
1204
|
[[package]]
|
|
1205
1205
|
name = "panache"
|
|
1206
|
-
version = "3.
|
|
1206
|
+
version = "3.6.0"
|
|
1207
1207
|
dependencies = [
|
|
1208
1208
|
"annotate-snippets",
|
|
1209
1209
|
"assert_cmd",
|
|
@@ -1248,7 +1248,7 @@ dependencies = [
|
|
|
1248
1248
|
|
|
1249
1249
|
[[package]]
|
|
1250
1250
|
name = "panache-formatter"
|
|
1251
|
-
version = "0.21.
|
|
1251
|
+
version = "0.21.2"
|
|
1252
1252
|
dependencies = [
|
|
1253
1253
|
"insta",
|
|
1254
1254
|
"log",
|
|
@@ -1266,7 +1266,7 @@ dependencies = [
|
|
|
1266
1266
|
|
|
1267
1267
|
[[package]]
|
|
1268
1268
|
name = "panache-parser"
|
|
1269
|
-
version = "0.27.
|
|
1269
|
+
version = "0.27.1"
|
|
1270
1270
|
dependencies = [
|
|
1271
1271
|
"entities",
|
|
1272
1272
|
"insta",
|
|
@@ -1495,18 +1495,18 @@ dependencies = [
|
|
|
1495
1495
|
|
|
1496
1496
|
[[package]]
|
|
1497
1497
|
name = "ref-cast"
|
|
1498
|
-
version = "1.0.
|
|
1498
|
+
version = "1.0.27"
|
|
1499
1499
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1500
|
-
checksum = "
|
|
1500
|
+
checksum = "7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3"
|
|
1501
1501
|
dependencies = [
|
|
1502
1502
|
"ref-cast-impl",
|
|
1503
1503
|
]
|
|
1504
1504
|
|
|
1505
1505
|
[[package]]
|
|
1506
1506
|
name = "ref-cast-impl"
|
|
1507
|
-
version = "1.0.
|
|
1507
|
+
version = "1.0.27"
|
|
1508
1508
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1509
|
-
checksum = "
|
|
1509
|
+
checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a"
|
|
1510
1510
|
dependencies = [
|
|
1511
1511
|
"proc-macro2",
|
|
1512
1512
|
"quote",
|
|
@@ -2345,9 +2345,9 @@ dependencies = [
|
|
|
2345
2345
|
|
|
2346
2346
|
[[package]]
|
|
2347
2347
|
name = "zerovec"
|
|
2348
|
-
version = "0.11.
|
|
2348
|
+
version = "0.11.8"
|
|
2349
2349
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2350
|
-
checksum = "
|
|
2350
|
+
checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8"
|
|
2351
2351
|
dependencies = [
|
|
2352
2352
|
"yoke",
|
|
2353
2353
|
"zerofrom",
|
|
@@ -2356,9 +2356,9 @@ dependencies = [
|
|
|
2356
2356
|
|
|
2357
2357
|
[[package]]
|
|
2358
2358
|
name = "zerovec-derive"
|
|
2359
|
-
version = "0.11.
|
|
2359
|
+
version = "0.11.5"
|
|
2360
2360
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2361
|
-
checksum = "
|
|
2361
|
+
checksum = "9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9"
|
|
2362
2362
|
dependencies = [
|
|
2363
2363
|
"proc-macro2",
|
|
2364
2364
|
"quote",
|
|
@@ -10,7 +10,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
|
|
|
10
10
|
|
|
11
11
|
[package]
|
|
12
12
|
name = "panache"
|
|
13
|
-
version = "3.
|
|
13
|
+
version = "3.6.0"
|
|
14
14
|
edition.workspace = true
|
|
15
15
|
rust-version.workspace = true
|
|
16
16
|
# `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
|
|
@@ -52,8 +52,8 @@ path = "src/main.rs"
|
|
|
52
52
|
required-features = ["cli"]
|
|
53
53
|
|
|
54
54
|
[dependencies]
|
|
55
|
-
panache-formatter = { path = "crates/panache-formatter", version = "0.21.
|
|
56
|
-
panache-parser = { path = "crates/panache-parser", version = "0.27.
|
|
55
|
+
panache-formatter = { path = "crates/panache-formatter", version = "0.21.2" }
|
|
56
|
+
panache-parser = { path = "crates/panache-parser", version = "0.27.1", features = [
|
|
57
57
|
"serde",
|
|
58
58
|
"schema",
|
|
59
59
|
] }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: panache-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.6.0
|
|
4
4
|
Classifier: Development Status :: 5 - Production/Stable
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -39,9 +39,9 @@ version](https://badge.fury.io/py/panache-cli.svg?icon=si%3Apython)](https://bad
|
|
|
39
39
|
version](https://badge.fury.io/js/@panache-cli%2Fpanache.svg?icon=si%3Anpm)](https://badge.fury.io/js/@panache-cli%2Fpanache)
|
|
40
40
|
[](https://codecov.io/gh/jolars/panache)
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
built in Rust with a lossless CST parser and support for external
|
|
44
|
-
linters on code blocks.
|
|
42
|
+
Panache is a language server, formatter, and linter for Markdown, Quarto, and R
|
|
43
|
+
Markdown, built in Rust with a lossless CST parser and support for external
|
|
44
|
+
formatters and linters on code blocks.
|
|
45
45
|
|
|
46
46
|
## Installation
|
|
47
47
|
|
|
@@ -125,11 +125,11 @@ panache format --check document.qmd
|
|
|
125
125
|
#### External Code Formatters
|
|
126
126
|
|
|
127
127
|
Panache supports external formatters for code blocks. For example, you can
|
|
128
|
-
configure it to run `
|
|
128
|
+
configure it to run `arity` on R code blocks and `ruff` on Python code blocks:
|
|
129
129
|
|
|
130
130
|
```toml
|
|
131
131
|
[formatters]
|
|
132
|
-
r = "
|
|
132
|
+
r = "arity"
|
|
133
133
|
python = "ruff"
|
|
134
134
|
javascript = "prettier"
|
|
135
135
|
typescript = "prettier" # Reuse same formatter
|
|
@@ -141,12 +141,12 @@ arguments:
|
|
|
141
141
|
```toml
|
|
142
142
|
[formatters]
|
|
143
143
|
python = ["isort", "black"]
|
|
144
|
-
javascript = "
|
|
144
|
+
javascript = "myformatter"
|
|
145
145
|
|
|
146
146
|
[formatters.isort]
|
|
147
147
|
args = ["--profile=black"]
|
|
148
148
|
|
|
149
|
-
[formatters.
|
|
149
|
+
[formatters.myformatter]
|
|
150
150
|
cmd = "foobar"
|
|
151
151
|
args = ["--print-width=100"]
|
|
152
152
|
stdin = true
|
|
@@ -172,8 +172,7 @@ panache lint **/*.{qmd,md}
|
|
|
172
172
|
As with formatting, Panache supports external linters for code blocks. These are
|
|
173
173
|
configured in the `[linters]` section of the configuration, but due to the
|
|
174
174
|
complexity of linting, including dealing with auto-fixing, external linters
|
|
175
|
-
cannot be customized and only support presets
|
|
176
|
-
via the `jarl` linter:
|
|
175
|
+
cannot be customized and only support presets:
|
|
177
176
|
|
|
178
177
|
```toml
|
|
179
178
|
# Enable R linting
|
|
@@ -198,7 +197,7 @@ The list of LSP features supported by Panache includes, among others:
|
|
|
198
197
|
- Document symbols/outline
|
|
199
198
|
- Folding ranges
|
|
200
199
|
- Go to definition for references and footnotes
|
|
201
|
-
-
|
|
200
|
+
- Quarto and Bookdown project awareness
|
|
202
201
|
|
|
203
202
|
## Configuration
|
|
204
203
|
|
|
@@ -223,10 +222,9 @@ line-ending = "auto"
|
|
|
223
222
|
# External code formatters (opt-in)
|
|
224
223
|
[formatters]
|
|
225
224
|
python = ["isort", "black"] # Sequential formatting
|
|
226
|
-
|
|
225
|
+
latex = "badness" # Built-in preset
|
|
227
226
|
javascript = "prettier" # Reusable definitions
|
|
228
227
|
typescript = "prettier"
|
|
229
|
-
yaml = "yamlfmt" # Formats both code blocks AND frontmatter
|
|
230
228
|
|
|
231
229
|
# Customize formatters
|
|
232
230
|
[formatters.prettier]
|
|
@@ -234,7 +232,7 @@ prepend-args = ["--print-width=100"]
|
|
|
234
232
|
|
|
235
233
|
# External code linters
|
|
236
234
|
[linters]
|
|
237
|
-
|
|
235
|
+
julia = "fatou" # Enable Julia linting
|
|
238
236
|
python = "ruff"
|
|
239
237
|
```
|
|
240
238
|
|
|
@@ -274,7 +272,7 @@ Then add Panache to your `.pre-commit-config.yaml`:
|
|
|
274
272
|
```yaml
|
|
275
273
|
repos:
|
|
276
274
|
- repo: https://github.com/jolars/panache-pre-commit
|
|
277
|
-
rev:
|
|
275
|
+
rev: v3.4.0 # Use the latest version
|
|
278
276
|
hooks:
|
|
279
277
|
- id: panache-format # Format files
|
|
280
278
|
- id: panache-lint # Lint and auto-fix issues
|
|
@@ -282,10 +280,7 @@ repos:
|
|
|
282
280
|
|
|
283
281
|
> **Note:** The hooks live in
|
|
284
282
|
> [`jolars/panache-pre-commit`](https://github.com/jolars/panache-pre-commit), a
|
|
285
|
-
> thin shim repo.
|
|
286
|
-
> sub-package tags from this monorepo (e.g. `panache-code-*`). If you currently
|
|
287
|
-
> point at `https://github.com/jolars/panache`, update the `repo:` URL and run
|
|
288
|
-
> `pre-commit autoupdate`.
|
|
283
|
+
> thin shim repo.
|
|
289
284
|
|
|
290
285
|
Install the hooks:
|
|
291
286
|
|
|
@@ -329,5 +324,5 @@ page](https://panache.bz/guide/performance).
|
|
|
329
324
|
The development of Panache has simplified considerably thanks to the extensive
|
|
330
325
|
documentation, well-structured code, and testing infrastructure provided by
|
|
331
326
|
Pandoc. We also owe significant debt to the rust-analyzer project, on which
|
|
332
|
-
|
|
327
|
+
Panache is heavily inspired.
|
|
333
328
|
|
|
@@ -13,9 +13,9 @@ version](https://badge.fury.io/py/panache-cli.svg?icon=si%3Apython)](https://bad
|
|
|
13
13
|
version](https://badge.fury.io/js/@panache-cli%2Fpanache.svg?icon=si%3Anpm)](https://badge.fury.io/js/@panache-cli%2Fpanache)
|
|
14
14
|
[](https://codecov.io/gh/jolars/panache)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
built in Rust with a lossless CST parser and support for external
|
|
18
|
-
linters on code blocks.
|
|
16
|
+
Panache is a language server, formatter, and linter for Markdown, Quarto, and R
|
|
17
|
+
Markdown, built in Rust with a lossless CST parser and support for external
|
|
18
|
+
formatters and linters on code blocks.
|
|
19
19
|
|
|
20
20
|
## Installation
|
|
21
21
|
|
|
@@ -99,11 +99,11 @@ panache format --check document.qmd
|
|
|
99
99
|
#### External Code Formatters
|
|
100
100
|
|
|
101
101
|
Panache supports external formatters for code blocks. For example, you can
|
|
102
|
-
configure it to run `
|
|
102
|
+
configure it to run `arity` on R code blocks and `ruff` on Python code blocks:
|
|
103
103
|
|
|
104
104
|
```toml
|
|
105
105
|
[formatters]
|
|
106
|
-
r = "
|
|
106
|
+
r = "arity"
|
|
107
107
|
python = "ruff"
|
|
108
108
|
javascript = "prettier"
|
|
109
109
|
typescript = "prettier" # Reuse same formatter
|
|
@@ -115,12 +115,12 @@ arguments:
|
|
|
115
115
|
```toml
|
|
116
116
|
[formatters]
|
|
117
117
|
python = ["isort", "black"]
|
|
118
|
-
javascript = "
|
|
118
|
+
javascript = "myformatter"
|
|
119
119
|
|
|
120
120
|
[formatters.isort]
|
|
121
121
|
args = ["--profile=black"]
|
|
122
122
|
|
|
123
|
-
[formatters.
|
|
123
|
+
[formatters.myformatter]
|
|
124
124
|
cmd = "foobar"
|
|
125
125
|
args = ["--print-width=100"]
|
|
126
126
|
stdin = true
|
|
@@ -146,8 +146,7 @@ panache lint **/*.{qmd,md}
|
|
|
146
146
|
As with formatting, Panache supports external linters for code blocks. These are
|
|
147
147
|
configured in the `[linters]` section of the configuration, but due to the
|
|
148
148
|
complexity of linting, including dealing with auto-fixing, external linters
|
|
149
|
-
cannot be customized and only support presets
|
|
150
|
-
via the `jarl` linter:
|
|
149
|
+
cannot be customized and only support presets:
|
|
151
150
|
|
|
152
151
|
```toml
|
|
153
152
|
# Enable R linting
|
|
@@ -172,7 +171,7 @@ The list of LSP features supported by Panache includes, among others:
|
|
|
172
171
|
- Document symbols/outline
|
|
173
172
|
- Folding ranges
|
|
174
173
|
- Go to definition for references and footnotes
|
|
175
|
-
-
|
|
174
|
+
- Quarto and Bookdown project awareness
|
|
176
175
|
|
|
177
176
|
## Configuration
|
|
178
177
|
|
|
@@ -197,10 +196,9 @@ line-ending = "auto"
|
|
|
197
196
|
# External code formatters (opt-in)
|
|
198
197
|
[formatters]
|
|
199
198
|
python = ["isort", "black"] # Sequential formatting
|
|
200
|
-
|
|
199
|
+
latex = "badness" # Built-in preset
|
|
201
200
|
javascript = "prettier" # Reusable definitions
|
|
202
201
|
typescript = "prettier"
|
|
203
|
-
yaml = "yamlfmt" # Formats both code blocks AND frontmatter
|
|
204
202
|
|
|
205
203
|
# Customize formatters
|
|
206
204
|
[formatters.prettier]
|
|
@@ -208,7 +206,7 @@ prepend-args = ["--print-width=100"]
|
|
|
208
206
|
|
|
209
207
|
# External code linters
|
|
210
208
|
[linters]
|
|
211
|
-
|
|
209
|
+
julia = "fatou" # Enable Julia linting
|
|
212
210
|
python = "ruff"
|
|
213
211
|
```
|
|
214
212
|
|
|
@@ -248,7 +246,7 @@ Then add Panache to your `.pre-commit-config.yaml`:
|
|
|
248
246
|
```yaml
|
|
249
247
|
repos:
|
|
250
248
|
- repo: https://github.com/jolars/panache-pre-commit
|
|
251
|
-
rev:
|
|
249
|
+
rev: v3.4.0 # Use the latest version
|
|
252
250
|
hooks:
|
|
253
251
|
- id: panache-format # Format files
|
|
254
252
|
- id: panache-lint # Lint and auto-fix issues
|
|
@@ -256,10 +254,7 @@ repos:
|
|
|
256
254
|
|
|
257
255
|
> **Note:** The hooks live in
|
|
258
256
|
> [`jolars/panache-pre-commit`](https://github.com/jolars/panache-pre-commit), a
|
|
259
|
-
> thin shim repo.
|
|
260
|
-
> sub-package tags from this monorepo (e.g. `panache-code-*`). If you currently
|
|
261
|
-
> point at `https://github.com/jolars/panache`, update the `repo:` URL and run
|
|
262
|
-
> `pre-commit autoupdate`.
|
|
257
|
+
> thin shim repo.
|
|
263
258
|
|
|
264
259
|
Install the hooks:
|
|
265
260
|
|
|
@@ -303,4 +298,4 @@ page](https://panache.bz/guide/performance).
|
|
|
303
298
|
The development of Panache has simplified considerably thanks to the extensive
|
|
304
299
|
documentation, well-structured code, and testing infrastructure provided by
|
|
305
300
|
Pandoc. We also owe significant debt to the rust-analyzer project, on which
|
|
306
|
-
|
|
301
|
+
Panache is heavily inspired.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.21.2](https://github.com/jolars/panache/compare/panache-formatter-v0.21.1...panache-formatter-v0.21.2) (2026-08-20)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
- **formatter:** preserve R T and F aliases ([`153ea95`](https://github.com/jolars/panache/commit/153ea957138f7be00f3634ec13864da4217fb858))
|
|
7
|
+
|
|
8
|
+
### Dependencies
|
|
9
|
+
- updated crates/panache-parser to v0.27.1
|
|
10
|
+
|
|
3
11
|
## [0.21.1](https://github.com/jolars/panache/compare/panache-formatter-v0.21.0...panache-formatter-v0.21.1) (2026-08-17)
|
|
4
12
|
|
|
5
13
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "panache-formatter"
|
|
3
|
-
version = "0.21.
|
|
3
|
+
version = "0.21.2"
|
|
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.27.
|
|
22
|
+
panache-parser = { path = "../panache-parser", version = "0.27.1" }
|
|
23
23
|
log = { version = "0.4.31", features = ["release_max_level_debug"] }
|
|
24
24
|
rowan = "0.17.0"
|
|
25
25
|
serde = { version = "1.0.228", features = ["derive"], optional = true }
|
|
@@ -271,9 +271,6 @@ impl Config {
|
|
|
271
271
|
dialect: self.dialect(),
|
|
272
272
|
extensions: self.parser_extensions.clone(),
|
|
273
273
|
pandoc_compat: self.parser,
|
|
274
|
-
// The formatter re-parses only for internal checks (idempotency,
|
|
275
|
-
// code-block handling) where citation-vs-crossref classification
|
|
276
|
-
// doesn't affect output, so the built-in prefix set suffices here.
|
|
277
274
|
crossref_prefixes: Vec::new(),
|
|
278
275
|
refdef_labels: None,
|
|
279
276
|
}
|
|
@@ -335,10 +332,6 @@ impl ConfigBuilder {
|
|
|
335
332
|
mod schema_tests {
|
|
336
333
|
use super::*;
|
|
337
334
|
|
|
338
|
-
/// Assert the emitted JSON Schema exposes exactly the expected lowercase
|
|
339
|
-
/// wire values (and no PascalCase variant names). Substring checks keep this
|
|
340
|
-
/// robust to schemars emitting a flat `enum` array vs. a `oneOf`-of-`const`
|
|
341
|
-
/// shape — the doc comments on some variants become per-value descriptions.
|
|
342
335
|
fn assert_wire_values<T: schemars::JsonSchema>(expected: &[&str]) {
|
|
343
336
|
let s = serde_json::to_string(&schemars::schema_for!(T)).unwrap();
|
|
344
337
|
for value in expected {
|
|
@@ -68,28 +68,22 @@ impl DirectiveKind {
|
|
|
68
68
|
/// assert_eq!(parse_directive("<!-- regular comment -->"), None);
|
|
69
69
|
/// ```
|
|
70
70
|
pub fn parse_directive(comment_text: &str) -> Option<Directive> {
|
|
71
|
-
// Strip HTML comment markers
|
|
72
71
|
let content = comment_text.trim();
|
|
73
72
|
|
|
74
73
|
if !content.starts_with("<!--") || !content.ends_with("-->") {
|
|
75
74
|
return None;
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
// Reject comments where the opening `<!--` and closing `-->` markers
|
|
79
|
-
// overlap or abut (e.g. `<!--->`); the inner slice would otherwise panic.
|
|
80
77
|
if content.len() < 7 {
|
|
81
78
|
return None;
|
|
82
79
|
}
|
|
83
80
|
|
|
84
|
-
// Extract content between <!-- and -->
|
|
85
81
|
let inner = content[4..content.len() - 3].trim();
|
|
86
82
|
|
|
87
|
-
// Check for panache directive prefix
|
|
88
83
|
if !inner.starts_with("panache-ignore") {
|
|
89
84
|
return None;
|
|
90
85
|
}
|
|
91
86
|
|
|
92
|
-
// Parse the directive
|
|
93
87
|
match inner {
|
|
94
88
|
"panache-ignore-start" => Some(Directive::Start(DirectiveKind::IgnoreBoth)),
|
|
95
89
|
"panache-ignore-end" => Some(Directive::End(DirectiveKind::IgnoreBoth)),
|
|
@@ -127,14 +121,12 @@ impl DirectiveTracker {
|
|
|
127
121
|
true
|
|
128
122
|
}
|
|
129
123
|
Directive::End(kind) => {
|
|
130
|
-
// Check if the top of the stack matches
|
|
131
124
|
if let Some(top) = self.stack.last()
|
|
132
125
|
&& top == kind
|
|
133
126
|
{
|
|
134
127
|
self.stack.pop();
|
|
135
128
|
return true;
|
|
136
129
|
}
|
|
137
|
-
// Mismatch or end without start
|
|
138
130
|
false
|
|
139
131
|
}
|
|
140
132
|
}
|
|
@@ -178,8 +170,6 @@ impl Default for DirectiveTracker {
|
|
|
178
170
|
pub fn extract_directive_from_node(node: &SyntaxNode) -> Option<Directive> {
|
|
179
171
|
use crate::syntax::SyntaxKind;
|
|
180
172
|
|
|
181
|
-
// HTML comments can be parsed as COMMENT, HTML_BLOCK, or INLINE_HTML
|
|
182
|
-
// depending on context (block-level vs inline) and dialect.
|
|
183
173
|
if node.kind() != SyntaxKind::COMMENT
|
|
184
174
|
&& node.kind() != SyntaxKind::HTML_BLOCK
|
|
185
175
|
&& node.kind() != SyntaxKind::HTML_BLOCK_RAW
|
|
@@ -273,8 +263,6 @@ mod tests {
|
|
|
273
263
|
|
|
274
264
|
#[test]
|
|
275
265
|
fn test_parse_directive_overlapping_markers() {
|
|
276
|
-
// Comments where the opening `<!--` and closing `-->` markers overlap
|
|
277
|
-
// (or abut) must not panic when slicing the inner content.
|
|
278
266
|
assert_eq!(parse_directive("<!--->"), None);
|
|
279
267
|
assert_eq!(parse_directive("<!-->"), None);
|
|
280
268
|
assert_eq!(parse_directive("<!---->"), None);
|
|
@@ -282,7 +270,6 @@ mod tests {
|
|
|
282
270
|
|
|
283
271
|
#[test]
|
|
284
272
|
fn test_parse_directive_future_extension() {
|
|
285
|
-
// Future syntax for rule-specific ignores should return None for now
|
|
286
273
|
assert_eq!(
|
|
287
274
|
parse_directive("<!-- panache-ignore-lint heading-hierarchy -->"),
|
|
288
275
|
None
|
|
@@ -341,11 +328,9 @@ mod tests {
|
|
|
341
328
|
fn test_tracker_mismatch() {
|
|
342
329
|
let mut tracker = DirectiveTracker::new();
|
|
343
330
|
|
|
344
|
-
// End without start
|
|
345
331
|
let result = tracker.process_directive(&Directive::End(DirectiveKind::IgnoreBoth));
|
|
346
332
|
assert!(!result);
|
|
347
333
|
|
|
348
|
-
// Mismatched kinds
|
|
349
334
|
tracker.process_directive(&Directive::Start(DirectiveKind::IgnoreFormat));
|
|
350
335
|
let result = tracker.process_directive(&Directive::End(DirectiveKind::IgnoreLint));
|
|
351
336
|
assert!(!result);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|