panache-cli 3.11.0__tar.gz → 3.12.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 (343) hide show
  1. {panache_cli-3.11.0 → panache_cli-3.12.0}/Cargo.lock +37 -55
  2. {panache_cli-3.11.0 → panache_cli-3.12.0}/Cargo.toml +7 -3
  3. {panache_cli-3.11.0 → panache_cli-3.12.0}/PKG-INFO +1 -1
  4. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/CHANGELOG.md +20 -0
  5. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/Cargo.toml +2 -2
  6. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/blocks.rs +21 -27
  7. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/containers.rs +14 -46
  8. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/core.rs +17 -10
  9. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/inline.rs +140 -19
  10. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/inline_layout.rs +66 -3
  11. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/lists.rs +8 -10
  12. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math/STYLE.md +3 -2
  13. panache_cli-3.12.0/crates/panache-formatter/src/formatter/paragraphs.rs +31 -0
  14. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/preserve.rs +57 -6
  15. panache_cli-3.12.0/crates/panache-formatter/src/formatter/table_conversion.rs +892 -0
  16. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/tables.rs +361 -442
  17. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/STYLE.md +7 -7
  18. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter.rs +1 -0
  19. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/lib.rs +1 -0
  20. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/CHANGELOG.md +13 -0
  21. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/Cargo.toml +1 -1
  22. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/grid_layout.rs +87 -13
  23. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/options.rs +2 -2
  24. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tables.rs +81 -107
  25. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/tables.rs +55 -0
  26. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/core.rs +4 -1
  27. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/core.rs +25 -0
  28. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/inline_ir.rs +1 -1
  29. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/code_blocks.rs +19 -5
  30. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/consumer.rs +7 -0
  31. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/inlines.rs +168 -0
  32. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/kind.rs +1 -0
  33. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/tables.rs +84 -0
  34. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/cache.rs +1 -1
  35. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/diagnostic_renderer.rs +59 -34
  36. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/formatter.rs +2 -2
  37. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/includes.rs +33 -15
  38. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/code_block_collector.rs +327 -42
  39. panache_cli-3.12.0/src/linter/execution_context.rs +902 -0
  40. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/clippy.rs +11 -13
  41. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/eslint.rs +11 -13
  42. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/jarl.rs +11 -11
  43. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/jolars.rs +17 -22
  44. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/ruff.rs +19 -10
  45. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/shellcheck.rs +10 -54
  46. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters/staticcheck.rs +6 -12
  47. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters.rs +186 -29
  48. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/html_entities.rs +1 -0
  49. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/runner.rs +10 -9
  50. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter.rs +2 -0
  51. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/dispatch.rs +7 -0
  52. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/documents.rs +75 -0
  53. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/global_state.rs +59 -0
  54. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/code_actions.rs +32 -54
  55. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/diagnostics.rs +37 -10
  56. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/file_operations.rs +15 -0
  57. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/file_watcher.rs +6 -0
  58. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/hover.rs +142 -42
  59. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/rename.rs +4 -11
  60. panache_cli-3.12.0/src/lsp/handlers/table_conversion.rs +180 -0
  61. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers.rs +1 -0
  62. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/symbols.rs +2 -1
  63. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/testing.rs +54 -4
  64. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/main.rs +347 -59
  65. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/salsa.rs +11 -9
  66. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/utils.rs +90 -72
  67. panache_cli-3.11.0/crates/panache-formatter/src/formatter/paragraphs.rs +0 -15
  68. {panache_cli-3.11.0 → panache_cli-3.12.0}/LICENSE +0 -0
  69. {panache_cli-3.11.0 → panache_cli-3.12.0}/README.md +0 -0
  70. {panache_cli-3.11.0 → panache_cli-3.12.0}/assets/quarto-schema/schema.json +0 -0
  71. {panache_cli-3.11.0 → panache_cli-3.12.0}/build.rs +0 -0
  72. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/README.md +0 -0
  73. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/config.rs +0 -0
  74. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/directives.rs +0 -0
  75. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/blockquotes.rs +0 -0
  76. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/code_blocks.rs +0 -0
  77. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/document.rs +0 -0
  78. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/fenced_divs.rs +0 -0
  79. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/hashpipe.rs +0 -0
  80. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/headings.rs +0 -0
  81. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/indent_utils.rs +0 -0
  82. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math/ir.rs +0 -0
  83. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math/lower.rs +0 -0
  84. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math/printer.rs +0 -0
  85. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math/render.rs +0 -0
  86. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/math.rs +0 -0
  87. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/metadata.rs +0 -0
  88. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/raw.rs +0 -0
  89. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/sentence_wrap.rs +0 -0
  90. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/shortcodes.rs +0 -0
  91. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/smart.rs +0 -0
  92. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/utils.rs +0 -0
  93. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/block_map.rs +0 -0
  94. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/block_sequence.rs +0 -0
  95. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/document.rs +0 -0
  96. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/flow.rs +0 -0
  97. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/options.rs +0 -0
  98. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml/scalar.rs +0 -0
  99. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/formatter/yaml.rs +0 -0
  100. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/parser.rs +0 -0
  101. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/syntax.rs +0 -0
  102. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/utils.rs +0 -0
  103. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-formatter/src/yaml_engine.rs +0 -0
  104. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/README.md +0 -0
  105. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/build.rs +0 -0
  106. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/data/math_symbols.json +0 -0
  107. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/data/unicode-math.LICENSE +0 -0
  108. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/data/unicode-math.NOTICE +0 -0
  109. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/lib.rs +0 -0
  110. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/pandoc_ast.rs +0 -0
  111. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/block_dispatcher.rs +0 -0
  112. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/admonitions.rs +0 -0
  113. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/blockquotes.rs +0 -0
  114. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/code_blocks.rs +0 -0
  115. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/container_prefix.rs +0 -0
  116. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/definition_lists.rs +0 -0
  117. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/fenced_divs.rs +0 -0
  118. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/figures.rs +0 -0
  119. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/headings.rs +0 -0
  120. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/horizontal_rules.rs +0 -0
  121. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/html_blocks.rs +0 -0
  122. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/indented_code.rs +0 -0
  123. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/latex_envs.rs +0 -0
  124. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/line_blocks.rs +0 -0
  125. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/lists.rs +0 -0
  126. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/metadata.rs +0 -0
  127. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/myst_directives.rs +0 -0
  128. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/myst_targets.rs +0 -0
  129. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/paragraphs.rs +0 -0
  130. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/raw_blocks.rs +0 -0
  131. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/reference_links.rs +0 -0
  132. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/blanklines.rs +0 -0
  133. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/blockquotes.rs +0 -0
  134. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/code_blocks.rs +0 -0
  135. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/content_containers.rs +0 -0
  136. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/definition_lists.rs +0 -0
  137. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/figures.rs +0 -0
  138. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/footnote_marker_line.rs +0 -0
  139. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/fragment_context.rs +0 -0
  140. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/frame_pinning.rs +0 -0
  141. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/headings.rs +0 -0
  142. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/helpers.rs +0 -0
  143. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/lists.rs +0 -0
  144. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/losslessness.rs +0 -0
  145. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks/tests/metadata_guards.rs +0 -0
  146. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/blocks.rs +0 -0
  147. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/core/blockquotes.rs +0 -0
  148. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/core/definition_lists.rs +0 -0
  149. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/core/html_interruptions.rs +0 -0
  150. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/core/list_items.rs +0 -0
  151. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/diagnostics.rs +0 -0
  152. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/bookdown.rs +0 -0
  153. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/bracketed_spans.rs +0 -0
  154. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/citations.rs +0 -0
  155. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/code_spans.rs +0 -0
  156. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/emoji.rs +0 -0
  157. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/escapes.rs +0 -0
  158. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/hard_breaks.rs +0 -0
  159. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/inline_executable.rs +0 -0
  160. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/inline_footnotes.rs +0 -0
  161. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/inline_html.rs +0 -0
  162. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/latex.rs +0 -0
  163. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/links.rs +0 -0
  164. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/mark.rs +0 -0
  165. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/math.rs +0 -0
  166. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/myst_roles.rs +0 -0
  167. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/myst_substitutions.rs +0 -0
  168. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/native_spans.rs +0 -0
  169. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/raw_inline.rs +0 -0
  170. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/refdef_map.rs +0 -0
  171. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/shortcodes.rs +0 -0
  172. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/sink.rs +0 -0
  173. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/strikeout.rs +0 -0
  174. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/subscript.rs +0 -0
  175. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/superscript.rs +0 -0
  176. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/svelte.rs +0 -0
  177. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/tests.rs +0 -0
  178. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/uri-schemes.csv +0 -0
  179. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines/wikilinks.rs +0 -0
  180. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/inlines.rs +0 -0
  181. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/math.rs +0 -0
  182. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/reparse.rs +0 -0
  183. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/attributes.rs +0 -0
  184. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/chunk_options.rs +0 -0
  185. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/container_stack.rs +0 -0
  186. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/continuation.rs +0 -0
  187. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/helpers.rs +0 -0
  188. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/inline_emission.rs +0 -0
  189. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/list_item_buffer.rs +0 -0
  190. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/marker_utils.rs +0 -0
  191. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/text_buffer.rs +0 -0
  192. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/tree_copy.rs +0 -0
  193. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils/yaml_regions.rs +0 -0
  194. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/utils.rs +0 -0
  195. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/verify.rs +0 -0
  196. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/cooking.rs +0 -0
  197. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/events.rs +0 -0
  198. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/model.rs +0 -0
  199. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/parser.rs +0 -0
  200. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/profile.rs +0 -0
  201. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/scanner.rs +0 -0
  202. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml/validator.rs +0 -0
  203. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser/yaml.rs +0 -0
  204. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/parser.rs +0 -0
  205. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/range_utils.rs +0 -0
  206. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/semantic/math.rs +0 -0
  207. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/semantic.rs +0 -0
  208. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/alerts.rs +0 -0
  209. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/ast.rs +0 -0
  210. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/attributes.rs +0 -0
  211. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/block_quotes.rs +0 -0
  212. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/blocks.rs +0 -0
  213. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/chunk_options.rs +0 -0
  214. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/citations.rs +0 -0
  215. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/code_span.rs +0 -0
  216. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/crossrefs.rs +0 -0
  217. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/definitions.rs +0 -0
  218. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/fenced_divs.rs +0 -0
  219. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/headings.rs +0 -0
  220. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/links.rs +0 -0
  221. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/lists.rs +0 -0
  222. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/math.rs +0 -0
  223. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/myst.rs +0 -0
  224. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/raw_tex.rs +0 -0
  225. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/references.rs +0 -0
  226. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/shortcodes.rs +0 -0
  227. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/yaml.rs +0 -0
  228. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax/yaml_ast.rs +0 -0
  229. {panache_cli-3.11.0 → panache_cli-3.12.0}/crates/panache-parser/src/syntax.rs +0 -0
  230. {panache_cli-3.11.0 → panache_cli-3.12.0}/pyproject.toml +0 -0
  231. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/bibtex.rs +0 -0
  232. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/csl_json.rs +0 -0
  233. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/csl_yaml.rs +0 -0
  234. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/index.rs +0 -0
  235. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/preview.rs +0 -0
  236. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib/ris.rs +0 -0
  237. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bib.rs +0 -0
  238. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/bin/distill_quarto_schema.rs +0 -0
  239. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/cli.rs +0 -0
  240. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/config/formatter_presets.rs +0 -0
  241. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/config/types/schema_helpers.rs +0 -0
  242. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/config/types.rs +0 -0
  243. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/config.rs +0 -0
  244. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/directives.rs +0 -0
  245. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/external_formatters_common.rs +0 -0
  246. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/external_formatters_sync.rs +0 -0
  247. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/external_tools_common.rs +0 -0
  248. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/incremental.rs +0 -0
  249. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/io_context.rs +0 -0
  250. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lib.rs +0 -0
  251. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/diagnostics.rs +0 -0
  252. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/external_linters_sync.rs +0 -0
  253. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/fuzzy.rs +0 -0
  254. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/index.rs +0 -0
  255. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/metadata_diagnostics.rs +0 -0
  256. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/offsets.rs +0 -0
  257. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/project_index.rs +0 -0
  258. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema/distill.rs +0 -0
  259. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema/interp.rs +0 -0
  260. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema/model.rs +0 -0
  261. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema/report.rs +0 -0
  262. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema/value.rs +0 -0
  263. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/quarto_schema.rs +0 -0
  264. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/adjacent_footnote_refs.rs +0 -0
  265. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/blank_line_in_display_math.rs +0 -0
  266. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/blank_line_in_inline_footnote.rs +0 -0
  267. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/chunk_label_spaces.rs +0 -0
  268. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/citation_keys.rs +0 -0
  269. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/citation_nonbreaking_space.rs +0 -0
  270. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/consumer_divergence.rs +0 -0
  271. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/crossref_as_link_target.rs +0 -0
  272. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/duplicate_references.rs +0 -0
  273. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/duplicate_yaml_anchor.rs +0 -0
  274. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/emoji_aliases.rs +0 -0
  275. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/empty_list_item.rs +0 -0
  276. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/empty_values.rs +0 -0
  277. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/figure_crossref_captions.rs +0 -0
  278. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/footnote_after_image.rs +0 -0
  279. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/footnote_ref_in_footnote_def.rs +0 -0
  280. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/footnote_swallowed_by_bracket.rs +0 -0
  281. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/heading_eaten_attrs.rs +0 -0
  282. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/heading_hierarchy.rs +0 -0
  283. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/heading_strip_comments_residue.rs +0 -0
  284. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/inline_math_line_break.rs +0 -0
  285. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/link_text_is_url.rs +0 -0
  286. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/math_content.rs +0 -0
  287. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/missing_chunk_labels.rs +0 -0
  288. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/quarto_schema.rs +0 -0
  289. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/reversed_footnote_marker.rs +0 -0
  290. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/stray_fenced_div_markers.rs +0 -0
  291. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/swallowed_list_marker.rs +0 -0
  292. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/table_column_count.rs +0 -0
  293. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/undefined_anchor.rs +0 -0
  294. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/undefined_references.rs +0 -0
  295. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/unspaced_citation.rs +0 -0
  296. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/unspaced_list_marker.rs +0 -0
  297. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/unsupported_metadata_key.rs +0 -0
  298. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/unused_definitions.rs +0 -0
  299. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules/unused_yaml_anchor.rs +0 -0
  300. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/rules.rs +0 -0
  301. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/yaml_anchors.rs +0 -0
  302. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/linter/yaml_resolve.rs +0 -0
  303. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/config.rs +0 -0
  304. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/context.rs +0 -0
  305. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/conversions.rs +0 -0
  306. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/completion.rs +0 -0
  307. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/configuration.rs +0 -0
  308. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/document_highlight.rs +0 -0
  309. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/document_links.rs +0 -0
  310. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/document_symbols.rs +0 -0
  311. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/file_rename.rs +0 -0
  312. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/folding_ranges.rs +0 -0
  313. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/footnote_conversion.rs +0 -0
  314. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/formatting.rs +0 -0
  315. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/goto_definition.rs +0 -0
  316. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/heading_link_conversion.rs +0 -0
  317. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/link_conversion.rs +0 -0
  318. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/linked_editing_range.rs +0 -0
  319. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/list_conversion.rs +0 -0
  320. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/prepare_rename.rs +0 -0
  321. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/references.rs +0 -0
  322. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/semantic_tokens.rs +0 -0
  323. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/shortcode_args.rs +0 -0
  324. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/workspace_folders.rs +0 -0
  325. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/handlers/workspace_symbols.rs +0 -0
  326. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/helpers.rs +0 -0
  327. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/line_index.rs +0 -0
  328. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/navigation.rs +0 -0
  329. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/task_pool.rs +0 -0
  330. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp/uri_ext.rs +0 -0
  331. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/lsp.rs +0 -0
  332. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata/bibliography.rs +0 -0
  333. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata/citations.rs +0 -0
  334. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata/project.rs +0 -0
  335. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata/references.rs +0 -0
  336. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata/yaml.rs +0 -0
  337. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/metadata.rs +0 -0
  338. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/parser.rs +0 -0
  339. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/range_utils.rs +0 -0
  340. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/syntax.rs +0 -0
  341. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/vfs.rs +0 -0
  342. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/yaml_engine.rs +0 -0
  343. {panache_cli-3.11.0 → panache_cli-3.12.0}/src/yaml_regions.rs +0 -0
