panache-cli 3.5.0__tar.gz → 3.6.0__tar.gz

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