panache-cli 3.0.1__tar.gz → 3.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. {panache_cli-3.0.1 → panache_cli-3.1.0}/Cargo.lock +55 -55
  2. {panache_cli-3.0.1 → panache_cli-3.1.0}/Cargo.toml +4 -4
  3. {panache_cli-3.0.1 → panache_cli-3.1.0}/PKG-INFO +1 -1
  4. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/CHANGELOG.md +19 -0
  5. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/Cargo.toml +3 -3
  6. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/core.rs +59 -2
  7. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/inline.rs +47 -5
  8. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/lists.rs +117 -0
  9. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/CHANGELOG.md +24 -0
  10. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/Cargo.toml +1 -1
  11. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/pandoc_ast.rs +34 -0
  12. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/block_dispatcher.rs +109 -17
  13. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +20 -2
  14. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +7 -0
  15. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tables.rs +44 -1
  16. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +21 -0
  17. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +61 -0
  18. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/core.rs +226 -4
  19. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/citations.rs +169 -21
  20. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/core.rs +3 -4
  21. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +163 -1
  22. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/container_stack.rs +5 -1
  23. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/continuation.rs +23 -1
  24. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +70 -8
  25. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/model.rs +1 -0
  26. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/validator.rs +94 -0
  27. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser.rs +54 -50
  28. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/inlines.rs +1 -2
  29. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/references.rs +5 -8
  30. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/config.rs +18 -0
  31. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/includes.rs +73 -0
  32. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lib.rs +1 -0
  33. panache_cli-3.1.0/src/linter/project_index.rs +334 -0
  34. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/citation_keys.rs +1 -3
  35. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/duplicate_references.rs +17 -17
  36. panache_cli-3.1.0/src/linter/rules/duplicate_yaml_anchor.rs +116 -0
  37. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/heading_hierarchy.rs +2 -12
  38. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/undefined_anchor.rs +21 -86
  39. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/undefined_references.rs +65 -112
  40. panache_cli-3.1.0/src/linter/rules/unspaced_citation.rs +219 -0
  41. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/unused_definitions.rs +22 -171
  42. panache_cli-3.1.0/src/linter/rules/unused_yaml_anchor.rs +103 -0
  43. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules.rs +70 -0
  44. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/runner.rs +18 -0
  45. panache_cli-3.1.0/src/linter/yaml_anchors.rs +72 -0
  46. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter.rs +22 -0
  47. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/context.rs +7 -1
  48. panache_cli-3.1.0/src/lsp/conversions.rs +283 -0
  49. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/dispatch.rs +18 -2
  50. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/documents.rs +25 -9
  51. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/global_state.rs +83 -8
  52. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/code_actions.rs +14 -11
  53. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/completion.rs +13 -5
  54. panache_cli-3.1.0/src/lsp/handlers/configuration.rs +69 -0
  55. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/diagnostics.rs +12 -7
  56. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/document_highlight.rs +4 -4
  57. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/document_links.rs +10 -9
  58. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/document_symbols.rs +37 -33
  59. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/file_rename.rs +4 -3
  60. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/file_watcher.rs +1 -1
  61. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/folding_ranges.rs +37 -35
  62. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/footnote_conversion.rs +11 -8
  63. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/formatting.rs +11 -8
  64. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/goto_definition.rs +4 -4
  65. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/heading_link_conversion.rs +3 -2
  66. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/hover.rs +1 -1
  67. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/link_conversion.rs +11 -8
  68. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/linked_editing_range.rs +3 -3
  69. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/list_conversion.rs +27 -18
  70. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/prepare_rename.rs +3 -3
  71. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/references.rs +4 -3
  72. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/rename.rs +10 -7
  73. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/semantic_tokens.rs +11 -9
  74. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/workspace_symbols.rs +8 -6
  75. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/helpers.rs +3 -2
  76. panache_cli-3.1.0/src/lsp/line_index.rs +341 -0
  77. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/navigation.rs +3 -2
  78. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/testing.rs +37 -0
  79. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp.rs +5 -3
  80. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/main.rs +359 -133
  81. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata/project.rs +19 -9
  82. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata.rs +22 -0
  83. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/salsa.rs +674 -127
  84. panache_cli-3.1.0/src/vfs.rs +242 -0
  85. panache_cli-3.0.1/src/lsp/conversions.rs +0 -667
  86. panache_cli-3.0.1/src/lsp/handlers/configuration.rs +0 -31
  87. {panache_cli-3.0.1 → panache_cli-3.1.0}/LICENSE +0 -0
  88. {panache_cli-3.0.1 → panache_cli-3.1.0}/README.md +0 -0
  89. {panache_cli-3.0.1 → panache_cli-3.1.0}/assets/quarto-schema/schema.json +0 -0
  90. {panache_cli-3.0.1 → panache_cli-3.1.0}/build.rs +0 -0
  91. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/README.md +0 -0
  92. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/config.rs +0 -0
  93. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/directives.rs +0 -0
  94. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
  95. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
  96. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
  97. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
  98. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
  99. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
  100. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/inline_layout.rs +0 -0
  101. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/STYLE.md +0 -0
  102. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/linebreak.rs +0 -0
  103. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/operators.rs +0 -0
  104. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
  105. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/math.rs +0 -0
  106. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
  107. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
  108. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
  109. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
  110. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
  111. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/tables.rs +0 -0
  112. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
  113. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
  114. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
  115. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
  116. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
  117. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
  118. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
  119. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
  120. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
  121. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/formatter.rs +0 -0
  122. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/lib.rs +0 -0
  123. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/parser.rs +0 -0
  124. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/syntax.rs +0 -0
  125. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/utils.rs +0 -0
  126. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
  127. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/README.md +0 -0
  128. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/build.rs +0 -0
  129. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/grid_layout.rs +0 -0
  130. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/lib.rs +0 -0
  131. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/options.rs +0 -0
  132. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
  133. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
  134. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
  135. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
  136. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
  137. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
  138. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
  139. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
  140. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
  141. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
  142. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
  143. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
  144. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
  145. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
  146. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
  147. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
  148. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
  149. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
  150. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
  151. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
  152. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
  153. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
  154. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
  155. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
  156. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
  157. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
  158. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
  159. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
  160. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
  161. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
  162. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
  163. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
  164. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
  165. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
  166. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
  167. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
  168. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
  169. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
  170. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
  171. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
  172. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
  173. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
  174. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
  175. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
  176. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
  177. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
  178. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
  179. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
  180. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
  181. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
  182. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
  183. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
  184. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
  185. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
  186. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/math.rs +0 -0
  187. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
  188. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
  189. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
  190. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
  191. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
  192. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
  193. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
  194. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
  195. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/utils.rs +0 -0
  196. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
  197. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
  198. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
  199. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
  200. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
  201. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
  202. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/range_utils.rs +0 -0
  203. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
  204. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
  205. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
  206. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
  207. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
  208. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
  209. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
  210. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
  211. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
  212. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
  213. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
  214. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
  215. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/kind.rs +0 -0
  216. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/links.rs +0 -0
  217. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
  218. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/math.rs +0 -0
  219. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
  220. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
  221. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
  222. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
  223. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
  224. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
  225. {panache_cli-3.0.1 → panache_cli-3.1.0}/crates/panache-parser/src/syntax.rs +0 -0
  226. {panache_cli-3.0.1 → panache_cli-3.1.0}/pyproject.toml +0 -0
  227. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/bibtex.rs +0 -0
  228. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/csl_json.rs +0 -0
  229. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/csl_yaml.rs +0 -0
  230. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/index.rs +0 -0
  231. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/preview.rs +0 -0
  232. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib/ris.rs +0 -0
  233. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bib.rs +0 -0
  234. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/bin/distill_quarto_schema.rs +0 -0
  235. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/cache.rs +0 -0
  236. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/cli.rs +0 -0
  237. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/config/formatter_presets.rs +0 -0
  238. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/config/types/schema_helpers.rs +0 -0
  239. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/config/types.rs +0 -0
  240. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/diagnostic_renderer.rs +0 -0
  241. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/directives.rs +0 -0
  242. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/external_formatters_common.rs +0 -0
  243. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/external_formatters_sync.rs +0 -0
  244. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/external_tools_common.rs +0 -0
  245. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/formatter.rs +0 -0
  246. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/code_block_collector.rs +0 -0
  247. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/diagnostics.rs +0 -0
  248. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/clippy.rs +0 -0
  249. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/eslint.rs +0 -0
  250. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/jarl.rs +0 -0
  251. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/ruff.rs +0 -0
  252. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/shellcheck.rs +0 -0
  253. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters/staticcheck.rs +0 -0
  254. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters.rs +0 -0
  255. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/external_linters_sync.rs +0 -0
  256. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/fuzzy.rs +0 -0
  257. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/index.rs +0 -0
  258. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/metadata_diagnostics.rs +0 -0
  259. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/offsets.rs +0 -0
  260. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema/distill.rs +0 -0
  261. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema/interp.rs +0 -0
  262. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema/model.rs +0 -0
  263. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema/report.rs +0 -0
  264. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema/value.rs +0 -0
  265. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/quarto_schema.rs +0 -0
  266. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
  267. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
  268. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
  269. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/consumer_divergence.rs +0 -0
  270. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
  271. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/emoji_aliases.rs +0 -0
  272. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/empty_list_item.rs +0 -0
  273. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/empty_values.rs +0 -0
  274. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
  275. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
  276. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
  277. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
  278. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/html_entities.rs +0 -0
  279. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/link_text_is_url.rs +0 -0
  280. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/math_content.rs +0 -0
  281. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
  282. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/quarto_schema.rs +0 -0
  283. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
  284. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/linter/yaml_resolve.rs +0 -0
  285. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/config.rs +0 -0
  286. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/file_operations.rs +0 -0
  287. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/shortcode_args.rs +0 -0
  288. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers/workspace_folders.rs +0 -0
  289. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/handlers.rs +0 -0
  290. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/symbols.rs +0 -0
  291. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/task_pool.rs +0 -0
  292. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/lsp/uri_ext.rs +0 -0
  293. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata/bibliography.rs +0 -0
  294. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata/citations.rs +0 -0
  295. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata/references.rs +0 -0
  296. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/metadata/yaml.rs +0 -0
  297. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/parser.rs +0 -0
  298. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/range_utils.rs +0 -0
  299. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/syntax.rs +0 -0
  300. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/utils.rs +0 -0
  301. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/yaml_engine.rs +0 -0
  302. {panache_cli-3.0.1 → panache_cli-3.1.0}/src/yaml_regions.rs +0 -0