@@ -223,9 +223,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
223
223
 
224
224
  [[package]]
225
225
  name = "cfg-if"
226
- version = "1.0.4"
226
+ version = "1.0.5"
227
227
  source = "registry+https://github.com/rust-lang/crates.io-index"
228
- checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
228
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
229
229
 
230
230
  [[package]]
231
231
  name = "cfg_aliases"
@@ -273,7 +273,7 @@ dependencies = [
273
273
  "heck",
274
274
  "proc-macro2",
275
275
  "quote",
276
- "syn 3.0.5",
276
+ "syn 3.0.6",
277
277
  ]
278
278
 
279
279
  [[package]]
@@ -482,7 +482,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
482
482
  dependencies = [
483
483
  "proc-macro2",
484
484
  "quote",
485
- "syn 3.0.5",
485
+ "syn 3.0.6",
486
486
  ]
487
487
 
488
488
  [[package]]
@@ -663,17 +663,6 @@ dependencies = [
663
663
  "slab",
664
664
  ]
665
665
 
666
- [[package]]
667
- name = "getrandom"
668
- version = "0.2.17"
669
- source = "registry+https://github.com/rust-lang/crates.io-index"
670
- checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
671
- dependencies = [
672
- "cfg-if",
673
- "libc",
674
- "wasi",
675
- ]
676
-
677
666
  [[package]]
