# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "ruchy"
version = "1.31.0"
authors = ["Noah Gift"]
build = false
exclude = [
    "src/bin/ruchy-lsp.rs",
    "src/bin/ruchy-coverage.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A systems scripting language that transpiles to idiomatic Rust with extreme quality engineering"
readme = "README.md"
keywords = [
    "language",
    "compiler",
    "transpiler",
    "rust",
    "scripting",
]
categories = [
    "compilers",
    "development-tools",
    "parser-implementations",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/ruchy"

[features]
dataframe = ["polars"]
default = []
mcp = [
    "tokio",
    "tokio-util",
    "pmcp",
    "async-trait",
    "tower-lsp",
]
testing = ["proptest"]

[lib]
name = "ruchy"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[bin]]
name = "ruchy"
path = "src/bin/ruchy.rs"

[[example]]
name = "async_await"
path = "examples/async_await.rs"

[[example]]
name = "dataframe_pipeline"
path = "examples/dataframe_pipeline.rs"

[[example]]
name = "debug_ast"
path = "examples/debug_ast.rs"

[[example]]
name = "debug_repl"
path = "examples/debug_repl.rs"

[[example]]
name = "function_calls"
path = "examples/function_calls.rs"

[[example]]
name = "parser_demo"
path = "examples/parser_demo.rs"

[[example]]
name = "reference_demo"
path = "examples/reference_demo.rs"

[[example]]
name = "repl_basic_arithmetic"
path = "examples/repl_basic_arithmetic.rs"

[[example]]
name = "repl_control_flow"
path = "examples/repl_control_flow.rs"

[[example]]
name = "repl_variables_and_functions"
path = "examples/repl_variables_and_functions.rs"

[[example]]
name = "score_examples"
path = "examples/score_examples.rs"

[[example]]
name = "test_mutation"
path = "examples/test_mutation.rs"

[[example]]
name = "test_string_methods"
path = "examples/test_string_methods.rs"

[[example]]
name = "transpiler_demo"
path = "examples/transpiler_demo.rs"

[[test]]
name = "actor_system_tests"
path = "tests/actor_system_tests.rs"

[[test]]
name = "actor_tests"
path = "tests/actor_tests.rs"

[[test]]
name = "advanced_patterns_test"
path = "tests/advanced_patterns_test.rs"

[[test]]
name = "async_await_test"
path = "tests/async_await_test.rs"

[[test]]
name = "backend_dataframe_unit_tests"
path = "tests/backend_dataframe_unit_tests.rs"

[[test]]
name = "binary_validation"
path = "tests/binary_validation.rs"

[[test]]
name = "chaos_engineering"
path = "tests/chaos_engineering.rs"

[[test]]
name = "clap_commands_test"
path = "tests/clap_commands_test.rs"

[[test]]
name = "cli_commands"
path = "tests/cli_commands.rs"

[[test]]
name = "cli_handler_tests"
path = "tests/cli_handler_tests.rs"

[[test]]
name = "cli_integration"
path = "tests/cli_integration.rs"

[[test]]
name = "cli_integration_tests"
path = "tests/cli_integration_tests.rs"

[[test]]
name = "cli_oneliner_tests"
path = "tests/cli_oneliner_tests.rs"

[[test]]
name = "cli_properties"
path = "tests/cli_properties.rs"

[[test]]
name = "compatibility_suite"
path = "tests/compatibility_suite.rs"

[[test]]
name = "compiled_modules_test"
path = "tests/compiled_modules_test.rs"

[[test]]
name = "comprehensive_coverage"
path = "tests/comprehensive_coverage.rs"

[[test]]
name = "comprehensive_coverage_boost"
path = "tests/comprehensive_coverage_boost.rs"

[[test]]
name = "comprehensive_validation"
path = "tests/comprehensive_validation.rs"

[[test]]
name = "coverage_boost_tests"
path = "tests/coverage_boost_tests.rs"

[[test]]
name = "coverage_command_test"
path = "tests/coverage_command_test.rs"

[[test]]
name = "coverage_implementation_test"
path = "tests/coverage_implementation_test.rs"

[[test]]
name = "coverage_threshold_regression"
path = "tests/coverage_threshold_regression.rs"

[[test]]
name = "coverage_tooling_basic_tests"
path = "tests/coverage_tooling_basic_tests.rs"

[[test]]
name = "critical_regressions"
path = "tests/critical_regressions.rs"

[[test]]
name = "critical_repl_features"
path = "tests/critical_repl_features.rs"

[[test]]
name = "dataframe_operations_test"
path = "tests/dataframe_operations_test.rs"

[[test]]
name = "dataframe_tests"
path = "tests/dataframe_tests.rs"

[[test]]
name = "dataframe_transpiler_tests"
path = "tests/dataframe_transpiler_tests.rs"

[[test]]
name = "differential_repl_file"
path = "tests/differential_repl_file.rs"

[[test]]
name = "differential_tests"
path = "tests/differential_tests.rs"

[[test]]
name = "dispatcher_comprehensive_tests"
path = "tests/dispatcher_comprehensive_tests.rs"

[[test]]
name = "edge_case_tests"
path = "tests/edge_case_tests.rs"

[[test]]
name = "error_diagnostics_test"
path = "tests/error_diagnostics_test.rs"

[[test]]
name = "error_handling_test"
path = "tests/error_handling_test.rs"

[[test]]
name = "error_recovery_integration_test"
path = "tests/error_recovery_integration_test.rs"

[[test]]
name = "error_recovery_test"
path = "tests/error_recovery_test.rs"

[[test]]
name = "execution_transpilation"
path = "tests/execution_transpilation.rs"

[[test]]
name = "exhaustive_pattern_coverage"
path = "tests/exhaustive_pattern_coverage.rs"

[[test]]
name = "export_command_test"
path = "tests/export_command_test.rs"

[[test]]
name = "format_string_property_test"
path = "tests/format_string_property_test.rs"

[[test]]
name = "functional_programming_tests"
path = "tests/functional_programming_tests.rs"

[[test]]
name = "fuzz_tests"
path = "tests/fuzz_tests.rs"

[[test]]
name = "fuzz_transpiler"
path = "tests/fuzz_transpiler.rs"

[[test]]
name = "generated_arithmetic"
path = "tests/generated_arithmetic.rs"

[[test]]
name = "generated_from_replays"
path = "tests/generated_from_replays.rs"

[[test]]
name = "golden_master_suite"
path = "tests/golden_master_suite.rs"

[[test]]
name = "grammar_exhaustive"
path = "tests/grammar_exhaustive.rs"

[[test]]
name = "higher_order_functions"
path = "tests/higher_order_functions.rs"

[[test]]
name = "history_indexing_test"
path = "tests/history_indexing_test.rs"

[[test]]
name = "import_edge_cases"
path = "tests/import_edge_cases.rs"

[[test]]
name = "import_property_tests"
path = "tests/import_property_tests.rs"

[[test]]
name = "integration_e2e_compilation"
path = "tests/integration_e2e_compilation.rs"

[[test]]
name = "integration_higher_order_functions"
path = "tests/integration_higher_order_functions.rs"

[[test]]
name = "integration_regression_tests"
path = "tests/integration_regression_tests.rs"

[[test]]
name = "integration_repl_workflows"
path = "tests/integration_repl_workflows.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "interpreter_comprehensive_tests"
path = "tests/interpreter_comprehensive_tests.rs"

[[test]]
name = "interpreter_control_flow_tests"
path = "tests/interpreter_control_flow_tests.rs"

[[test]]
name = "interpreter_core_reliability"
path = "tests/interpreter_core_reliability.rs"

[[test]]
name = "interpreter_coverage_boost"
path = "tests/interpreter_coverage_boost.rs"

[[test]]
name = "interpreter_enhanced_coverage"
path = "tests/interpreter_enhanced_coverage.rs"

[[test]]
name = "interpreter_fuzz"
path = "tests/interpreter_fuzz.rs"

[[test]]
name = "introspection_commands_test"
path = "tests/introspection_commands_test.rs"

[[test]]
name = "introspection_test"
path = "tests/introspection_test.rs"

[[test]]
name = "language_invariants"
path = "tests/language_invariants.rs"

[[test]]
name = "lib_tests"
path = "tests/lib_tests.rs"

[[test]]
name = "lifetimes_borrowing_test"
path = "tests/lifetimes_borrowing_test.rs"

[[test]]
name = "lint_cli_integration"
path = "tests/lint_cli_integration.rs"

[[test]]
name = "lints_coverage_tests"
path = "tests/lints_coverage_tests.rs"

[[test]]
name = "list_mutation_test"
path = "tests/list_mutation_test.rs"

[[test]]
name = "lsp_analyzer_tests"
path = "tests/lsp_analyzer_tests.rs"

[[test]]
name = "lsp_comprehensive_tests"
path = "tests/lsp_comprehensive_tests.rs"

[[test]]
name = "macro_system_test"
path = "tests/macro_system_test.rs"

[[test]]
name = "mcp_tool_discovery_tests"
path = "tests/mcp_tool_discovery_tests.rs"

[[test]]
name = "mode_system_test"
path = "tests/mode_system_test.rs"

[[test]]
name = "module_paths"
path = "tests/module_paths.rs"

[[test]]
name = "module_performance_test"
path = "tests/module_performance_test.rs"

[[test]]
name = "module_system_coverage"
path = "tests/module_system_coverage.rs"

[[test]]
name = "module_top_level_bug_test"
path = "tests/module_top_level_bug_test.rs"

[[test]]
name = "multi_file_modules_integration"
path = "tests/multi_file_modules_integration.rs"

[[test]]
name = "multi_file_modules_test"
path = "tests/multi_file_modules_test.rs"

[[test]]
name = "obj_items_transpilation_test"
path = "tests/obj_items_transpilation_test.rs"

[[test]]
name = "operator_precedence_bug_test"
path = "tests/operator_precedence_bug_test.rs"

[[test]]
name = "p0_book_002_file_operations"
path = "tests/p0_book_002_file_operations.rs"

[[test]]
name = "p0_book_003_systems_programming"
path = "tests/p0_book_003_systems_programming.rs"

[[test]]
name = "p0_book_004_network_programming"
path = "tests/p0_book_004_network_programming.rs"

[[test]]
name = "p0_book_005_performance_optimization"
path = "tests/p0_book_005_performance_optimization.rs"

[[test]]
name = "p0_book_006_advanced_patterns"
path = "tests/p0_book_006_advanced_patterns.rs"

[[test]]
name = "p0_lint_false_positives"
path = "tests/p0_lint_false_positives.rs"

[[test]]
name = "parentheses_precedence_regression_test"
path = "tests/parentheses_precedence_regression_test.rs"

[[test]]
name = "parser_actors_comprehensive_tests"
path = "tests/parser_actors_comprehensive_tests.rs"

[[test]]
name = "parser_coverage_tests"
path = "tests/parser_coverage_tests.rs"

[[test]]
name = "parser_function_bug"
path = "tests/parser_function_bug.rs"

[[test]]
name = "parser_property_tests"
path = "tests/parser_property_tests.rs"

[[test]]
name = "performance_baseline"
path = "tests/performance_baseline.rs"

[[test]]
name = "println_multi_args_bug_test"
path = "tests/println_multi_args_bug_test.rs"

[[test]]
name = "println_multi_args_test"
path = "tests/println_multi_args_test.rs"

[[test]]
name = "println_repl_formatting_test"
path = "tests/println_repl_formatting_test.rs"

[[test]]
name = "profile_command_test"
path = "tests/profile_command_test.rs"

[[test]]
name = "progressive_modes_integration"
path = "tests/progressive_modes_integration.rs"

[[test]]
name = "progressive_modes_test"
path = "tests/progressive_modes_test.rs"

[[test]]
name = "proof_verification_tdd_test"
path = "tests/proof_verification_tdd_test.rs"

[[test]]
name = "property_module_paths"
path = "tests/property_module_paths.rs"

[[test]]
name = "property_qualified_names_defect_hunt"
path = "tests/property_qualified_names_defect_hunt.rs"

[[test]]
name = "property_test_suite"
path = "tests/property_test_suite.rs"

[[test]]
name = "property_tests"
path = "tests/property_tests.rs"

[[test]]
name = "property_tests_extended"
path = "tests/property_tests_extended.rs"

[[test]]
name = "property_tests_quality_012"
path = "tests/property_tests_quality_012.rs"

[[test]]
name = "property_type_inference"
path = "tests/property_type_inference.rs"

[[test]]
name = "property_type_inference_extended"
path = "tests/property_type_inference_extended.rs"

[[test]]
name = "proving_basic_tests"
path = "tests/proving_basic_tests.rs"

[[test]]
name = "quality_008_score_directory_support"
path = "tests/quality_008_score_directory_support.rs"

[[test]]
name = "quality_009_score_actionability"
path = "tests/quality_009_score_actionability.rs"

[[test]]
name = "quality_009_scoring_math"
path = "tests/quality_009_scoring_math.rs"

[[test]]
name = "quality_009_spec_validation"
path = "tests/quality_009_spec_validation.rs"

[[test]]
name = "quality_010_lint_variable_tracking"
path = "tests/quality_010_lint_variable_tracking.rs"

[[test]]
name = "reference_basic_test"
path = "tests/reference_basic_test.rs"

[[test]]
name = "reference_operator_tests"
path = "tests/reference_operator_tests.rs"

[[test]]
name = "regression_database"
path = "tests/regression_database.rs"

[[test]]
name = "regression_tests"
path = "tests/regression_tests.rs"

[[test]]
name = "repl_broken_commands_test"
path = "tests/repl_broken_commands_test.rs"

[[test]]
name = "repl_commands_test"
path = "tests/repl_commands_test.rs"

[[test]]
name = "repl_comprehensive_tests"
path = "tests/repl_comprehensive_tests.rs"

[[test]]
name = "repl_coverage_boost"
path = "tests/repl_coverage_boost.rs"

[[test]]
name = "repl_coverage_tests"
path = "tests/repl_coverage_tests.rs"

[[test]]
name = "repl_critical_regression_tests"
path = "tests/repl_critical_regression_tests.rs"

[[test]]
name = "repl_dataframe_tests"
path = "tests/repl_dataframe_tests.rs"

[[test]]
name = "repl_demos_validation"
path = "tests/repl_demos_validation.rs"

[[test]]
name = "repl_e2e_module_paths"
path = "tests/repl_e2e_module_paths.rs"

[[test]]
name = "repl_error_recovery_test"
path = "tests/repl_error_recovery_test.rs"

[[test]]
name = "repl_function_tests"
path = "tests/repl_function_tests.rs"

[[test]]
name = "repl_functional_spec_tests"
path = "tests/repl_functional_spec_tests.rs"

[[test]]
name = "repl_loops_tests"
path = "tests/repl_loops_tests.rs"

[[test]]
name = "repl_magic_test"
path = "tests/repl_magic_test.rs"

[[test]]
name = "repl_match_tests"
path = "tests/repl_match_tests.rs"

[[test]]
name = "repl_mutability_test"
path = "tests/repl_mutability_test.rs"

[[test]]
name = "repl_pipeline_tests"
path = "tests/repl_pipeline_tests.rs"

[[test]]
name = "repl_property_tests"
path = "tests/repl_property_tests.rs"

[[test]]
name = "repl_regression_tests"
path = "tests/repl_regression_tests.rs"

[[test]]
name = "repl_unit_coverage_tests"
path = "tests/repl_unit_coverage_tests.rs"

[[test]]
name = "replay_basic_test"
path = "tests/replay_basic_test.rs"

[[test]]
name = "replay_converter_test"
path = "tests/replay_converter_test.rs"

[[test]]
name = "resource_bounded_test"
path = "tests/resource_bounded_test.rs"

[[test]]
name = "resource_check"
path = "tests/resource_check.rs"

[[test]]
name = "result_tests"
path = "tests/result_tests.rs"

[[test]]
name = "result_type_tests"
path = "tests/result_type_tests.rs"

[[test]]
name = "rosetta_ruchy_integration"
path = "tests/rosetta_ruchy_integration.rs"

[[test]]
name = "roundtrip_tests"
path = "tests/roundtrip_tests.rs"

[[test]]
name = "ruchy_program_coverage_test"
path = "tests/ruchy_program_coverage_test.rs"

[[test]]
name = "ruchy_prove_command_test"
path = "tests/ruchy_prove_command_test.rs"

[[test]]
name = "ruchy_run_exact_manual_test"
path = "tests/ruchy_run_exact_manual_test.rs"

[[test]]
name = "ruchy_run_modules_test"
path = "tests/ruchy_run_modules_test.rs"

[[test]]
name = "runtime_coverage_boost"
path = "tests/runtime_coverage_boost.rs"

[[test]]
name = "runtime_simple_tests"
path = "tests/runtime_simple_tests.rs"

[[test]]
name = "score_cli_integration"
path = "tests/score_cli_integration.rs"

[[test]]
name = "score_dynamic_test"
path = "tests/score_dynamic_test.rs"

[[test]]
name = "shell_integration_test"
path = "tests/shell_integration_test.rs"

[[test]]
name = "sister_project_integration"
path = "tests/sister_project_integration.rs"

[[test]]
name = "sister_projects_test"
path = "tests/sister_projects_test.rs"

[[test]]
name = "snapshot_tests"
path = "tests/snapshot_tests.rs"

[[test]]
name = "stdlib_collection_methods_test"
path = "tests/stdlib_collection_methods_test.rs"

[[test]]
name = "stdlib_file_operations_test"
path = "tests/stdlib_file_operations_test.rs"

[[test]]
name = "stdlib_generic_types_test"
path = "tests/stdlib_generic_types_test.rs"

[[test]]
name = "stdlib_hashset_simple_test"
path = "tests/stdlib_hashset_simple_test.rs"

[[test]]
name = "stdlib_math_test"
path = "tests/stdlib_math_test.rs"

[[test]]
name = "stdlib_methods_test"
path = "tests/stdlib_methods_test.rs"

[[test]]
name = "stdlib_process_environment_test"
path = "tests/stdlib_process_environment_test.rs"

[[test]]
name = "stdlib_type_conversions_test"
path = "tests/stdlib_type_conversions_test.rs"

[[test]]
name = "stdlib_validation_test"
path = "tests/stdlib_validation_test.rs"

[[test]]
name = "string_method_transpilation"
path = "tests/string_method_transpilation.rs"

[[test]]
name = "tab_completion_rustyline_test"
path = "tests/tab_completion_rustyline_test.rs"

[[test]]
name = "tab_completion_terminal_test"
path = "tests/tab_completion_terminal_test.rs"

[[test]]
name = "tab_completion_test"
path = "tests/tab_completion_test.rs"

[[test]]
name = "test_attribute_regression"
path = "tests/test_attribute_regression.rs"

[[test]]
name = "test_format_detailed_introspection"
path = "tests/test_format_detailed_introspection.rs"

[[test]]
name = "test_higher_order_fix"
path = "tests/test_higher_order_fix.rs"

[[test]]
name = "test_run_with_recording"
path = "tests/test_run_with_recording.rs"

[[test]]
name = "test_try_transpile_type_conversion"
path = "tests/test_try_transpile_type_conversion.rs"

[[test]]
name = "toyota_way_parsing_vs_runtime"
path = "tests/toyota_way_parsing_vs_runtime.rs"

[[test]]
name = "traits_basic_test"
path = "tests/traits_basic_test.rs"

[[test]]
name = "transaction_coverage"
path = "tests/transaction_coverage.rs"

[[test]]
name = "transactional_state_test"
path = "tests/transactional_state_test.rs"

[[test]]
name = "transpiler_coverage"
path = "tests/transpiler_coverage.rs"

[[test]]
name = "transpiler_coverage_boost"
path = "tests/transpiler_coverage_boost.rs"

[[test]]
name = "transpiler_coverage_tests"
path = "tests/transpiler_coverage_tests.rs"

[[test]]
name = "transpiler_direct_ast"
path = "tests/transpiler_direct_ast.rs"

[[test]]
name = "transpiler_edge_cases"
path = "tests/transpiler_edge_cases.rs"

[[test]]
name = "transpiler_integration"
path = "tests/transpiler_integration.rs"

[[test]]
name = "transpiler_low_coverage"
path = "tests/transpiler_low_coverage.rs"

[[test]]
name = "transpiler_patterns"
path = "tests/transpiler_patterns.rs"

[[test]]
name = "transpiler_patterns_comprehensive"
path = "tests/transpiler_patterns_comprehensive.rs"

[[test]]
name = "transpiler_property_tests"
path = "tests/transpiler_property_tests.rs"

[[test]]
name = "transpiler_result_comprehensive"
path = "tests/transpiler_result_comprehensive.rs"

[[test]]
name = "transpiler_statement_expression_bug_test"
path = "tests/transpiler_statement_expression_bug_test.rs"

[[test]]
name = "transpiler_statements"
path = "tests/transpiler_statements.rs"

[[test]]
name = "transpiler_string_bug"
path = "tests/transpiler_string_bug.rs"

[[test]]
name = "transpiler_with_ast_builder"
path = "tests/transpiler_with_ast_builder.rs"

[[test]]
name = "tuple_destructuring_for_loop_test"
path = "tests/tuple_destructuring_for_loop_test.rs"

[[test]]
name = "type_annotations_test"
path = "tests/type_annotations_test.rs"

[[test]]
name = "type_inference_comprehensive_tests"
path = "tests/type_inference_comprehensive_tests.rs"

[[test]]
name = "type_inference_tests"
path = "tests/type_inference_tests.rs"

[[test]]
name = "unicode_expansion_test"
path = "tests/unicode_expansion_test.rs"

[[test]]
name = "vec_display_bug_test"
path = "tests/vec_display_bug_test.rs"

[[test]]
name = "void_function_inference_test"
path = "tests/void_function_inference_test.rs"

[[test]]
name = "while_boundary_test"
path = "tests/while_boundary_test.rs"

[[test]]
name = "while_loop_off_by_one_test"
path = "tests/while_loop_off_by_one_test.rs"

[[test]]
name = "while_loop_simple_test"
path = "tests/while_loop_simple_test.rs"

[[test]]
name = "while_loop_test"
path = "tests/while_loop_test.rs"

[[test]]
name = "while_println_test"
path = "tests/while_println_test.rs"

[[test]]
name = "workspace_commands_test"
path = "tests/workspace_commands_test.rs"

[[bench]]
name = "compilation_bench"
path = "benches/compilation_bench.rs"

[[bench]]
name = "execution_bench"
path = "benches/execution_bench.rs"

[[bench]]
name = "parser"
path = "benches/parser.rs"
harness = false

[[bench]]
name = "transpiler"
path = "benches/transpiler.rs"
harness = false

[dependencies.anyhow]
version = "1.0"

[dependencies.async-trait]
version = "0.1"
optional = true

[dependencies.chrono]
version = "0.4"

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.colored]
version = "2.1"

