panache-cli 3.6.1__tar.gz → 3.7.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 (345) hide show
  1. {panache_cli-3.6.1 → panache_cli-3.7.0}/Cargo.lock +142 -35
  2. {panache_cli-3.6.1 → panache_cli-3.7.0}/Cargo.toml +8 -6
  3. {panache_cli-3.6.1 → panache_cli-3.7.0}/PKG-INFO +1 -1
  4. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/CHANGELOG.md +40 -0
  5. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/Cargo.toml +4 -2
  6. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/config.rs +55 -6
  7. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/inline.rs +16 -17
  8. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/inline_layout.rs +33 -17
  9. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/lists.rs +25 -28
  10. panache_cli-3.7.0/crates/panache-formatter/src/formatter/math/STYLE.md +433 -0
  11. panache_cli-3.7.0/crates/panache-formatter/src/formatter/math/ir.rs +140 -0
  12. panache_cli-3.7.0/crates/panache-formatter/src/formatter/math/lower.rs +3441 -0
  13. panache_cli-3.7.0/crates/panache-formatter/src/formatter/math/printer.rs +606 -0
  14. panache_cli-3.7.0/crates/panache-formatter/src/formatter/math/render.rs +597 -0
  15. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/math.rs +570 -68
  16. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/raw.rs +4 -1
  17. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/tables.rs +61 -34
  18. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter.rs +46 -10
  19. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/lib.rs +3 -0
  20. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/CHANGELOG.md +13 -0
  21. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/Cargo.toml +9 -1
  22. panache_cli-3.7.0/crates/panache-parser/build.rs +234 -0
  23. panache_cli-3.7.0/crates/panache-parser/data/math_symbols.json +14699 -0
  24. panache_cli-3.7.0/crates/panache-parser/data/unicode-math.LICENSE +416 -0
  25. panache_cli-3.7.0/crates/panache-parser/data/unicode-math.NOTICE +19 -0
  26. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/lib.rs +1 -0
  27. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/block_dispatcher.rs +1 -0
  28. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +2 -5
  29. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +8 -0
  30. panache_cli-3.7.0/crates/panache-parser/src/parser/core/blockquotes.rs +612 -0
  31. panache_cli-3.7.0/crates/panache-parser/src/parser/core/definition_lists.rs +765 -0
  32. panache_cli-3.7.0/crates/panache-parser/src/parser/core/html_interruptions.rs +615 -0
  33. panache_cli-3.7.0/crates/panache-parser/src/parser/core/list_items.rs +1235 -0
  34. panache_cli-3.7.0/crates/panache-parser/src/parser/core.rs +2712 -0
  35. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/core.rs +14 -22
  36. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +1 -6
  37. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +27 -2
  38. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/latex.rs +26 -3
  39. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/math.rs +125 -60
  40. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/tests.rs +16 -8
  41. panache_cli-3.7.0/crates/panache-parser/src/parser/math.rs +1818 -0
  42. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/reparse.rs +1 -1
  43. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/events.rs +4 -6
  44. panache_cli-3.7.0/crates/panache-parser/src/semantic/math.rs +880 -0
  45. panache_cli-3.7.0/crates/panache-parser/src/semantic.rs +3 -0
  46. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/inlines.rs +8 -1
  47. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/kind.rs +25 -17
  48. panache_cli-3.7.0/crates/panache-parser/src/syntax/math.rs +1648 -0
  49. panache_cli-3.7.0/crates/panache-parser/src/syntax/raw_tex.rs +158 -0
  50. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/config/types.rs +81 -22
  51. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/config.rs +159 -9
  52. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/formatter.rs +24 -11
  53. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lib.rs +1 -0
  54. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/documents.rs +11 -5
  55. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/completion.rs +6 -8
  56. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/file_operations.rs +12 -2
  57. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/file_watcher.rs +71 -12
  58. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/testing.rs +15 -0
  59. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/main.rs +3 -2
  60. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata/project.rs +2 -3
  61. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/salsa.rs +81 -112
  62. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/vfs.rs +7 -0
  63. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/yaml_regions.rs +2 -4
  64. panache_cli-3.6.1/crates/panache-formatter/src/formatter/math/STYLE.md +0 -273
  65. panache_cli-3.6.1/crates/panache-formatter/src/formatter/math/layout.rs +0 -277
  66. panache_cli-3.6.1/crates/panache-formatter/src/formatter/math/linebreak.rs +0 -606
  67. panache_cli-3.6.1/crates/panache-formatter/src/formatter/math/operators.rs +0 -360
  68. panache_cli-3.6.1/crates/panache-formatter/src/formatter/math/render.rs +0 -901
  69. panache_cli-3.6.1/crates/panache-parser/build.rs +0 -99
  70. panache_cli-3.6.1/crates/panache-parser/src/parser/core.rs +0 -5882
  71. panache_cli-3.6.1/crates/panache-parser/src/parser/math.rs +0 -656
  72. panache_cli-3.6.1/crates/panache-parser/src/syntax/math.rs +0 -581
  73. panache_cli-3.6.1/crates/panache-parser/src/syntax/raw_tex.rs +0 -79
  74. {panache_cli-3.6.1 → panache_cli-3.7.0}/LICENSE +0 -0
  75. {panache_cli-3.6.1 → panache_cli-3.7.0}/README.md +0 -0
  76. {panache_cli-3.6.1 → panache_cli-3.7.0}/assets/quarto-schema/schema.json +0 -0
  77. {panache_cli-3.6.1 → panache_cli-3.7.0}/build.rs +0 -0
  78. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/README.md +0 -0
  79. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/directives.rs +0 -0
  80. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
  81. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/blocks.rs +0 -0
  82. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
  83. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/containers.rs +0 -0
  84. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/core.rs +0 -0
  85. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/document.rs +0 -0
  86. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
  87. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
  88. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
  89. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
  90. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
  91. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/paragraphs.rs +0 -0
  92. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/preserve.rs +0 -0
  93. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
  94. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
  95. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
  96. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
  97. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +0 -0
  98. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
  99. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
  100. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
  101. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
  102. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
  103. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
  104. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
  105. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/parser.rs +0 -0
  106. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/syntax.rs +0 -0
  107. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/utils.rs +0 -0
  108. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
  109. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/README.md +0 -0
  110. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/grid_layout.rs +0 -0
  111. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/options.rs +0 -0
  112. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/pandoc_ast.rs +0 -0
  113. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
  114. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
  115. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
  116. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
  117. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -0
  118. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
  119. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
  120. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
  121. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
  122. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
  123. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
  124. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
  125. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
  126. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
  127. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
  128. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
  129. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
  130. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
  131. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
  132. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tables.rs +0 -0
  133. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
  134. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
  135. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
  136. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
  137. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
  138. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
  139. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
  140. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -0
  141. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
  142. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
  143. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
  144. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
  145. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
  146. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +0 -0
  147. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
  148. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
  149. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
  150. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
  151. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
  152. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
  153. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
  154. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
  155. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
  156. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
  157. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
  158. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
  159. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
  160. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
  161. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
  162. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
  163. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
  164. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
  165. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
  166. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
  167. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
  168. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
  169. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
  170. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
  171. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
  172. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
  173. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
  174. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
  175. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
  176. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/container_stack.rs +0 -0
  177. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/continuation.rs +0 -0
  178. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
  179. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
  180. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -0
  181. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
  182. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
  183. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
  184. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
  185. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/utils.rs +0 -0
  186. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/verify.rs +0 -0
  187. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
  188. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
  189. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
  190. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
  191. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
  192. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
  193. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
  194. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/parser.rs +0 -0
  195. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/range_utils.rs +0 -0
  196. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
  197. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
  198. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
  199. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
  200. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
  201. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
  202. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
  203. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/code_blocks.rs +0 -0
  204. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/code_span.rs +0 -0
  205. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
  206. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
  207. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
  208. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
  209. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/links.rs +0 -0
  210. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
  211. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
  212. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/references.rs +0 -0
  213. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
  214. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/tables.rs +0 -0
  215. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
  216. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
  217. {panache_cli-3.6.1 → panache_cli-3.7.0}/crates/panache-parser/src/syntax.rs +0 -0
  218. {panache_cli-3.6.1 → panache_cli-3.7.0}/pyproject.toml +0 -0
  219. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/bibtex.rs +0 -0
  220. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/csl_json.rs +0 -0
  221. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/csl_yaml.rs +0 -0
  222. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/index.rs +0 -0
  223. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/preview.rs +0 -0
  224. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib/ris.rs +0 -0
  225. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bib.rs +0 -0
  226. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/bin/distill_quarto_schema.rs +0 -0
  227. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/cache.rs +0 -0
  228. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/cli.rs +0 -0
  229. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/config/formatter_presets.rs +0 -0
  230. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/config/types/schema_helpers.rs +0 -0
  231. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/diagnostic_renderer.rs +0 -0
  232. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/directives.rs +0 -0
  233. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/external_formatters_common.rs +0 -0
  234. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/external_formatters_sync.rs +0 -0
  235. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/external_tools_common.rs +0 -0
  236. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/includes.rs +0 -0
  237. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/incremental.rs +0 -0
  238. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/io_context.rs +0 -0
  239. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/code_block_collector.rs +0 -0
  240. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/diagnostics.rs +0 -0
  241. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/clippy.rs +0 -0
  242. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/eslint.rs +0 -0
  243. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/jarl.rs +0 -0
  244. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/jolars.rs +0 -0
  245. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/ruff.rs +0 -0
  246. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/shellcheck.rs +0 -0
  247. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters/staticcheck.rs +0 -0
  248. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters.rs +0 -0
  249. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/external_linters_sync.rs +0 -0
  250. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/fuzzy.rs +0 -0
  251. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/index.rs +0 -0
  252. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/metadata_diagnostics.rs +0 -0
  253. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/offsets.rs +0 -0
  254. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/project_index.rs +0 -0
  255. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema/distill.rs +0 -0
  256. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema/interp.rs +0 -0
  257. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema/model.rs +0 -0
  258. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema/report.rs +0 -0
  259. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema/value.rs +0 -0
  260. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/quarto_schema.rs +0 -0
  261. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
  262. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/blank_line_in_inline_footnote.rs +0 -0
  263. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
  264. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/citation_keys.rs +0 -0
  265. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
  266. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/consumer_divergence.rs +0 -0
  267. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
  268. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/duplicate_references.rs +0 -0
  269. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
  270. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/emoji_aliases.rs +0 -0
  271. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/empty_list_item.rs +0 -0
  272. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/empty_values.rs +0 -0
  273. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
  274. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/footnote_after_image.rs +0 -0
  275. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
  276. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
  277. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
  278. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/heading_hierarchy.rs +0 -0
  279. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
  280. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/html_entities.rs +0 -0
  281. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/link_text_is_url.rs +0 -0
  282. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/math_content.rs +0 -0
  283. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
  284. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/quarto_schema.rs +0 -0
  285. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
  286. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
  287. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
  288. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/table_column_count.rs +0 -0
  289. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/undefined_anchor.rs +0 -0
  290. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/undefined_references.rs +0 -0
  291. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/unspaced_citation.rs +0 -0
  292. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
  293. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/unused_definitions.rs +0 -0
  294. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
  295. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/rules.rs +0 -0
  296. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/runner.rs +0 -0
  297. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/yaml_anchors.rs +0 -0
  298. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter/yaml_resolve.rs +0 -0
  299. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/linter.rs +0 -0
  300. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/config.rs +0 -0
  301. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/context.rs +0 -0
  302. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/conversions.rs +0 -0
  303. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/dispatch.rs +0 -0
  304. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/global_state.rs +0 -0
  305. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/code_actions.rs +0 -0
  306. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/configuration.rs +0 -0
  307. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/diagnostics.rs +0 -0
  308. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/document_highlight.rs +0 -0
  309. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/document_links.rs +0 -0
  310. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/document_symbols.rs +0 -0
  311. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/file_rename.rs +0 -0
  312. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/folding_ranges.rs +0 -0
  313. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/footnote_conversion.rs +0 -0
  314. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/formatting.rs +0 -0
  315. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/goto_definition.rs +0 -0
  316. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
  317. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/hover.rs +0 -0
  318. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/link_conversion.rs +0 -0
  319. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
  320. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/list_conversion.rs +0 -0
  321. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/prepare_rename.rs +0 -0
  322. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/references.rs +0 -0
  323. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/rename.rs +0 -0
  324. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/semantic_tokens.rs +0 -0
  325. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/shortcode_args.rs +0 -0
  326. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/workspace_folders.rs +0 -0
  327. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
  328. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/handlers.rs +0 -0
  329. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/helpers.rs +0 -0
  330. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/line_index.rs +0 -0
  331. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/navigation.rs +0 -0
  332. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/symbols.rs +0 -0
  333. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/task_pool.rs +0 -0
  334. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp/uri_ext.rs +0 -0
  335. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/lsp.rs +0 -0
  336. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata/bibliography.rs +0 -0
  337. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata/citations.rs +0 -0
  338. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata/references.rs +0 -0
  339. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata/yaml.rs +0 -0
  340. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/metadata.rs +0 -0
  341. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/parser.rs +0 -0
  342. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/range_utils.rs +0 -0
  343. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/syntax.rs +0 -0
  344. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/utils.rs +0 -0
  345. {panache_cli-3.6.1 → panache_cli-3.7.0}/src/yaml_engine.rs +0 -0
