osiris-lang 0.2.0__tar.gz → 0.2.2__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 (362) hide show
  1. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/Cargo.lock +1 -1
  2. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/Cargo.toml +1 -1
  3. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/PKG-INFO +1 -1
  4. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/init.rs +26 -5
  5. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli/initialization.rs +16 -6
  6. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/.github/workflows/publish-pypi.yml +0 -0
  7. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/.github/workflows/release-vscode.yml +0 -0
  8. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/.gitignore +0 -0
  9. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/.python-version +0 -0
  10. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/LICENSE +0 -0
  11. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/README.md +0 -0
  12. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/docs/architecture.md +0 -0
  13. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/docs/language-design.md +0 -0
  14. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/docs/releasing.md +0 -0
  15. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/.vscodeignore +0 -0
  16. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/CHANGELOG.md +0 -0
  17. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/LICENSE +0 -0
  18. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/README.md +0 -0
  19. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/esbuild.mjs +0 -0
  20. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/language-configuration.json +0 -0
  21. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/package-lock.json +0 -0
  22. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/package.json +0 -0
  23. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/scripts/validate-manifest.mjs +0 -0
  24. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/src/extension.ts +0 -0
  25. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/syntaxes/osiris.tmLanguage.json +0 -0
  26. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/editors/vscode/tsconfig.json +0 -0
  27. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/examples/README.md +0 -0
  28. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/examples/hello.osr +0 -0
  29. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/examples/tutorial/app.osr +0 -0
  30. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/examples/tutorial/macros.osr +0 -0
  31. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/examples/tutorial/transforms.osr +0 -0
  32. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/pyproject.toml +0 -0
  33. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/mod.rs +0 -0
  34. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/printer/expressions.rs +0 -0
  35. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/printer/statements.rs +0 -0
  36. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/printer/validation.rs +0 -0
  37. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/printer.rs +0 -0
  38. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/ast/tests.rs +0 -0
  39. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/bindings.rs +0 -0
  40. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/control.rs +0 -0
  41. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/declarations.rs +0 -0
  42. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/expressions.rs +0 -0
  43. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/mod.rs +0 -0
  44. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/setup.rs +0 -0
  45. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/source_map/mod.rs +0 -0
  46. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/source_map/tests.rs +0 -0
  47. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/support.rs +0 -0
  48. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/backend/python/tests.rs +0 -0
  49. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/concurrency.rs +0 -0
  50. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/dynamic.rs +0 -0
  51. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/intrinsics.rs +0 -0
  52. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/lazy.rs +0 -0
  53. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/mod.rs +0 -0
  54. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/recursion.rs +0 -0
  55. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/resources.rs +0 -0
  56. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/control/trampoline.rs +0 -0
  57. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/bindings.rs +0 -0
  58. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/imports.rs +0 -0
  59. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/lower.rs +0 -0
  60. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/mod.rs +0 -0
  61. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/predeclare.rs +0 -0
  62. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/setup.rs +0 -0
  63. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/declarations/validate.rs +0 -0
  64. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions/body.rs +0 -0
  65. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions/calls.rs +0 -0
  66. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions/names.rs +0 -0
  67. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions/patterns.rs +0 -0
  68. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions/values.rs +0 -0
  69. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/expressions.rs +0 -0
  70. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/mod.rs +0 -0
  71. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences/iteration.rs +0 -0
  72. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences/map.rs +0 -0
  73. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences/operations.rs +0 -0
  74. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences/reduce.rs +0 -0
  75. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences/support.rs +0 -0
  76. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/sequences.rs +0 -0
  77. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/calls.rs +0 -0
  78. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/intrinsics.rs +0 -0
  79. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/lambda.rs +0 -0
  80. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/mod.rs +0 -0
  81. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/operators.rs +0 -0
  82. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/lower/support/scope.rs +0 -0
  83. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/metadata.rs +0 -0
  84. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/mod.rs +0 -0
  85. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/model.rs +0 -0
  86. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/operators.rs +0 -0
  87. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/patterns.rs +0 -0
  88. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/sequence_operations.rs +0 -0
  89. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/tests/contracts.rs +0 -0
  90. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/tests/imports.rs +0 -0
  91. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/tests/operators.rs +0 -0
  92. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/tests/structs.rs +0 -0
  93. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/tests.rs +0 -0
  94. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/hir/type_resolution.rs +0 -0
  95. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/collections.rs +0 -0
  96. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/declarations.rs +0 -0
  97. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander/builtins.rs +0 -0
  98. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander/eval.rs +0 -0
  99. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander/expand.rs +0 -0
  100. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander/quote.rs +0 -0
  101. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander/registry.rs +0 -0
  102. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/expander.rs +0 -0
  103. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/forms.rs +0 -0
  104. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/mod.rs +0 -0
  105. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/numbers.rs +0 -0
  106. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/tests/comprehensions.rs +0 -0
  107. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/tests/control.rs +0 -0
  108. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/tests/hygiene.rs +0 -0
  109. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/tests/modules.rs +0 -0
  110. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/macro/tests.rs +0 -0
  111. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/mod.rs +0 -0
  112. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/dependency.rs +0 -0
  113. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/error.rs +0 -0
  114. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/io.rs +0 -0
  115. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/mod.rs +0 -0
  116. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/resolution.rs +0 -0
  117. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/module_graph/tests.rs +0 -0
  118. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/support.rs +0 -0
  119. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/tests/cycles.rs +0 -0
  120. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/tests/macros_and_records.rs +0 -0
  121. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/tests/workspace.rs +0 -0
  122. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/tests.rs +0 -0
  123. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/compiler/workspace.rs +0 -0
  124. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/analysis.rs +0 -0
  125. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/datum/decode.rs +0 -0
  126. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/datum/json.rs +0 -0
  127. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/datum/model.rs +0 -0
  128. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/datum.rs +0 -0
  129. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/index.rs +0 -0
  130. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/mod.rs +0 -0
  131. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/record/model.rs +0 -0
  132. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/record/support.rs +0 -0
  133. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/record/validate.rs +0 -0
  134. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/record.rs +0 -0
  135. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/schema/json.rs +0 -0
  136. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/schema/model.rs +0 -0
  137. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/schema/parse.rs +0 -0
  138. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/schema/types.rs +0 -0
  139. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/schema.rs +0 -0
  140. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/sidecar/decode.rs +0 -0
  141. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/sidecar/encode.rs +0 -0
  142. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/sidecar.rs +0 -0
  143. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/extensions/static_data/tests.rs +0 -0
  144. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/bindings.rs +0 -0
  145. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/common.rs +0 -0
  146. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/contracts.rs +0 -0
  147. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/declarations.rs +0 -0
  148. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/expressions.rs +0 -0
  149. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower/static_declarations.rs +0 -0
  150. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/lower.rs +0 -0
  151. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/mod.rs +0 -0
  152. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/model/declarations.rs +0 -0
  153. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/model/expressions.rs +0 -0
  154. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/model.rs +0 -0
  155. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/tests/declarations.rs +0 -0
  156. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/tests/forms.rs +0 -0
  157. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/tests/types_and_patterns.rs +0 -0
  158. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/ast/tests.rs +0 -0
  159. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/core_forms.rs +0 -0
  160. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/diagnostic.rs +0 -0
  161. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/lexer/mod.rs +0 -0
  162. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/lexer/tests.rs +0 -0
  163. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/name/bindings.rs +0 -0
  164. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/name/lint.rs +0 -0
  165. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/name/mod.rs +0 -0
  166. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/name/tests.rs +0 -0
  167. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/datum.rs +0 -0
  168. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/identity.rs +0 -0
  169. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/mod.rs +0 -0
  170. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/parser/atoms.rs +0 -0
  171. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/parser/forms.rs +0 -0
  172. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/parser/metadata.rs +0 -0
  173. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/parser.rs +0 -0
  174. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/reader/tests.rs +0 -0
  175. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/source/mod.rs +0 -0
  176. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/source/tests.rs +0 -0
  177. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/syntax/equality.rs +0 -0
  178. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/syntax/metadata.rs +0 -0
  179. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/syntax/mod.rs +0 -0
  180. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/syntax/model.rs +0 -0
  181. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/syntax/tests.rs +0 -0
  182. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/context.rs +0 -0
  183. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/mod.rs +0 -0
  184. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/data.rs +0 -0
  185. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/effects.rs +0 -0
  186. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/literal.rs +0 -0
  187. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/summaries.rs +0 -0
  188. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/temporal.rs +0 -0
  189. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model/type_repr.rs +0 -0
  190. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/model.rs +0 -0
  191. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/operators.rs +0 -0
  192. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/parse.rs +0 -0
  193. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/python.rs +0 -0
  194. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/language/types/tests.rs +0 -0
  195. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/lib/tests.rs +0 -0
  196. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/lib.rs +0 -0
  197. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/main.rs +0 -0
  198. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/__init__.py +0 -0
  199. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/_core.pyi +0 -0
  200. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/__init__.py +0 -0
  201. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/_sequence_consumers.py +0 -0
  202. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/_sequence_core.py +0 -0
  203. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/_sequence_eager.py +0 -0
  204. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/_sequence_partitions.py +0 -0
  205. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/_sequence_transforms.py +0 -0
  206. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/control.py +0 -0
  207. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/prelude/sequences.py +0 -0
  208. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris/py.typed +0 -0
  209. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/__init__.py +0 -0
  210. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_api.py +0 -0
  211. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_common.py +0 -0
  212. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_interface.py +0 -0
  213. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_interface_records.py +0 -0
  214. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_model.py +0 -0
  215. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_project.py +0 -0
  216. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_requirements.py +0 -0
  217. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_sexpr.py +0 -0
  218. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_sidecar.py +0 -0
  219. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/osiris_build/_wheel.py +0 -0
  220. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/artifact/mod.rs +0 -0
  221. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/artifact/tests.rs +0 -0
  222. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/error.rs +0 -0
  223. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/lockfile.rs +0 -0
  224. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/mod.rs +0 -0
  225. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/model.rs +0 -0
  226. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/requirement.rs +0 -0
  227. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/resolve.rs +0 -0
  228. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/dependency/tests.rs +0 -0
  229. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/discovery.rs +0 -0
  230. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/io.rs +0 -0
  231. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/mod.rs +0 -0
  232. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/model.rs +0 -0
  233. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/tests.rs +0 -0
  234. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/extension/validation.rs +0 -0
  235. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/build/from_hir.rs +0 -0
  236. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/build/provisional.rs +0 -0
  237. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/build/provisional_declarations.rs +0 -0
  238. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/build/provisional_validation.rs +0 -0
  239. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/build.rs +0 -0
  240. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/common.rs +0 -0
  241. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/decode/declarations.rs +0 -0
  242. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/decode/static_data.rs +0 -0
  243. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/decode/support.rs +0 -0
  244. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/decode/type_data.rs +0 -0
  245. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/decode.rs +0 -0
  246. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/encode/declarations.rs +0 -0
  247. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/encode/graph.rs +0 -0
  248. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/encode/static_data.rs +0 -0
  249. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/encode/type_data.rs +0 -0
  250. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/encode.rs +0 -0
  251. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/mod.rs +0 -0
  252. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/model.rs +0 -0
  253. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/rules.rs +0 -0
  254. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/tests/integrity.rs +0 -0
  255. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/tests/macros_and_operators.rs +0 -0
  256. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/tests/roundtrip.rs +0 -0
  257. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/tests.rs +0 -0
  258. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/validate/metadata.rs +0 -0
  259. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/validate/model.rs +0 -0
  260. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/validate/nominal.rs +0 -0
  261. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/validate/operators.rs +0 -0
  262. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface/validate.rs +0 -0
  263. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface_graph/calculate.rs +0 -0
  264. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface_graph/graph.rs +0 -0
  265. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface_graph/mod.rs +0 -0
  266. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface_graph/model.rs +0 -0
  267. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/interface_graph/tests.rs +0 -0
  268. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/project/config.rs +0 -0
  269. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/project/mod.rs +0 -0
  270. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/project/model.rs +0 -0
  271. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/project/paths.rs +0 -0
  272. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/packaging/project/tests.rs +0 -0
  273. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/stdlib/macros/comprehensions.osr +0 -0
  274. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/stdlib/macros/concurrency.osr +0 -0
  275. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/stdlib/macros/control.osr +0 -0
  276. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/stdlib/macros/recursion.osr +0 -0
  277. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/support/hash.rs +0 -0
  278. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/check.rs +0 -0
  279. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/compile.rs +0 -0
  280. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/extensions/load.rs +0 -0
  281. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/extensions/resolver.rs +0 -0
  282. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/extensions/validate.rs +0 -0
  283. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/extensions.rs +0 -0
  284. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/inspect.rs +0 -0
  285. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/io.rs +0 -0
  286. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/mod.rs +0 -0
  287. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/run.rs +0 -0
  288. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/tests.rs +0 -0
  289. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/cli/workspace.rs +0 -0
  290. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/mod.rs +0 -0
  291. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/protocol.rs +0 -0
  292. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/rpc/dispatch.rs +0 -0
  293. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/rpc/machine.rs +0 -0
  294. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/rpc/params.rs +0 -0
  295. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/rpc/support.rs +0 -0
  296. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/rpc.rs +0 -0
  297. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/signature.rs +0 -0
  298. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/state/documents.rs +0 -0
  299. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/state/model.rs +0 -0
  300. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/state/navigation.rs +0 -0
  301. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/state/queries.rs +0 -0
  302. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/state.rs +0 -0
  303. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols/completion.rs +0 -0
  304. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols/finish.rs +0 -0
  305. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols/forms.rs +0 -0
  306. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols/index.rs +0 -0
  307. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols/rename.rs +0 -0
  308. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/symbols.rs +0 -0
  309. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/tests/editing_and_rpc.rs +0 -0
  310. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/tests/signatures.rs +0 -0
  311. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/tests/state_and_rename.rs +0 -0
  312. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/tests/workspace.rs +0 -0
  313. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/tests.rs +0 -0
  314. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/text.rs +0 -0
  315. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp/workspace.rs +0 -0
  316. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp_stdio/mod.rs +0 -0
  317. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/lsp_stdio/tests.rs +0 -0
  318. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/printer/mod.rs +0 -0
  319. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/printer/tests.rs +0 -0
  320. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/analysis.rs +0 -0
  321. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/metadata.rs +0 -0
  322. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/mod.rs +0 -0
  323. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/operations.rs +0 -0
  324. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/projection.rs +0 -0
  325. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/src/tooling/semantic/tests.rs +0 -0
  326. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli/compilation.rs +0 -0
  327. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli/execution.rs +0 -0
  328. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli/inspection.rs +0 -0
  329. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli/protocol.rs +0 -0
  330. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/cli.rs +0 -0
  331. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/clojure_control_compile.rs +0 -0
  332. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/concurrency_compile.rs +0 -0
  333. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/condp_compile.rs +0 -0
  334. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/control_compile/assertions.rs +0 -0
  335. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/control_compile/collections.rs +0 -0
  336. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/control_compile/recursion_and_types.rs +0 -0
  337. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/control_compile.rs +0 -0
  338. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/delay_compile.rs +0 -0
  339. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/distinct_compile.rs +0 -0
  340. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/dynamic_binding_compile.rs +0 -0
  341. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/empty_compile.rs +0 -0
  342. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/letfn_compile.rs +0 -0
  343. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/loop_compile.rs +0 -0
  344. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/parallel_compile.rs +0 -0
  345. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/predicates_compile.rs +0 -0
  346. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/private_function_compile.rs +0 -0
  347. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/resource_compile.rs +0 -0
  348. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/runtime_loader.py +0 -0
  349. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/sequence_combinations_compile.rs +0 -0
  350. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/sequence_compile.rs +0 -0
  351. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_clojure_prelude.py +0 -0
  352. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_control_runtime.py +0 -0
  353. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_dynamic_binding_runtime.py +0 -0
  354. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_lazy_edges.py +0 -0
  355. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_osiris_build.py +0 -0
  356. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_package_import.py +0 -0
  357. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_prelude.py +0 -0
  358. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_sequence_combinations.py +0 -0
  359. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/test_sequence_runtime.py +0 -0
  360. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/time_compile.rs +0 -0
  361. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/tests/try_compile.rs +0 -0
  362. {osiris_lang-0.2.0 → osiris_lang-0.2.2}/uv.lock +0 -0