[dependencies.console_error_panic_hook]
version = "0.1"

[dependencies.im]
version = "15.1"

[dependencies.js-sys]
version = "0.3"

[dependencies.logos]
version = "0.14"

[dependencies.notify]
version = "4.0"

[dependencies.num_cpus]
version = "1.16"

[dependencies.once_cell]
version = "1.19"

[dependencies.pest]
version = "2.7"

[dependencies.pest_derive]
version = "2.7"

[dependencies.pmcp]
version = "1.2.2"
features = ["full"]
optional = true

[dependencies.polars]
version = "0.35"
features = ["lazy"]
optional = true

[dependencies.prettyplease]
version = "0.2"

[dependencies.proc-macro2]
version = "1.0"

[dependencies.proptest]
version = "1.4"
optional = true

[dependencies.quickcheck]
version = "1.0"

[dependencies.quote]
version = "1.0"

[dependencies.regex]
version = "1.10"

[dependencies.rustyline]
version = "14.0"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde-wasm-bindgen]
version = "0.6"

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"

[dependencies.smallvec]
version = "1.13"

[dependencies.syn]
version = "2.0"
features = [
    "full",
    "extra-traits",
    "visit-mut",
]

[dependencies.tempfile]
version = "3.8"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.46"
features = ["full"]
optional = true

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
optional = true