@@ -119,6 +119,30 @@ version = "1.5.1"
119
119
  source = "registry+https://github.com/rust-lang/crates.io-index"
120
120
  checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
121
121
 
122
+ [[package]]
123
+ name = "badness-formatter"
124
+ version = "0.7.0"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "837ff73283e116e2e162864856b61334fd30e9bb79faa26aa60232ffdfc86952"
127
+ dependencies = [
128
+ "badness-parser",
129
+ "rowan 0.17.0",
130
+ ]
131
+
132
+ [[package]]
133
+ name = "badness-parser"
134
+ version = "0.6.0"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "8313cddef67d1de8118654841385d25ac689d5f215abe679fd6eed8e88391997"
137
+ dependencies = [
138
+ "phf 0.14.0",
139
+ "phf_codegen",
140
+ "rowan 0.17.0",
141
+ "serde",
142
+ "serde_json",
143
+ "smol_str",
144
+ ]
145
+
122
146
  [[package]]
123
147
  name = "bit-set"
124
148
  version = "0.8.0"
@@ -152,6 +176,16 @@ version = "0.2.4"
152
176
  source = "registry+https://github.com/rust-lang/crates.io-index"
153
177
  checksum = "dc0b364ead1874514c8c2855ab558056ebfeb775653e7ae45ff72f28f8f3166c"
