arity 0.2.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 (757) hide show
  1. arity-0.2.0/.gitattributes +14 -0
  2. arity-0.2.0/.github/FUNDING.yml +1 -0
  3. arity-0.2.0/.github/dependabot.yml +10 -0
  4. arity-0.2.0/.github/workflows/build-and-test.yml +108 -0
  5. arity-0.2.0/.github/workflows/cran-symbols.yml +91 -0
  6. arity-0.2.0/.github/workflows/docs.yml +70 -0
  7. arity-0.2.0/.github/workflows/lint.yml +58 -0
  8. arity-0.2.0/.github/workflows/packages.yml +180 -0
  9. arity-0.2.0/.github/workflows/publish-pypi.yml +127 -0
  10. arity-0.2.0/.gitignore +50 -0
  11. arity-0.2.0/.versionary-manifest.json +18 -0
  12. arity-0.2.0/AGENTS.md +194 -0
  13. arity-0.2.0/AIR_COMPAT.md +21 -0
  14. arity-0.2.0/ARCHITECTURE_AUDIT.md +233 -0
  15. arity-0.2.0/BENCH.md +42 -0
  16. arity-0.2.0/CHANGELOG.md +123 -0
  17. arity-0.2.0/CLAUDE.md +1 -0
  18. arity-0.2.0/Cargo.lock +1869 -0
  19. arity-0.2.0/Cargo.toml +62 -0
  20. arity-0.2.0/LICENSE +21 -0
  21. arity-0.2.0/PKG-INFO +67 -0
  22. arity-0.2.0/README.md +42 -0
  23. arity-0.2.0/TODO.md +268 -0
  24. arity-0.2.0/Taskfile.yml +84 -0
  25. arity-0.2.0/arity.toml +9 -0
  26. arity-0.2.0/audit.toml +11 -0
  27. arity-0.2.0/benches/parse.rs +79 -0
  28. arity-0.2.0/deny.toml +243 -0
  29. arity-0.2.0/devenv.lock +146 -0
  30. arity-0.2.0/devenv.nix +93 -0
  31. arity-0.2.0/devenv.yaml +14 -0
  32. arity-0.2.0/docs/.gitignore +8 -0
  33. arity-0.2.0/docs/CNAME +1 -0
  34. arity-0.2.0/docs/_includes/social-extra.html +0 -0
  35. arity-0.2.0/docs/_quarto.yml +89 -0
  36. arity-0.2.0/docs/filters/pre-render.lua +52 -0
  37. arity-0.2.0/docs/filters/promote-heading-to-title.lua +33 -0
  38. arity-0.2.0/docs/getting-started.qmd +3 -0
  39. arity-0.2.0/docs/images/logo.svg +37 -0
  40. arity-0.2.0/docs/index.qmd +54 -0
  41. arity-0.2.0/docs/theme-dark.scss +183 -0
  42. arity-0.2.0/images/logo-generated.svg +37 -0
  43. arity-0.2.0/images/logo.svg +37 -0
  44. arity-0.2.0/panache.toml +8 -0
  45. arity-0.2.0/pyproject.toml +34 -0
  46. arity-0.2.0/scripts/bench-format.sh +161 -0
  47. arity-0.2.0/scripts/cran_top_packages.txt +505 -0
  48. arity-0.2.0/scripts/dump_base_symbols.R +46 -0
  49. arity-0.2.0/scripts/dump_cran_symbols.R +94 -0
  50. arity-0.2.0/scripts/logo.R +351 -0
  51. arity-0.2.0/scripts/rank_cran_downloads.sh +65 -0
  52. arity-0.2.0/src/ast/nodes.rs +731 -0
  53. arity-0.2.0/src/ast.rs +9 -0
  54. arity-0.2.0/src/cli.rs +125 -0
  55. arity-0.2.0/src/config.rs +517 -0
  56. arity-0.2.0/src/file_discovery.rs +64 -0
  57. arity-0.2.0/src/formatter/check.rs +107 -0
  58. arity-0.2.0/src/formatter/context.rs +16 -0
  59. arity-0.2.0/src/formatter/core.rs +591 -0
  60. arity-0.2.0/src/formatter/ir.rs +273 -0
  61. arity-0.2.0/src/formatter/printer.rs +707 -0
  62. arity-0.2.0/src/formatter/render.rs +128 -0
  63. arity-0.2.0/src/formatter/rules/control_flow.rs +1083 -0
  64. arity-0.2.0/src/formatter/rules/expressions.rs +830 -0
  65. arity-0.2.0/src/formatter/rules/functions.rs +1727 -0
  66. arity-0.2.0/src/formatter/rules.rs +3 -0
  67. arity-0.2.0/src/formatter/style.rs +14 -0
  68. arity-0.2.0/src/formatter/trivia.rs +108 -0
  69. arity-0.2.0/src/formatter.rs +13 -0
  70. arity-0.2.0/src/incremental.rs +842 -0
  71. arity-0.2.0/src/lib.rs +14 -0
  72. arity-0.2.0/src/linter/check.rs +452 -0
  73. arity-0.2.0/src/linter/diagnostic.rs +151 -0
  74. arity-0.2.0/src/linter/fix.rs +120 -0
  75. arity-0.2.0/src/linter/render.rs +137 -0
  76. arity-0.2.0/src/linter/rules/correctness/duplicate_formal.rs +58 -0
  77. arity-0.2.0/src/linter/rules/correctness/undefined_symbol.rs +107 -0
  78. arity-0.2.0/src/linter/rules/correctness/unused_binding.rs +181 -0
  79. arity-0.2.0/src/linter/rules/correctness.rs +9 -0
  80. arity-0.2.0/src/linter/rules/suspicious/assignment_in_condition.rs +97 -0
  81. arity-0.2.0/src/linter/rules/suspicious/shadowed_builtin.rs +65 -0
  82. arity-0.2.0/src/linter/rules/suspicious.rs +8 -0
  83. arity-0.2.0/src/linter/rules.rs +148 -0
  84. arity-0.2.0/src/linter/suppression.rs +238 -0
  85. arity-0.2.0/src/linter.rs +24 -0
  86. arity-0.2.0/src/lsp/task_pool.rs +153 -0
  87. arity-0.2.0/src/lsp.rs +3050 -0
  88. arity-0.2.0/src/main.rs +600 -0
  89. arity-0.2.0/src/parser/bracket_balancer.rs +175 -0
  90. arity-0.2.0/src/parser/context.rs +38 -0
  91. arity-0.2.0/src/parser/core.rs +52 -0
  92. arity-0.2.0/src/parser/cursor.rs +37 -0
  93. arity-0.2.0/src/parser/diagnostics.rs +29 -0
  94. arity-0.2.0/src/parser/events.rs +21 -0
  95. arity-0.2.0/src/parser/expr.rs +982 -0
  96. arity-0.2.0/src/parser/lexer.rs +1027 -0
  97. arity-0.2.0/src/parser/recovery.rs +29 -0
  98. arity-0.2.0/src/parser/reparse.rs +485 -0
  99. arity-0.2.0/src/parser/structural.rs +467 -0
  100. arity-0.2.0/src/parser/tree_builder.rs +92 -0
  101. arity-0.2.0/src/parser.rs +18 -0
  102. arity-0.2.0/src/project/exports.rs +187 -0
  103. arity-0.2.0/src/project/graph.rs +492 -0
  104. arity-0.2.0/src/project/scope.rs +485 -0
  105. arity-0.2.0/src/project/source.rs +280 -0
  106. arity-0.2.0/src/project.rs +22 -0
  107. arity-0.2.0/src/rindex/build.rs +192 -0
  108. arity-0.2.0/src/rindex/cache.rs +271 -0
  109. arity-0.2.0/src/rindex/deparse.rs +571 -0
  110. arity-0.2.0/src/rindex/discover.rs +74 -0
  111. arity-0.2.0/src/rindex/harvest.rs +676 -0
  112. arity-0.2.0/src/rindex/lazyload.rs +166 -0
  113. arity-0.2.0/src/rindex/libpaths.rs +234 -0
  114. arity-0.2.0/src/rindex/provider.rs +323 -0
  115. arity-0.2.0/src/rindex/rd.rs +366 -0
  116. arity-0.2.0/src/rindex/rds.rs +775 -0
  117. arity-0.2.0/src/rindex/schema.rs +196 -0
  118. arity-0.2.0/src/rindex.rs +26 -0
  119. arity-0.2.0/src/semantic/base_r/base.txt +1406 -0
  120. arity-0.2.0/src/semantic/base_r/datasets.txt +108 -0
  121. arity-0.2.0/src/semantic/base_r/grDevices.txt +136 -0
  122. arity-0.2.0/src/semantic/base_r/graphics.txt +88 -0
  123. arity-0.2.0/src/semantic/base_r/methods.txt +364 -0
  124. arity-0.2.0/src/semantic/base_r/packages.txt +8 -0
  125. arity-0.2.0/src/semantic/base_r/stats.txt +461 -0
  126. arity-0.2.0/src/semantic/base_r/utils.txt +234 -0
  127. arity-0.2.0/src/semantic/binding.rs +37 -0
  128. arity-0.2.0/src/semantic/builder.rs +582 -0
  129. arity-0.2.0/src/semantic/cran/exports.txt +36116 -0
  130. arity-0.2.0/src/semantic/scope.rs +29 -0
  131. arity-0.2.0/src/semantic/symbols.rs +293 -0
  132. arity-0.2.0/src/semantic.rs +303 -0
  133. arity-0.2.0/src/syntax/ptr.rs +84 -0
  134. arity-0.2.0/src/syntax.rs +186 -0
  135. arity-0.2.0/src/text/line_index.rs +186 -0
  136. arity-0.2.0/src/text.rs +5 -0
  137. arity-0.2.0/tests/air_compat.rs +380 -0
  138. arity-0.2.0/tests/air_compat_allowlist.toml +40 -0
  139. arity-0.2.0/tests/air_parser_harness.rs +50 -0
  140. arity-0.2.0/tests/ast_wrappers.rs +232 -0
  141. arity-0.2.0/tests/config.rs +229 -0
  142. arity-0.2.0/tests/fixtures/formatter/air_binary_expression_sticky_subset/expected.R +71 -0
  143. arity-0.2.0/tests/fixtures/formatter/air_binary_expression_sticky_subset/input.R +35 -0
  144. arity-0.2.0/tests/fixtures/formatter/air_binary_expression_subset/expected.R +9 -0
  145. arity-0.2.0/tests/fixtures/formatter/air_binary_expression_subset/input.R +9 -0
  146. arity-0.2.0/tests/fixtures/formatter/air_braced_expressions/expected.R +224 -0
  147. arity-0.2.0/tests/fixtures/formatter/air_braced_expressions/input.R +177 -0
  148. arity-0.2.0/tests/fixtures/formatter/air_call/expected.R +845 -0
  149. arity-0.2.0/tests/fixtures/formatter/air_call/input.R +835 -0
  150. arity-0.2.0/tests/fixtures/formatter/air_comment/expected.R +2 -0
  151. arity-0.2.0/tests/fixtures/formatter/air_comment/input.R +2 -0
  152. arity-0.2.0/tests/fixtures/formatter/air_dot_dot_i/expected.R +5 -0
  153. arity-0.2.0/tests/fixtures/formatter/air_dot_dot_i/input.R +7 -0
  154. arity-0.2.0/tests/fixtures/formatter/air_for_statement/expected.R +75 -0
  155. arity-0.2.0/tests/fixtures/formatter/air_for_statement/input.R +69 -0
  156. arity-0.2.0/tests/fixtures/formatter/air_function_definition/expected.R +160 -0
  157. arity-0.2.0/tests/fixtures/formatter/air_function_definition/input.R +180 -0
  158. arity-0.2.0/tests/fixtures/formatter/air_keyword/expected.R +13 -0
  159. arity-0.2.0/tests/fixtures/formatter/air_keyword/input.R +13 -0
  160. arity-0.2.0/tests/fixtures/formatter/air_parenthesized_expression/expected.R +26 -0
  161. arity-0.2.0/tests/fixtures/formatter/air_parenthesized_expression/input.R +19 -0
  162. arity-0.2.0/tests/fixtures/formatter/air_pipelines/expected.R +24 -0
  163. arity-0.2.0/tests/fixtures/formatter/air_pipelines/input.R +34 -0
  164. arity-0.2.0/tests/fixtures/formatter/air_program/expected.R +23 -0
  165. arity-0.2.0/tests/fixtures/formatter/air_program/input.R +42 -0
  166. arity-0.2.0/tests/fixtures/formatter/air_repeat_statement/expected.R +65 -0
  167. arity-0.2.0/tests/fixtures/formatter/air_repeat_statement/input.R +60 -0
  168. arity-0.2.0/tests/fixtures/formatter/air_smoke/expected.R +1 -0
  169. arity-0.2.0/tests/fixtures/formatter/air_smoke/input.R +1 -0
  170. arity-0.2.0/tests/fixtures/formatter/air_subset2/expected.R +81 -0
  171. arity-0.2.0/tests/fixtures/formatter/air_subset2/input.R +88 -0
  172. arity-0.2.0/tests/fixtures/formatter/air_test_that/expected.R +37 -0
  173. arity-0.2.0/tests/fixtures/formatter/air_test_that/input.R +34 -0
  174. arity-0.2.0/tests/fixtures/formatter/air_value_double_value/expected.R +4 -0
  175. arity-0.2.0/tests/fixtures/formatter/air_value_double_value/input.R +4 -0
  176. arity-0.2.0/tests/fixtures/formatter/air_value_integer_value/expected.R +2 -0
  177. arity-0.2.0/tests/fixtures/formatter/air_value_integer_value/input.R +2 -0
  178. arity-0.2.0/tests/fixtures/formatter/air_value_string_value/expected.R +9 -0
  179. arity-0.2.0/tests/fixtures/formatter/air_value_string_value/input.R +9 -0
  180. arity-0.2.0/tests/fixtures/formatter/air_while_statement/expected.R +93 -0
  181. arity-0.2.0/tests/fixtures/formatter/air_while_statement/input.R +87 -0
  182. arity-0.2.0/tests/fixtures/formatter/assignment_precedence/expected.R +1 -0
  183. arity-0.2.0/tests/fixtures/formatter/assignment_precedence/input.R +1 -0
  184. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_advanced/expected.R +27 -0
  185. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_advanced/input.R +20 -0
  186. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_basics/expected.R +5 -0
  187. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_basics/input.R +7 -0
  188. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_negative_non_symbol/expected.R +23 -0
  189. arity-0.2.0/tests/fixtures/formatter/braced_curly_curly_negative_non_symbol/input.R +5 -0
  190. arity-0.2.0/tests/fixtures/formatter/braced_empty_and_basics/expected.R +22 -0
  191. arity-0.2.0/tests/fixtures/formatter/braced_empty_and_basics/input.R +19 -0
  192. arity-0.2.0/tests/fixtures/formatter/braced_empty_function_definitions/expected.R +24 -0
  193. arity-0.2.0/tests/fixtures/formatter/braced_empty_function_definitions/input.R +19 -0
  194. arity-0.2.0/tests/fixtures/formatter/braced_empty_if_forms/expected.R +35 -0
  195. arity-0.2.0/tests/fixtures/formatter/braced_empty_if_forms/input.R +30 -0
  196. arity-0.2.0/tests/fixtures/formatter/braced_empty_loops/expected.R +27 -0
  197. arity-0.2.0/tests/fixtures/formatter/braced_empty_loops/input.R +24 -0
  198. arity-0.2.0/tests/fixtures/formatter/call_basic_and_holes/expected.R +22 -0
  199. arity-0.2.0/tests/fixtures/formatter/call_basic_and_holes/input.R +17 -0
  200. arity-0.2.0/tests/fixtures/formatter/call_comments_after_holes/expected.R +9 -0
  201. arity-0.2.0/tests/fixtures/formatter/call_comments_after_holes/input.R +11 -0
  202. arity-0.2.0/tests/fixtures/formatter/call_comments_basic/expected.R +14 -0
  203. arity-0.2.0/tests/fixtures/formatter/call_comments_basic/input.R +14 -0
  204. arity-0.2.0/tests/fixtures/formatter/call_comments_inside_holes/expected.R +108 -0
  205. arity-0.2.0/tests/fixtures/formatter/call_comments_inside_holes/input.R +105 -0
  206. arity-0.2.0/tests/fixtures/formatter/call_comments_sanity/expected.R +43 -0
  207. arity-0.2.0/tests/fixtures/formatter/call_comments_sanity/input.R +52 -0
  208. arity-0.2.0/tests/fixtures/formatter/call_comments_trailing_braced_expression/expected.R +61 -0
  209. arity-0.2.0/tests/fixtures/formatter/call_comments_trailing_braced_expression/input.R +65 -0
  210. arity-0.2.0/tests/fixtures/formatter/call_dots_and_dotdoti/expected.R +18 -0
  211. arity-0.2.0/tests/fixtures/formatter/call_dots_and_dotdoti/input.R +13 -0
  212. arity-0.2.0/tests/fixtures/formatter/call_empty_lines_between_args/expected.R +23 -0
  213. arity-0.2.0/tests/fixtures/formatter/call_empty_lines_between_args/input.R +42 -0
  214. arity-0.2.0/tests/fixtures/formatter/call_hugging_basics/expected.R +43 -0
  215. arity-0.2.0/tests/fixtures/formatter/call_hugging_basics/input.R +29 -0
  216. arity-0.2.0/tests/fixtures/formatter/call_leading_holes/expected.R +20 -0
  217. arity-0.2.0/tests/fixtures/formatter/call_leading_holes/input.R +30 -0
  218. arity-0.2.0/tests/fixtures/formatter/call_leading_holes_hugging/expected.R +8 -0
  219. arity-0.2.0/tests/fixtures/formatter/call_leading_holes_hugging/input.R +1 -0
  220. arity-0.2.0/tests/fixtures/formatter/call_named_args_without_rhs/expected.R +27 -0
  221. arity-0.2.0/tests/fixtures/formatter/call_named_args_without_rhs/input.R +26 -0
  222. arity-0.2.0/tests/fixtures/formatter/call_named_function_argument/expected.R +4 -0
  223. arity-0.2.0/tests/fixtures/formatter/call_named_function_argument/input.R +6 -0
  224. arity-0.2.0/tests/fixtures/formatter/call_single_arg_hug_overflow/expected.R +32 -0
  225. arity-0.2.0/tests/fixtures/formatter/call_single_arg_hug_overflow/input.R +15 -0
  226. arity-0.2.0/tests/fixtures/formatter/call_subsetting_hugging/expected.R +7 -0
  227. arity-0.2.0/tests/fixtures/formatter/call_subsetting_hugging/input.R +17 -0
  228. arity-0.2.0/tests/fixtures/formatter/call_trailing_braced_expression/expected.R +90 -0
  229. arity-0.2.0/tests/fixtures/formatter/call_trailing_braced_expression/input.R +90 -0
  230. arity-0.2.0/tests/fixtures/formatter/call_trailing_curly_curly/expected.R +1 -0
  231. arity-0.2.0/tests/fixtures/formatter/call_trailing_curly_curly/input.R +1 -0
  232. arity-0.2.0/tests/fixtures/formatter/call_trailing_inline_function/expected.R +90 -0
  233. arity-0.2.0/tests/fixtures/formatter/call_trailing_inline_function/input.R +71 -0
  234. arity-0.2.0/tests/fixtures/formatter/call_user_line_breaks/expected.R +16 -0
  235. arity-0.2.0/tests/fixtures/formatter/call_user_line_breaks/input.R +21 -0
  236. arity-0.2.0/tests/fixtures/formatter/for_statement/expected.R +75 -0
  237. arity-0.2.0/tests/fixtures/formatter/for_statement/input.R +69 -0
  238. arity-0.2.0/tests/fixtures/formatter/function_bare_control_flow_body/expected.R +41 -0
  239. arity-0.2.0/tests/fixtures/formatter/function_bare_control_flow_body/input.R +29 -0
  240. arity-0.2.0/tests/fixtures/formatter/function_body_curly_curly/expected.R +18 -0
  241. arity-0.2.0/tests/fixtures/formatter/function_body_curly_curly/input.R +6 -0
  242. arity-0.2.0/tests/fixtures/formatter/function_body_wide_if_condition/expected.R +14 -0
  243. arity-0.2.0/tests/fixtures/formatter/function_body_wide_if_condition/input.R +1 -0
  244. arity-0.2.0/tests/fixtures/formatter/function_body_wide_if_condition_nested/expected.R +12 -0
  245. arity-0.2.0/tests/fixtures/formatter/function_body_wide_if_condition_nested/input.R +1 -0
  246. arity-0.2.0/tests/fixtures/formatter/function_definition_autobracing/expected.R +28 -0
  247. arity-0.2.0/tests/fixtures/formatter/function_definition_autobracing/input.R +27 -0
  248. arity-0.2.0/tests/fixtures/formatter/function_definition_comments/expected.R +73 -0
  249. arity-0.2.0/tests/fixtures/formatter/function_definition_comments/input.R +71 -0
  250. arity-0.2.0/tests/fixtures/formatter/function_definition_misc/expected.R +16 -0
  251. arity-0.2.0/tests/fixtures/formatter/function_definition_misc/input.R +6 -0
  252. arity-0.2.0/tests/fixtures/formatter/function_definition_user_requested_line_break/expected.R +7 -0
  253. arity-0.2.0/tests/fixtures/formatter/function_definition_user_requested_line_break/input.R +24 -0
  254. arity-0.2.0/tests/fixtures/formatter/function_definition_user_requested_line_break_followup/expected.R +5 -0
  255. arity-0.2.0/tests/fixtures/formatter/function_definition_user_requested_line_break_followup/input.R +16 -0
  256. arity-0.2.0/tests/fixtures/formatter/if_block_position_boundary/expected.R +10 -0
  257. arity-0.2.0/tests/fixtures/formatter/if_block_position_boundary/input.R +8 -0
  258. arity-0.2.0/tests/fixtures/formatter/if_comment_wide_branch/expected.R +14 -0
  259. arity-0.2.0/tests/fixtures/formatter/if_comment_wide_branch/input.R +5 -0
  260. arity-0.2.0/tests/fixtures/formatter/if_else_block/expected.R +5 -0
  261. arity-0.2.0/tests/fixtures/formatter/if_else_block/input.R +1 -0
  262. arity-0.2.0/tests/fixtures/formatter/if_else_if_bare_flat/expected.R +14 -0
  263. arity-0.2.0/tests/fixtures/formatter/if_else_if_bare_flat/input.R +4 -0
  264. arity-0.2.0/tests/fixtures/formatter/if_else_if_block_propagation/expected.R +7 -0
  265. arity-0.2.0/tests/fixtures/formatter/if_else_if_block_propagation/input.R +1 -0
  266. arity-0.2.0/tests/fixtures/formatter/if_else_if_chain/expected.R +5 -0
  267. arity-0.2.0/tests/fixtures/formatter/if_else_if_chain/input.R +5 -0
  268. arity-0.2.0/tests/fixtures/formatter/if_else_if_chain_long/expected.R +9 -0
  269. arity-0.2.0/tests/fixtures/formatter/if_else_if_chain_long/input.R +1 -0
  270. arity-0.2.0/tests/fixtures/formatter/if_else_if_empty_branch/expected.R +3 -0
  271. arity-0.2.0/tests/fixtures/formatter/if_else_if_empty_branch/input.R +1 -0
  272. arity-0.2.0/tests/fixtures/formatter/if_else_interstitial_comment_bare/expected.R +8 -0
  273. arity-0.2.0/tests/fixtures/formatter/if_else_interstitial_comment_bare/input.R +5 -0
  274. arity-0.2.0/tests/fixtures/formatter/if_else_interstitial_comment_block/expected.R +8 -0
  275. arity-0.2.0/tests/fixtures/formatter/if_else_interstitial_comment_block/input.R +9 -0
  276. arity-0.2.0/tests/fixtures/formatter/if_else_trailing_comment_after_bare/expected.R +7 -0
  277. arity-0.2.0/tests/fixtures/formatter/if_else_trailing_comment_after_bare/input.R +4 -0
  278. arity-0.2.0/tests/fixtures/formatter/if_else_trailing_comment_after_block/expected.R +8 -0
  279. arity-0.2.0/tests/fixtures/formatter/if_else_trailing_comment_after_block/input.R +8 -0
  280. arity-0.2.0/tests/fixtures/formatter/if_else_wide_bare_branches/expected.R +5 -0
  281. arity-0.2.0/tests/fixtures/formatter/if_else_wide_bare_branches/input.R +1 -0
  282. arity-0.2.0/tests/fixtures/formatter/if_function_body_wide_if/expected.R +5 -0
  283. arity-0.2.0/tests/fixtures/formatter/if_function_body_wide_if/input.R +1 -0
  284. arity-0.2.0/tests/fixtures/formatter/if_nested_consequence/expected.R +6 -0
  285. arity-0.2.0/tests/fixtures/formatter/if_nested_consequence/input.R +2 -0
  286. arity-0.2.0/tests/fixtures/formatter/if_nested_in_call_argument/expected.R +23 -0
  287. arity-0.2.0/tests/fixtures/formatter/if_nested_in_call_argument/input.R +4 -0
  288. arity-0.2.0/tests/fixtures/formatter/if_statement_position_simple/expected.R +8 -0
  289. arity-0.2.0/tests/fixtures/formatter/if_statement_position_simple/input.R +2 -0
  290. arity-0.2.0/tests/fixtures/formatter/if_value_position_nested_braces/expected.R +8 -0
  291. arity-0.2.0/tests/fixtures/formatter/if_value_position_nested_braces/input.R +2 -0
  292. arity-0.2.0/tests/fixtures/formatter/if_value_position_stays_flat/expected.R +6 -0
  293. arity-0.2.0/tests/fixtures/formatter/if_value_position_stays_flat/input.R +7 -0
  294. arity-0.2.0/tests/fixtures/formatter/if_value_position_wide_bare_braces/expected.R +9 -0
  295. arity-0.2.0/tests/fixtures/formatter/if_value_position_wide_bare_braces/input.R +1 -0
  296. arity-0.2.0/tests/fixtures/formatter/inline_comment/expected.R +1 -0
  297. arity-0.2.0/tests/fixtures/formatter/inline_comment/input.R +1 -0
  298. arity-0.2.0/tests/fixtures/formatter/noop_assignment/expected.R +1 -0
  299. arity-0.2.0/tests/fixtures/formatter/noop_assignment/input.R +1 -0
  300. arity-0.2.0/tests/fixtures/formatter/noop_comments/expected.R +2 -0
  301. arity-0.2.0/tests/fixtures/formatter/noop_comments/input.R +2 -0
  302. arity-0.2.0/tests/fixtures/formatter/noop_if_else_block/expected.R +5 -0
  303. arity-0.2.0/tests/fixtures/formatter/noop_if_else_block/input.R +5 -0
  304. arity-0.2.0/tests/fixtures/formatter/noop_unary/expected.R +3 -0
  305. arity-0.2.0/tests/fixtures/formatter/noop_unary/input.R +3 -0
  306. arity-0.2.0/tests/fixtures/formatter/parenthesized_expression_basic/expected.R +22 -0
  307. arity-0.2.0/tests/fixtures/formatter/parenthesized_expression_basic/input.R +15 -0
  308. arity-0.2.0/tests/fixtures/formatter/program/expected.R +23 -0
  309. arity-0.2.0/tests/fixtures/formatter/program/input.R +42 -0
  310. arity-0.2.0/tests/fixtures/formatter/subset_basic_and_holes/expected.R +40 -0
  311. arity-0.2.0/tests/fixtures/formatter/subset_basic_and_holes/input.R +39 -0
  312. arity-0.2.0/tests/fixtures/formatter/subset_comments/expected.R +3 -0
  313. arity-0.2.0/tests/fixtures/formatter/subset_comments/input.R +3 -0
  314. arity-0.2.0/tests/fixtures/formatter/subset_comments_after_holes/expected.R +4 -0
  315. arity-0.2.0/tests/fixtures/formatter/subset_comments_after_holes/input.R +4 -0
  316. arity-0.2.0/tests/fixtures/formatter/subset_dots_and_dotdoti/expected.R +12 -0
  317. arity-0.2.0/tests/fixtures/formatter/subset_dots_and_dotdoti/input.R +7 -0
  318. arity-0.2.0/tests/fixtures/formatter/subset_holes_trailing_function/expected.R +9 -0
  319. arity-0.2.0/tests/fixtures/formatter/subset_holes_trailing_function/input.R +13 -0
  320. arity-0.2.0/tests/fixtures/formatter/subset_user_requested_line_break/expected.R +7 -0
  321. arity-0.2.0/tests/fixtures/formatter/subset_user_requested_line_break/input.R +15 -0
  322. arity-0.2.0/tests/fixtures/formatter/subset_user_requested_line_break_leading_holes/expected.R +5 -0
  323. arity-0.2.0/tests/fixtures/formatter/subset_user_requested_line_break_leading_holes/input.R +8 -0
  324. arity-0.2.0/tests/fixtures/formatter/while_statement/expected.R +93 -0
  325. arity-0.2.0/tests/fixtures/formatter/while_statement/input.R +87 -0
  326. arity-0.2.0/tests/fixtures/parser/air_error_call_side_by_side_arguments/input.R +2 -0
  327. arity-0.2.0/tests/fixtures/parser/air_error_namespace_call_lhs_double_colon/input.R +1 -0
  328. arity-0.2.0/tests/fixtures/parser/air_error_namespace_call_lhs_triple_colon/input.R +1 -0
  329. arity-0.2.0/tests/fixtures/parser/air_error_namespace_chained_double_colon/input.R +1 -0
  330. arity-0.2.0/tests/fixtures/parser/air_error_namespace_chained_triple_colon/input.R +1 -0
  331. arity-0.2.0/tests/fixtures/parser/air_error_parenthesized_expression_empty/input.R +1 -0
  332. arity-0.2.0/tests/fixtures/parser/air_error_parenthesized_expression_multiple/input.R +4 -0
  333. arity-0.2.0/tests/fixtures/parser/air_ok_binary_expressions/input.R +40 -0
  334. arity-0.2.0/tests/fixtures/parser/air_ok_braced_expressions/input.R +19 -0
  335. arity-0.2.0/tests/fixtures/parser/air_ok_calls/input.R +55 -0
  336. arity-0.2.0/tests/fixtures/parser/air_ok_comments/input.R +3 -0
  337. arity-0.2.0/tests/fixtures/parser/air_ok_crlf_multiline_string_value/input.R +2 -0
  338. arity-0.2.0/tests/fixtures/parser/air_ok_dot_dot_i/input.R +10 -0
  339. arity-0.2.0/tests/fixtures/parser/air_ok_dots/input.R +7 -0
  340. arity-0.2.0/tests/fixtures/parser/air_ok_extract_expression/input.R +26 -0
  341. arity-0.2.0/tests/fixtures/parser/air_ok_for_statement/input.R +13 -0
  342. arity-0.2.0/tests/fixtures/parser/air_ok_function_definition/input.R +17 -0
  343. arity-0.2.0/tests/fixtures/parser/air_ok_if_statement/input.R +8 -0
  344. arity-0.2.0/tests/fixtures/parser/air_ok_keyword/input.R +13 -0
  345. arity-0.2.0/tests/fixtures/parser/air_ok_namespace_expression/input.R +32 -0
  346. arity-0.2.0/tests/fixtures/parser/air_ok_parenthesized_expression/input.R +13 -0
  347. arity-0.2.0/tests/fixtures/parser/air_ok_repeat_statement/input.R +8 -0
  348. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolon_end_of_file_01/input.R +2 -0
  349. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolon_end_of_file_02/input.R +1 -0
  350. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolon_end_of_file_03/input.R +3 -0
  351. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolon_start_of_file_01/input.R +2 -0
  352. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolon_start_of_file_02/input.R +1 -0
  353. arity-0.2.0/tests/fixtures/parser/air_ok_semicolons_semicolons/input.R +16 -0
  354. arity-0.2.0/tests/fixtures/parser/air_ok_subset/input.R +41 -0
  355. arity-0.2.0/tests/fixtures/parser/air_ok_subset2/input.R +41 -0
  356. arity-0.2.0/tests/fixtures/parser/air_ok_unary_expressions/input.R +18 -0
  357. arity-0.2.0/tests/fixtures/parser/air_ok_value_complex_value/input.R +4 -0
  358. arity-0.2.0/tests/fixtures/parser/air_ok_value_double_value/input.R +24 -0
  359. arity-0.2.0/tests/fixtures/parser/air_ok_value_integer_value/input.R +22 -0
  360. arity-0.2.0/tests/fixtures/parser/air_ok_value_string_value/input.R +25 -0
  361. arity-0.2.0/tests/fixtures/parser/air_ok_while_statement/input.R +11 -0
  362. arity-0.2.0/tests/fixtures/parser/air_undefined_extract_expression_error/input.R +29 -0
  363. arity-0.2.0/tests/fixtures/parser/air_undefined_namespace_expression_error/input.R +29 -0
  364. arity-0.2.0/tests/fixtures/parser/assignment_chain_right_assoc/input.R +1 -0
  365. arity-0.2.0/tests/fixtures/parser/assignment_eq/input.R +1 -0
  366. arity-0.2.0/tests/fixtures/parser/assignment_expr_rhs/input.R +1 -0
  367. arity-0.2.0/tests/fixtures/parser/assignment_float/input.R +1 -0
  368. arity-0.2.0/tests/fixtures/parser/assignment_left2/input.R +1 -0
  369. arity-0.2.0/tests/fixtures/parser/assignment_missing_rhs/input.R +1 -0
  370. arity-0.2.0/tests/fixtures/parser/assignment_missing_rhs_eq/input.R +1 -0
  371. arity-0.2.0/tests/fixtures/parser/assignment_right/input.R +1 -0
  372. arity-0.2.0/tests/fixtures/parser/assignment_right2/input.R +1 -0
  373. arity-0.2.0/tests/fixtures/parser/assignment_simple/input.R +1 -0
  374. arity-0.2.0/tests/fixtures/parser/assignment_string/input.R +1 -0
  375. arity-0.2.0/tests/fixtures/parser/call_lambda_and_dot_named/input.R +7 -0
  376. arity-0.2.0/tests/fixtures/parser/call_mixed_args/input.R +2 -0
  377. arity-0.2.0/tests/fixtures/parser/call_named_args/input.R +3 -0
  378. arity-0.2.0/tests/fixtures/parser/call_named_args_without_rhs/input.R +18 -0
  379. arity-0.2.0/tests/fixtures/parser/call_simple/input.R +4 -0
  380. arity-0.2.0/tests/fixtures/parser/comment_only/input.R +1 -0
  381. arity-0.2.0/tests/fixtures/parser/crlf_line_ending/input.R +2 -0
  382. arity-0.2.0/tests/fixtures/parser/double_brackets_tokens/input.R +1 -0
  383. arity-0.2.0/tests/fixtures/parser/expr_additive_multiplicative_colon/input.R +5 -0
  384. arity-0.2.0/tests/fixtures/parser/expr_dotted_ident/input.R +3 -0
  385. arity-0.2.0/tests/fixtures/parser/expr_extract_namespace/input.R +4 -0
  386. arity-0.2.0/tests/fixtures/parser/expr_help_operator/input.R +1 -0
  387. arity-0.2.0/tests/fixtures/parser/expr_logical_relational/input.R +10 -0
  388. arity-0.2.0/tests/fixtures/parser/expr_missing_rhs/input.R +1 -0
  389. arity-0.2.0/tests/fixtures/parser/expr_newline_binary_break/input.R +16 -0
  390. arity-0.2.0/tests/fixtures/parser/expr_paren_precedence/input.R +1 -0
  391. arity-0.2.0/tests/fixtures/parser/expr_power_alias/input.R +3 -0
  392. arity-0.2.0/tests/fixtures/parser/expr_precedence/input.R +1 -0
  393. arity-0.2.0/tests/fixtures/parser/expr_right_assoc_power/input.R +1 -0
  394. arity-0.2.0/tests/fixtures/parser/expr_separators_tokens/input.R +2 -0
  395. arity-0.2.0/tests/fixtures/parser/expr_tilde_unary_and_binary/input.R +1 -0
  396. arity-0.2.0/tests/fixtures/parser/expr_tilde_userop/input.R +3 -0
  397. arity-0.2.0/tests/fixtures/parser/expr_unary/input.R +5 -0
  398. arity-0.2.0/tests/fixtures/parser/expr_unexpected_prefix_op/input.R +1 -0
  399. arity-0.2.0/tests/fixtures/parser/expr_walrus/input.R +1 -0
  400. arity-0.2.0/tests/fixtures/parser/for_missing_in/input.R +1 -0
  401. arity-0.2.0/tests/fixtures/parser/for_missing_rparen/input.R +1 -0
  402. arity-0.2.0/tests/fixtures/parser/for_newline_body/input.R +4 -0
  403. arity-0.2.0/tests/fixtures/parser/for_simple/input.R +1 -0
  404. arity-0.2.0/tests/fixtures/parser/function_missing_body/input.R +1 -0
  405. arity-0.2.0/tests/fixtures/parser/function_missing_rparen_body/input.R +2 -0
  406. arity-0.2.0/tests/fixtures/parser/function_newline_body/input.R +4 -0
  407. arity-0.2.0/tests/fixtures/parser/function_simple/input.R +1 -0
  408. arity-0.2.0/tests/fixtures/parser/if_comment_in_condition/input.R +13 -0
  409. arity-0.2.0/tests/fixtures/parser/if_dangling_else/input.R +1 -0
  410. arity-0.2.0/tests/fixtures/parser/if_else_blocks/input.R +5 -0
  411. arity-0.2.0/tests/fixtures/parser/if_missing_condition_expr/input.R +1 -0
  412. arity-0.2.0/tests/fixtures/parser/if_missing_condition_parens/input.R +1 -0
  413. arity-0.2.0/tests/fixtures/parser/if_missing_else_expr/input.R +1 -0
  414. arity-0.2.0/tests/fixtures/parser/if_missing_rparen/input.R +1 -0
  415. arity-0.2.0/tests/fixtures/parser/if_missing_then_expr/input.R +1 -0
  416. arity-0.2.0/tests/fixtures/parser/if_simple/input.R +1 -0
  417. arity-0.2.0/tests/fixtures/parser/lf_line_ending/input.R +2 -0
  418. arity-0.2.0/tests/fixtures/parser/pipe_precedence/input.R +2 -0
  419. arity-0.2.0/tests/fixtures/parser/pipe_simple/input.R +1 -0
  420. arity-0.2.0/tests/fixtures/parser/stmt_semicolon_separator/input.R +2 -0
  421. arity-0.2.0/tests/fixtures/parser/subset2_simple/input.R +3 -0
  422. arity-0.2.0/tests/fixtures/parser/subset_assignment/input.R +3 -0
  423. arity-0.2.0/tests/fixtures/parser/subset_missing_close/input.R +3 -0
  424. arity-0.2.0/tests/fixtures/parser/subset_nested_close/input.R +20 -0
  425. arity-0.2.0/tests/fixtures/parser/subset_simple/input.R +4 -0
  426. arity-0.2.0/tests/fixtures/parser/unclosed_block/input.R +2 -0
  427. arity-0.2.0/tests/fixtures/parser/user_operator_tokens/input.R +1 -0
  428. arity-0.2.0/tests/fixtures/parser/while_missing_condition/input.R +1 -0
  429. arity-0.2.0/tests/fixtures/parser/while_missing_rparen/input.R +1 -0
  430. arity-0.2.0/tests/fixtures/parser/while_newline_body/input.R +4 -0
  431. arity-0.2.0/tests/fixtures/parser/while_simple/input.R +1 -0
  432. arity-0.2.0/tests/fixtures/rindex/R.oo/DESCRIPTION +21 -0
  433. arity-0.2.0/tests/fixtures/rindex/R.oo/Meta/Rd.rds +0 -0
  434. arity-0.2.0/tests/fixtures/rindex/R.oo/NAMESPACE +286 -0
  435. arity-0.2.0/tests/fixtures/rindex/R.oo/R/R.oo.rdx +0 -0
  436. arity-0.2.0/tests/fixtures/rindex/magrittr/DESCRIPTION +40 -0
  437. arity-0.2.0/tests/fixtures/rindex/magrittr/Meta/Rd.rds +0 -0
  438. arity-0.2.0/tests/fixtures/rindex/magrittr/NAMESPACE +48 -0
  439. arity-0.2.0/tests/fixtures/rindex/magrittr/R/magrittr.rdb +0 -0
  440. arity-0.2.0/tests/fixtures/rindex/magrittr/R/magrittr.rdx +0 -0
  441. arity-0.2.0/tests/fixtures/rindex/magrittr/help/magrittr.rdb +0 -0
  442. arity-0.2.0/tests/fixtures/rindex/magrittr/help/magrittr.rdx +0 -0
  443. arity-0.2.0/tests/formatter.rs +427 -0
  444. arity-0.2.0/tests/incremental_reparse.rs +160 -0
  445. arity-0.2.0/tests/line_endings.rs +52 -0
  446. arity-0.2.0/tests/lint.rs +775 -0
  447. arity-0.2.0/tests/lsp.rs +421 -0
  448. arity-0.2.0/tests/node_ptr.rs +105 -0
  449. arity-0.2.0/tests/parser_snapshots.rs +156 -0
  450. arity-0.2.0/tests/range_format.rs +145 -0
  451. arity-0.2.0/tests/rindex.rs +215 -0
  452. arity-0.2.0/tests/salsa_incremental.rs +1037 -0
  453. arity-0.2.0/tests/snapshots/formatter__air_binary_expression_sticky_subset_formatted.snap +75 -0
  454. arity-0.2.0/tests/snapshots/formatter__air_binary_expression_subset_formatted.snap +14 -0
  455. arity-0.2.0/tests/snapshots/formatter__air_braced_expressions_formatted.snap +228 -0
  456. arity-0.2.0/tests/snapshots/formatter__air_call_formatted.snap +849 -0
  457. arity-0.2.0/tests/snapshots/formatter__air_comment_formatted.snap +6 -0
  458. arity-0.2.0/tests/snapshots/formatter__air_dot_dot_i_formatted.snap +9 -0
  459. arity-0.2.0/tests/snapshots/formatter__air_for_statement_formatted.snap +79 -0
  460. arity-0.2.0/tests/snapshots/formatter__air_function_definition_formatted.snap +164 -0
  461. arity-0.2.0/tests/snapshots/formatter__air_keyword_formatted.snap +17 -0
  462. arity-0.2.0/tests/snapshots/formatter__air_parenthesized_expression_formatted.snap +30 -0
  463. arity-0.2.0/tests/snapshots/formatter__air_pipelines_formatted.snap +28 -0
  464. arity-0.2.0/tests/snapshots/formatter__air_program_formatted.snap +27 -0
  465. arity-0.2.0/tests/snapshots/formatter__air_repeat_statement_formatted.snap +69 -0
  466. arity-0.2.0/tests/snapshots/formatter__air_smoke_formatted.snap +5 -0
  467. arity-0.2.0/tests/snapshots/formatter__air_subset2_formatted.snap +85 -0
  468. arity-0.2.0/tests/snapshots/formatter__air_test_that_formatted.snap +41 -0
  469. arity-0.2.0/tests/snapshots/formatter__air_value_double_value_formatted.snap +8 -0
  470. arity-0.2.0/tests/snapshots/formatter__air_value_integer_value_formatted.snap +6 -0
  471. arity-0.2.0/tests/snapshots/formatter__air_value_string_value_formatted.snap +13 -0
  472. arity-0.2.0/tests/snapshots/formatter__air_while_statement_formatted.snap +97 -0
  473. arity-0.2.0/tests/snapshots/formatter__assignment_precedence_formatted.snap +5 -0
  474. arity-0.2.0/tests/snapshots/formatter__braced_curly_curly_advanced_formatted.snap +31 -0
  475. arity-0.2.0/tests/snapshots/formatter__braced_curly_curly_basics_formatted.snap +9 -0
  476. arity-0.2.0/tests/snapshots/formatter__braced_curly_curly_negative_non_symbol_formatted.snap +27 -0
  477. arity-0.2.0/tests/snapshots/formatter__braced_empty_and_basics_formatted.snap +26 -0
  478. arity-0.2.0/tests/snapshots/formatter__braced_empty_function_definitions_formatted.snap +28 -0
  479. arity-0.2.0/tests/snapshots/formatter__braced_empty_if_forms_formatted.snap +39 -0
  480. arity-0.2.0/tests/snapshots/formatter__braced_empty_loops_formatted.snap +31 -0
  481. arity-0.2.0/tests/snapshots/formatter__call_basic_and_holes_formatted.snap +26 -0
  482. arity-0.2.0/tests/snapshots/formatter__call_comments_after_holes_formatted.snap +13 -0
  483. arity-0.2.0/tests/snapshots/formatter__call_comments_basic_formatted.snap +18 -0
  484. arity-0.2.0/tests/snapshots/formatter__call_comments_inside_holes_formatted.snap +112 -0
  485. arity-0.2.0/tests/snapshots/formatter__call_comments_sanity_formatted.snap +47 -0
  486. arity-0.2.0/tests/snapshots/formatter__call_comments_trailing_braced_expression_formatted.snap +65 -0
  487. arity-0.2.0/tests/snapshots/formatter__call_dots_and_dotdoti_formatted.snap +23 -0
  488. arity-0.2.0/tests/snapshots/formatter__call_empty_lines_between_args_formatted.snap +27 -0
  489. arity-0.2.0/tests/snapshots/formatter__call_hugging_basics_formatted.snap +47 -0
  490. arity-0.2.0/tests/snapshots/formatter__call_leading_holes_formatted.snap +24 -0
  491. arity-0.2.0/tests/snapshots/formatter__call_leading_holes_hugging_formatted.snap +12 -0
  492. arity-0.2.0/tests/snapshots/formatter__call_named_args_without_rhs_formatted.snap +31 -0
  493. arity-0.2.0/tests/snapshots/formatter__call_single_arg_hug_overflow_formatted.snap +36 -0
  494. arity-0.2.0/tests/snapshots/formatter__call_subsetting_hugging_formatted.snap +11 -0
  495. arity-0.2.0/tests/snapshots/formatter__call_trailing_braced_expression_formatted.snap +94 -0
  496. arity-0.2.0/tests/snapshots/formatter__call_trailing_curly_curly_formatted.snap +5 -0
  497. arity-0.2.0/tests/snapshots/formatter__call_trailing_inline_function_formatted.snap +94 -0
  498. arity-0.2.0/tests/snapshots/formatter__call_user_line_breaks_formatted.snap +21 -0
  499. arity-0.2.0/tests/snapshots/formatter__for_statement_formatted.snap +79 -0
  500. arity-0.2.0/tests/snapshots/formatter__function_bare_control_flow_body_formatted.snap +45 -0
  501. arity-0.2.0/tests/snapshots/formatter__function_body_curly_curly_formatted.snap +22 -0
  502. arity-0.2.0/tests/snapshots/formatter__function_body_wide_if_condition_formatted.snap +18 -0
  503. arity-0.2.0/tests/snapshots/formatter__function_body_wide_if_condition_nested_formatted.snap +16 -0
  504. arity-0.2.0/tests/snapshots/formatter__function_definition_autobracing_formatted.snap +32 -0
  505. arity-0.2.0/tests/snapshots/formatter__function_definition_comments_formatted.snap +77 -0
  506. arity-0.2.0/tests/snapshots/formatter__function_definition_misc_formatted.snap +20 -0
  507. arity-0.2.0/tests/snapshots/formatter__function_definition_user_requested_line_break_followup_formatted.snap +9 -0
  508. arity-0.2.0/tests/snapshots/formatter__function_definition_user_requested_line_break_formatted.snap +11 -0
  509. arity-0.2.0/tests/snapshots/formatter__if_block_position_boundary_formatted.snap +14 -0
  510. arity-0.2.0/tests/snapshots/formatter__if_comment_wide_branch_formatted.snap +18 -0
  511. arity-0.2.0/tests/snapshots/formatter__if_else_block_formatted.snap +9 -0
  512. arity-0.2.0/tests/snapshots/formatter__if_else_if_bare_flat_formatted.snap +18 -0
  513. arity-0.2.0/tests/snapshots/formatter__if_else_if_block_propagation_formatted.snap +11 -0
  514. arity-0.2.0/tests/snapshots/formatter__if_else_if_chain_formatted.snap +9 -0
  515. arity-0.2.0/tests/snapshots/formatter__if_else_if_chain_long_formatted.snap +13 -0
  516. arity-0.2.0/tests/snapshots/formatter__if_else_if_empty_branch_formatted.snap +7 -0
  517. arity-0.2.0/tests/snapshots/formatter__if_else_interstitial_comment_bare_formatted.snap +12 -0
  518. arity-0.2.0/tests/snapshots/formatter__if_else_interstitial_comment_block_formatted.snap +12 -0
  519. arity-0.2.0/tests/snapshots/formatter__if_else_trailing_comment_after_bare_formatted.snap +11 -0
  520. arity-0.2.0/tests/snapshots/formatter__if_else_trailing_comment_after_block_formatted.snap +12 -0
  521. arity-0.2.0/tests/snapshots/formatter__if_else_wide_bare_branches_formatted.snap +9 -0
  522. arity-0.2.0/tests/snapshots/formatter__if_function_body_wide_if_formatted.snap +9 -0
  523. arity-0.2.0/tests/snapshots/formatter__if_nested_consequence_formatted.snap +10 -0
  524. arity-0.2.0/tests/snapshots/formatter__if_nested_in_call_argument_formatted.snap +27 -0
  525. arity-0.2.0/tests/snapshots/formatter__if_statement_position_simple_formatted.snap +12 -0
  526. arity-0.2.0/tests/snapshots/formatter__if_value_position_nested_braces_formatted.snap +12 -0
  527. arity-0.2.0/tests/snapshots/formatter__if_value_position_stays_flat_formatted.snap +10 -0
  528. arity-0.2.0/tests/snapshots/formatter__if_value_position_wide_bare_braces_formatted.snap +13 -0
  529. arity-0.2.0/tests/snapshots/formatter__inline_comment_formatted.snap +5 -0
  530. arity-0.2.0/tests/snapshots/formatter__noop_assignment_formatted.snap +5 -0
  531. arity-0.2.0/tests/snapshots/formatter__noop_comments_formatted.snap +6 -0
  532. arity-0.2.0/tests/snapshots/formatter__noop_if_else_block_formatted.snap +9 -0
  533. arity-0.2.0/tests/snapshots/formatter__noop_unary_formatted.snap +7 -0
  534. arity-0.2.0/tests/snapshots/formatter__parenthesized_expression_basic_formatted.snap +26 -0
  535. arity-0.2.0/tests/snapshots/formatter__program_formatted.snap +27 -0
  536. arity-0.2.0/tests/snapshots/formatter__subset_basic_and_holes_formatted.snap +44 -0
  537. arity-0.2.0/tests/snapshots/formatter__subset_comments_after_holes_formatted.snap +8 -0
  538. arity-0.2.0/tests/snapshots/formatter__subset_comments_formatted.snap +7 -0
  539. arity-0.2.0/tests/snapshots/formatter__subset_dots_and_dotdoti_formatted.snap +16 -0
  540. arity-0.2.0/tests/snapshots/formatter__subset_holes_trailing_function_formatted.snap +13 -0
  541. arity-0.2.0/tests/snapshots/formatter__subset_user_requested_line_break_formatted.snap +11 -0
  542. arity-0.2.0/tests/snapshots/formatter__subset_user_requested_line_break_leading_holes_formatted.snap +9 -0
  543. arity-0.2.0/tests/snapshots/formatter__while_statement_formatted.snap +97 -0
  544. arity-0.2.0/tests/snapshots/formatter_snapshots__noop_assignment_formatted.snap +5 -0
  545. arity-0.2.0/tests/snapshots/formatter_snapshots__noop_comments_formatted.snap +6 -0
  546. arity-0.2.0/tests/snapshots/formatter_snapshots__noop_if_else_block_formatted.snap +9 -0
  547. arity-0.2.0/tests/snapshots/formatter_snapshots__noop_unary_formatted.snap +7 -0
  548. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_call_side_by_side_arguments_cst.snap +18 -0
  549. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_call_side_by_side_arguments_diagnostics.snap +11 -0
  550. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_call_lhs_double_colon_cst.snap +13 -0
  551. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_call_lhs_double_colon_diagnostics.snap +11 -0
  552. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_call_lhs_triple_colon_cst.snap +13 -0
  553. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_call_lhs_triple_colon_diagnostics.snap +11 -0
  554. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_chained_double_colon_cst.snap +12 -0
  555. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_chained_double_colon_diagnostics.snap +11 -0
  556. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_chained_triple_colon_cst.snap +12 -0
  557. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_namespace_chained_triple_colon_diagnostics.snap +11 -0
  558. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_parenthesized_expression_empty_cst.snap +8 -0
  559. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_parenthesized_expression_empty_diagnostics.snap +11 -0
  560. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_parenthesized_expression_multiple_cst.snap +15 -0
  561. arity-0.2.0/tests/snapshots/parser_snapshots__air_error_parenthesized_expression_multiple_diagnostics.snap +11 -0
  562. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_binary_expressions_cst.snap +253 -0
  563. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_binary_expressions_diagnostics.snap +5 -0
  564. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_braced_expressions_cst.snap +68 -0
  565. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_braced_expressions_diagnostics.snap +5 -0
  566. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_calls_cst.snap +383 -0
  567. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_calls_diagnostics.snap +56 -0
  568. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_comments_cst.snap +18 -0
  569. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_comments_diagnostics.snap +5 -0
  570. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_crlf_multiline_string_value_cst.snap +7 -0
  571. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_crlf_multiline_string_value_diagnostics.snap +5 -0
  572. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_dot_dot_i_cst.snap +40 -0
  573. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_dot_dot_i_diagnostics.snap +5 -0
  574. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_dots_cst.snap +26 -0
  575. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_dots_diagnostics.snap +5 -0
  576. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_extract_expression_cst.snap +129 -0
  577. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_extract_expression_diagnostics.snap +16 -0
  578. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_for_statement_cst.snap +69 -0
  579. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_for_statement_diagnostics.snap +5 -0
  580. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_function_definition_cst.snap +187 -0
  581. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_function_definition_diagnostics.snap +5 -0
  582. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_if_statement_cst.snap +76 -0
  583. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_if_statement_diagnostics.snap +5 -0
  584. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_keyword_cst.snap +31 -0
  585. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_keyword_diagnostics.snap +5 -0
  586. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_namespace_expression_cst.snap +151 -0
  587. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_namespace_expression_diagnostics.snap +16 -0
  588. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_parenthesized_expression_cst.snap +57 -0
  589. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_parenthesized_expression_diagnostics.snap +5 -0
  590. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_repeat_statement_cst.snap +36 -0
  591. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_repeat_statement_diagnostics.snap +5 -0
  592. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_01_cst.snap +10 -0
  593. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_01_diagnostics.snap +5 -0
  594. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_02_cst.snap +9 -0
  595. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_02_diagnostics.snap +5 -0
  596. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_03_cst.snap +10 -0
  597. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_end_of_file_03_diagnostics.snap +5 -0
  598. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_start_of_file_01_cst.snap +9 -0
  599. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_start_of_file_01_diagnostics.snap +5 -0
  600. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_start_of_file_02_cst.snap +8 -0
  601. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolon_start_of_file_02_diagnostics.snap +5 -0
  602. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolons_cst.snap +54 -0
  603. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_semicolons_semicolons_diagnostics.snap +5 -0
  604. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_subset2_cst.snap +323 -0
  605. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_subset2_diagnostics.snap +111 -0
  606. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_subset_cst.snap +323 -0
  607. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_subset_diagnostics.snap +111 -0
  608. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_unary_expressions_cst.snap +64 -0
  609. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_unary_expressions_diagnostics.snap +5 -0
  610. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_complex_value_cst.snap +13 -0
  611. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_complex_value_diagnostics.snap +5 -0
  612. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_double_value_cst.snap +51 -0
  613. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_double_value_diagnostics.snap +5 -0
  614. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_integer_value_cst.snap +47 -0
  615. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_integer_value_diagnostics.snap +5 -0
  616. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_string_value_cst.snap +47 -0
  617. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_value_string_value_diagnostics.snap +5 -0
  618. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_while_statement_cst.snap +54 -0
  619. arity-0.2.0/tests/snapshots/parser_snapshots__air_ok_while_statement_diagnostics.snap +5 -0
  620. arity-0.2.0/tests/snapshots/parser_snapshots__air_undefined_extract_expression_error_cst.snap +112 -0
  621. arity-0.2.0/tests/snapshots/parser_snapshots__air_undefined_extract_expression_error_diagnostics.snap +5 -0
  622. arity-0.2.0/tests/snapshots/parser_snapshots__air_undefined_namespace_expression_error_cst.snap +112 -0
  623. arity-0.2.0/tests/snapshots/parser_snapshots__air_undefined_namespace_expression_error_diagnostics.snap +16 -0
  624. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_chain_right_assoc_cst.snap +17 -0
  625. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_chain_right_assoc_diagnostics.snap +5 -0
  626. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_eq_cst.snap +12 -0
  627. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_eq_diagnostics.snap +5 -0
  628. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_expr_rhs_cst.snap +17 -0
  629. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_expr_rhs_diagnostics.snap +5 -0
  630. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_float_cst.snap +12 -0
  631. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_float_diagnostics.snap +5 -0
  632. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_left2_cst.snap +12 -0
  633. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_left2_diagnostics.snap +5 -0
  634. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_missing_rhs_cst.snap +10 -0
  635. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_missing_rhs_diagnostics.snap +11 -0
  636. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_missing_rhs_eq_cst.snap +10 -0
  637. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_missing_rhs_eq_diagnostics.snap +11 -0
  638. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_right2_cst.snap +12 -0
  639. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_right2_diagnostics.snap +5 -0
  640. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_right_cst.snap +12 -0
  641. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_right_diagnostics.snap +5 -0
  642. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_simple_cst.snap +12 -0
  643. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_simple_diagnostics.snap +5 -0
  644. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_string_cst.snap +12 -0
  645. arity-0.2.0/tests/snapshots/parser_snapshots__assignment_string_diagnostics.snap +5 -0
  646. arity-0.2.0/tests/snapshots/parser_snapshots__call_lambda_and_dot_named_cst.snap +68 -0
  647. arity-0.2.0/tests/snapshots/parser_snapshots__call_lambda_and_dot_named_diagnostics.snap +5 -0
  648. arity-0.2.0/tests/snapshots/parser_snapshots__call_mixed_args_cst.snap +55 -0
  649. arity-0.2.0/tests/snapshots/parser_snapshots__call_mixed_args_diagnostics.snap +5 -0
  650. arity-0.2.0/tests/snapshots/parser_snapshots__call_named_args_cst.snap +54 -0
  651. arity-0.2.0/tests/snapshots/parser_snapshots__call_named_args_diagnostics.snap +5 -0
  652. arity-0.2.0/tests/snapshots/parser_snapshots__call_named_args_without_rhs_cst.snap +100 -0
  653. arity-0.2.0/tests/snapshots/parser_snapshots__call_named_args_without_rhs_diagnostics.snap +5 -0
  654. arity-0.2.0/tests/snapshots/parser_snapshots__call_simple_cst.snap +48 -0
  655. arity-0.2.0/tests/snapshots/parser_snapshots__call_simple_diagnostics.snap +5 -0
  656. arity-0.2.0/tests/snapshots/parser_snapshots__comment_only_cst.snap +7 -0
  657. arity-0.2.0/tests/snapshots/parser_snapshots__comment_only_diagnostics.snap +5 -0
  658. arity-0.2.0/tests/snapshots/parser_snapshots__double_brackets_tokens_cst.snap +13 -0
  659. arity-0.2.0/tests/snapshots/parser_snapshots__double_brackets_tokens_diagnostics.snap +5 -0
  660. arity-0.2.0/tests/snapshots/parser_snapshots__expr_additive_multiplicative_colon_cst.snap +59 -0
  661. arity-0.2.0/tests/snapshots/parser_snapshots__expr_additive_multiplicative_colon_diagnostics.snap +5 -0
  662. arity-0.2.0/tests/snapshots/parser_snapshots__expr_dotted_ident_cst.snap +29 -0
  663. arity-0.2.0/tests/snapshots/parser_snapshots__expr_dotted_ident_diagnostics.snap +5 -0
  664. arity-0.2.0/tests/snapshots/parser_snapshots__expr_extract_namespace_cst.snap +25 -0
  665. arity-0.2.0/tests/snapshots/parser_snapshots__expr_extract_namespace_diagnostics.snap +5 -0
  666. arity-0.2.0/tests/snapshots/parser_snapshots__expr_help_operator_cst.snap +63 -0
  667. arity-0.2.0/tests/snapshots/parser_snapshots__expr_help_operator_diagnostics.snap +5 -0
  668. arity-0.2.0/tests/snapshots/parser_snapshots__expr_logical_relational_cst.snap +105 -0
  669. arity-0.2.0/tests/snapshots/parser_snapshots__expr_logical_relational_diagnostics.snap +5 -0
  670. arity-0.2.0/tests/snapshots/parser_snapshots__expr_missing_rhs_cst.snap +10 -0
  671. arity-0.2.0/tests/snapshots/parser_snapshots__expr_missing_rhs_diagnostics.snap +11 -0
  672. arity-0.2.0/tests/snapshots/parser_snapshots__expr_newline_binary_break_cst.snap +76 -0
  673. arity-0.2.0/tests/snapshots/parser_snapshots__expr_newline_binary_break_diagnostics.snap +5 -0
  674. arity-0.2.0/tests/snapshots/parser_snapshots__expr_paren_precedence_cst.snap +20 -0
  675. arity-0.2.0/tests/snapshots/parser_snapshots__expr_paren_precedence_diagnostics.snap +5 -0
  676. arity-0.2.0/tests/snapshots/parser_snapshots__expr_power_alias_cst.snap +35 -0
  677. arity-0.2.0/tests/snapshots/parser_snapshots__expr_power_alias_diagnostics.snap +5 -0
  678. arity-0.2.0/tests/snapshots/parser_snapshots__expr_precedence_cst.snap +17 -0
  679. arity-0.2.0/tests/snapshots/parser_snapshots__expr_precedence_diagnostics.snap +5 -0
  680. arity-0.2.0/tests/snapshots/parser_snapshots__expr_right_assoc_power_cst.snap +17 -0
  681. arity-0.2.0/tests/snapshots/parser_snapshots__expr_right_assoc_power_diagnostics.snap +5 -0
  682. arity-0.2.0/tests/snapshots/parser_snapshots__expr_separators_tokens_cst.snap +26 -0
  683. arity-0.2.0/tests/snapshots/parser_snapshots__expr_separators_tokens_diagnostics.snap +5 -0
  684. arity-0.2.0/tests/snapshots/parser_snapshots__expr_tilde_unary_and_binary_cst.snap +36 -0
  685. arity-0.2.0/tests/snapshots/parser_snapshots__expr_tilde_unary_and_binary_diagnostics.snap +6 -0
  686. arity-0.2.0/tests/snapshots/parser_snapshots__expr_tilde_userop_cst.snap +31 -0
  687. arity-0.2.0/tests/snapshots/parser_snapshots__expr_tilde_userop_diagnostics.snap +5 -0
  688. arity-0.2.0/tests/snapshots/parser_snapshots__expr_unary_cst.snap +58 -0
  689. arity-0.2.0/tests/snapshots/parser_snapshots__expr_unary_diagnostics.snap +5 -0
  690. arity-0.2.0/tests/snapshots/parser_snapshots__expr_unexpected_prefix_op_cst.snap +10 -0
  691. arity-0.2.0/tests/snapshots/parser_snapshots__expr_unexpected_prefix_op_diagnostics.snap +11 -0
  692. arity-0.2.0/tests/snapshots/parser_snapshots__expr_walrus_cst.snap +28 -0
  693. arity-0.2.0/tests/snapshots/parser_snapshots__expr_walrus_diagnostics.snap +5 -0
  694. arity-0.2.0/tests/snapshots/parser_snapshots__for_missing_in_cst.snap +17 -0
  695. arity-0.2.0/tests/snapshots/parser_snapshots__for_missing_in_diagnostics.snap +11 -0
  696. arity-0.2.0/tests/snapshots/parser_snapshots__for_missing_rparen_cst.snap +28 -0
  697. arity-0.2.0/tests/snapshots/parser_snapshots__for_missing_rparen_diagnostics.snap +11 -0
  698. arity-0.2.0/tests/snapshots/parser_snapshots__for_newline_body_cst.snap +34 -0
  699. arity-0.2.0/tests/snapshots/parser_snapshots__for_newline_body_diagnostics.snap +5 -0
  700. arity-0.2.0/tests/snapshots/parser_snapshots__for_simple_cst.snap +28 -0
  701. arity-0.2.0/tests/snapshots/parser_snapshots__for_simple_diagnostics.snap +5 -0
  702. arity-0.2.0/tests/snapshots/parser_snapshots__function_missing_body_cst.snap +12 -0
  703. arity-0.2.0/tests/snapshots/parser_snapshots__function_missing_body_diagnostics.snap +11 -0
  704. arity-0.2.0/tests/snapshots/parser_snapshots__function_missing_rparen_body_cst.snap +21 -0
  705. arity-0.2.0/tests/snapshots/parser_snapshots__function_missing_rparen_body_diagnostics.snap +11 -0
  706. arity-0.2.0/tests/snapshots/parser_snapshots__function_newline_body_cst.snap +27 -0
  707. arity-0.2.0/tests/snapshots/parser_snapshots__function_newline_body_diagnostics.snap +5 -0
  708. arity-0.2.0/tests/snapshots/parser_snapshots__function_simple_cst.snap +21 -0
  709. arity-0.2.0/tests/snapshots/parser_snapshots__function_simple_diagnostics.snap +5 -0
  710. arity-0.2.0/tests/snapshots/parser_snapshots__if_comment_in_condition_cst.snap +53 -0
  711. arity-0.2.0/tests/snapshots/parser_snapshots__if_comment_in_condition_diagnostics.snap +5 -0
  712. arity-0.2.0/tests/snapshots/parser_snapshots__if_dangling_else_cst.snap +25 -0
  713. arity-0.2.0/tests/snapshots/parser_snapshots__if_dangling_else_diagnostics.snap +5 -0
  714. arity-0.2.0/tests/snapshots/parser_snapshots__if_else_blocks_cst.snap +40 -0
  715. arity-0.2.0/tests/snapshots/parser_snapshots__if_else_blocks_diagnostics.snap +5 -0
  716. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_condition_expr_cst.snap +14 -0
  717. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_condition_expr_diagnostics.snap +11 -0
  718. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_condition_parens_cst.snap +12 -0
  719. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_condition_parens_diagnostics.snap +11 -0
  720. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_else_expr_cst.snap +17 -0
  721. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_else_expr_diagnostics.snap +11 -0
  722. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_rparen_cst.snap +13 -0
  723. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_rparen_diagnostics.snap +11 -0
  724. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_then_expr_cst.snap +17 -0
  725. arity-0.2.0/tests/snapshots/parser_snapshots__if_missing_then_expr_diagnostics.snap +11 -0
  726. arity-0.2.0/tests/snapshots/parser_snapshots__if_simple_cst.snap +14 -0
  727. arity-0.2.0/tests/snapshots/parser_snapshots__if_simple_diagnostics.snap +5 -0
  728. arity-0.2.0/tests/snapshots/parser_snapshots__pipe_precedence_cst.snap +29 -0
  729. arity-0.2.0/tests/snapshots/parser_snapshots__pipe_precedence_diagnostics.snap +5 -0
  730. arity-0.2.0/tests/snapshots/parser_snapshots__pipe_simple_cst.snap +12 -0
  731. arity-0.2.0/tests/snapshots/parser_snapshots__pipe_simple_diagnostics.snap +5 -0
  732. arity-0.2.0/tests/snapshots/parser_snapshots__stmt_semicolon_separator_cst.snap +43 -0
  733. arity-0.2.0/tests/snapshots/parser_snapshots__stmt_semicolon_separator_diagnostics.snap +5 -0
  734. arity-0.2.0/tests/snapshots/parser_snapshots__subset2_simple_cst.snap +34 -0
  735. arity-0.2.0/tests/snapshots/parser_snapshots__subset2_simple_diagnostics.snap +5 -0
  736. arity-0.2.0/tests/snapshots/parser_snapshots__subset_assignment_cst.snap +48 -0
  737. arity-0.2.0/tests/snapshots/parser_snapshots__subset_assignment_diagnostics.snap +5 -0
  738. arity-0.2.0/tests/snapshots/parser_snapshots__subset_missing_close_cst.snap +34 -0
  739. arity-0.2.0/tests/snapshots/parser_snapshots__subset_missing_close_diagnostics.snap +36 -0
  740. arity-0.2.0/tests/snapshots/parser_snapshots__subset_nested_close_cst.snap +129 -0
  741. arity-0.2.0/tests/snapshots/parser_snapshots__subset_nested_close_diagnostics.snap +5 -0
  742. arity-0.2.0/tests/snapshots/parser_snapshots__subset_simple_cst.snap +47 -0
  743. arity-0.2.0/tests/snapshots/parser_snapshots__subset_simple_diagnostics.snap +5 -0
  744. arity-0.2.0/tests/snapshots/parser_snapshots__unclosed_block_cst.snap +16 -0
  745. arity-0.2.0/tests/snapshots/parser_snapshots__unclosed_block_diagnostics.snap +11 -0
  746. arity-0.2.0/tests/snapshots/parser_snapshots__user_operator_tokens_cst.snap +12 -0
  747. arity-0.2.0/tests/snapshots/parser_snapshots__user_operator_tokens_diagnostics.snap +5 -0
  748. arity-0.2.0/tests/snapshots/parser_snapshots__while_missing_condition_cst.snap +14 -0
  749. arity-0.2.0/tests/snapshots/parser_snapshots__while_missing_condition_diagnostics.snap +11 -0
  750. arity-0.2.0/tests/snapshots/parser_snapshots__while_missing_rparen_cst.snap +24 -0
  751. arity-0.2.0/tests/snapshots/parser_snapshots__while_missing_rparen_diagnostics.snap +11 -0
  752. arity-0.2.0/tests/snapshots/parser_snapshots__while_newline_body_cst.snap +30 -0
  753. arity-0.2.0/tests/snapshots/parser_snapshots__while_newline_body_diagnostics.snap +5 -0
  754. arity-0.2.0/tests/snapshots/parser_snapshots__while_simple_cst.snap +24 -0
  755. arity-0.2.0/tests/snapshots/parser_snapshots__while_simple_diagnostics.snap +5 -0
  756. arity-0.2.0/tests/snapshots/rindex__help_body_snapshot.snap +27 -0
  757. arity-0.2.0/versionary.jsonc +8 -0
