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