154
178
 
179
+ [[package]]
180
+ name = "borsh"
181
+ version = "1.8.1"
182
+ source = "registry+https://github.com/rust-lang/crates.io-index"
183
+ checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a"
184
+ dependencies = [
185
+ "bytes",
186
+ "cfg_aliases",
187
+ ]
188
+
155
189
  [[package]]
156
190
  name = "boxcar"
157
191
  version = "0.2.14"
@@ -181,12 +215,24 @@ version = "0.6.9"
181
215
  source = "registry+https://github.com/rust-lang/crates.io-index"
182
216
  checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e"
183
217
 
218
+ [[package]]
219
+ name = "bytes"
220
+ version = "1.12.1"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
223
+
184
224
  [[package]]
185
225
  name = "cfg-if"
186
226
  version = "1.0.4"
187
227
  source = "registry+https://github.com/rust-lang/crates.io-index"
188
228
  checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
189
229
 
230
+ [[package]]
231
+ name = "cfg_aliases"
232
+ version = "0.2.2"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
235
+
190
236
  [[package]]
191
237
  name = "clap"
192
238
  version = "4.6.6"
@@ -227,7 +273,7 @@ dependencies = [
227
273
  "heck",
228
274
  "proc-macro2",
229
275
  "quote",
230
- "syn 3.0.3",
276
+ "syn 3.0.4",
231
277
  ]
232
278
 
233
279
  [[package]]