@@ -119,7 +119,7 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
119
119
 
120
120
  [[package]]
121
121
  name = "osiris"
122
- version = "0.2.0"
122
+ version = "0.2.2"
123
123
  dependencies = [
124
124
  "nom",
125
125
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "osiris"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  edition = "2024"
5
5
  rust-version = "1.85"
6
6
  authors = ["MJ <tywf91@gmail.com>"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: osiris-lang
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Programming Language :: Rust
@@ -10,9 +10,11 @@ use super::*;
10
10
 
11
11
  const STARTER_SOURCE: &str = r#"(module main)
12
12
 
13
- ;; `uv run osr run src/main.osr` 会编译并执行这个入口。
14
- (defn main []
15
- (py.print "Hello from Osiris"))
13
+ ;; Python 互操作保持显式;编译阶段不会导入或执行 Python 模块。
14
+ (py/import builtins :as py)
15
+
16
+ ;; `uv run osr run src/main.osr` 会编译并执行顶层表达式。
17
+ (py.print "Hello from Osiris")
16
18
  "#;
17
19
 
18
20
  pub(super) fn run_init(arguments: &[String]) -> CliOutcome {
@@ -99,8 +101,9 @@ fn uv_init(root: &Path) -> Result<(), String> {
99
101
  }
100
102
 
101
103
  fn uv_add_osiris(root: &Path) -> Result<(), String> {
104
+ let requirement = format!("osiris-lang>={}", crate::version());
102
105
  let output = Command::new("uv")
103
- .args(["add", "--dev", "osiris-lang"])
106
+ .args(["add", "--dev", &requirement])
104
107
  .current_dir(root)
105
108
  .output()
106
109
  .map_err(|error| format!("could not run uv: {error}"))?;
@@ -202,7 +205,9 @@ fn array_item<const N: usize>(entries: [&str; N]) -> Item {
202
205
  }
203
206
 
204
207
  fn has_osiris_dependency(document: &DocumentMut) -> bool {
205
- dependency_items(document).any(|dependency| dependency_name(dependency) == "osiris-lang")
208
+ dependency_items(document).any(|dependency| {
209
+ dependency_name(dependency) == "osiris-lang" && dependency.contains(crate::version())
210
+ })
206
211
  }
207
212
 
208
213
  fn dependency_items(document: &DocumentMut) -> impl Iterator<Item = &str> {
@@ -275,4 +280,20 @@ mod tests {
275
280
  assert_eq!(dependency_name("Osiris_Lang>=0.1.0"), "osiris-lang");
276
281
  assert_eq!(dependency_name("osiris-lang[build]"), "osiris-lang");
277
282
  }
283
+
284
+ #[test]
285
+ fn only_the_current_compiler_requirement_skips_uv_add() {
286
+ let current = format!(
287
+ "[dependency-groups]\ndev = [\"osiris-lang>={}\"]\n",
288
+ crate::version()
289
+ )
290
+ .parse::<DocumentMut>()
291
+ .unwrap();
292
+ let old = "[dependency-groups]\ndev = [\"osiris-lang>=0.2.1\"]\n"
293
+ .parse::<DocumentMut>()
294
+ .unwrap();
295
+
296
+ assert!(has_osiris_dependency(&current));
297
+ assert!(!has_osiris_dependency(&old));
298
+ }
278
299
  }
@@ -53,9 +53,16 @@ exit 9
53
53
  assert!(configured.contains("source = [\"src\"]"));
54
54
  assert_eq!(
55
55
  fs::read_to_string(project.join(".uv-add-invocation")).unwrap(),
56
- "add --dev osiris-lang\n"
56
+ format!("add --dev osiris-lang>={}\n", env!("CARGO_PKG_VERSION"))
57
+ );
58
+ let starter = project.join("src/main.osr");
59
+ assert!(starter.is_file());
60
+ let check = osr(&["check", path_argument(&starter)]);
61
+ assert!(
62
+ check.status.success(),
63
+ "{}",
64
+ String::from_utf8_lossy(&check.stderr)
57
65
  );
58
- assert!(project.join("src/main.osr").is_file());
59
66
  }
60
67
 
61
68
  #[test]
@@ -64,18 +71,21 @@ fn init_existing_preserves_uv_project_and_is_idempotent() {
64
71
  let pyproject = fixture.directory.join("pyproject.toml");
65
72
  fs::write(
66
73
  &pyproject,
67
- r#"# This comment belongs to the application.
74
+ format!(
75
+ r#"# This comment belongs to the application.
68
76
  [project]
69
77
  name = "existing-app"
70
78
  version = "2.3.4"
71
79
  dependencies = ["requests>=2"]
72
80
 
73
81
  [dependency-groups]
74
- dev = ["osiris-lang>=0.1.0", "pytest>=8"]
82
+ dev = ["osiris-lang>={}", "pytest>=8"]
75
83
 
76
84
  [tool.example]
77
85
  keep = "unchanged"
78
86
  "#,
87
+ env!("CARGO_PKG_VERSION")
88
+ ),
79
89
  )
80
90
  .unwrap();
81
91
 
@@ -102,7 +112,7 @@ fn init_existing_does_not_replace_an_existing_starter() {
102
112
  let fixture = SourceFixture::new("none\n");
103
113
  fs::write(
104
114
  fixture.directory.join("pyproject.toml"),
105
- "[project]\nname = \"demo\"\nversion = \"1\"\n\n[dependency-groups]\ndev = [\"osiris-lang\"]\n",
115
+ format!("[project]\nname = \"demo\"\nversion = \"1\"\n\n[dependency-groups]\ndev = [\"osiris-lang>={}\"]\n", env!("CARGO_PKG_VERSION")),
106
116
  )
107
117
  .unwrap();
108
118
  let starter = fixture.write("src/main.osr", "(module main)\n(def answer 42)\n");
@@ -121,7 +131,7 @@ fn init_existing_uses_the_configured_source_root() {
121
131
  let fixture = SourceFixture::new("none\n");
122
132
  fs::write(
123
133
  fixture.directory.join("pyproject.toml"),
124
- "[project]\nname = \"demo\"\nversion = \"1\"\n\n[dependency-groups]\ndev = [\"osiris-lang\"]\n\n[tool.osiris]\nsource = [\"lisp\"]\n",
134
+ format!("[project]\nname = \"demo\"\nversion = \"1\"\n\n[dependency-groups]\ndev = [\"osiris-lang>={}\"]\n\n[tool.osiris]\nsource = [\"lisp\"]\n", env!("CARGO_PKG_VERSION")),
125
135
  )
126
136
  .unwrap();
127
137
 
File without changes
File without changes
File without changes
File without changes
File without changes