[dependencies.toml]
version = "0.8"

[dependencies.tower-lsp]
version = "0.20"
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1.6"
features = ["v4"]

[dependencies.walkdir]
version = "2.4"

[dependencies.wasm-bindgen]
version = "0.2"

[dependencies.web-sys]
version = "0.3"
features = ["console"]

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.insta]
version = "1.40"
features = ["yaml"]

[dev-dependencies.predicates]
version = "3.0"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.quickcheck]
version = "1.0"

[dev-dependencies.quickcheck_macros]
version = "1.0"

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.tracing-subscriber]
version = "0.3"

[dev-dependencies.walkdir]
version = "2.4"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]

[lints.clippy]
absurd_extreme_comparisons = "allow"
approx_constant = "allow"
cargo_common_metadata = "warn"
cast_lossless = "warn"
cast_possible_truncation = "warn"
cast_possible_wrap = "warn"
cast_precision_loss = "allow"
cast_sign_loss = "warn"
checked_conversions = "warn"
cloned_instead_of_copied = "warn"
cognitive_complexity = "allow"
dbg_macro = "deny"
default_trait_access = "allow"
doc_markdown = "warn"
empty_enum = "warn"
empty_line_after_doc_comments = "allow"
enum_glob_use = "deny"
enum_variant_names = "warn"
expect_used = "allow"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp = "allow"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
format_push_string = "allow"
from_iter_instead_of_collect = "warn"
if_not_else = "warn"
implicit_clone = "warn"
implicit_hasher = "warn"
implicit_saturating_sub = "warn"
inconsistent_struct_constructor = "warn"
inefficient_to_string = "warn"
inline_always = "warn"
invalid_upcast_comparisons = "warn"
items_after_statements = "warn"
large_digit_groups = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
let_unit_value = "warn"
linkedlist = "warn"
macro_use_imports = "warn"
manual_assert = "warn"
manual_instant_elapsed = "warn"
manual_let_else = "warn"
manual_ok_or = "warn"
manual_string_new = "warn"
map_flatten = "warn"
map_unwrap_or = "warn"
match_bool = "warn"
match_same_arms = "warn"
match_wild_err_arm = "warn"
match_wildcard_for_single_variants = "warn"
maybe_infinite_iter = "warn"
mismatching_type_param_order = "warn"
missing_errors_doc = "warn"
missing_fields_in_debug = "warn"
missing_panics_doc = "warn"
module_inception = "allow"
module_name_repetitions = "warn"
must_use_candidate = "warn"
mut_mut = "warn"
naive_bytecount = "warn"
needless_bitwise_bool = "warn"
needless_continue = "warn"
needless_for_each = "warn"
needless_pass_by_value = "warn"
needless_raw_string_hashes = "warn"
negative_feature_names = "warn"
no_effect_underscore_binding = "warn"
no_mangle_with_rust_abi = "warn"
option_option = "warn"
panic = "allow"
print_stderr = "allow"
print_stdout = "allow"
pub_without_shorthand = "warn"
range_minus_one = "warn"
range_plus_one = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
redundant_else = "warn"
redundant_feature_names = "warn"
redundant_pub_crate = "warn"
ref_binding_to_reference = "warn"
ref_option_ref = "warn"
return_self_not_must_use = "warn"
same_functions_in_if_condition = "warn"
semicolon_if_nothing_returned = "warn"
should_panic_without_expect = "warn"
similar_names = "warn"
single_match_else = "warn"
stable_sort_primitive = "warn"
string_add = "warn"
string_add_assign = "warn"
struct_excessive_bools = "warn"
struct_field_names = "warn"
todo = "warn"
too_many_lines = "warn"
trait_duplication_in_bounds = "warn"
transmute_ptr_to_ptr = "warn"
trivially_copy_pass_by_ref = "warn"
type_repetition_in_bounds = "warn"
unchecked_duration_subtraction = "warn"
unicode_not_nfc = "warn"
unimplemented = "warn"
uninlined_format_args = "warn"
unnecessary_box_returns = "warn"
unnecessary_join = "warn"
unnecessary_to_owned = "allow"
unnecessary_wraps = "warn"
unnested_or_patterns = "warn"
unreadable_literal = "warn"
unused_async = "warn"
unused_self = "warn"
unwrap_used = "allow"
used_underscore_binding = "warn"
verbose_bit_mask = "warn"
verbose_file_reads = "warn"
wildcard_imports = "warn"
zero_sized_map_values = "warn"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "deny"
priority = -1

[lints.rust]
missing_docs = "allow"
unsafe_code = "forbid"

[profile.dev]
opt-level = 0

[profile.release]
opt-level = 3
lto = true
codegen-units = 1

[profile.release-dist]
opt-level = "z"
lto = "fat"
codegen-units = 1
panic = "abort"
inherits = "release"
strip = true