@@ -280,9 +326,9 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
280
326
 
281
327
  [[package]]
282
328
  name = "crc32fast"
283
- version = "1.5.0"
329
+ version = "1.5.1"
284
330
  source = "registry+https://github.com/rust-lang/crates.io-index"
285
- checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
331
+ checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550"
286
332
  dependencies = [
287
333
  "cfg-if",
288
334
  ]
@@ -436,7 +482,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
436
482
  dependencies = [
437
483
  "proc-macro2",
438
484
  "quote",
439
- "syn 3.0.3",
485
+ "syn 3.0.4",
440
486
  ]
441
487
 
442
488
  [[package]]
@@ -466,7 +512,7 @@ version = "0.9.0"
466
512
  source = "registry+https://github.com/rust-lang/crates.io-index"
467
513
  checksum = "0b1514ced566c94991ed9563258ecf61e311fd773bf0a3f20606830386bf66e3"
468
514
  dependencies = [
469
- "phf",
515
+ "phf 0.13.1",
470
516
  ]
471
517
 
472
518
  [[package]]
@@ -539,12 +585,13 @@ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
539
585
 
540
586
  [[package]]
541
587
  name = "flate2"
542
- version = "1.1.9"
588
+ version = "1.1.10"
543
589
  source = "registry+https://github.com/rust-lang/crates.io-index"
544
- checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
590
+ checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb"
545
591
  dependencies = [
546
592
  "crc32fast",
547
593
  "miniz_oxide",
594
+ "zlib-rs",
548
595
  ]
549
596
 
550
597
  [[package]]
@@ -773,9 +820,9 @@ checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa"
773
820
 
774
821
  [[package]]
775
822
  name = "icu_provider"
776
- version = "2.3.0"
823
+ version = "2.3.1"
777
824
  source = "registry+https://github.com/rust-lang/crates.io-index"