@@ -0,0 +1,14 @@
1
+ # Let Git auto-detect text files
2
+ * text=auto
3
+
4
+ # R fixtures should use LF by default for consistent snapshots
5
+ tests/fixtures/**/*.R eol=lf
6
+
7
+ # Snapshot files should always use LF
8
+ tests/**/snapshots/**/* eol=lf
9
+
10
+ # Preserve line ending fixtures as-is (CRLF/LF)
11
+ tests/fixtures/parser/crlf_*/* -text
12
+ tests/fixtures/parser/lf_*/* -text
13
+ tests/fixtures/parser/*_crlf_*/* -text
14
+ tests/fixtures/parser/*_lf_*/* -text
@@ -0,0 +1 @@
1
+ github: jolars
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ - package-ecosystem: "cargo"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
@@ -0,0 +1,108 @@
1
+ name: Build and Test
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ workflow_call:
6
+ pull_request:
7
+ push:
8
+ branches:
9
+ - main
10
+ schedule:
11
+ - cron: "0 3 * * *"
12
+
13
+ env:
14
+ CARGO_TERM_COLOR: always
15
+
16
+ jobs:
17
+ test:
18
+ if: github.event_name != 'schedule'
19
+ name: Test
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ matrix:
23
+ os: [ubuntu-latest, windows-latest, macos-latest]
24
+ rust: [stable]
25
+
26
+ steps:
27
+ - uses: actions/checkout@v6
28
+
29
+ - name: Install Rust
30
+ uses: dtolnay/rust-toolchain@master
31
+ with:
32
+ toolchain: ${{ matrix.rust }}
33
+ targets: wasm32-unknown-unknown
34
+
35
+ - name: Cache cargo registry
36
+ uses: actions/cache@v5
37
+ with:
38
+ path: |
39
+ ~/.cargo/registry
40
+ ~/.cargo/git
41
+ target
42
+ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
43
+ restore-keys: |
44
+ ${{ runner.os }}-cargo-
45
+
46
+ - name: Build
47
+ run: cargo build --verbose
48
+
49
+ - name: Run tests
50
+ run: cargo test --verbose
51
+
52
+ cargo-audit:
53
+ name: Cargo Audit
54
+ runs-on: ubuntu-latest
55
+ permissions:
56
+ issues: write
57
+ checks: write
58
+ steps:
59
+ - uses: actions/checkout@v6
60
+ - uses: rustsec/audit-check@v2
61
+ with:
62
+ token: ${{ secrets.GITHUB_TOKEN }}
63
+
64
+ cargo-deny:
65
+ name: Cargo Deny
66
+ runs-on: ubuntu-latest
67
+ permissions:
68
+ issues: write
69
+ checks: write
70
+ steps:
71
+ - uses: actions/checkout@v6
72
+ - uses: EmbarkStudios/cargo-deny-action@v2
73
+
74
+ versionary:
75
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
76
+ needs: [test, cargo-audit, cargo-deny]
77
+ runs-on: ubuntu-latest
78
+ permissions:
79
+ contents: write
80
+ pull-requests: write
81
+ issues: write
82
+ outputs:
83
+ release_created: ${{ steps.versionary.outputs.release_created }}
84
+ tag_name: ${{ steps.versionary.outputs.tag_name }}
85
+ steps:
86
+ - uses: actions/checkout@v6
87
+ with:
88
+ fetch-depth: 0
89
+ fetch-tags: true
90
+ token: ${{ secrets.RELEASE_TOKEN }}
91
+
92
+ - uses: dtolnay/rust-toolchain@stable
93
+
94
+ - id: versionary
95
+ uses: jolars/versionary@v0
96
+ with:
97
+ github-token: ${{ secrets.RELEASE_TOKEN }}
98
+
99
+ build-release-assets:
100
+ name: Build & Upload Release Assets
101
+ needs: versionary
102
+ if: ${{ needs.versionary.outputs.release_created == 'true' }}
103
+ uses: ./.github/workflows/packages.yml
104
+ with:
105
+ upload: "true"
106
+ tag: ${{ needs.versionary.outputs.tag_name }}
107
+ permissions:
108
+ contents: write
@@ -0,0 +1,91 @@
1
+ name: Refresh CRAN symbols
2
+
3
+ # Regenerates the bundled CRAN export lists (src/semantic/cran/exports.txt) that
4
+ # back the `BundledPackages` symbol provider, then opens a PR with the changes.
5
+ #
6
+ # Ranking comes from the RStudio/Posit CRAN download logs (top-N by downloads);
7
+ # the listed packages are installed from Posit Public Package Manager binaries
8
+ # and their exported names dumped. Installs are best-effort: a package that
9
+ # can't be installed or loaded is skipped (the build still works, that package
10
+ # just stays unresolved until next time).
11
+
12
+ on:
13
+ workflow_dispatch:
14
+ inputs:
15
+ top_n:
16
+ description: "Number of top packages to bundle"
17
+ default: "500"
18
+ days:
19
+ description: "Number of recent CRAN-log days to rank over"
20
+ default: "7"
21
+ schedule:
22
+ # Weekly, Monday 04:00 UTC.
23
+ - cron: "0 4 * * 1"
24
+
25
+ permissions:
26
+ contents: write
27
+ pull-requests: write
28
+
29
+ jobs:
30
+ refresh:
31
+ name: Refresh bundled exports
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - uses: actions/checkout@v6
35
+
36
+ - name: Setup R
37
+ uses: r-lib/actions/setup-r@v2
38
+ with:
39
+ use-public-rspm: true # Posit PPM: precompiled binaries, fast installs
40
+
41
+ - name: Install pak
42
+ uses: r-lib/actions/setup-r-dependencies@v2
43
+ with:
44
+ packages: pak
45
+
46
+ - name: Rank top packages from CRAN logs
47
+ run: scripts/rank_cran_downloads.sh "${{ inputs.top_n || '500' }}" "${{ inputs.days || '7' }}"
48
+
49
+ - name: Install the top packages (best-effort, with system requirements)
50
+ run: |
51
+ Rscript - <<'EOF'
52
+ lines <- trimws(readLines("scripts/cran_top_packages.txt", warn = FALSE))
53
+ pkgs <- lines[nzchar(lines) & !startsWith(lines, "#")]
54
+ pkgs <- setdiff(pkgs, rownames(installed.packages()))
55
+ # pak resolves dependencies + apt system requirements and uses PPM
56
+ # binaries. Install in chunks for speed; if a chunk fails as a whole
57
+ # (one unsatisfiable package aborts pak's transaction), retry its
58
+ # packages individually so the other 24 aren't dropped with it.
59
+ install <- function(p) pak::pkg_install(p, ask = FALSE, dependencies = TRUE)
60
+ for (chunk in split(pkgs, ceiling(seq_along(pkgs) / 25))) {
61
+ tryCatch(install(chunk), error = function(e) {
62
+ message("chunk failed, retrying individually: ", conditionMessage(e))
63
+ for (p in chunk) {
64
+ tryCatch(install(p), error = function(e2) message(" skip ", p, ": ", conditionMessage(e2)))
65
+ }
66
+ })
67
+ }
68
+ EOF
69
+
70
+ - name: Dump exported names
71
+ run: Rscript scripts/dump_cran_symbols.R
72
+
73
+ - name: Open PR
74
+ uses: peter-evans/create-pull-request@v7
75
+ with:
76
+ branch: chore/refresh-cran-symbols
77
+ commit-message: "chore(symbols): refresh bundled CRAN export lists"
78
+ title: "chore(symbols): refresh bundled CRAN export lists"
79
+ body: |
80
+ Automated refresh of the bundled CRAN export lists.
81
+
82
+ - Package set: top-N by downloads from the RStudio/Posit CRAN logs
83
+ (`scripts/cran_top_packages.txt`).
84
+ - Exports dumped from PPM-binary installs
85
+ (`src/semantic/cran/exports.txt`).
86
+
87
+ Installs are best-effort; any package skipped this run will be
88
+ picked up once it installs cleanly. Generated by
89
+ `.github/workflows/cran-symbols.yml`.
90
+ labels: dependencies
91
+ delete-branch: true
@@ -0,0 +1,70 @@
1
+ name: Documentation
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches:
7
+ - main
8
+ tags:
9
+ - "v*"
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ env:
16
+ CARGO_TERM_COLOR: always
17
+
18
+ jobs:
19
+ docs:
20
+ name: Build Documentation
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ pages: write
24
+ id-token: write
25
+
26
+ environment:
27
+ name: github-pages
28
+ url: ${{ steps.deployment.outputs.page_url }}
29
+
30
+ steps:
31
+ - name: Check out repository
32
+ uses: actions/checkout@v6
33
+
34
+ - uses: r-lib/actions/setup-r@v2
35
+ with:
36
+ use-public-rspm: true
37
+
38
+ - name: Set up Quarto
39
+ uses: quarto-dev/quarto-actions/setup@v2
40
+ env:
41
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42
+
43
+ - name: Restore timestamps
44
+ uses: chetan/git-restore-mtime-action@v2
45
+
46
+ - name: Render Quarto Project
47
+ uses: quarto-dev/quarto-actions/render@v2
48
+ with:
49
+ path: docs
50
+
51
+ - name: Setup Pages
52
+ uses: actions/configure-pages@v6
53
+
54
+ - name: Upload artifact
55
+ uses: actions/upload-pages-artifact@v5
56
+ with:
57
+ path: docs/_site
58
+
59
+ - name: Deploy to GitHub Pages
60
+ id: deployment
61
+ uses: actions/deploy-pages@v5
62
+
63
+ lighthouse:
64
+ name: Lighthouse Audit
65
+ needs: docs
66
+ runs-on: ubuntu-latest
67
+ steps:
68
+ - uses: actions/checkout@v6
69
+ - name: Audit URLs using Lighthouse
70
+ run: npx unlighthouse-ci --site https://arity.cc --build-static
@@ -0,0 +1,58 @@
1
+ name: Lint
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ workflow_call:
6
+ pull_request:
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ env:
16
+ CARGO_TERM_COLOR: always
17
+
18
+ jobs:
19
+ clippy:
20
+ name: Clippy
21
+ runs-on: ubuntu-latest
22
+
23
+ steps:
24
+ - name: Check out repository
25
+ uses: actions/checkout@v6
26
+
27
+ - name: Install Rust
28
+ uses: dtolnay/rust-toolchain@master
29
+ with:
30
+ components: rustfmt, clippy
31
+ toolchain: stable
32
+
33
+ - name: Cache cargo registry
34
+ uses: actions/cache@v5
35
+ with:
36
+ path: |
37
+ ~/.cargo/registry
38
+ ~/.cargo/git
39
+ target
40
+ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
41
+ restore-keys: |
42
+ ${{ runner.os }}-cargo-
43
+
44
+ - name: Build
45
+ run: cargo build --verbose
46
+
47
+ - name: Run clippy
48
+ run: cargo clippy -- -D warnings
49
+
50
+ - name: Check formatting
51
+ run: cargo fmt -- --check
52
+
53
+ panache:
54
+ name: Panache
55
+ runs-on: ubuntu-latest
56
+ steps:
57
+ - uses: actions/checkout@v6
58
+ - uses: jolars/panache-action@v1
@@ -0,0 +1,180 @@
1
+ name: Build Release Binaries
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ upload:
7
+ description: "Upload to release (requires a release to exist)"
8
+ required: false
9
+ default: "false"
10
+ type: string
11
+ tag:
12
+ description: "Release tag to upload to (only if upload is true)"
13
+ required: false
14
+ type: string
15
+ workflow_dispatch:
16
+ inputs:
17
+ upload:
18
+ description: "Upload to release (requires a release to exist)"
19
+ required: false
20
+ default: "false"
21
+ type: choice
22
+ options:
23
+ - "true"
24
+ - "false"
25
+ tag:
26
+ description: "Release tag to upload to (only if upload is true)"
27
+ required: false
28
+ type: string
29
+
30
+ env:
31
+ CARGO_TERM_COLOR: always
32
+
33
+ jobs:
34
+ build-binaries:
35
+ name: Build ${{ matrix.target }}
36
+ runs-on: ${{ matrix.os }}
37
+ permissions:
38
+ contents: write
39
+ strategy:
40
+ fail-fast: false
41
+ matrix:
42
+ include:
43
+ # Linux x86_64 (glibc) — built with cargo-zigbuild against an old
44
+ # glibc floor so the binary runs on distros older than the runner.
45
+ - target: x86_64-unknown-linux-gnu
46
+ os: ubuntu-latest
47
+ glibc: "2.17"
48
+
49
+ # Linux ARM64 (glibc)
50
+ - target: aarch64-unknown-linux-gnu
51
+ os: ubuntu-24.04-arm
52
+ glibc: "2.17"
53
+
54
+ # Linux x86_64 (musl)
55
+ - target: x86_64-unknown-linux-musl
56
+ os: ubuntu-latest
57
+
58
+ # Linux ARM64 (musl)
59
+ - target: aarch64-unknown-linux-musl
60
+ os: ubuntu-24.04-arm
61
+
62
+ # macOS x86_64
63
+ - target: x86_64-apple-darwin
64
+ os: macos-15-intel
65
+
66
+ # macOS ARM64 (Apple Silicon)
67
+ - target: aarch64-apple-darwin
68
+ os: macos-latest
69
+
70
+ # Windows x86_64
71
+ - target: x86_64-pc-windows-msvc
72
+ os: windows-latest
73
+
74
+ # Windows ARM64
75
+ - target: aarch64-pc-windows-msvc
76
+ os: windows-11-arm
77
+
78
+ steps:
79
+ - uses: actions/checkout@v6
80
+ with:
81
+ ref: ${{ inputs.tag || github.ref }}
82
+
83
+ - name: Install Rust
84
+ uses: dtolnay/rust-toolchain@stable
85
+ with:
86
+ targets: ${{ matrix.target }}
87
+
88
+ - name: Cache Rust artifacts
89
+ uses: Swatinem/rust-cache@v2
90
+ with:
91
+ cache-bin: "false"
92
+ prefix-key: "v1-rust"
93
+
94
+ - name: Install musl toolchain
95
+ if: endsWith(matrix.target, '-unknown-linux-musl')
96
+ run: sudo apt-get update && sudo apt-get install -y musl-tools
97
+
98
+ # Pin the glibc symbol-version floor (link-time only; the binary still
99
+ # uses the host's glibc at runtime) so it runs on distros older than the
100
+ # CI runner.
101
+ - name: Install Zig
102
+ if: matrix.glibc
103
+ uses: mlugg/setup-zig@v2
104
+ with:
105
+ version: 0.14.1
106
+
107
+ - name: Install cargo-zigbuild
108
+ if: matrix.glibc
109
+ run: cargo install --locked cargo-zigbuild
110
+
111
+ - name: Build release binary (zigbuild)
112
+ if: matrix.glibc
113
+ run: cargo zigbuild --release --target ${{ matrix.target }}.${{ matrix.glibc }}
114
+
115
+ - name: Build release binary
116
+ if: ${{ !matrix.glibc }}
117
+ run: cargo build --release --target ${{ matrix.target }}
118
+
119
+ # Regression guard: fail if the binary ever requires a glibc newer than
120
+ # the declared floor.
121
+ - name: Verify glibc floor
122
+ if: matrix.glibc
123
+ run: |
124
+ set -euo pipefail
125
+ bin="target/${{ matrix.target }}/release/arity"
126
+ max=$(objdump -T "$bin" 2>/dev/null \
127
+ | grep -oE 'GLIBC_[0-9]+(\.[0-9]+)+' \
128
+ | sed 's/GLIBC_//' | sort -V | tail -n1 || true)
129
+ echo "Highest required glibc symbol: ${max:-none}"
130
+ if [ -n "$max" ] && [ "$(printf '%s\n%s\n' "$max" "${{ matrix.glibc }}" | sort -V | tail -n1)" != "${{ matrix.glibc }}" ]; then
131
+ echo "::error::arity requires glibc $max, above the ${{ matrix.glibc }} floor"
132
+ exit 1
133
+ fi
134
+
135
+ - name: Strip binary (Unix)
136
+ if: runner.os != 'Windows'
137
+ run: strip target/${{ matrix.target }}/release/arity
138
+
139
+ - name: Create archive (Unix)
140
+ if: runner.os != 'Windows'
141
+ run: |
142
+ mkdir -p dist
143
+ cp target/${{ matrix.target }}/release/arity dist/
144
+ cp LICENSE dist/
145
+ cp README.md dist/
146
+ tar czf arity-${{ matrix.target }}.tar.gz -C dist .
147
+ rm -rf dist
148
+
149
+ - name: Create archive (Windows)
150
+ if: runner.os == 'Windows'
151
+ shell: pwsh
152
+ run: |
153
+ New-Item -ItemType Directory -Path dist -Force
154
+ Copy-Item target/${{ matrix.target }}/release/arity.exe dist/
155
+ Copy-Item LICENSE dist/
156
+ Copy-Item README.md dist/
157
+ Compress-Archive -Path dist/* -DestinationPath arity-${{ matrix.target }}.zip
158
+ Remove-Item -Recurse -Force dist
159
+
160
+ - name: Upload archive artifact
161
+ uses: actions/upload-artifact@v7
162
+ with:
163
+ name: arity-${{ matrix.target }}
164
+ path: |
165
+ arity-${{ matrix.target }}.tar.gz
166
+ arity-${{ matrix.target }}.zip
167
+
168
+ - name: Upload binary to release
169
+ if: inputs.upload == 'true'
170
+ shell: bash
171
+ run: |
172
+ TAG="${{ inputs.tag }}"
173
+ if [ -f arity-${{ matrix.target }}.tar.gz ]; then
174
+ gh release upload --clobber "$TAG" arity-${{ matrix.target }}.tar.gz
175
+ fi
176
+ if [ -f arity-${{ matrix.target }}.zip ]; then
177
+ gh release upload --clobber "$TAG" arity-${{ matrix.target }}.zip
178
+ fi
179
+ env:
180
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,127 @@
1
+ name: Publish PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ repository:
7
+ description: "Target repository"
8
+ required: true
9
+ default: "pypi"
10
+ type: choice
11
+ options:
12
+ - pypi
13
+ - testpypi
14
+ push:
15
+ tags:
16
+ - "v*"
17
+
18
+ concurrency:
19
+ group: ${{ github.workflow }}-${{ github.ref }}
20
+ cancel-in-progress: true
21
+
22
+ env:
23
+ CARGO_TERM_COLOR: always
24
+
25
+ jobs:
26
+ build-wheels:
27
+ name: Build wheel ${{ matrix.target }}
28
+ runs-on: ${{ matrix.os }}
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ include:
33
+ - target: x86_64-unknown-linux-gnu
34
+ os: ubuntu-latest
35
+ manylinux: auto
36
+ - target: aarch64-unknown-linux-gnu
37
+ os: ubuntu-24.04-arm
38
+ manylinux: auto
39
+ - target: x86_64-unknown-linux-musl
40
+ os: ubuntu-latest
41
+ manylinux: musllinux_1_2
42
+ - target: aarch64-unknown-linux-musl
43
+ os: ubuntu-24.04-arm
44
+ manylinux: musllinux_1_2
45
+ - target: x86_64-apple-darwin
46
+ os: macos-15-intel
47
+ manylinux: ""
48
+ - target: aarch64-apple-darwin
49
+ os: macos-latest
50
+ manylinux: ""
51
+ - target: x86_64-pc-windows-msvc
52
+ os: windows-latest
53
+ manylinux: ""
54
+ - target: aarch64-pc-windows-msvc
55
+ os: windows-11-arm
56
+ manylinux: ""
57
+ steps:
58
+ - uses: actions/checkout@v6
59
+
60
+ - name: Install Rust (non-Linux)
61
+ if: runner.os != 'Linux'
62
+ uses: dtolnay/rust-toolchain@stable
63
+ with:
64
+ targets: ${{ matrix.target }}
65
+
66
+ - name: Cache Rust artifacts
67
+ if: runner.os != 'Linux'
68
+ uses: Swatinem/rust-cache@v2
69
+ with:
70
+ key: ${{ matrix.target }}
71
+ cache-bin: "false"
72
+ prefix-key: "v1-rust"
73
+
74
+ - name: Build wheel
75
+ uses: PyO3/maturin-action@v1
76
+ with:
77
+ target: ${{ matrix.target }}
78
+ manylinux: ${{ matrix.manylinux }}
79
+ args: --release --out dist
80
+
81
+ - name: Upload wheel artifact
82
+ uses: actions/upload-artifact@v7
83
+ with:
84
+ name: wheel-${{ matrix.target }}
85
+ path: dist/*.whl
86
+
87
+ build-sdist:
88
+ name: Build sdist
89
+ runs-on: ubuntu-latest
90
+ steps:
91
+ - uses: actions/checkout@v6
92
+
93
+ - name: Build sdist
94
+ uses: PyO3/maturin-action@v1
95
+ with:
96
+ command: sdist
97
+ args: --out dist
98
+
99
+ - name: Upload sdist artifact
100
+ uses: actions/upload-artifact@v7
101
+ with:
102
+ name: sdist
103
+ path: dist/*.tar.gz
104
+
105
+ publish:
106
+ name: Publish to ${{ github.event.inputs.repository || 'pypi' }}
107
+ needs: [build-wheels, build-sdist]
108
+ runs-on: ubuntu-latest
109
+ environment: release
110
+ permissions:
111
+ id-token: write
112
+ steps:
113
+ - name: Download all artifacts
114
+ uses: actions/download-artifact@v8
115
+ with:
116
+ path: dist
117
+ merge-multiple: true
118
+
119
+ - name: Publish to PyPI
120
+ if: github.event.inputs.repository != 'testpypi'
121
+ uses: pypa/gh-action-pypi-publish@release/v1
122
+
123
+ - name: Publish to TestPyPI
124
+ if: github.event.inputs.repository == 'testpypi'
125
+ uses: pypa/gh-action-pypi-publish@release/v1
126
+ with:
127
+ repository-url: https://test.pypi.org/legacy/