@@ -24,9 +24,9 @@ dependencies = [
24
24
 
25
25
  [[package]]
26
26
  name = "aho-corasick"
27
- version = "1.1.4"
27
+ version = "1.1.5"
28
28
  source = "registry+https://github.com/rust-lang/crates.io-index"
29
- checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
29
+ checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
30
30
  dependencies = [
31
31
  "memchr",
32
32
  ]
@@ -189,9 +189,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
189
189
 
190
190
  [[package]]
191
191
  name = "clap"
192
- version = "4.6.4"
192
+ version = "4.6.5"
193
193
  source = "registry+https://github.com/rust-lang/crates.io-index"
194
- checksum = "d91e0c145792ef73a6ad36d27c75ac09f1832222a3c209689d90f534685ee5b7"
194
+ checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
195
195
  dependencies = [
196
196
  "clap_builder",
197
197
  "clap_derive",
@@ -208,9 +208,9 @@ dependencies = [
208
208
 
209
209
  [[package]]
210
210
  name = "clap_builder"
211
- version = "4.6.2"
211
+ version = "4.6.5"
212
212
  source = "registry+https://github.com/rust-lang/crates.io-index"
213
- checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b"
213
+ checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
214
214
  dependencies = [
215
215
  "anstream",
216
216
  "anstyle",
@@ -220,9 +220,9 @@ dependencies = [
220
220
 
221
221
  [[package]]
222
222
  name = "clap_complete"
223
- version = "4.6.7"
223
+ version = "4.6.8"
224
224
  source = "registry+https://github.com/rust-lang/crates.io-index"
225
- checksum = "db8b397918185f0161ff3d6fcaa9e4bfc09b8367caf6e1d4a2848e5477ed027b"
225
+ checksum = "b1f84a88507dbd05c695f2cb5e8558e747179134005e9893882dec964190ed89"
226
226
  dependencies = [
227
227
  "clap",
228
228
  ]
@@ -366,9 +366,9 @@ dependencies = [
366
366
 
367
367
  [[package]]
368
368
  name = "data-encoding"
369
- version = "2.11.0"
369
+ version = "2.11.1"
370
370
  source = "registry+https://github.com/rust-lang/crates.io-index"
371
- checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
371
+ checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06"
372
372
 
373
373
  [[package]]
374
374
  name = "defmt"
@@ -430,13 +430,13 @@ dependencies = [
430
430
 
431
431
  [[package]]
432
432
  name = "displaydoc"
433
- version = "0.2.6"
433
+ version = "0.2.7"
434
434
  source = "registry+https://github.com/rust-lang/crates.io-index"
435
- checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
435
+ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
436
436
  dependencies = [
437
437
  "proc-macro2",
438
438
  "quote",
439
- "syn 2.0.119",
439
+ "syn 3.0.3",
440
440
  ]
441
441
 
442
442
  [[package]]
@@ -814,9 +814,9 @@ dependencies = [
814
814
 
815
815
  [[package]]
816
816
  name = "ignore"
817
- version = "0.4.31"
817
+ version = "0.4.32"
818
818
  source = "registry+https://github.com/rust-lang/crates.io-index"
819
- checksum = "7f8a7b8211e695a1d0cd91cace480d4d0bd57667ab10277cc412c5f7f4884f83"
819
+ checksum = "0b17771570a2b94107741a7b033f19132c2eee21d59d21b24d2ced26500bd66e"
820
820
  dependencies = [
821
821
  "crossbeam-deque",
822
822
  "globset",
@@ -883,9 +883,9 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
883
883
 
884
884
  [[package]]
885
885
  name = "jiff"
886
- version = "0.2.34"
886
+ version = "0.2.35"
887
887
  source = "registry+https://github.com/rust-lang/crates.io-index"
888
- checksum = "e184d09547b80eb7e20d141ba2fb1fbac843ca53f4cf1b31210adc4c1adc6e16"
888
+ checksum = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc"
889
889
  dependencies = [
890
890
  "defmt",
891
891
  "jiff-core",
@@ -907,9 +907,9 @@ dependencies = [
907
907
 
908
908
  [[package]]
909
909
  name = "jiff-static"
910
- version = "0.2.34"
910
+ version = "0.2.35"
911
911
  source = "registry+https://github.com/rust-lang/crates.io-index"
912
- checksum = "323da076b7a6faf914dc677cb05a4b907742ff7375c8322c9e7f5061e5e0e9de"
912
+ checksum = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204"
913
913
  dependencies = [
914
914
  "jiff-core",
915
915
  "proc-macro2",
@@ -930,9 +930,9 @@ dependencies = [
930
930
 
931
931
  [[package]]
932
932
  name = "jsonschema"
933
- version = "0.48.5"
933
+ version = "0.49.3"
934
934
  source = "registry+https://github.com/rust-lang/crates.io-index"
935
- checksum = "f05a6cff806294a7699d48761d4ae2bdebab7fa2eef05e4a0b83320f0ff46901"
935
+ checksum = "508004a5500f2e1f68af048f70feea2de86d35ab115d85716530860822aef397"
936
936
  dependencies = [
937
937
  "ahash",
938
938
  "bytecount",
@@ -959,18 +959,18 @@ dependencies = [
959
959
 
960
960
  [[package]]
961
961
  name = "jsonschema-regex"
962
- version = "0.48.5"
962
+ version = "0.49.3"
963
963
  source = "registry+https://github.com/rust-lang/crates.io-index"
964
- checksum = "84708dd3f6c5327478a96f37378adb27deed6a626cf84d19de780d9e8ae84b17"
964
+ checksum = "5a8b30cafa78358ae6cd1494a7d6410b89530e28bf567f862c869c667e900d9f"
965
965
  dependencies = [
966
966
  "regex-syntax",
967
967
  ]
968
968
 
969
969
  [[package]]
970
970
  name = "jsonschema-value"
971
- version = "0.48.5"
971
+ version = "0.49.3"
972
972
  source = "registry+https://github.com/rust-lang/crates.io-index"
973
- checksum = "fd8c04ab4ce60e42c4e302d3bd9d184652bb56f212495d2eea23573bcbf72556"
973
+ checksum = "5526bd381d230af94908d07e6835a33fd82a465e12f5f1e9c81f5c2aa23b3c21"
974
974
  dependencies = [
975
975
  "ahash",
976
976
  "bytecount",
@@ -994,9 +994,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
994
994
 
995
995
  [[package]]
996
996
  name = "libredox"
997
- version = "0.1.18"
997
+ version = "0.1.19"
998
998
  source = "registry+https://github.com/rust-lang/crates.io-index"
999
- checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
999
+ checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa"
1000
1000
  dependencies = [
1001
1001
  "libc",
1002
1002
  ]
@@ -1205,7 +1205,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
1205
1205
 
1206
1206
  [[package]]
1207
1207
  name = "panache"
1208
- version = "3.0.1"
1208
+ version = "3.1.0"
1209
1209
  dependencies = [
1210
1210
  "annotate-snippets",
1211
1211
  "assert_cmd",
@@ -1249,7 +1249,7 @@ dependencies = [
1249
1249
 
1250
1250
  [[package]]
1251
1251
  name = "panache-formatter"
1252
- version = "0.20.1"
1252
+ version = "0.20.3"
1253
1253
  dependencies = [
1254
1254
  "insta",
1255
1255
  "log",
@@ -1267,7 +1267,7 @@ dependencies = [
1267
1267
 
1268
1268
  [[package]]
1269
1269
  name = "panache-parser"
1270
- version = "0.22.1"
1270
+ version = "0.23.0"
1271
1271
  dependencies = [
1272
1272
  "entities",
1273
1273
  "insta",
@@ -1426,9 +1426,9 @@ dependencies = [
1426
1426
 
1427
1427
  [[package]]
1428
1428
  name = "pulldown-latex"
1429
- version = "0.7.1"
1429
+ version = "0.8.0"
1430
1430
  source = "registry+https://github.com/rust-lang/crates.io-index"
1431
- checksum = "3b8bc0583825170e3f560701d966dc2f0e3a16946da371e37d30d3ad7207fb7e"
1431
+ checksum = "1cf850381ae0dbb131f36e31d6090f55363d079ab3e518ad0323b9cb6a96d115"
1432
1432
  dependencies = [
1433
1433
  "bumpalo",
1434
1434
  ]
@@ -1516,9 +1516,9 @@ dependencies = [
1516
1516
 
1517
1517
  [[package]]
1518
1518
  name = "referencing"
1519
- version = "0.48.5"
1519
+ version = "0.49.3"
1520
1520
  source = "registry+https://github.com/rust-lang/crates.io-index"
1521
- checksum = "980e77f5cfffc592c0e7dfb6d20770a0b96a6ab94d403de7454ed9799505e4ba"
1521
+ checksum = "7af3eb523cce0df0af3c30d624b829b2dabd233172b5bc2615fcd03ceae8f746"
1522
1522
  dependencies = [
1523
1523
  "ahash",
1524
1524
  "fluent-uri 0.4.1",
@@ -1611,9 +1611,9 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
1611
1611
 
1612
1612
  [[package]]
1613
1613
  name = "salsa"
1614
- version = "0.28.1"
1614
+ version = "0.28.2"
1615
1615
  source = "registry+https://github.com/rust-lang/crates.io-index"
1616
- checksum = "a14fdadbf856222e731756d7fdbdf193a7abf8fdab009bb45f48671a42719a84"
1616
+ checksum = "cf0e374215cd2db2b5c75d7b3a99cb0cc052c0595335dfdefc03d4eb08f4aa81"
1617
1617
  dependencies = [
1618
1618
  "boxcar",
1619
1619
  "crossbeam-queue",
@@ -1637,19 +1637,19 @@ dependencies = [
1637
1637
 
1638
1638
  [[package]]
1639
1639
  name = "salsa-macro-rules"
1640
- version = "0.28.1"
1640
+ version = "0.28.2"
1641
1641
  source = "registry+https://github.com/rust-lang/crates.io-index"
1642
- checksum = "50d7dc08ba69b9aedfa61dfc4d65548ae42c0d8b90bbd62cd121776920841bcf"
1642
+ checksum = "85f4b7d4405540bbd6d4ffa52d4322d983f3781954d3073067ac1bdb028459b3"
1643
1643
 
1644
1644
  [[package]]
1645
1645
  name = "salsa-macros"
1646
- version = "0.28.1"
1646
+ version = "0.28.2"
1647
1647
  source = "registry+https://github.com/rust-lang/crates.io-index"
1648
- checksum = "ec5c48c5a4a53a6e2be9762f56566f1325d4394c011c00b3ea86ba2d13411e71"
1648
+ checksum = "445be2bfbb2f67cb663225ecd7bc5a25370c0250fca30f9d8cbad9a913650370"
1649
1649
  dependencies = [
1650
1650
  "proc-macro2",
1651
1651
  "quote",
1652
- "syn 2.0.119",
1652
+ "syn 3.0.3",
1653
1653
  ]
1654
1654
 
1655
1655
  [[package]]
@@ -1663,9 +1663,9 @@ dependencies = [
1663
1663
 
1664
1664
  [[package]]
1665
1665
  name = "schemars"
1666
- version = "1.2.1"
1666
+ version = "1.2.2"
1667
1667
  source = "registry+https://github.com/rust-lang/crates.io-index"
1668
- checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
1668
+ checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a"
1669
1669
  dependencies = [
1670
1670
  "dyn-clone",
1671
1671
  "ref-cast",
@@ -1676,14 +1676,14 @@ dependencies = [
1676
1676
 
1677
1677
  [[package]]
1678
1678
  name = "schemars_derive"
1679
- version = "1.2.1"
1679
+ version = "1.2.2"
1680
1680
  source = "registry+https://github.com/rust-lang/crates.io-index"
1681
- checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
1681
+ checksum = "d98c67716b46af2f0b8cf752abc930f6f9aecfbf671ecfb531db8a31dbe4e2ba"
1682
1682
  dependencies = [
1683
1683
  "proc-macro2",
1684
1684
  "quote",
1685
1685
  "serde_derive_internals",
1686
- "syn 2.0.119",
1686
+ "syn 3.0.3",
1687
1687
  ]
1688
1688
 
1689
1689
  [[package]]
@@ -1724,13 +1724,13 @@ dependencies = [
1724
1724
 
1725
1725
  [[package]]
1726
1726
  name = "serde_derive_internals"
1727
- version = "0.29.1"
1727
+ version = "0.30.0"
1728
1728
  source = "registry+https://github.com/rust-lang/crates.io-index"
1729
- checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
1729
+ checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
1730
1730
  dependencies = [
1731
1731
  "proc-macro2",
1732
1732
  "quote",
1733
- "syn 2.0.119",
1733
+ "syn 3.0.3",
1734
1734
  ]
1735
1735
 
1736
1736
  [[package]]
@@ -1909,9 +1909,9 @@ checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233"
1909
1909
 
1910
1910
  [[package]]
1911
1911
  name = "thin-vec"
1912
- version = "0.2.18"
1912
+ version = "0.2.19"
1913
1913
  source = "registry+https://github.com/rust-lang/crates.io-index"
1914
- checksum = "b0f7e269b48f0a7dd0146680fa24b50cc67fc0373f086a5b2f99bd084639b482"
1914
+ checksum = "79def32ffcd477db1ff26f76dab9e3a91f0bd42a85ca96577089b24623056f9d"
1915
1915
 
1916
1916
  [[package]]
1917
1917
  name = "thiserror"
@@ -1951,9 +1951,9 @@ dependencies = [
1951
1951
 
1952
1952
  [[package]]
1953
1953
  name = "toml"
1954
- version = "1.1.3+spec-1.1.0"
1954
+ version = "1.1.4+spec-1.1.0"
1955
1955
  source = "registry+https://github.com/rust-lang/crates.io-index"
1956
- checksum = "53c96ecdfa941c8fc4fcaed14f99ada8ebed502eef533015095a07e3301d4c3c"
1956
+ checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5"
1957
1957
  dependencies = [
1958
1958
  "indexmap",
1959
1959
  "serde_core",
@@ -1975,9 +1975,9 @@ dependencies = [
1975
1975
 
1976
1976
  [[package]]
1977
1977
  name = "toml_parser"
1978
- version = "1.1.2+spec-1.1.0"
1978
+ version = "1.1.3+spec-1.1.0"
1979
1979
  source = "registry+https://github.com/rust-lang/crates.io-index"
1980
- checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
1980
+ checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56"
1981
1981
  dependencies = [
1982
1982
  "winnow 1.0.4",
1983
1983
  ]
@@ -7,7 +7,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
7
7
 
8
8
  [package]
9
9
  name = "panache"
10
- version = "3.0.1"
10
+ version = "3.1.0"
11
11
  edition.workspace = true
12
12
  # `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
13
13
  # `cargo run` resolving to the CLI for tooling like the pre-commit format hook.
@@ -48,8 +48,8 @@ path = "src/main.rs"
48
48
  required-features = ["cli"]
49
49
 
50
50
  [dependencies]
51
- panache-formatter = { path = "crates/panache-formatter", version = "0.20.1" }
52
- panache-parser = { path = "crates/panache-parser", version = "0.22.1", features = [
51
+ panache-formatter = { path = "crates/panache-formatter", version = "0.20.3" }
52
+ panache-parser = { path = "crates/panache-parser", version = "0.23.0", features = [
53
53
  "serde",
54
54
  "schema",
55
55
  ] }
@@ -84,7 +84,7 @@ similar-asserts = "2.0.0"
84
84
  insta = { version = "1.47.2", features = ["json"] }
85
85
  assert_cmd = "2.2.2"
86
86
  predicates = "3.1.4"
87
- jsonschema = { version = "0.48.5", default-features = false }
87
+ jsonschema = { version = "0.49.2", default-features = false }
88
88
 
89
89
  [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
90
90
  rayon = "1.10.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: panache-cli
3
- Version: 3.0.1
3
+ Version: 3.1.0
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.20.3](https://github.com/jolars/panache/compare/panache-formatter-v0.20.2...panache-formatter-v0.20.3) (2026-08-03)
4
+
5
+ ### Bug Fixes
6
+ - **formatter:** preserve inline code-span whitespace ([`eea7b2e`](https://github.com/jolars/panache/commit/eea7b2ecfdff0fe0c178a757ff0cf0dab2819495))
7
+ - **formatter:** keep blockquote definitions prefixed ([`1110029`](https://github.com/jolars/panache/commit/1110029153ecb21f90bc14a51350e9b9809948cf))
8
+ - **formatter:** tidy bare-marker definition body ([`0ca8a0c`](https://github.com/jolars/panache/commit/0ca8a0ca12c0b17a38a05704a64e6e85eb5dcf9f))
9
+ - **formatter:** keep display math inline in table cells ([`32f45b3`](https://github.com/jolars/panache/commit/32f45b34e4c9ff28d313a8b359b8805e65559713)), closes [#449](https://github.com/jolars/panache/issues/449)
10
+
11
+ ### Dependencies
12
+ - updated crates/panache-parser to v0.23.0
13
+
14
+ ## [0.20.2](https://github.com/jolars/panache/compare/panache-formatter-v0.20.1...panache-formatter-v0.20.2) (2026-07-28)
15
+
16
+ ### Bug Fixes
17
+ - stabilize divs and code blocks in list items ([`3c47658`](https://github.com/jolars/panache/commit/3c476588af1cbdcf1e9f002a5dc904373fbc800e)), closes [#439](https://github.com/jolars/panache/issues/439)
18
+
19
+ ### Dependencies
20
+ - updated crates/panache-parser to v0.22.2
21
+
3
22
  ## [0.20.1](https://github.com/jolars/panache/compare/panache-formatter-v0.20.0...panache-formatter-v0.20.1) (2026-07-25)
4
23
 
5
24
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "panache-formatter"
3
- version = "0.20.1"
3
+ version = "0.20.3"
4
4
  edition.workspace = true
5
5
  include = [
6
6
  "/src/**/*",
@@ -18,7 +18,7 @@ keywords = ["quarto", "pandoc", "markdown", "formatter"]
18
18
  categories = ["text-processing"]
19
19
 
20
20
  [dependencies]
21
- panache-parser = { path = "../panache-parser", version = "0.22.1" }
21
+ panache-parser = { path = "../panache-parser", version = "0.23.0" }
22
22
  log = { version = "0.4.31", features = ["release_max_level_debug"] }
23
23
  rowan = "0.16.1"
24
24
  serde = { version = "1.0.228", features = ["derive"], optional = true }
@@ -44,6 +44,6 @@ pretty_yaml = "0.6.0"
44
44
  # the source of truth; this is a correctness signal, never a runtime dependency.
45
45
  # Revisit alongside the YAML oracle once the math formatter has been stable in
46
46
  # releases for a few months.
47
- pulldown-latex = "0.7.1"
47
+ pulldown-latex = "0.8.0"
48
48
  similar-asserts = "2.0.0"
49
49
  toml = "1.1.2"
@@ -278,7 +278,7 @@ impl Formatter {
278
278
  code_blocks::format_code_block(node, &self.config, &self.formatted_code, &mut self.output);
279
279
  }
280
280
 
281
- fn format_code_block_to_string(&mut self, node: &SyntaxNode) -> String {
281
+ pub(super) fn format_code_block_to_string(&mut self, node: &SyntaxNode) -> String {
282
282
  let saved_output = self.output.clone();
283
283
  self.output.clear();
284
284
  self.format_code_block(node);
@@ -1567,6 +1567,29 @@ impl Formatter {
1567
1567
  ctx.in_list_continuation = false;
1568
1568
  }
1569
1569
  }
1570
+ SyntaxKind::DEFINITION_LIST => {
1571
+ // Format the definition list to a temp buffer, then
1572
+ // re-emit each line behind the blockquote prefix so
1573
+ // the list stays inside the quote. Without this the
1574
+ // definition escapes the blockquote (dropping the
1575
+ // `>` prefix), which reparses as a top-level
1576
+ // paragraph -- a lossless/idempotency break.
1577
+ let saved_output = self.output.clone();
1578
+ self.output.clear();
1579
+ self.format_node_sync(child, indent);
1580
+ let def_output = self.output.clone();
1581
+ self.output = saved_output;
1582
+
1583
+ self.append_blockquote_prefixed_block(
1584
+ &def_output,
1585
+ &content_prefix,
1586
+ &blank_prefix,
1587
+ None,
1588
+ );
1589
+ if let Some(ctx) = self.blockquote_context.as_mut() {
1590
+ ctx.in_list_continuation = false;
1591
+ }
1592
+ }
1570
1593
  _ => {
1571
1594
  // Handle other content within block quotes
1572
1595
  self.format_node_sync(child, indent);
@@ -2119,10 +2142,44 @@ impl Formatter {
2119
2142
  self.output.push_str(tok.text());
2120
2143
  }
2121
2144
  NodeOrToken::Token(tok) if tok.kind() == SyntaxKind::NEWLINE => {
2145
+ // Bare marker (`:` alone on its line, body on the next
2146
+ // line): drop this newline so the first block pulls up
2147
+ // onto the `: ` line, matching pandoc and the
2148
+ // same-line-marker style used elsewhere. Detected by an
2149
+ // empty marker line (output still ends with `: `) with
2150
+ // a block element immediately after.
2151
+ let bare_marker_pull_up = self.output.ends_with(": ")
2152
+ && children.get(i + 1).is_some_and(|next| match next {
2153
+ NodeOrToken::Node(n) if n.kind() == SyntaxKind::PLAIN => {
2154
+ // A heading-shaped PLAIN (`# ...`) is literal
2155
+ // inline text in a compact definition; pulling
2156
+ // it onto the `: ` line would reparse as a
2157
+ // real ATX heading — a meaning change. Keep it
2158
+ // on its own line.
2159
+ let first_line = n
2160
+ .text()
2161
+ .to_string()
2162
+ .lines()
2163
+ .next()
2164
+ .unwrap_or_default()
2165
+ .trim_start_matches([' ', '\t'])
2166
+ .to_string();
2167
+ try_parse_atx_heading(&first_line).is_none()
2168
+ }
2169
+ NodeOrToken::Node(n) => is_block_element(n.kind()),
2170
+ _ => false,
2171
+ });
2122
2172
  // If next child is the first lazy paragraph, add space instead
2123
2173
  if first_para_idx.is_some_and(|idx| i + 1 == idx) {
2124
2174
  self.output.push(' ');
2125
- } else {
2175
+ } else if !bare_marker_pull_up {
2176
+ // A bare marker whose body stays on its own line (e.g.
2177
+ // a heading-shaped PLAIN that must not pull up) would
2178
+ // otherwise leave the `: ` padding as trailing
2179
+ // whitespace. Drop it back to a lone `:`.
2180
+ if self.output.ends_with(": ") {
2181
+ self.output.truncate(self.output.len() - 3);
2182
+ }
2126
2183
  self.output.push('\n');
2127
2184
  }
2128
2185
  }
@@ -30,7 +30,7 @@ fn expand_tabs_code_span(text: &str, tab_width: usize) -> String {
30
30
  }
31
31
  }
32
32
  }
33
- out.trim().to_string()
33
+ out
34
34
  }
35
35
 
36
36
  /// Render a `CITATION` or `CROSSREF` node by concatenating its child tokens.
@@ -112,6 +112,23 @@ fn collapse_internal_newlines(text: &str) -> std::borrow::Cow<'_, str> {
112
112
  std::borrow::Cow::Owned(out)
113
113
  }
114
114
 
115
+ /// Whether `node` lives inside a table cell whose row must stay on a single
116
+ /// line. Pipe and simple tables encode one row per source line, so any newline
117
+ /// emitted inside a cell breaks the table; grid and multiline tables can hold
118
+ /// multi-line block content and are excluded.
119
+ fn in_single_line_table_cell(node: &SyntaxNode) -> bool {
120
+ let mut in_cell = false;
121
+ for ancestor in node.ancestors() {
122
+ match ancestor.kind() {
123
+ SyntaxKind::TABLE_CELL => in_cell = true,
124
+ SyntaxKind::PIPE_TABLE | SyntaxKind::SIMPLE_TABLE => return in_cell,
125
+ SyntaxKind::GRID_TABLE | SyntaxKind::MULTILINE_TABLE => return false,
126
+ _ => {}
127
+ }
128
+ }
129
+ false
130
+ }
131
+
115
132
  /// Format an inline node to normalized string (e.g., emphasis with asterisks)
116
133
  pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
117
134
  match node.kind() {
@@ -175,6 +192,12 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
175
192
 
176
193
  // Preserve malformed multi-line triple-backtick code spans as-is so they
177
194
  // don't collapse into one line and then reparse differently on pass 2.
195
+ //
196
+ // A single-line Quarto executable chunk (```` ```{r}\n...\n``` ````) is
197
+ // instead collapsed to inline `{r} ...` form. Its surrounding newlines
198
+ // are block-structure boundaries, not code content, so they must be
199
+ // trimmed after the newline->space normalization below.
200
+ let mut collapse_block_chunk = false;
178
201
  if marker_len >= 3 && content.contains('\n') {
179
202
  let trimmed_start = content.trim_start();
180
203
  let first_line = trimmed_start.lines().next().unwrap_or_default();
@@ -183,16 +206,24 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
183
206
  if !looks_quarto_chunk_header {
184
207
  return node.text().to_string();
185
208
  }
209
+ collapse_block_chunk = true;
186
210
  }
187
211
 
188
- // Normalize content: replace newlines with spaces and trim
189
- // Pandoc strips leading/trailing spaces from code spans
190
- let normalized_content =
212
+ // Preserve code-span content verbatim: surrounding spaces are
213
+ // meaningful and kept as-is (unlike pandoc's markdown reader, which
214
+ // strips them). Only apply spec-mandated normalizations: internal
215
+ // line endings become spaces, and tabs expand unless preserved. The
216
+ // exception is a collapsed block chunk (above), whose structural
217
+ // boundary whitespace is trimmed.
218
+ let mut normalized_content =
191
219
  if matches!(config.tab_stops, crate::config::TabStopMode::Preserve) {
192
- content.replace('\n', " ").trim().to_string()
220
+ content.replace('\n', " ")
193
221
  } else {
194
222
  expand_tabs_code_span(&content, config.tab_width)
195
223
  };
224
+ if collapse_block_chunk {
225
+ normalized_content = normalized_content.trim().to_string();
226
+ }
196
227
 
197
228
  let mut backtick_runs = std::collections::HashSet::new();
198
229
  let mut current_run = 0;
@@ -577,6 +608,17 @@ pub(super) fn format_inline_node(node: &SyntaxNode, config: &Config) -> String {
577
608
  let closing = closing_value.as_str();
578
609
  let is_environment = display_math.is_environment_form();
579
610
 
611
+ // Display math inside a single-line table cell (pipe/simple table)
612
+ // must stay on one line: those cell formats terminate a row at the
613
+ // newline, so expanding `$$…$$` into a `$$\n…\n$$` block would split
614
+ // the cell across rows and corrupt the table (pandoc keeps the math
615
+ // inline in the cell). Collapse interior whitespace and emit a
616
+ // single-line `$$content$$`, which is idempotent across passes.
617
+ if in_single_line_table_cell(node) {
618
+ let inline_content = content.split_whitespace().collect::<Vec<_>>().join(" ");
619
+ return format!("{opening}{inline_content}{closing}");
620
+ }
621
+
580
622
  // Apply delimiter style preference
581
623
  let (open, close) = if is_environment {
582
624
  (opening, closing)