678
667
  name = "getrandom"
679
668
  version = "0.3.4"
@@ -1040,9 +1029,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
1040
1029
 
1041
1030
  [[package]]
1042
1031
  name = "libredox"
1043
- version = "0.1.24"
1032
+ version = "0.1.25"
1044
1033
  source = "registry+https://github.com/rust-lang/crates.io-index"
1045
- checksum = "6480ccc157a1389bb2e4891b24751b0f798ba640d22386f23143fbcc89da195a"
1034
+ checksum = "61ff90caf6077a803a240f62fdbe88645a890bbca49ef8174c3cb0404362171d"
1046
1035
  dependencies = [
1047
1036
  "libc",
1048
1037
  ]
@@ -1251,7 +1240,7 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
1251
1240
 
1252
1241
  [[package]]
1253
1242
  name = "panache"
1254
- version = "3.11.0"
1243
+ version = "3.12.0"
1255
1244
  dependencies = [
1256
1245
  "annotate-snippets",
1257
1246
  "assert_cmd",
@@ -1296,7 +1285,7 @@ dependencies = [
1296
1285
 
1297
1286
  [[package]]
1298
1287
  name = "panache-formatter"
1299
- version = "0.24.2"
1288
+ version = "0.25.0"
1300
1289
  dependencies = [
1301
1290
  "badness-formatter",
1302
1291
  "insta",
@@ -1316,7 +1305,7 @@ dependencies = [
1316
1305
 
1317
1306
  [[package]]
1318
1307
  name = "panache-parser"
1319
- version = "0.29.2"
1308
+ version = "0.30.0"
1320
1309
  dependencies = [
1321
1310
  "badness-parser",
1322
1311
  "entities",
@@ -1577,11 +1566,10 @@ dependencies = [
1577
1566
 
1578
1567
  [[package]]
1579
1568
  name = "redox_users"
1580
- version = "0.5.2"
1569
+ version = "0.5.3"
1581
1570
  source = "registry+https://github.com/rust-lang/crates.io-index"
1582
- checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
1571
+ checksum = "60dc65c0ff1a7ae1294b0c67b9f14baf70b644404010370171787bfac1038fc0"
1583
1572
  dependencies = [
1584
- "getrandom 0.2.17",
1585
1573
  "libredox",
1586
1574
  "thiserror",
1587
1575
  ]
@@ -1603,7 +1591,7 @@ checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a"
1603
1591
  dependencies = [
1604
1592
  "proc-macro2",
1605
1593
  "quote",
1606
- "syn 3.0.5",
1594
+ "syn 3.0.6",
1607
1595
  ]
1608
1596
 
1609
1597
  [[package]]
@@ -1697,9 +1685,9 @@ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
1697
1685
 
1698
1686
  [[package]]
1699
1687
  name = "rustix"
1700
- version = "1.1.4"
1688
+ version = "1.1.5"
1701
1689
  source = "registry+https://github.com/rust-lang/crates.io-index"
1702
- checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
1690
+ checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d"
1703
1691
  dependencies = [
1704
1692
  "bitflags 2.13.2",
1705
1693
  "errno",
@@ -1716,9 +1704,9 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
1716
1704
 
1717
1705
  [[package]]
1718
1706
  name = "salsa"
1719
- version = "0.28.2"
1707
+ version = "0.28.4"
1720
1708
  source = "registry+https://github.com/rust-lang/crates.io-index"
1721
- checksum = "cf0e374215cd2db2b5c75d7b3a99cb0cc052c0595335dfdefc03d4eb08f4aa81"
1709
+ checksum = "5ad7a025e8eda1fcde5a8c442e2cdd34be28ba1c7bb5328c541b82cda212165f"
1722
1710
  dependencies = [
1723
1711
  "boxcar",
1724
1712
  "crossbeam-queue",
@@ -1742,19 +1730,19 @@ dependencies = [
1742
1730
 
1743
1731
  [[package]]
1744
1732
  name = "salsa-macro-rules"
1745
- version = "0.28.2"
1733
+ version = "0.28.4"
1746
1734
  source = "registry+https://github.com/rust-lang/crates.io-index"
1747
- checksum = "85f4b7d4405540bbd6d4ffa52d4322d983f3781954d3073067ac1bdb028459b3"
1735
+ checksum = "40bc5a70f76d5f539e1e2f892006f523669845b6c879a70b3ed1996f47cfbb2e"
1748
1736
 
1749
1737
  [[package]]
1750
1738
  name = "salsa-macros"
1751
- version = "0.28.2"
1739
+ version = "0.28.4"
1752
1740
  source = "registry+https://github.com/rust-lang/crates.io-index"
1753
- checksum = "445be2bfbb2f67cb663225ecd7bc5a25370c0250fca30f9d8cbad9a913650370"
1741
+ checksum = "ea978f07c8d78cb5f4dd25bd005d9ff08f60909e089136d5fc36c847fa9005a9"
1754
1742
  dependencies = [
1755
1743
  "proc-macro2",
1756
1744
  "quote",
1757
- "syn 3.0.5",
1745
+ "syn 3.0.6",
1758
1746
  ]
1759
1747
 
1760
1748
  [[package]]
@@ -1788,7 +1776,7 @@ dependencies = [
1788
1776
  "proc-macro2",
1789
1777
  "quote",
1790
1778
  "serde_derive_internals",
1791
- "syn 3.0.5",
1779
+ "syn 3.0.6",
1792
1780
  ]
1793
1781
 
1794
1782
  [[package]]
@@ -1824,7 +1812,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
1824
1812
  dependencies = [
1825
1813
  "proc-macro2",
1826
1814
  "quote",
1827
- "syn 3.0.5",
1815
+ "syn 3.0.6",
1828
1816
  ]
1829
1817
 
1830
1818
  [[package]]
@@ -1835,7 +1823,7 @@ checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
1835
1823
  dependencies = [
1836
1824
  "proc-macro2",
1837
1825
  "quote",
1838
- "syn 3.0.5",
1826
+ "syn 3.0.6",
1839
1827
  ]
1840
1828
 
1841
1829
  [[package]]
@@ -1859,7 +1847,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
1859
1847
  dependencies = [
1860
1848
  "proc-macro2",
1861
1849
  "quote",
1862
- "syn 3.0.5",
1850
+ "syn 3.0.6",
1863
1851
  ]
1864
1852
 
1865
1853
  [[package]]
@@ -1977,9 +1965,9 @@ dependencies = [
1977
1965
 
1978
1966
  [[package]]
1979
1967
  name = "syn"
1980
- version = "3.0.5"
1968
+ version = "3.0.6"
1981
1969
  source = "registry+https://github.com/rust-lang/crates.io-index"
1982
- checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
1970
+ checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
1983
1971
  dependencies = [
1984
1972
  "proc-macro2",
1985
1973
  "quote",
@@ -1994,7 +1982,7 @@ checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02"
1994
1982
  dependencies = [
1995
1983
  "proc-macro2",
1996
1984
  "quote",
1997
- "syn 3.0.5",
1985
+ "syn 3.0.6",
1998
1986
  ]
1999
1987
 
2000
1988
  [[package]]
@@ -2024,9 +2012,9 @@ checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233"
2024
2012
 
2025
2013
  [[package]]
2026
2014
  name = "thin-vec"
2027
- version = "0.2.19"
2015
+ version = "0.2.20"
2028
2016
  source = "registry+https://github.com/rust-lang/crates.io-index"
2029
- checksum = "79def32ffcd477db1ff26f76dab9e3a91f0bd42a85ca96577089b24623056f9d"
2017
+ checksum = "4568d7e143ec86d2021c338bae2afa88699e84b8e0af523626654fe6f03a1748"
2030
2018
 
2031
2019
  [[package]]
2032
2020
  name = "thiserror"
@@ -2045,7 +2033,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
2045
2033
  dependencies = [
2046
2034
  "proc-macro2",
2047
2035
  "quote",
2048
- "syn 3.0.5",
2036
+ "syn 3.0.6",
2049
2037
  ]
2050
2038
 
2051
2039
  [[package]]
@@ -2136,9 +2124,9 @@ checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f"
2136
2124
 
2137
2125
  [[package]]
2138
2126
  name = "unicode-ident"
2139
- version = "1.0.24"
2127
+ version = "1.0.26"
2140
2128
  source = "registry+https://github.com/rust-lang/crates.io-index"
2141
- checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
2129
+ checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
2142
2130
 
2143
2131
  [[package]]
2144
2132
  name = "unicode-segmentation"
@@ -2216,12 +2204,6 @@ dependencies = [
2216
2204
  "winapi-util",
2217
2205
  ]
2218
2206
 
2219
- [[package]]
2220
- name = "wasi"
2221
- version = "0.11.1+wasi-snapshot-preview1"
2222
- source = "registry+https://github.com/rust-lang/crates.io-index"
2223
- checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
2224
-
2225
2207
  [[package]]
2226
2208
  name = "wasip2"
2227
2209
  version = "1.0.4+wasi-0.2.12"
@@ -2263,7 +2245,7 @@ dependencies = [
2263
2245
  "bumpalo",
2264
2246
  "proc-macro2",
2265
2247
  "quote",
2266
- "syn 3.0.5",
2248
+ "syn 3.0.6",
2267
2249
  "wasm-bindgen-shared",
2268
2250
  ]
2269
2251
 
@@ -2390,7 +2372,7 @@ checksum = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78"
2390
2372
  dependencies = [
2391
2373
  "proc-macro2",
2392
2374
  "quote",
2393
- "syn 3.0.5",
2375
+ "syn 3.0.6",
2394
2376
  "synstructure",
2395
2377
  ]
2396
2378
 
@@ -2431,7 +2413,7 @@ checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a"
2431
2413
  dependencies = [
2432
2414
  "proc-macro2",
2433
2415
  "quote",
2434
- "syn 3.0.5",
2416
+ "syn 3.0.6",
2435
2417
  "synstructure",
2436
2418
  ]
2437
2419
 
@@ -2465,7 +2447,7 @@ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da"
2465
2447
  dependencies = [
2466
2448
  "proc-macro2",
2467
2449
  "quote",
2468
- "syn 3.0.5",
2450
+ "syn 3.0.6",
2469
2451
  ]
2470
2452
 
2471
2453
  [[package]]
@@ -9,7 +9,7 @@ authors = ["Johan Larsson <johan@jolars.co>"]
9
9
 
10
10
  [package]
11
11
  name = "panache"
12
- version = "3.11.0"
12
+ version = "3.12.0"
13
13
  edition.workspace = true
14
14
  rust-version.workspace = true
15
15
  # `distill_quarto_schema` is a dev-only vendoring bin (src/bin/); keep bare
@@ -45,17 +45,21 @@ members = ["crates/panache-parser", "crates/panache-formatter"]
45
45
  [lib]
46
46
  doctest = false
47
47
 
48
+ [profile.release]
49
+ codegen-units = 1
50
+ lto = "thin"
51
+
48
52
  [[bin]]
49
53
  name = "panache"
50
54
  path = "src/main.rs"
51
55
  required-features = ["cli"]
52
56
 
53
57
  [dependencies]
54
- panache-formatter = { path = "crates/panache-formatter", version = "0.24.2", features = [
58
+ panache-formatter = { path = "crates/panache-formatter", version = "0.25.0", features = [
55
59
  "serde",
56
60
  "schema",
57
61
  ] }
58
- panache-parser = { path = "crates/panache-parser", version = "0.29.2", features = [
62
+ panache-parser = { path = "crates/panache-parser", version = "0.30.0", features = [
59
63
  "serde",
60
64
  "schema",
61
65
  ] }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: panache-cli
3
- Version: 3.11.0
3
+ Version: 3.12.0
4
4
  Classifier: Development Status :: 5 - Production/Stable
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.25.0](https://github.com/jolars/panache/compare/panache-formatter-v0.24.2...panache-formatter-v0.25.0) (2026-09-22)
4
+
5
+ ### Features
6
+ - **lsp:** convert to and from grid tables ([`fce260b`](https://github.com/jolars/panache/commit/fce260b89749713ba34be4b0baa62da545d9832c))
7
+ - **lsp:** add conversion to pipe tables ([`39ce805`](https://github.com/jolars/panache/commit/39ce8053114801e5138027c6519dc7dcb34a8526))
8
+ - **lsp:** add table style conversions ([`5fecfae`](https://github.com/jolars/panache/commit/5fecfae01953218075176753fdd4574c0a2f194a))
9
+
10
+ ### Bug Fixes
11
+ - **formatter:** avoid duplicate HTML span prefixes ([`9fe51d8`](https://github.com/jolars/panache/commit/9fe51d80f749c88fd790a1e3984e028c3c236762)), fixes [#542](https://github.com/jolars/panache/issues/542)
12
+ - **formatter:** wrap unresolved reference text ([`fae61b1`](https://github.com/jolars/panache/commit/fae61b1a409d02de94cf5b41b9e5ad0fe87d6918)), fixes [#540](https://github.com/jolars/panache/issues/540) and [#541](https://github.com/jolars/panache/issues/541), refs [#542](https://github.com/jolars/panache/issues/542)
13
+ - **formatter:** preserve math indentation in lists ([`d45928d`](https://github.com/jolars/panache/commit/d45928d049b03bb2f7a918a01d97dc8a4c0d9673))
14
+ - **formatter:** normalize nested table whitespace ([`b7d42be`](https://github.com/jolars/panache/commit/b7d42bea3b0113c0860cd8334aa87ed42c6312eb)), fixes [#538](https://github.com/jolars/panache/issues/538)
15
+ - **lint:** include executable inline expressions ([`88639f5`](https://github.com/jolars/panache/commit/88639f58d043c62591ebef19a561b5c877108655))
16
+
17
+ ### Performance Improvements
18
+ - **formatter:** defer unnecessary text copies ([`da30065`](https://github.com/jolars/panache/commit/da3006595e3c3b4944c15b7d539852815bd811e5))
19
+
20
+ ### Dependencies
21
+ - updated crates/panache-parser to v0.30.0
22
+
3
23
  ## [0.24.2](https://github.com/jolars/panache/compare/panache-formatter-v0.24.1...panache-formatter-v0.24.2) (2026-09-16)
4
24
 
5
25
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "panache-formatter"
3
- version = "0.24.2"
3
+ version = "0.25.0"
4
4
  edition.workspace = true
5
5
  rust-version.workspace = true
6
6
  include = [
@@ -19,7 +19,7 @@ keywords = ["quarto", "pandoc", "markdown", "formatter"]
19
19
  categories = ["text-processing"]
20
20
 
21
21
  [dependencies]
22
- panache-parser = { path = "../panache-parser", version = "0.29.2" }
22
+ panache-parser = { path = "../panache-parser", version = "0.30.0" }
23
23
  log = { version = "0.4.31", features = ["release_max_level_debug"] }
24
24
  rowan = "0.17.0"
25
25
  serde = { version = "1.0.228", features = ["derive"], optional = true }
@@ -1,5 +1,5 @@
1
1
  use crate::config::WrapMode;
2
- use crate::formatter::preserve::preserve_lines;
2
+ use crate::formatter::preserve::preserve_lines_normalized;
3
3
  use crate::formatter::smart::normalize_smart_punctuation;
4
4
  use crate::formatter::utils::is_block_element;
5
5
  use crate::formatter::{Formatter, paragraphs};
@@ -132,22 +132,21 @@ impl Formatter {
132
132
  match wrap_mode {
133
133
  WrapMode::Preserve => {
134
134
  log::trace!("Preserving paragraph line breaks");
135
- let escaped = self.config.formatter_extensions.escaped_line_breaks;
136
- for (i, line) in preserve_lines(node, escaped).iter().enumerate() {
135
+ for (i, line) in preserve_lines_normalized(node, &self.config)
136
+ .iter()
137
+ .enumerate()
138
+ {
137
139
  if i > 0 {
138
140
  self.output.push('\n');
139
141
  }
140
142
  if indent > 0 {
141
143
  self.output.push_str(&paragraph_indent);
142
144
  }
143
- self.output.push_str(
144
- normalize_smart_punctuation(
145
- if indent > 0 { line.trim_start() } else { line },
146
- self.config.formatter_extensions.smart,
147
- self.config.formatter_extensions.smart_quotes,
148
- )
149
- .as_ref(),
150
- );
145
+ self.output.push_str(if indent > 0 {
146
+ paragraphs::trim_prose_indent(node, line)
147
+ } else {
148
+ line
149
+ });
151
150
  }
152
151
  if !self.output.ends_with('\n') {
153
152
  self.output.push('\n');
@@ -218,25 +217,20 @@ impl Formatter {
218
217
  && !self.output.ends_with(": ");
219
218
  match wrap_mode {
220
219
  WrapMode::Preserve => {
221
- let escaped = self.config.formatter_extensions.escaped_line_breaks;
222
- for (i, line) in preserve_lines(node, escaped).iter().enumerate() {
220
+ for (i, line) in preserve_lines_normalized(node, &self.config)
221
+ .iter()
222
+ .enumerate()
223
+ {
223
224
  if needs_indent {
224
225
  self.output.push_str(&" ".repeat(indent));
225
226
  } else if i > 0 {
226
227
  self.output.push('\n');
227
228
  }
228
- self.output.push_str(
229
- normalize_smart_punctuation(
230
- if needs_indent {
231
- line.trim_start()
232
- } else {
233
- line
234
- },
235
- self.config.formatter_extensions.smart,
236
- self.config.formatter_extensions.smart_quotes,
237
- )
238
- .as_ref(),
239
- );
229
+ self.output.push_str(if needs_indent {
230
+ paragraphs::trim_prose_indent(node, line)
231
+ } else {
232
+ line
233
+ });
240
234
  if needs_indent {
241
235
  self.output.push('\n');
242
236
  }
@@ -274,7 +268,7 @@ impl Formatter {
274
268
  self.output.push_str(&" ".repeat(indent));
275
269
  }
276
270
  let rendered = if i > 0 && indent > 0 {
277
- line.trim_start()
271
+ paragraphs::trim_prose_indent(node, line)
278
272
  } else {
279
273
  line.as_str()
280
274
  };
@@ -307,7 +301,7 @@ impl Formatter {
307
301
  self.output.push_str(&" ".repeat(indent));
308
302
  }
309
303
  let rendered = if i > 0 && indent > 0 {
310
- line.trim_start()
304
+ paragraphs::trim_prose_indent(node, line)
311
305
  } else {
312
306
  line.as_str()
313
307
  };
@@ -1,7 +1,7 @@
1
1
  use crate::config::WrapMode;
2
2
  use crate::formatter::Formatter;
3
- use crate::formatter::preserve::preserve_lines;
4
- use crate::formatter::smart::normalize_smart_punctuation;
3
+ use crate::formatter::paragraphs::trim_prose_indent;
4
+ use crate::formatter::preserve::preserve_lines_normalized;
5
5
  use crate::syntax::{SyntaxKind, SyntaxNode};
6
6
  use rowan::NodeOrToken;
7
7
 
@@ -64,20 +64,10 @@ impl Formatter {
64
64
  let para_start = self.output.len();
65
65
  let available_width = self.config.line_width.saturating_sub(child_indent);
66
66
  let lines = match wrap_mode {
67
- WrapMode::Preserve => preserve_lines(
68
- child,
69
- self.config.formatter_extensions.escaped_line_breaks,
70
- )
71
- .iter()
72
- .map(|line| {
73
- normalize_smart_punctuation(
74
- line.trim_start_matches([' ', '\t']),
75
- self.config.formatter_extensions.smart,
76
- self.config.formatter_extensions.smart_quotes,
77
- )
78
- .to_string()
79
- })
80
- .collect(),
67
+ WrapMode::Preserve => preserve_lines_normalized(child, &self.config)
68
+ .iter()
69
+ .map(|line| trim_prose_indent(child, line).to_string())
70
+ .collect(),
81
71
  WrapMode::Reflow => {
82
72
  self.wrapped_lines_for_paragraph(child, available_width)
83
73
  }
@@ -86,7 +76,7 @@ impl Formatter {
86
76
  };
87
77
  for line in lines {
88
78
  self.output.push_str(&" ".repeat(child_indent));
89
- self.output.push_str(line.trim_start_matches([' ', '\t']));
79
+ self.output.push_str(trim_prose_indent(child, &line));
90
80
  self.output.push('\n');
91
81
  }
92
82
  self.guard_definition_marker_start(para_start, child_indent);
@@ -152,20 +142,7 @@ impl Formatter {
152
142
  let rest_width = self.config.line_width.saturating_sub(child_indent);
153
143
  let widths = [first_width, rest_width];
154
144
  let lines = match wrap_mode {
155
- WrapMode::Preserve => preserve_lines(
156
- child,
157
- self.config.formatter_extensions.escaped_line_breaks,
158
- )
159
- .iter()
160
- .map(|line| {
161
- normalize_smart_punctuation(
162
- line,
163
- self.config.formatter_extensions.smart,
164
- self.config.formatter_extensions.smart_quotes,
165
- )
166
- .to_string()
167
- })
168
- .collect(),
145
+ WrapMode::Preserve => preserve_lines_normalized(child, &self.config),
169
146
  WrapMode::Reflow => {
170
147
  self.wrapped_lines_for_paragraph_with_widths(child, &widths)
171
148
  }
@@ -174,12 +151,11 @@ impl Formatter {
174
151
  };
175
152
  if !lines.is_empty() {
176
153
  self.output.push(' ');
177
- self.output
178
- .push_str(lines[0].trim_start_matches([' ', '\t']));
154
+ self.output.push_str(trim_prose_indent(child, &lines[0]));
179
155
  self.output.push('\n');
180
156
  for line in lines.iter().skip(1) {
181
157
  self.output.push_str(&" ".repeat(child_indent));
182
- self.output.push_str(line.trim_start_matches([' ', '\t']));
158
+ self.output.push_str(trim_prose_indent(child, line));
183
159
  self.output.push('\n');
184
160
  }
185
161
  continue;
@@ -204,24 +180,16 @@ impl Formatter {
204
180
  let available_width = self.config.line_width.saturating_sub(child_indent);
205
181
  match wrap_mode {
206
182
  WrapMode::Preserve => {
207
- let escaped = self.config.formatter_extensions.escaped_line_breaks;
208
- for line in preserve_lines(child, escaped) {
183
+ for line in preserve_lines_normalized(child, &self.config) {
209
184
  self.output.push_str(&" ".repeat(child_indent));
210
- self.output.push_str(
211
- normalize_smart_punctuation(
212
- line.trim_start_matches([' ', '\t']),
213
- self.config.formatter_extensions.smart,
214
- self.config.formatter_extensions.smart_quotes,
215
- )
216
- .as_ref(),
217
- );
185
+ self.output.push_str(trim_prose_indent(child, &line));
218
186
  self.output.push('\n');
219
187
  }
220
188
  }
221
189
  WrapMode::Reflow => {
222
190
  for line in self.wrapped_lines_for_paragraph(child, available_width) {
223
191
  self.output.push_str(&" ".repeat(child_indent));
224
- self.output.push_str(line.trim_start_matches([' ', '\t']));
192
+ self.output.push_str(trim_prose_indent(child, &line));
225
193
  self.output.push('\n');
226
194
  }
227
195
  }
@@ -233,7 +201,7 @@ impl Formatter {
233
201
  };
234
202
  for line in lines {
235
203
  self.output.push_str(&" ".repeat(child_indent));
236
- self.output.push_str(line.trim_start_matches([' ', '\t']));
204
+ self.output.push_str(trim_prose_indent(child, &line));
237
205
  self.output.push('\n');
238
206
  }
239
207
  }
@@ -155,6 +155,14 @@ impl Formatter {
155
155
  if node.kind() != SyntaxKind::PARAGRAPH {
156
156
  return false;
157
157
  }
158
+ // Most paragraphs cannot be table continuations. Avoid copying their
159
+ // entire subtree just to reject the first non-whitespace character.
160
+ if node.first_token().is_some_and(|token| {
161
+ let first = token.text().trim_start();
162
+ !first.is_empty() && !first.starts_with(['|', '+'])
163
+ }) {
164
+ return false;
165
+ }
158
166
  let text = node.text().to_string();
159
167
  let lines: Vec<&str> = text
160
168
  .lines()
@@ -175,19 +183,18 @@ impl Formatter {
175
183
  if node.kind() != SyntaxKind::DEFINITION_LIST {
176
184
  return false;
177
185
  }
178
- if !node
179
- .text()
180
- .to_string()
181
- .lines()
182
- .any(|line| line.trim_start().starts_with(':'))
186
+ let Some(prev) = node.prev_sibling() else {
187
+ return false;
188
+ };
189
+ if prev.kind() != SyntaxKind::GRID_TABLE
190
+ && !self.is_grid_table_continuation_paragraph(&prev)
183
191
  {
184
192
  return false;
185
193
  }
186
- if let Some(prev) = node.prev_sibling() {
187
- return prev.kind() == SyntaxKind::GRID_TABLE
188
- || self.is_grid_table_continuation_paragraph(&prev);
189
- }
190
- false
194
+ node.text()
195
+ .to_string()
196
+ .lines()
197
+ .any(|line| line.trim_start().starts_with(':'))
191
198
  }
192
199
 
193
200
  pub(super) fn horizontal_rule_text(&self, available_width: usize) -> String {