778
- checksum = "92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428"
825
+ checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73"
779
826
  dependencies = [
780
827
  "displaydoc",
781
828
  "icu_locale_core",
@@ -992,9 +1039,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
992
1039
 
993
1040
  [[package]]
994
1041
  name = "libredox"
995
- version = "0.1.20"
1042
+ version = "0.1.21"
996
1043
  source = "registry+https://github.com/rust-lang/crates.io-index"
997
- checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a"
1044
+ checksum = "d7955dfc218a8afb29dfeffd540e3a6e96baeb94fe7138228dd7cc6937fbbf96"
998
1045
  dependencies = [
999
1046
  "libc",
1000
1047
  ]
@@ -1022,9 +1069,9 @@ dependencies = [
1022
1069
 
1023
1070
  [[package]]
1024
1071
  name = "log"
1025
- version = "0.4.33"
1072
+ version = "0.4.34"
1026
1073
  source = "registry+https://github.com/rust-lang/crates.io-index"
1027
- checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
1074
+ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
1028
1075
 
1029
1076
  [[package]]
1030
1077
  name = "lsp-server"
@@ -1075,9 +1122,9 @@ checksum = "c2a86d3146ed3995b5913c414f6664344b9617457320782e64f0bb44afd49d74"
1075
1122
 
1076
1123
  [[package]]
1077
1124
  name = "miniz_oxide"
1078
- version = "0.8.9"
1125
+ version = "0.9.1"
1079
1126
  source = "registry+https://github.com/rust-lang/crates.io-index"
1080
- checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1127
+ checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c"
1081
1128
  dependencies = [
1082
1129
  "adler2",
1083
1130
  "simd-adler32",
@@ -1203,7 +1250,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
1203
1250
 
1204
1251
  [[package]]
1205
1252
  name = "panache"
1206
- version = "3.6.1"
1253
+ version = "3.7.0"
1207
1254
  dependencies = [
1208
1255
  "annotate-snippets",
1209
1256
  "assert_cmd",
@@ -1248,8 +1295,9 @@ dependencies = [
1248
1295
 
1249
1296
  [[package]]
1250
1297
  name = "panache-formatter"
1251
- version = "0.21.3"
1298
+ version = "0.22.0"
1252
1299
  dependencies = [
1300
+ "badness-formatter",
1253
1301
  "insta",
1254
1302
  "log",
1255
1303
  "panache-parser",
@@ -1260,18 +1308,22 @@ dependencies = [
1260
1308
  "serde",
1261
1309
  "serde_json",
1262
1310
  "similar-asserts",
1311
+ "tempfile",
1263
1312
  "toml",
1264
1313
  "unicode-width",
1265
1314
  ]
1266
1315
 
1267
1316
  [[package]]
1268
1317
  name = "panache-parser"
1269
- version = "0.27.2"
1318
+ version = "0.28.0"
1270
1319
  dependencies = [
1320
+ "badness-parser",
1271
1321
  "entities",
1272
1322
  "insta",
1273
1323
  "log",
1274
1324
  "memchr",
1325
+ "phf 0.14.0",
1326
+ "phf_codegen",
1275
1327
  "rowan 0.17.0",
1276
1328
  "schemars",
1277
1329
  "serde",
@@ -1331,7 +1383,37 @@ version = "0.13.1"
1331
1383
  source = "registry+https://github.com/rust-lang/crates.io-index"
1332
1384
  checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
1333
1385
  dependencies = [
1334
- "phf_shared",
1386
+ "phf_shared 0.13.1",
1387
+ ]
1388
+
1389
+ [[package]]
1390
+ name = "phf"
1391
+ version = "0.14.0"
1392
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1393
+ checksum = "010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6"
1394
+ dependencies = [
1395
+ "phf_shared 0.14.0",
1396
+ "serde",
1397
+ ]
1398
+
1399
+ [[package]]
1400
+ name = "phf_codegen"
1401
+ version = "0.14.0"
1402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1403
+ checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe"
1404
+ dependencies = [
1405
+ "phf_generator",
1406
+ "phf_shared 0.14.0",
1407
+ ]
1408
+
1409
+ [[package]]
1410
+ name = "phf_generator"
1411
+ version = "0.14.0"
1412
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1413
+ checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100"
1414
+ dependencies = [
1415
+ "fastrand",
1416
+ "phf_shared 0.14.0",
1335
1417
  ]
1336
1418
 
1337
1419
  [[package]]
@@ -1343,6 +1425,15 @@ dependencies = [
1343
1425
  "siphasher",
1344
1426
  ]
1345
1427
 
1428
+ [[package]]
1429
+ name = "phf_shared"
1430
+ version = "0.14.0"
1431
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1432
+ checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89"
1433
+ dependencies = [
1434
+ "siphasher",
1435
+ ]
1436
+
1346
1437
  [[package]]
1347
1438
  name = "pin-project-lite"
1348
1439
  version = "0.2.17"
@@ -1510,7 +1601,7 @@ checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a"
1510
1601
  dependencies = [
1511
1602
  "proc-macro2",
1512
1603
  "quote",
1513
- "syn 3.0.3",
1604
+ "syn 3.0.4",
1514
1605
  ]
1515
1606
 
1516
1607
  [[package]]
@@ -1661,7 +1752,7 @@ checksum = "445be2bfbb2f67cb663225ecd7bc5a25370c0250fca30f9d8cbad9a913650370"
1661
1752
  dependencies = [
1662
1753
  "proc-macro2",
1663
1754
  "quote",
1664
- "syn 3.0.3",
1755
+ "syn 3.0.4",
1665
1756
  ]
1666
1757
 
1667
1758
  [[package]]
@@ -1695,7 +1786,7 @@ dependencies = [
1695
1786
  "proc-macro2",
1696
1787
  "quote",
1697
1788
  "serde_derive_internals",
1698
- "syn 3.0.3",
1789
+ "syn 3.0.4",
1699
1790
  ]
1700
1791
 
1701
1792
  [[package]]
@@ -1731,7 +1822,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
1731
1822
  dependencies = [
1732
1823
  "proc-macro2",
1733
1824
  "quote",
1734
- "syn 3.0.3",
1825
+ "syn 3.0.4",
1735
1826
  ]
1736
1827
 
1737
1828
  [[package]]
@@ -1742,7 +1833,7 @@ checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
1742
1833
  dependencies = [
1743
1834
  "proc-macro2",
1744
1835
  "quote",
1745
- "syn 3.0.3",
1836
+ "syn 3.0.4",
1746
1837
  ]
1747
1838
 
1748
1839
  [[package]]
@@ -1766,7 +1857,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
1766
1857
  dependencies = [
1767
1858
  "proc-macro2",
1768
1859
  "quote",
1769
- "syn 3.0.3",
1860
+ "syn 3.0.4",
1770
1861
  ]
1771
1862
 
1772
1863
  [[package]]
@@ -1828,6 +1919,16 @@ version = "1.15.2"
1828
1919
  source = "registry+https://github.com/rust-lang/crates.io-index"
1829
1920
  checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
1830
1921
 
1922
+ [[package]]
1923
+ name = "smol_str"
1924
+ version = "0.3.6"
1925
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1926
+ checksum = "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523"
1927
+ dependencies = [
1928
+ "borsh",
1929
+ "serde_core",
1930
+ ]
1931
+
1831
1932
  [[package]]
1832
1933
  name = "stable_deref_trait"
1833
1934
  version = "1.2.1"
@@ -1874,9 +1975,9 @@ dependencies = [
1874
1975
 
1875
1976
  [[package]]
1876
1977
  name = "syn"
1877
- version = "3.0.3"
1978
+ version = "3.0.4"
1878
1979
  source = "registry+https://github.com/rust-lang/crates.io-index"
1879
- checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
1980
+ checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
1880
1981
  dependencies = [
1881
1982
  "proc-macro2",
1882
1983
  "quote",
@@ -1942,7 +2043,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
1942
2043
  dependencies = [
1943
2044
  "proc-macro2",
1944
2045
  "quote",
1945
- "syn 3.0.3",
2046
+ "syn 3.0.4",
1946
2047
  ]
1947
2048
 
1948
2049
  [[package]]
@@ -2063,9 +2164,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
2063
2164
 
2064
2165
  [[package]]
2065
2166
  name = "uuid"
2066
- version = "1.24.1"
2167
+ version = "1.26.0"
2067
2168
  source = "registry+https://github.com/rust-lang/crates.io-index"
2068
- checksum = "2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9"
2169
+ checksum = "b5772d71c9be8a8a6ac2117d949c5b224c1b72241bb611d9a3012edcf8af7812"
2069
2170
  dependencies = [
2070
2171
  "getrandom 0.4.3",
2071
2172
  "js-sys",
@@ -2175,9 +2276,9 @@ dependencies = [
2175
2276
 
2176
2277
  [[package]]
2177
2278
  name = "which"
2178
- version = "8.0.5"
2279
+ version = "8.0.6"
2179
2280
  source = "registry+https://github.com/rust-lang/crates.io-index"
2180
- checksum = "8f3ef584124b911bcc3875c2f1472e80f24361ceb789bd1c62b3e9a3df9ff43c"
2281
+ checksum = "bae2f2b2b816647a1cab1acc91f5bd20812d53cb344382635ec2181940c8034f"
2181
2282
  dependencies = [
2182
2283
  "libc",
2183
2284
  ]
@@ -2356,15 +2457,21 @@ dependencies = [
2356
2457
 
2357
2458
  [[package]]
2358
2459
  name = "zerovec-derive"
2359
- version = "0.11.5"
2460
+ version = "0.11.6"
2360
2461
  source = "registry+https://github.com/rust-lang/crates.io-index"
2361
- checksum = "9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9"
2462
+ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da"
2362
2463
  dependencies = [
2363
2464
  "proc-macro2",
2364
2465
  "quote",
2365
- "syn 3.0.3",
2466
+ "syn 3.0.4",
2366
2467
  ]
2367
2468
 
2469
+ [[package]]
2470
+ name = "zlib-rs"
2471
+ version = "0.6.7"
2472
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2473
+ checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
2474
+
2368
2475
  [[package]]
2369
2476
  name = "zmij"
2370
2477
  version = "1.0.23"
@@ -1,8 +1,7 @@
1
1
  [workspace.package]
2
2
  edition = "2024"
3
- # Kept in lockstep with the pinned toolchain in `rust-toolchain.toml`, which is
4
- # the only version CI builds. Bump both together.
5
- rust-version = "1.94"
3
+ # The default toolchain tracks stable; CI checks this minimum separately.
4
+ rust-version = "1.89"
6
5
  license = "MIT"
7
6
  repository = "https://github.com/jolars/panache"
8
7
  homepage = "https://panache.bz"
@@ -10,7 +9,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
10
9
 
11
10
  [package]
12
11
  name = "panache"
13
- version = "3.6.1"
12
+ version = "3.7.0"
14
13
  edition.workspace = true
15
14
  rust-version.workspace = true
16
15
  # `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
@@ -52,8 +51,11 @@ path = "src/main.rs"
52
51
  required-features = ["cli"]
53
52
 
54
53
  [dependencies]
55
- panache-formatter = { path = "crates/panache-formatter", version = "0.21.3" }
56
- panache-parser = { path = "crates/panache-parser", version = "0.27.2", features = [
54
+ panache-formatter = { path = "crates/panache-formatter", version = "0.22.0", features = [
55
+ "serde",
56
+ "schema",
57
+ ] }
58
+ panache-parser = { path = "crates/panache-parser", version = "0.28.0", features = [
57
59
  "serde",
58
60
  "schema",
59
61
  ] }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: panache-cli
3
- Version: 3.6.1
3
+ Version: 3.7.0
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.22.0](https://github.com/jolars/panache/compare/panache-formatter-v0.21.3...panache-formatter-v0.22.0) (2026-08-28)
4
+
5
+ ### Features
6
+ - put math formatting under `[format]\nmath = "reflow"` etc ([`308188f`](https://github.com/jolars/panache/commit/308188f6e49b6273afe3a82bc67b4f3fde7c6d41))
7
+ - **formatter:** stabilize math formatting ([`c7f7256`](https://github.com/jolars/panache/commit/c7f72568acafed3a46dca15a119708da2107b996))
8
+ - **formatter:** compose grouped environment prefixes ([`3704afd`](https://github.com/jolars/panache/commit/3704afd6e3daa36dbb0f7b8a8e20774d3fd7dd6c))
9
+ - **formatter:** compose delimited environment prefixes ([`2e82b4b`](https://github.com/jolars/panache/commit/2e82b4b5e3109bb2f2ac358eb6fe210fb6f1970c))
10
+ - **formatter:** compose operand environment prefixes ([`940b713`](https://github.com/jolars/panache/commit/940b713ab132a6b31d300b34b8cdc6eed70bc3c7))
11
+ - **formatter:** compose unary environment prefixes ([`37ce18c`](https://github.com/jolars/panache/commit/37ce18c58f9146f43bec07ed22b6297cd490f3d0))
12
+ - **formatter:** format scripted environments ([`8b0c333`](https://github.com/jolars/panache/commit/8b0c33389b0d4fec64c2603aa575d934b092a045))
13
+ - **formatter:** compose environment suffix operators ([`5376765`](https://github.com/jolars/panache/commit/5376765281c1bad674846fb4073793d19edcc8d2))
14
+ - **formatter:** format trailing environment content ([`8d754ef`](https://github.com/jolars/panache/commit/8d754ef74d737c4619ed5fe7441fd035da1f2ea9))
15
+ - **formatter:** format relation-led environments ([`7a1d44c`](https://github.com/jolars/panache/commit/7a1d44c9181789ee90dd68f0898f5280845f65e4))
16
+ - **formatter:** format commented display environments ([`bc26f1d`](https://github.com/jolars/panache/commit/bc26f1d99e8158087f94bdfa47e82a0563e56232))
17
+ - **formatter:** format commented inline environments ([`615bbe9`](https://github.com/jolars/panache/commit/615bbe92e95f21714f19e02acdab7d2d536bc52c))
18
+ - **math:** format punctuated environments ([`5e2adb7`](https://github.com/jolars/panache/commit/5e2adb77bcf288ce1375eb531b1bff11922599fd))
19
+ - **math:** format mixed delimited environments ([`d95a857`](https://github.com/jolars/panache/commit/d95a8579f71d4b0aec8f713c3d18fe9da36bfd08))
20
+ - **math:** lower display definition relations ([`03beb02`](https://github.com/jolars/panache/commit/03beb02ba31f2b7bc2ba326412b09cb01c976ab4))
21
+ - **math:** lower definition relations ([`0cbd359`](https://github.com/jolars/panache/commit/0cbd359d3bf219e63ff0262cb33c85201304804a))
22
+ - **math:** lower display wrapping ([`f7fdb7d`](https://github.com/jolars/panache/commit/f7fdb7db5c041dfae76f00853a3065c32efe7e1c))
23
+ - **msrv:** reduce MSRV to 1.89 ([`d285e6c`](https://github.com/jolars/panache/commit/d285e6c5117220eb16d6a33ed0f4ec058451b5ad))
24
+ - **math:** structure and format TeX math (#513) ([`02aff73`](https://github.com/jolars/panache/commit/02aff73166a9a2e33b0d6d2e71a8024d9cf9f747))
25
+
26
+ ### Bug Fixes
27
+ - **formatter:** trim math line endings ([`42e1a2f`](https://github.com/jolars/panache/commit/42e1a2f5ab83a4fbd097727d4452e6828df6404c))
28
+ - **formatter:** improve math display breaks ([`f834dfe`](https://github.com/jolars/panache/commit/f834dfe7f52456ea92186c2229b6f9c9c5410a1a))
29
+ - **formatter:** preserve signed TeX dimensions ([`b576272`](https://github.com/jolars/panache/commit/b576272bd34ec99e63fa8a73e53ac7988d4eab75))
30
+ - **formatter:** keep array arguments attached ([`ebb9ad2`](https://github.com/jolars/panache/commit/ebb9ad241d554a50c21202d4f7879770d529b78e))
31
+ - **formatter:** preserve postfix limit signs ([`1d824c5`](https://github.com/jolars/panache/commit/1d824c535dae8b1cd7c11283dc453b54bd018a6f))
32
+ - stabilize smoke-test formatting ([`0621456`](https://github.com/jolars/panache/commit/06214564c854e6ae7f399ea4977f1d207e45cc05)), fixes [#520](https://github.com/jolars/panache/issues/520)
33
+ - **formatter:** normalize grid cell continuations ([`5ee03d5`](https://github.com/jolars/panache/commit/5ee03d524531f34b44b388d71869801ed48691fc)), fixes [#518](https://github.com/jolars/panache/issues/518)
34
+ - **math:** format raw TeX environments idempotently ([`e8ea2f7`](https://github.com/jolars/panache/commit/e8ea2f7fb09cd0eb2c5b85c773c348385b80b04e)), fixes [#517](https://github.com/jolars/panache/issues/517)
35
+ - **formatter:** preserve TeX control spaces ([`3f95fa9`](https://github.com/jolars/panache/commit/3f95fa9fe97476f84d7407c3dcb2c746f2d47935)), fixes [#516](https://github.com/jolars/panache/issues/516)
36
+ - **formatter:** format inline environment comments ([`afbe920`](https://github.com/jolars/panache/commit/afbe92021bfbd2a4d3c470b9547cfb28504e35ba))
37
+ - **math:** reset tight-grid cell indents ([`d278aff`](https://github.com/jolars/panache/commit/d278aff9b7722939519f64ec380a429357e2785f))
38
+ - **formatter:** stabilize mixed math fallback ([`dcd5fa0`](https://github.com/jolars/panache/commit/dcd5fa03e862e1e80bd2357c7fd45407d84b66ad)), fixes [#510](https://github.com/jolars/panache/issues/510)
39
+
40
+ ### Dependencies
41
+ - updated crates/panache-parser to v0.28.0
42
+
3
43
  ## [0.21.3](https://github.com/jolars/panache/compare/panache-formatter-v0.21.2...panache-formatter-v0.21.3) (2026-08-20)
4
44
 
5
45
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "panache-formatter"
3
- version = "0.21.3"
3
+ version = "0.22.0"
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.2" }
22
+ panache-parser = { path = "../panache-parser", version = "0.28.0" }
23
23
  log = { version = "0.4.31", features = ["release_max_level_debug"] }
24
24
  rowan = "0.17.0"
25
25
  serde = { version = "1.0.228", features = ["derive"], optional = true }
@@ -32,6 +32,7 @@ serde = ["dep:serde", "panache-parser/serde"]
32
32
  schema = ["serde", "dep:schemars", "panache-parser/schema"]
33
33
 
34
34
  [dev-dependencies]
35
+ badness-formatter = "=0.7.0"
35
36
  serde_json = "1.0.150"
36
37
  insta = { version = "1.47.2", features = ["json"] }
37
38
  # TEMPORARY: cross-validation oracle only (tests/yaml_cross_validation.rs).
@@ -47,4 +48,5 @@ pretty_yaml = "0.6.0"
47
48
  # releases for a few months.
48
49
  pulldown-latex = "0.8.0"
49
50
  similar-asserts = "2.0.0"
51
+ tempfile = "3.27.0"
50
52
  toml = "1.1.2"
@@ -1,5 +1,8 @@
1
1
  use std::collections::HashMap;
2
2
 
3
+ use panache_parser::semantic::math::SignatureScope;
4
+ use panache_parser::semantic::math::{ArgKind, ArgumentDomain};
5
+
3
6
  pub use panache_parser::Dialect;
4
7
  pub use panache_parser::Extensions;
5
8
  pub use panache_parser::Extensions as ParserExtensions;
@@ -28,6 +31,23 @@ pub enum MathDelimiterStyle {
28
31
  Backslash,
29
32
  }
30
33
 
34
+ /// How TeX math content is formatted.
35
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
36
+ #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
37
+ #[cfg_attr(feature = "serde", serde(rename_all = "kebab-case"))]
38
+ #[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
39
+ pub enum MathMode {
40
+ /// Keep math content on the formatter's verbatim preservation path.
41
+ Verbatim,
42
+ /// Normalize math while retaining authored top-level soft display lines.
43
+ Preserve,
44
+ /// Normalize math and flatten free display rows without width wrapping.
45
+ SingleLine,
46
+ /// Normalize math and reflow over-width display formulas.
47
+ #[default]
48
+ Reflow,
49
+ }
50
+
31
51
  /// Default indentation (in columns) for top-level tables.
32
52
  pub const DEFAULT_TABLE_INDENT: usize = 2;
33
53
 
@@ -50,6 +70,21 @@ pub struct FormatterConfig {
50
70
  pub stdin: bool,
51
71
  }
52
72
 
73
+ /// One positional argument in a configured TeX math-command signature.
74
+ #[derive(Debug, Clone, Copy, PartialEq, Eq)]
75
+ #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
76
+ #[cfg_attr(
77
+ feature = "serde",
78
+ serde(deny_unknown_fields, rename_all = "kebab-case")
79
+ )]
80
+ #[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
81
+ pub struct MathArgumentConfig {
82
+ /// Delimiter shape. Brackets are optional; braces are required.
83
+ pub kind: ArgKind,
84
+ /// Whether consumers may interpret the argument as math, text, or neither.
85
+ pub domain: ArgumentDomain,
86
+ }
87
+
53
88
  #[derive(Debug, Clone, PartialEq)]
54
89
  #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
55
90
  #[cfg_attr(feature = "serde", serde(rename_all = "lowercase"))]
@@ -199,6 +234,11 @@ pub struct Config {
199
234
  pub line_width: usize,
200
235
  pub math_indent: usize,
201
236
  pub math_delimiter_style: MathDelimiterStyle,
237
+ /// Explicit positional signatures for TeX commands, keyed without `\\`.
238
+ pub math_signatures: std::collections::BTreeMap<String, Vec<MathArgumentConfig>>,
239
+ /// Effective configured-plus-document signature scope for this format run.
240
+ #[doc(hidden)]
241
+ pub math_signature_scope: SignatureScope,
202
242
  /// Indentation (in columns) applied to top-level pipe, simple, and
203
243
  /// multiline tables. Grid tables ignore this and stay flush at column 0,
204
244
  /// since Pandoc only recognizes a grid table whose border starts at column
@@ -225,11 +265,8 @@ pub struct Config {
225
265
  pub external_max_parallel: usize,
226
266
  /// Compatibility target for ambiguous Pandoc behavior.
227
267
  pub parser: PandocCompat,
228
- /// Experimental, opt-in: structurally reformat math *content* (inline
229
- /// whitespace, environment-body indentation, `\\` normalization, `&`-column
230
- /// alignment). Default false ⇒ math is emitted verbatim. Unstable surface —
231
- /// may change without a major release.
232
- pub experimental_format_math: bool,
268
+ /// Math content formatting and display line-breaking policy.
269
+ pub math: MathMode,
233
270
  }
234
271
 
235
272
  impl Default for Config {
@@ -243,6 +280,8 @@ impl Default for Config {
243
280
  line_width: 80,
244
281
  math_indent: 2,
245
282
  math_delimiter_style: MathDelimiterStyle::default(),
283
+ math_signatures: std::collections::BTreeMap::new(),
284
+ math_signature_scope: SignatureScope::default(),
246
285
  table_indent: DEFAULT_TABLE_INDENT,
247
286
  tab_stops: TabStopMode::Normalize,
248
287
  tab_width: 4,
@@ -254,7 +293,7 @@ impl Default for Config {
254
293
  formatters: HashMap::new(), // Opt-in: empty by default
255
294
  external_max_parallel: default_external_max_parallel(),
256
295
  parser: PandocCompat::default(),
257
- experimental_format_math: false,
296
+ math: MathMode::default(),
258
297
  }
259
298
  }
260
299
  }
@@ -283,6 +322,11 @@ pub struct ConfigBuilder {
283
322
  }
284
323
 
285
324
  impl ConfigBuilder {
325
+ pub fn math(mut self, mode: MathMode) -> Self {
326
+ self.config.math = mode;
327
+ self
328
+ }
329
+
286
330
  pub fn math_indent(mut self, indent: usize) -> Self {
287
331
  self.config.math_indent = indent;
288
332
  self
@@ -347,6 +391,11 @@ mod schema_tests {
347
391
  assert_wire_values::<MathDelimiterStyle>(&["preserve", "dollars", "backslash"]);
348
392
  }
349
393
 
394
+ #[test]
395
+ fn math_mode_values_are_kebab_case() {
396
+ assert_wire_values::<MathMode>(&["verbatim", "preserve", "single-line", "reflow"]);
397
+ }
398
+
350
399
  #[test]
351
400
  fn tab_stop_mode_values_are_lowercase() {
352
401
  assert_wire_values::<TabStopMode>(&["normalize", "preserve"]);