├── .cargo └── config.toml ├── .gitattributes ├── .github ├── pull_request_template.md └── workflows │ ├── release.yml │ ├── site.yml │ └── test.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE.txt ├── README.md ├── bench_content └── download_content.sh ├── benches ├── bench_utils.rs ├── parse_bench.rs └── process_bench.rs ├── scripts ├── install-lua.sh └── test-commands.lua ├── site ├── .babelrc ├── .eslintignore ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── content │ ├── docs │ │ ├── bundle │ │ │ └── index.md │ │ ├── config │ │ │ └── index.md │ │ ├── generators │ │ │ └── index.md │ │ ├── getting-started │ │ │ └── index.md │ │ ├── installation │ │ │ └── index.md │ │ ├── path-require-mode │ │ │ └── index.md │ │ ├── roblox-require-mode │ │ │ └── index.md │ │ ├── rules-reference │ │ │ └── index.md │ │ └── rules │ │ │ └── index.md │ └── rules │ │ ├── append_text_comment.md │ │ ├── compute_expression.md │ │ ├── convert_index_to_field.md │ │ ├── convert_local_function_to_assign.md │ │ ├── convert_require.md │ │ ├── filter_after_early_return.md │ │ ├── group_local_assignment.md │ │ ├── inject_global_value.md │ │ ├── remove_assertions.md │ │ ├── remove_comments.md │ │ ├── remove_compound_assignment.md │ │ ├── remove_continue.md │ │ ├── remove_debug_profiling.md │ │ ├── remove_empty_do.md │ │ ├── remove_floor_division.md │ │ ├── remove_function_call_parens.md │ │ ├── remove_if_expression.md │ │ ├── remove_interpolated_string.md │ │ ├── remove_method_definition.md │ │ ├── remove_nil_declaration.md │ │ ├── remove_spaces.md │ │ ├── remove_types.md │ │ ├── remove_unused_if_branch.md │ │ ├── remove_unused_variable.md │ │ ├── remove_unused_while.md │ │ └── rename_variables.md ├── darklua-wasm │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── javascript-tests │ │ ├── .gitignore │ │ ├── darklua_wasm.spec.js │ │ ├── package-lock.json │ │ └── package.json │ ├── src │ │ ├── lib.rs │ │ └── utils.rs │ └── tests │ │ └── web.rs ├── gatsby-browser.js ├── gatsby-config.js ├── gatsby-node.js ├── gatsby-ssr.js ├── package-lock.json ├── package.json ├── src │ ├── components │ │ ├── ViewStateLink.js │ │ ├── app-event-context.js │ │ ├── compare-code.js │ │ ├── darklua-config-provider.js │ │ ├── darklua-provider.js │ │ ├── docs-page-layout.js │ │ ├── documentation-nav.js │ │ ├── editor-providers.js │ │ ├── footer.js │ │ ├── layout.js │ │ ├── loading-editor-providers.js │ │ ├── location-context.js │ │ ├── markdown-renderer.js │ │ ├── monaco-container.js │ │ ├── nav-bar.js │ │ ├── new-tab-link.js │ │ ├── rule-configuration │ │ │ ├── index.js │ │ │ ├── text-rule-editor.js │ │ │ └── ui-rule-editor.js │ │ ├── rule-reference.js │ │ ├── seo.js │ │ ├── theme-provider │ │ │ ├── dark.js │ │ │ ├── index.js │ │ │ └── light.js │ │ └── theme-switch.js │ ├── hooks │ │ ├── useCodePreview.js │ │ ├── useDarkluaConfigSchema.js │ │ ├── useLocalStorage.js │ │ ├── useMonacoEditor.js │ │ ├── usePrism.js │ │ └── useThemeMode.js │ ├── images │ │ └── darklua-icon.png │ ├── normalize.css │ ├── pages │ │ ├── 404.js │ │ ├── docs.js │ │ ├── index.js │ │ └── try-it.js │ ├── style.css │ └── templates │ │ ├── docs-page.js │ │ └── rule-docs-page.js └── static │ ├── favicon.ico │ └── robots.txt ├── src ├── ast_converter.rs ├── bin.rs ├── cli │ ├── convert.rs │ ├── error.rs │ ├── minify.rs │ ├── mod.rs │ ├── process.rs │ └── utils │ │ ├── file_watcher.rs │ │ └── mod.rs ├── frontend │ ├── configuration.rs │ ├── error.rs │ ├── mod.rs │ ├── options.rs │ ├── resources.rs │ ├── utils │ │ └── mod.rs │ ├── work_cache.rs │ ├── work_item.rs │ ├── worker.rs │ └── worker_tree.rs ├── generator │ ├── dense.rs │ ├── mod.rs │ ├── readable.rs │ ├── snapshots │ │ ├── darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_empty_tuple.snap │ │ ├── darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_tuple_with_one_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_tuple_with_two_values.snap │ │ ├── darklua_core__generator__test__dense__snapshots__assign__dense_assign_two_variables_with_one_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__assign__dense_assign_two_variables_with_two_values.snap │ │ ├── darklua_core__generator__test__dense__snapshots__assign__dense_assign_variable_with_one_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__binary__dense_binary_true_and_false.snap │ │ ├── darklua_core__generator__test__dense__snapshots__binary__dense_binary_true_equal_false.snap │ │ ├── darklua_core__generator__test__dense__snapshots__binary__dense_binary_type_cast_break_type_parameters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__binary__dense_binary_wrap_left_to_break_type_field_parameters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__binary__dense_binary_wrap_left_to_break_type_name_parameters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__block__dense_block_ambiguous_function_call_from_assign.snap │ │ ├── darklua_core__generator__test__dense__snapshots__block__dense_block_ambiguous_function_call_from_compound_assign.snap │ │ ├── darklua_core__generator__test__dense__snapshots__block__dense_block_ambiguous_function_call_from_function_call.snap │ │ ├── darklua_core__generator__test__dense__snapshots__block__dense_block_ambiguous_function_call_from_local_assign.snap │ │ ├── darklua_core__generator__test__dense__snapshots__block__dense_block_ambiguous_function_call_from_repeat.snap │ │ ├── darklua_core__generator__test__dense__snapshots__compound_assign_statement__dense_compound_assign_statement_increment_var_by_one.snap │ │ ├── darklua_core__generator__test__dense__snapshots__do_statement__dense_do_statement_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__do_statement__dense_do_statement_nested_do.snap │ │ ├── darklua_core__generator__test__dense__snapshots__expression__dense_expression_false_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__expression__dense_expression_nil_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__expression__dense_expression_true_in_parenthese.snap │ │ ├── darklua_core__generator__test__dense__snapshots__expression__dense_expression_true_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__expression__dense_expression_variable_arguments.snap │ │ ├── darklua_core__generator__test__dense__snapshots__field__dense_field_identifier_ending_with_number_prefix.snap │ │ ├── darklua_core__generator__test__dense__snapshots__field__dense_field_identifier_prefix.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty_variadic.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty_variadic_with_two_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_expr__dense_function_expr_empty_with_two_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_variadic_typed_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_variadic_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_field.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_method.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_name_ending_with_number_with_field.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_string_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_two_typed_parameters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_variadic_pack_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__function_statement__dense_function_statement_empty_with_void_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__generic_for__dense_generic_for_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__generic_for__dense_generic_for_empty_with_two_typed_vars.snap │ │ ├── darklua_core__generator__test__dense__snapshots__generic_for__dense_generic_for_empty_with_typed_var.snap │ │ ├── darklua_core__generator__test__dense__snapshots__if_statement__dense_if_statement_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__if_statement__dense_if_statement_empty_with_empty_else.snap │ │ ├── darklua_core__generator__test__dense__snapshots__if_statement__dense_if_statement_empty_with_empty_multiple_branch.snap │ │ ├── darklua_core__generator__test__dense__snapshots__index__dense_index_identifier_prefix_with_identifier_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_only_letters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_backticks.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_empty_table.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_empty_table_in_type_cast.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__interpolated_string__dense_interpolated_string_with_true_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__intersection_type__dense_intersection_type_single_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__intersection_type__dense_intersection_type_two_types.snap │ │ ├── darklua_core__generator__test__dense__snapshots__intersection_type__dense_intersection_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_break_statement.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_continue_statement.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_return_one_expression.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_return_parentheses.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_return_two_expressions.snap │ │ ├── darklua_core__generator__test__dense__snapshots__last__dense_last_return_without_values.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_foo_and_bar_typed_unassigned.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_foo_and_bar_unassigned.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_foo_typed_unassigned.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_foo_unassigned.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_typed_generic_var_break_equal_sign.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_var_assign_to_false.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_variadic.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_one_parameter.snap │ │ ├── darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_two_parameters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_binary_0b10101.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_0_005.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_0_5.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_1.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_100_25.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_123.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_1_2345e50.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_1_2345e_minus50.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_2000_05.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_4_6982573308436185e159.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_nan.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_negative_infinity.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_positive_infinity.snap │ │ ├── darklua_core__generator__test__dense__snapshots__number__dense_number_number_thousand.snap │ │ ├── darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_typed_with_step.snap │ │ ├── darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_typed_without_step.snap │ │ ├── darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_with_step.snap │ │ ├── darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_without_step.snap │ │ ├── darklua_core__generator__test__dense__snapshots__prefix__dense_prefix_identifier.snap │ │ ├── darklua_core__generator__test__dense__snapshots__prefix__dense_prefix_identifier_in_parenthese.snap │ │ ├── darklua_core__generator__test__dense__snapshots__repeat__dense_repeat_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__string__dense_string_only_letters.snap │ │ ├── darklua_core__generator__test__dense__snapshots__string__dense_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__string__dense_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__string__dense_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_empty.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_list_with_single_value.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_list_with_two_values.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_mixed_table.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_with_field_entry.snap │ │ ├── darklua_core__generator__test__dense__snapshots__table__dense_table_with_index_entry.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_callback_with_variadic_type_is_generic_pack.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_callback_with_variadic_type_is_string.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_exported_string_alias.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_array.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_array_with_default.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_default_generic_pack.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_string_alias.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_indexer_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_one_property.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_one_property_and_indexer_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_type_field.snap │ │ ├── darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_type_field_with_name_ending_with_number.snap │ │ ├── darklua_core__generator__test__dense__snapshots__unary__dense_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap │ │ ├── darklua_core__generator__test__dense__snapshots__unary__dense_unary_not_true.snap │ │ ├── darklua_core__generator__test__dense__snapshots__unary__dense_unary_two_unary_minus_breaks_between_them.snap │ │ ├── darklua_core__generator__test__dense__snapshots__unary__dense_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap │ │ ├── darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_single_type.snap │ │ ├── darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_two_types.snap │ │ ├── darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__dense__snapshots__while_statement__dense_while_statement_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_empty_tuple.snap │ │ ├── darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_tuple_with_one_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_tuple_with_two_values.snap │ │ ├── darklua_core__generator__test__readable__snapshots__assign__readable_assign_two_variables_with_one_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__assign__readable_assign_two_variables_with_two_values.snap │ │ ├── darklua_core__generator__test__readable__snapshots__assign__readable_assign_variable_with_one_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__binary__readable_binary_true_and_false.snap │ │ ├── darklua_core__generator__test__readable__snapshots__binary__readable_binary_true_equal_false.snap │ │ ├── darklua_core__generator__test__readable__snapshots__binary__readable_binary_type_cast_break_type_parameters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__binary__readable_binary_wrap_left_to_break_type_field_parameters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__binary__readable_binary_wrap_left_to_break_type_name_parameters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_assign.snap │ │ ├── darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_compound_assign.snap │ │ ├── darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_function_call.snap │ │ ├── darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_local_assign.snap │ │ ├── darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_repeat.snap │ │ ├── darklua_core__generator__test__readable__snapshots__compound_assign_statement__readable_compound_assign_statement_increment_var_by_one.snap │ │ ├── darklua_core__generator__test__readable__snapshots__do_statement__readable_do_statement_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__do_statement__readable_do_statement_nested_do.snap │ │ ├── darklua_core__generator__test__readable__snapshots__expression__readable_expression_false_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__expression__readable_expression_nil_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__expression__readable_expression_true_in_parenthese.snap │ │ ├── darklua_core__generator__test__readable__snapshots__expression__readable_expression_true_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__expression__readable_expression_variable_arguments.snap │ │ ├── darklua_core__generator__test__readable__snapshots__field__readable_field_identifier_ending_with_number_prefix.snap │ │ ├── darklua_core__generator__test__readable__snapshots__field__readable_field_identifier_prefix.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic_with_two_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_with_two_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_variadic_typed_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_variadic_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_field.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_method.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_name_ending_with_number_with_field.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_string_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_two_typed_parameters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_variadic_pack_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_void_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty_with_two_typed_vars.snap │ │ ├── darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty_with_typed_var.snap │ │ ├── darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty_with_empty_else.snap │ │ ├── darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty_with_empty_multiple_branch.snap │ │ ├── darklua_core__generator__test__readable__snapshots__index__readable_index_identifier_prefix_with_identifier_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_only_letters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_backticks.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_empty_table.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_empty_table_in_type_cast.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_true_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_single_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_two_types.snap │ │ ├── darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_break_statement.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_continue_statement.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_return_one_expression.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_return_parentheses.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_return_two_expressions.snap │ │ ├── darklua_core__generator__test__readable__snapshots__last__readable_last_return_without_values.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_and_bar_typed_unassigned.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_and_bar_unassigned.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_typed_unassigned.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_unassigned.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_typed_generic_var_break_equal_sign.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_var_assign_to_false.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_variadic.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_one_parameter.snap │ │ ├── darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_two_parameters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_binary_0b10101.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_0_005.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_0_5.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_1.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_100_25.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_123.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_1_2345e50.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_1_2345e_minus50.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_2000_05.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_4_6982573308436185e159.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_nan.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_negative_infinity.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_positive_infinity.snap │ │ ├── darklua_core__generator__test__readable__snapshots__number__readable_number_number_thousand.snap │ │ ├── darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_typed_with_step.snap │ │ ├── darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_typed_without_step.snap │ │ ├── darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_with_step.snap │ │ ├── darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_without_step.snap │ │ ├── darklua_core__generator__test__readable__snapshots__prefix__readable_prefix_identifier.snap │ │ ├── darklua_core__generator__test__readable__snapshots__prefix__readable_prefix_identifier_in_parenthese.snap │ │ ├── darklua_core__generator__test__readable__snapshots__repeat__readable_repeat_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__string__readable_string_only_letters.snap │ │ ├── darklua_core__generator__test__readable__snapshots__string__readable_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__string__readable_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__string__readable_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_empty.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_list_with_single_value.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_list_with_two_values.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_mixed_table.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_with_field_entry.snap │ │ ├── darklua_core__generator__test__readable__snapshots__table__readable_table_with_index_entry.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_callback_with_variadic_type_is_generic_pack.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_callback_with_variadic_type_is_string.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_exported_string_alias.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_array.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_array_with_default.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_default_generic_pack.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_string_alias.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_type_field.snap │ │ ├── darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_type_field_with_name_ending_with_number.snap │ │ ├── darklua_core__generator__test__readable__snapshots__unary__readable_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap │ │ ├── darklua_core__generator__test__readable__snapshots__unary__readable_unary_not_true.snap │ │ ├── darklua_core__generator__test__readable__snapshots__unary__readable_unary_two_unary_minus_breaks_between_them.snap │ │ ├── darklua_core__generator__test__readable__snapshots__unary__readable_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap │ │ ├── darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_single_type.snap │ │ ├── darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_two_types.snap │ │ ├── darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__readable__snapshots__while_statement__readable_while_statement_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_empty_tuple.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_tuple_with_one_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_tuple_with_two_values.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_two_variables_with_one_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_two_variables_with_two_values.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_variable_with_one_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_true_and_false.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_true_equal_false.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_type_cast_break_type_parameters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_wrap_left_to_break_type_field_parameters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_wrap_left_to_break_type_name_parameters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__block__token_based_block_ambiguous_function_call_from_assign.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__block__token_based_block_ambiguous_function_call_from_compound_assign.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__block__token_based_block_ambiguous_function_call_from_function_call.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__block__token_based_block_ambiguous_function_call_from_local_assign.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__block__token_based_block_ambiguous_function_call_from_repeat.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__compound_assign_statement__token_based_compound_assign_statement_increment_var_by_one.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__do_statement__token_based_do_statement_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__do_statement__token_based_do_statement_nested_do.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__expression__token_based_expression_false_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__expression__token_based_expression_nil_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__expression__token_based_expression_true_in_parenthese.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__expression__token_based_expression_true_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__expression__token_based_expression_variable_arguments.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__field__token_based_field_identifier_ending_with_number_prefix.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__field__token_based_field_identifier_prefix.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty_variadic.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty_variadic_with_two_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_expr__token_based_function_expr_empty_with_two_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_variadic_typed_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_variadic_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_field.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_method.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_name_ending_with_number_with_field.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_one_typed_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_string_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_two_typed_parameters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_variadic_pack_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__function_statement__token_based_function_statement_empty_with_void_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__generic_for__token_based_generic_for_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__generic_for__token_based_generic_for_empty_with_two_typed_vars.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__generic_for__token_based_generic_for_empty_with_typed_var.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__if_statement__token_based_if_statement_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__if_statement__token_based_if_statement_empty_with_empty_else.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__if_statement__token_based_if_statement_empty_with_empty_multiple_branch.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__index__token_based_index_identifier_prefix_with_identifier_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_only_letters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_backticks.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_empty_table.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_empty_table_in_type_cast.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__interpolated_string__token_based_interpolated_string_with_true_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__intersection_type__token_based_intersection_type_single_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__intersection_type__token_based_intersection_type_two_types.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__intersection_type__token_based_intersection_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_break_statement.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_continue_statement.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_return_one_expression.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_return_parentheses.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_return_two_expressions.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__last__token_based_last_return_without_values.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_foo_and_bar_typed_unassigned.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_foo_and_bar_unassigned.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_foo_typed_unassigned.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_foo_unassigned.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_typed_generic_var_break_equal_sign.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_var_assign_to_false.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_variadic.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_variadic_with_one_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_generic_pack_return_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_one_parameter.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_two_parameters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_binary_0b10101.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_0_005.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_0_5.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_100_25.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_123.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1_2345e50.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1_2345e_minus50.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_2000_05.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_4_6982573308436185e159.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_nan.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_negative_infinity.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_positive_infinity.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_thousand.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_typed_with_step.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_typed_without_step.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_with_step.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_without_step.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__prefix__token_based_prefix_identifier.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__prefix__token_based_prefix_identifier_in_parenthese.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__repeat__token_based_repeat_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__string__token_based_string_only_letters.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_double_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_single_and_double_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_single_quotes.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_empty.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_list_with_single_value.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_list_with_two_values.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_mixed_table.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_with_field_entry.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__table__token_based_table_with_index_entry.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_callback_with_variadic_type_is_generic_pack.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_callback_with_variadic_type_is_string.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_exported_string_alias.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_array.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_array_with_default.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_default_generic_pack.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_string_alias.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_indexer_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_one_property.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_one_property_and_indexer_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_type_field.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_type_field_with_name_ending_with_number.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_not_true.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_two_unary_minus_breaks_between_them.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_single_type.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_two_types.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_two_types_with_leading_token.snap │ │ ├── darklua_core__generator__test__token_based__snapshots__while_statement__token_based_while_statement_empty.snap │ │ └── darklua_core__generator__token_based__test__inserts_a_new_line_after_custom_added_comments.snap │ ├── token_based.rs │ └── utils.rs ├── lib.rs ├── nodes │ ├── arguments.rs │ ├── block.rs │ ├── expressions │ │ ├── binary.rs │ │ ├── field.rs │ │ ├── function.rs │ │ ├── if_expression.rs │ │ ├── index.rs │ │ ├── interpolated_string.rs │ │ ├── mod.rs │ │ ├── number.rs │ │ ├── parenthese.rs │ │ ├── prefix.rs │ │ ├── snapshots │ │ │ ├── darklua_core__nodes__expressions__test__expression_from_floats__f64_0.snap │ │ │ ├── darklua_core__nodes__expressions__test__expression_from_floats__f64_1_2345e50.snap │ │ │ ├── darklua_core__nodes__expressions__test__expression_from_floats__f64_1e42.snap │ │ │ ├── darklua_core__nodes__expressions__test__expression_from_floats__f64_infinity.snap │ │ │ ├── darklua_core__nodes__expressions__test__expression_from_floats__f64_minus_zero.snap │ │ │ └── darklua_core__nodes__expressions__test__expression_from_floats__i64_minus_one.snap │ │ ├── string.rs │ │ ├── string_utils.rs │ │ ├── table.rs │ │ ├── type_cast.rs │ │ └── unary.rs │ ├── function_body.rs │ ├── function_call.rs │ ├── identifier.rs │ ├── mod.rs │ ├── snapshots │ │ ├── darklua_core__nodes__block__test__insert_statement_after_statement_upper_bound_with_tokens.snap │ │ ├── darklua_core__nodes__block__test__insert_statement_at_index_0_with_tokens.snap │ │ └── darklua_core__nodes__block__test__remove_first_statement.snap │ ├── statements │ │ ├── assign.rs │ │ ├── compound_assign.rs │ │ ├── do_statement.rs │ │ ├── function.rs │ │ ├── generic_for.rs │ │ ├── if_statement.rs │ │ ├── last_statement.rs │ │ ├── local_assign.rs │ │ ├── local_function.rs │ │ ├── mod.rs │ │ ├── numeric_for.rs │ │ ├── repeat_statement.rs │ │ ├── type_declaration.rs │ │ └── while_statement.rs │ ├── token.rs │ ├── typed_identifier.rs │ ├── types │ │ ├── array.rs │ │ ├── expression_type.rs │ │ ├── function.rs │ │ ├── function_variadic_type.rs │ │ ├── generics.rs │ │ ├── intersection.rs │ │ ├── mod.rs │ │ ├── optional.rs │ │ ├── parenthese.rs │ │ ├── string_type.rs │ │ ├── table.rs │ │ ├── type_field.rs │ │ ├── type_name.rs │ │ ├── type_pack.rs │ │ ├── union.rs │ │ └── variadic_type_pack.rs │ └── variable.rs ├── parser.rs ├── process │ ├── evaluator │ │ ├── lua_value.rs │ │ └── mod.rs │ ├── expression_serializer.rs │ ├── mod.rs │ ├── node_counter.rs │ ├── node_processor.rs │ ├── post_visitor.rs │ ├── processors │ │ ├── find_identifier.rs │ │ ├── find_usage.rs │ │ └── mod.rs │ ├── scope_visitor.rs │ ├── utils │ │ ├── mod.rs │ │ └── permutator.rs │ └── visitors.rs ├── rules │ ├── append_text_comment.rs │ ├── bundle │ │ ├── mod.rs │ │ ├── path_require_mode │ │ │ ├── mod.rs │ │ │ └── module_definitions.rs │ │ ├── rename_type_declaration.rs │ │ ├── require_mode.rs │ │ └── snapshots │ │ │ └── darklua_core__rules__bundle__test__default_bundler.snap │ ├── call_parens.rs │ ├── compute_expression.rs │ ├── configuration_error.rs │ ├── convert_index_to_field.rs │ ├── convert_require │ │ ├── instance_path.rs │ │ ├── mod.rs │ │ ├── roblox_index_style.rs │ │ ├── roblox_require_mode.rs │ │ ├── rojo_sourcemap.rs │ │ └── snapshots │ │ │ └── darklua_core__rules__convert_require__test__default_convert_require.snap │ ├── empty_do.rs │ ├── filter_early_return.rs │ ├── group_local.rs │ ├── inject_value.rs │ ├── method_def.rs │ ├── mod.rs │ ├── no_local_function.rs │ ├── remove_assertions.rs │ ├── remove_call_match.rs │ ├── remove_comments.rs │ ├── remove_compound_assign.rs │ ├── remove_continue.rs │ ├── remove_debug_profiling.rs │ ├── remove_floor_division.rs │ ├── remove_if_expression.rs │ ├── remove_interpolated_string.rs │ ├── remove_nil_declarations.rs │ ├── remove_spaces.rs │ ├── remove_types.rs │ ├── remove_unused_variable.rs │ ├── rename_variables │ │ ├── function_names.rs │ │ ├── globals.rs │ │ ├── mod.rs │ │ ├── rename_processor.rs │ │ └── snapshots │ │ │ ├── darklua_core__rules__rename_variables__test__default_rename_variables.snap │ │ │ ├── darklua_core__rules__rename_variables__test__no_globals_rename_variables.snap │ │ │ ├── darklua_core__rules__rename_variables__test__rename_variables_with_function_names.snap │ │ │ └── darklua_core__rules__rename_variables__test__roblox_globals_rename_variables.snap │ ├── replace_referenced_tokens.rs │ ├── require │ │ ├── match_require.rs │ │ ├── mod.rs │ │ ├── path_iterator.rs │ │ ├── path_locator.rs │ │ └── path_require_mode.rs │ ├── rule_property.rs │ ├── shift_token_line.rs │ ├── snapshots │ │ ├── darklua_core__rules__append_text_comment__test__append_text_comment_with_text.snap │ │ ├── darklua_core__rules__append_text_comment__test__append_text_comment_with_text_at_end.snap │ │ ├── darklua_core__rules__call_parens__test__default_remove_function_call_parens.snap │ │ ├── darklua_core__rules__compute_expression__test__default_compute_expression.snap │ │ ├── darklua_core__rules__convert_index_to_field__test__default_convert_index_to_field.snap │ │ ├── darklua_core__rules__empty_do__test__default_remove_empty_do.snap │ │ ├── darklua_core__rules__filter_early_return__test__default_filter_after_early_return.snap │ │ ├── darklua_core__rules__group_local__test__default_group_local_assignment.snap │ │ ├── darklua_core__rules__inject_value__test__inject_false_value_as_foo.snap │ │ ├── darklua_core__rules__inject_value__test__inject_float_value_as_var.snap │ │ ├── darklua_core__rules__inject_value__test__inject_hello_value_as_var.snap │ │ ├── darklua_core__rules__inject_value__test__inject_integer_value_as_var.snap │ │ ├── darklua_core__rules__inject_value__test__inject_negative_integer_value_as_var.snap │ │ ├── darklua_core__rules__inject_value__test__inject_nil_value_as_foo.snap │ │ ├── darklua_core__rules__inject_value__test__inject_true_value_as_foo.snap │ │ ├── darklua_core__rules__method_def__test__default_remove_method_definition.snap │ │ ├── darklua_core__rules__no_local_function__test__default_convert_local_function_to_assign.snap │ │ ├── darklua_core__rules__remove_assertions__test__default_remove_assertions.snap │ │ ├── darklua_core__rules__remove_assertions__test__remove_assertions_without_side_effects.snap │ │ ├── darklua_core__rules__remove_comments__test__default_remove_comments.snap │ │ ├── darklua_core__rules__remove_comments__test__remove_comments_configure_with_invalid_regex_error.snap │ │ ├── darklua_core__rules__remove_comments__test__remove_comments_in_code.snap │ │ ├── darklua_core__rules__remove_compound_assign__test__default_remove_compound_assignment.snap │ │ ├── darklua_core__rules__remove_continue__test__default_remove_continue.snap │ │ ├── darklua_core__rules__remove_debug_profiling__test__default_remove_debug_profiling.snap │ │ ├── darklua_core__rules__remove_debug_profiling__test__remove_debug_profiling_without_side_effects.snap │ │ ├── darklua_core__rules__remove_floor_division__test__default_remove_floor_division.snap │ │ ├── darklua_core__rules__remove_if_expression__test__default_remove_if_expression.snap │ │ ├── darklua_core__rules__remove_interpolated_string__test__default_remove_interpolated_string.snap │ │ ├── darklua_core__rules__remove_interpolated_string__test__remove_interpolated_string_tostring_strategy.snap │ │ ├── darklua_core__rules__remove_nil_declarations__test__default_remove_nil_declaration.snap │ │ ├── darklua_core__rules__remove_spaces__test__default_remove_spaces.snap │ │ ├── darklua_core__rules__remove_spaces__test__remove_spaces_in_code.snap │ │ ├── darklua_core__rules__remove_types__test__default_remove_types.snap │ │ ├── darklua_core__rules__remove_unused_variable__test__default_remove_unused_variable.snap │ │ ├── darklua_core__rules__rename_type_declaration__test__default_rename_type_declaration.snap │ │ ├── darklua_core__rules__replace_referenced_tokens__test__default_replace_referenced_tokens.snap │ │ ├── darklua_core__rules__shift_token_line__test__default_replace_referenced_tokens.snap │ │ ├── darklua_core__rules__test__all_rule_names.snap │ │ ├── darklua_core__rules__test__default_rules.snap │ │ ├── darklua_core__rules__unused_if_branch__test__default_remove_unused_if_branch.snap │ │ └── darklua_core__rules__unused_while__test__default_remove_unused_while.snap │ ├── unused_if_branch.rs │ └── unused_while.rs └── utils │ ├── expressions_as_statement.rs │ ├── lines.rs │ ├── luau_config.rs │ ├── mod.rs │ ├── scoped_hash_map.rs │ ├── serde_string_or_struct.rs │ ├── timer.rs │ └── wasm_timer.rs └── tests ├── ast_fuzzer ├── budget.rs ├── combination.rs ├── fuzzer_work.rs ├── mod.rs └── random.rs ├── bundle.rs ├── cli.rs ├── frontend.rs ├── fuzz_generator.rs ├── fuzzed.rs ├── fuzzed_test_cases ├── a.lua ├── b.lua ├── c.lua └── full_moon_stackoverflow.lua ├── rule_tests ├── append_text_comment.rs ├── compute_expression.rs ├── convert_index_to_field.rs ├── convert_require.rs ├── filter_early_return.rs ├── group_local_assignment.rs ├── inject_value.rs ├── mod.rs ├── no_local_function.rs ├── remove_assertions.rs ├── remove_call_parens.rs ├── remove_comments.rs ├── remove_compound_assignment.rs ├── remove_continue.rs ├── remove_debug_profiling.rs ├── remove_empty_do.rs ├── remove_floor_division.rs ├── remove_if_expression.rs ├── remove_interpolated_string.rs ├── remove_method_definition.rs ├── remove_nil_declaration.rs ├── remove_types.rs ├── remove_unused_if_branch.rs ├── remove_unused_variable.rs ├── remove_unused_while.rs ├── rename_variables.rs └── snapshots │ ├── rules__rule_tests__convert_require__convert_module_from_child_module.snap │ ├── rules__rule_tests__convert_require__convert_module_require_across_service_instance.snap │ ├── rules__rule_tests__convert_require__convert_multiple_sibling_modules_from_root_init_module.snap │ ├── rules__rule_tests__convert_require__convert_nested_package_module_from_sibling_module.snap │ ├── rules__rule_tests__convert_require__convert_package_module_from_nested_module.snap │ ├── rules__rule_tests__convert_require__convert_sibling_module_from_init_module.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__for_continue_with_comment.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__for_inside_while.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__for_loop_continue_in_function_expression.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__for_loop_continue_in_function_statement.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__for_loop_with_only_continue.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__function_with_continue.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__generic_for_continue_or_break.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__multiple_conditions_continue.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__nested_for_continue_statements.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__numeric_for_continue_first_case.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__repeat_inside_for.snap │ ├── rules__rule_tests__remove_continue__remove_continue_snapshots__sequential_loops_with_continue.snap │ └── rules__utils__invalid_sourcemap.snap ├── rules.rs ├── snapshots ├── bundle__without_rules__bundle_without_rules_override_require.snap ├── bundle__without_rules__bundle_without_rules_require_json_file_with_object.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_after_declaration.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_forward_exported_types.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_forward_exported_types_with_generics.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_nested.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_twice.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_twice_with_different_paths.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_with_field_expression.snap ├── bundle__without_rules__bundle_without_rules_require_lua_file_with_statement.snap ├── bundle__without_rules__bundle_without_rules_require_skip_unknown_module.snap ├── bundle__without_rules__bundle_without_rules_require_small_bundle_case.snap ├── bundle__without_rules__bundle_without_rules_require_toml_with_object.snap ├── bundle__without_rules__bundle_without_rules_require_txt_file.snap ├── bundle__without_rules__bundle_without_rules_require_yaml_with_array.snap ├── bundle__without_rules__bundle_without_rules_require_yml_with_object.snap ├── bundle__without_rules__cyclic_requires__direct_cycle_in_required_file_with_ok_require.snap ├── bundle__without_rules__cyclic_requires__simple_direct_cycle.snap ├── bundle__without_rules__cyclic_requires__simple_direct_cycle_in_required_file.snap ├── bundle__without_rules__cyclic_requires__simple_transitive_cycle.snap ├── bundle__without_rules__cyclic_requires__two_different_direct_cycles.snap ├── bundle__without_rules__require_empty_path_errors.snap ├── bundle__without_rules__require_lua_file_with_parser_error.snap ├── bundle__without_rules__require_lua_file_with_unsupported_extension.snap ├── bundle__without_rules__require_own_lua_file.snap ├── bundle__without_rules__require_unknown_module.snap ├── bundle__without_rules__require_unknown_relative_file.snap ├── bundle__without_rules__require_unknown_relative_file_with_extension.snap ├── convert_help_command.snap ├── frontend__errors__missing_configuration_file.snap ├── frontend__errors__multiple_configuration_file_found.snap ├── frontend__errors__simple_cyclic_work_error.snap ├── help_command.snap ├── minify_help_command.snap ├── process_help_command.snap ├── run_convert_command_errors_when_no_extension_and_no_format.snap ├── run_convert_command_errors_when_unrecognized_extension.snap ├── run_convert_command_on_json_file_out.snap ├── run_convert_command_on_json_file_stdout.snap ├── run_convert_command_on_json_file_with_output.snap ├── run_convert_command_on_json_without_extension_file_with_output.snap ├── run_minify_command.snap ├── run_minify_command_init_out.snap ├── run_minify_verbose_command.snap ├── run_minify_with_column_span_command_init_out.snap ├── run_minify_with_column_span_in_config_command_init_out.snap ├── run_process_command.snap ├── run_process_command_init_out.snap ├── run_process_custom_config_command_out.snap ├── run_process_single_file_custom_config.snap ├── run_process_verbose_command.snap └── short_help_command.snap ├── test_cases ├── small_bundle │ ├── format.lua │ ├── initialize.lua │ ├── main.lua │ └── value.lua ├── sourcemap │ ├── Packages │ │ └── Package1 │ │ │ ├── init.lua │ │ │ └── value.lua │ ├── default.project.json │ ├── main.server.lua │ ├── notes.txt │ ├── place-sourcemap.json │ ├── place.project.json │ ├── sourcemap.json │ └── src │ │ ├── a.lua │ │ ├── b.lua │ │ ├── c.lua │ │ ├── d │ │ ├── d1.lua │ │ ├── d2.lua │ │ └── init.lua │ │ └── init.lua └── spaces_and_comments.lua └── utils.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.aarch64-unknown-linux-gnu] 2 | linker = "aarch64-linux-gnu-gcc" 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.gif binary 4 | *.ico binary 5 | *.jpg binary 6 | *.png binary 7 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | Closes #[issue number] 2 | 3 | 4 | 5 | - [ ] add entry to the changelog 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | 4 | .vscode 5 | 6 | bench_content/**/ 7 | -------------------------------------------------------------------------------- /scripts/install-lua.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | python3 -m pip install hererocks 4 | hererocks lua_install -r^ --lua=5.1 5 | export PATH=$PATH:$PWD/lua_install/bin 6 | 7 | luarocks install luafilesystem 8 | luarocks install busted 9 | -------------------------------------------------------------------------------- /site/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | [ 4 | "prismjs", 5 | { 6 | "languages": ["lua", "json", "json5", "toml", "yaml"], 7 | "plugins": ["toolbar"], 8 | "theme": "okaidia", 9 | "css": true 10 | } 11 | ] 12 | ], 13 | "presets": [ 14 | [ 15 | "babel-preset-gatsby", 16 | { 17 | "targets": { 18 | "browsers": [">0.25%", "not dead"] 19 | } 20 | } 21 | ] 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /site/.eslintignore: -------------------------------------------------------------------------------- 1 | /darklua-wasm/**/*.js 2 | -------------------------------------------------------------------------------- /site/.prettierignore: -------------------------------------------------------------------------------- 1 | .cache 2 | package.json 3 | package-lock.json 4 | public 5 | darklua-wasm 6 | -------------------------------------------------------------------------------- /site/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "semi": false 4 | } 5 | -------------------------------------------------------------------------------- /site/content/docs/rules-reference/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Rules Reference 3 | description: Learn the rules that transform code 4 | group: Rules 5 | order: 1 6 | --- 7 | 8 | 9 | -------------------------------------------------------------------------------- /site/content/rules/convert_index_to_field.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Convert index expression into field expressions 3 | added_in: "0.7.0" 4 | parameters: [] 5 | examples: 6 | - content: "return var['field']" 7 | - content: "return { ['field'] = true }" 8 | --- 9 | 10 | When an index expression is using a static string (or an expression that can be statically evaluated into a string), this rule replaces it with a field expression. This rule also applies for table declarations: an entry that uses the bracket syntax (e.g. `{ ["key"] = value }`) will get converted into a field-like entry when possible. 11 | -------------------------------------------------------------------------------- /site/content/rules/convert_local_function_to_assign.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Convert local function definitions to variable declarations 3 | added_in: "0.3.3" 4 | parameters: [] 5 | examples: 6 | - content: | 7 | local function foo(a, b) 8 | return a + b 9 | end 10 | --- 11 | 12 | Local functions that are not recursive will be transformed to a local assignment statement. 13 | 14 | Note that, depending on your Lua runtime implementation, you may no longer be able to use reflection-like APIs (eg `debug.info`) to acquire the name of the function, or the function name may be missing from stack traces of `error` invocations. 15 | -------------------------------------------------------------------------------- /site/content/rules/remove_assertions.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes call to the assert function 3 | added_in: "0.12.0" 4 | parameters: 5 | - name: preserve_arguments_side_effects 6 | type: boolean 7 | description: Defines how darklua handle arguments passed to the function. If true, darklua will inspect each argument and preserve any potential side effects. When false, darklua will not perform any verification and simply erase any arguments passed. 8 | default: "true" 9 | examples: 10 | - content: assert(condition, 'condition is incorrect!') 11 | --- 12 | 13 | This rule removes all function calls to `assert`. 14 | -------------------------------------------------------------------------------- /site/content/rules/remove_compound_assignment.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Convert compound assignments into regular assignments 3 | added_in: "0.9.0" 4 | parameters: [] 5 | examples: 6 | - content: "counter += 1" 7 | - content: "object.prop -= 1" 8 | - content: "object.message ..= ' (context: ' .. context .. ')'" 9 | --- 10 | 11 | This rule can be particularly useful to convert Luau code to Lua. 12 | -------------------------------------------------------------------------------- /site/content/rules/remove_continue.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Remove continue statements 3 | added_in: "0.14.1" 4 | parameters: [] 5 | examples: 6 | - content: | 7 | for i = 1, 10 do 8 | if i == 1 then 9 | continue 10 | end 11 | print(i) 12 | end 13 | --- 14 | 15 | This rule removes all `continue` statements and replaces them with code that only use `break` statements. 16 | 17 | **Note:** this rule is useful if you are converting Luau code into regular Lua code. 18 | -------------------------------------------------------------------------------- /site/content/rules/remove_empty_do.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes empty do statements 3 | added_in: "0.2.0" 4 | parameters: [] 5 | examples: 6 | - content: | 7 | do 8 | end 9 | do 10 | do 11 | end 12 | end 13 | return {} 14 | --- 15 | 16 | This simple rule removes all empty do blocks found. 17 | -------------------------------------------------------------------------------- /site/content/rules/remove_floor_division.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes floor divisions 3 | added_in: "0.14.1" 4 | parameters: [] 5 | examples: 6 | - content: "return variable // divider" 7 | - content: "variable //= 5" 8 | --- 9 | 10 | This rule removes all usage of the floor division operator (`//`). It replaces those operations with a regular division (`/`) followed by a `math.floor()` call. 11 | -------------------------------------------------------------------------------- /site/content/rules/remove_function_call_parens.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes functions call parentheses 3 | added_in: "0.3.4" 4 | parameters: [] 5 | examples: 6 | - content: "print('hello')" 7 | - content: "create({ ... })" 8 | --- 9 | 10 | This rule will remove parentheses in a function call when there is only one string or one table as arguments. In large Lua programs, this can save several thousand bytes. 11 | -------------------------------------------------------------------------------- /site/content/rules/remove_if_expression.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Remove if expressions 3 | added_in: "0.14.1" 4 | parameters: [] 5 | examples: 6 | - content: | 7 | local variable = if condition() then { option = true } else { option = false } 8 | --- 9 | 10 | This rule removes all `if` expressions (not if statements!) and replaces them with an equivalent expression. 11 | 12 | **Note:** this rule is useful if you are converting Luau code into regular Lua code. 13 | -------------------------------------------------------------------------------- /site/content/rules/remove_nil_declaration.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes explicit declaration to `nil` 3 | added_in: "0.8.0" 4 | parameters: [] 5 | examples: 6 | - content: "local var = nil" 7 | - content: "local a, b, c = 1, nil, nil" 8 | - content: "local a, b = nil, call()" 9 | - content: "local var = call(), otherValue, true" 10 | --- 11 | 12 | This rule removes trailing `nil` values in local assignments. Additionally, it will trim unnecessary expressions in assignments when they do not cause any side-effects. 13 | -------------------------------------------------------------------------------- /site/content/rules/remove_unused_variable.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes unused variable declarations 3 | added_in: "0.13.0" 4 | parameters: [] 5 | examples: 6 | - content: "local var" 7 | - content: | 8 | local var1 = true 9 | local var2 = var1 10 | - content: "local var = call()" 11 | - content: "local function fn() print('unused') end" 12 | - content: | 13 | local a, b, c = 1, 2, 3 14 | return a 15 | --- 16 | 17 | This rule removes unused variables from code. It also removes unused local function definitions. 18 | -------------------------------------------------------------------------------- /site/content/rules/remove_unused_while.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Removes unused while statement 3 | added_in: "0.2.3" 4 | parameters: [] 5 | examples: 6 | - content: | 7 | while 'foo' == 'bar' do 8 | -- ... 9 | end 10 | --- 11 | 12 | When a condition from a while statement can be evaluated to false and has no side effects, this rule will remove the statement. For example, the following while statement would be removed. 13 | 14 | This rule is influenced by the evaluation system of darklua. The more darklua can evaluate code, the better this rule can be applied. 15 | -------------------------------------------------------------------------------- /site/darklua-wasm/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | Cargo.lock 4 | bin/ 5 | pkg/ 6 | node-pkg/ 7 | wasm-pack.log 8 | -------------------------------------------------------------------------------- /site/darklua-wasm/javascript-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /site/darklua-wasm/javascript-tests/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "darklua-wasm-tests", 3 | "private": true, 4 | "version": "0.1.0", 5 | "description": "", 6 | "main": "index.js", 7 | "scripts": { 8 | "build": "wasm-pack build -t nodejs", 9 | "test": "npx jest" 10 | }, 11 | "author": "jeparlefrancais ", 12 | "dependencies": { 13 | "darklua-wasm": "file:../pkg" 14 | }, 15 | "devDependencies": { 16 | "jest": "^29.7.0" 17 | }, 18 | "type": "module" 19 | } 20 | -------------------------------------------------------------------------------- /site/darklua-wasm/tests/web.rs: -------------------------------------------------------------------------------- 1 | //! Test suite for the Web and headless browsers. 2 | 3 | #![cfg(target_arch = "wasm32")] 4 | extern crate wasm_bindgen_test; 5 | use wasm_bindgen_test::*; 6 | 7 | use wasm_bindgen::JsValue; 8 | 9 | wasm_bindgen_test_configure!(run_in_browser); 10 | 11 | #[wasm_bindgen_test] 12 | fn process_empty_code() { 13 | assert_eq!( 14 | darklua_wasm::process_code("", JsValue::undefined()).unwrap(), 15 | "" 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /site/gatsby-browser.js: -------------------------------------------------------------------------------- 1 | // custom typefaces 2 | import "@fontsource-variable/comfortaa" 3 | 4 | // normalize CSS across browsers 5 | import "./src/normalize.css" 6 | // custom CSS styles 7 | import "./src/style.css" 8 | -------------------------------------------------------------------------------- /site/gatsby-ssr.js: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { getInitColorSchemeScript } from "@mui/material/styles" 3 | 4 | export function onRenderBody({ setPreBodyComponents }) { 5 | setPreBodyComponents([getInitColorSchemeScript()]) 6 | } 7 | -------------------------------------------------------------------------------- /site/src/components/ViewStateLink.js: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { Link } from "gatsby" 4 | import { ThemeContext } from "./theme-provider" 5 | 6 | const ViewStateLink = React.forwardRef( 7 | ({ to, state = {}, children, ...props }, ref) => { 8 | const { current: currentThemeName } = React.useContext(ThemeContext) 9 | 10 | return ( 11 | 17 | {children} 18 | 19 | ) 20 | }, 21 | ) 22 | 23 | export default ViewStateLink 24 | -------------------------------------------------------------------------------- /site/src/components/location-context.js: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | export const LocationContext = React.createContext(null) 4 | 5 | export const useLocation = () => React.useContext(LocationContext) 6 | -------------------------------------------------------------------------------- /site/src/components/new-tab-link.js: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Button } from "@mui/material" 3 | 4 | const NewTabLink = React.forwardRef(({ link, children, ...props }, ref) => { 5 | return ( 6 | 16 | ) 17 | }) 18 | 19 | export default NewTabLink 20 | -------------------------------------------------------------------------------- /site/src/components/theme-provider/dark.js: -------------------------------------------------------------------------------- 1 | const darkThemeOptions = { 2 | palette: { 3 | mode: "dark", 4 | primary: { 5 | main: "#8d73b5", 6 | }, 7 | secondary: { 8 | main: "#f50057", 9 | }, 10 | }, 11 | } 12 | 13 | export default darkThemeOptions 14 | -------------------------------------------------------------------------------- /site/src/components/theme-provider/light.js: -------------------------------------------------------------------------------- 1 | const lightThemeOptions = { 2 | palette: { 3 | mode: "light", 4 | primary: { 5 | main: "#644b8a", 6 | }, 7 | secondary: { 8 | main: "#f50057", 9 | }, 10 | }, 11 | } 12 | 13 | export default lightThemeOptions 14 | -------------------------------------------------------------------------------- /site/src/hooks/useThemeMode.js: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { useTheme } from "@mui/material" 4 | import { ThemeContext } from "../components/theme-provider" 5 | 6 | export const useThemeMode = ({ light, dark }) => { 7 | const theme = React.useContext(ThemeContext) 8 | const themeValue = useTheme() 9 | 10 | if (theme.current === "light") { 11 | if (typeof light === "function") { 12 | return light(themeValue) 13 | } 14 | return light 15 | } else { 16 | if (typeof dark === "function") { 17 | return dark(themeValue) 18 | } 19 | return dark 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /site/src/images/darklua-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaofvoices/darklua/e422125ae24846e383febf7ad7fded33c03fd584/site/src/images/darklua-icon.png -------------------------------------------------------------------------------- /site/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaofvoices/darklua/e422125ae24846e383febf7ad7fded33c03fd584/site/static/favicon.ico -------------------------------------------------------------------------------- /site/static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /src/cli/error.rs: -------------------------------------------------------------------------------- 1 | #[derive(Debug, Clone)] 2 | pub struct CliError { 3 | exit_code: i32, 4 | } 5 | 6 | impl CliError { 7 | pub fn new(exit_code: i32) -> Self { 8 | Self { exit_code } 9 | } 10 | 11 | pub fn exit_code(&self) -> i32 { 12 | self.exit_code 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/frontend/utils/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) fn maybe_plural(count: usize) -> &'static str { 2 | if count > 1 { 3 | "s" 4 | } else { 5 | "" 6 | } 7 | } 8 | 9 | #[cfg(test)] 10 | mod test { 11 | use super::*; 12 | 13 | #[test] 14 | fn maybe_plural_gives_s_when_size_is_above_one() { 15 | assert_eq!(maybe_plural(2), "s"); 16 | } 17 | 18 | #[test] 19 | fn maybe_plural_gives_s_when_size_is_one() { 20 | assert_eq!(maybe_plural(1), ""); 21 | } 22 | 23 | #[test] 24 | fn maybe_plural_gives_s_when_size_is_zero() { 25 | assert_eq!(maybe_plural(0), ""); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_empty_tuple.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | () 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_tuple_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__arguments__dense_arguments_tuple_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true,false) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__assign__dense_assign_two_variables_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo,var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__assign__dense_assign_two_variables_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo,var=nil,false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__assign__dense_assign_variable_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__binary__dense_binary_true_and_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true and false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__binary__dense_binary_true_equal_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true==false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__binary__dense_binary_type_cast_break_type_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true::Array ==false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__binary__dense_binary_wrap_left_to_break_type_field_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | (true::Collections.Array) =false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_assign__dense_local_assign_var_assign_to_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo()end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_variadic.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(...)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_variadic_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar,...)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_generic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local function foo():R...end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__local_function__dense_local_function_empty_with_two_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar,baz)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_binary_0b10101.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0b10101 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_0_005.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 5E-3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_0_5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0.5 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_1.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_100_25.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 100.25 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_123.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 123 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_1_2345e50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 12345E46 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_1_2345e_minus50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1.2345E-50 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_2000_05.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 2000.05 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_4_6982573308436185e159.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | 4.6982573308436185e159 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_nan.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (0/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_negative_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (-1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_positive_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__number__dense_number_number_thousand.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1E3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_typed_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i:number=start,max,step do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_typed_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i:number=start,max do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | for i=start,max,step do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__numeric_for__dense_numeric_for_empty_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | for i=start,max do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__prefix__dense_prefix_identifier.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__prefix__dense_prefix_identifier_in_parenthese.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (foo) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__repeat__dense_repeat_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | repeat until false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__string__dense_string_only_letters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'hello' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__string__dense_string_with_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Hi"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__string__dense_string_with_single_and_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Don\'t"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__string__dense_string_with_single_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | "I'm cool" 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_list_with_single_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_list_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true,false} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_mixed_table.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true,field=true,[false]=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_with_field_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {field=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__table__dense_table_with_index_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {[false]=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_callback_with_variadic_type_is_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn=(T...)->() 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_callback_with_variadic_type_is_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn=(...string)->() 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_exported_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | export type Str=string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_array.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array ={T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_array_with_default.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array ={T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =()->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =(T)->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =(T)->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Str=string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type StringArray={[number]:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_one_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Obj={name:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_table_with_one_property_and_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type PackedArray={n:number,[number]:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_type_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object=module.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__type_declaration__dense_type_declaration_type_field_with_name_ending_with_number.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object=module0.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__unary__dense_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | -2^2 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__unary__dense_unary_not_true.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not true 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__unary__dense_unary_two_unary_minus_breaks_between_them.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | - -a 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__unary__dense_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not(false or true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_single_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | |true 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_two_types.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true|false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__union_type__dense_union_type_two_types_with_leading_token.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | |true|false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__dense__snapshots__while_statement__dense_while_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | while false do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_empty_tuple.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | () 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_tuple_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__arguments__readable_arguments_tuple_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true, false) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__assign__readable_assign_two_variables_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo, var = false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__assign__readable_assign_two_variables_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo, var = nil, false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__assign__readable_assign_variable_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | var = false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__binary__readable_binary_true_and_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true and false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__binary__readable_binary_true_equal_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true == false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__binary__readable_binary_type_cast_break_type_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true::Array == false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__binary__readable_binary_wrap_left_to_break_type_field_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | (true::Collections.Array) < false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__binary__readable_binary_wrap_left_to_break_type_name_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | (true::Array) < false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_assign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | name = variable; 6 | (t).field = false 7 | 8 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_compound_assign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | name += variable + value; 6 | 7 | (t)[field] = false 8 | 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_function_call.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | fn(); 6 | 7 | (t)[field] += 1 8 | 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_local_assign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local name = if condition then true else fn(); 6 | 7 | (fn)() 8 | 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__block__readable_block_ambiguous_function_call_from_repeat.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | repeat until not variable; 6 | 7 | (t).field += 1 8 | 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__compound_assign_statement__readable_compound_assign_statement_increment_var_by_one.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | var += 1 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__do_statement__readable_do_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__do_statement__readable_do_statement_nested_do.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | do 7 | do end 8 | end 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__expression__readable_expression_false_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__expression__readable_expression_nil_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | nil 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__expression__readable_expression_true_in_parenthese.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__expression__readable_expression_true_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__expression__readable_expression_variable_arguments.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | ... 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__field__readable_field_identifier_ending_with_number_prefix.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | oof0.field 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__field__readable_field_identifier_prefix.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo.bar 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function() end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function(...) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function(a, ...) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_variadic_with_two_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function(a, b, ...) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_with_generic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function(): R... end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_expr__readable_function_expr_empty_with_two_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function(a, b) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function foo() end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_variadic_typed_with_one_typed_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(a: string, ...: any) end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_variadic_with_one_typed_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(a: string, ...) end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function foo.bar() end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_generic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(): T... end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_method.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | function foo:bar() end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_name_ending_with_number_with_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn1.bar() end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_one_typed_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(a: string) end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_string_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(): string end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_two_typed_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(a: string, b: bool) end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_variadic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(): ...(true | nil) end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__function_statement__readable_function_statement_empty_with_void_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | function fn(): () end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | for var in true do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty_with_two_typed_vars.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for key: string, value: bool in true do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__generic_for__readable_generic_for_empty_with_typed_var.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for var: string in true do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | if false then 7 | end 8 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty_with_empty_else.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | if false then 7 | else 8 | end 9 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__if_statement__readable_if_statement_empty_with_empty_multiple_branch.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | if false then 7 | elseif nil then 8 | elseif false then 9 | end 10 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__index__readable_index_identifier_prefix_with_identifier_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo[bar] 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_only_letters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `hello` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_backticks.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `Say: \`Hi\`` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `Say: "Hi"` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_empty_table.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `{ {}}` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_empty_table_in_type_cast.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `{ {}::any}` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_single_and_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `Say: "Don't"` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_single_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `I'm cool` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__interpolated_string__readable_interpolated_string_with_true_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | `{true}` 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_single_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | &true 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_two_types.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true&false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__intersection_type__readable_intersection_type_two_types_with_leading_token.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | &true&false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_break_statement.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | break 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_continue_statement.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | continue 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_return_one_expression.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | return true 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_return_parentheses.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | assertion_line: 690 4 | expression: generator.into_string() 5 | 6 | --- 7 | return (true) 8 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_return_two_expressions.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | return true, nil 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__last__readable_last_return_without_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | return 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_and_bar_typed_unassigned.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local foo, bar: false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_and_bar_unassigned.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local foo, bar 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_typed_unassigned.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local foo: true 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_foo_unassigned.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local foo 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_typed_generic_var_break_equal_sign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local var: List = false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_assign__readable_local_assign_var_assign_to_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local var = false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo() end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_variadic.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(...) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_variadic_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar, ...) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_generic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local function foo(): R... end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__local_function__readable_local_function_empty_with_two_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar, baz) end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_binary_0b10101.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0b10101 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_0_005.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 5E-3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_0_5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0.5 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_1.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_100_25.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 100.25 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_123.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 123 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_1_2345e50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 12345E46 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_1_2345e_minus50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1.2345E-50 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_2000_05.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 2000.05 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_4_6982573308436185e159.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | 4.6982573308436185e159 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_nan.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (0/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_negative_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (-1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_positive_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__number__readable_number_number_thousand.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1E3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_typed_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i: number = start, max, step do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_typed_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i: number = start, max do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i = start, max, step do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__numeric_for__readable_numeric_for_empty_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i = start, max do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__prefix__readable_prefix_identifier.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__prefix__readable_prefix_identifier_in_parenthese.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (foo) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__repeat__readable_repeat_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | repeat until false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__string__readable_string_only_letters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'hello' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__string__readable_string_with_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Hi"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__string__readable_string_with_single_and_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Don\'t"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__string__readable_string_with_single_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | "I'm cool" 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_list_with_single_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_list_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true, false} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_mixed_table.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | { 7 | true, 8 | field = true, 9 | [false] = true, 10 | } 11 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_with_field_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {field = true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__table__readable_table_with_index_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {[false] = true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_callback_with_variadic_type_is_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn = (T...) -> () 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_callback_with_variadic_type_is_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn = (...string) -> () 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_exported_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | export type Str = string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_array.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array = {T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_array_with_default.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array = {T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn = () -> R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn = (T) -> R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn = (T) -> R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Str = string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type StringArray = {[number]: string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Obj = {name: string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_table_with_one_property_and_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type PackedArray = {n: number, [number]: string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_type_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object = module.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__type_declaration__readable_type_declaration_type_field_with_name_ending_with_number.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object = module0.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__unary__readable_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | -2 ^ 2 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__unary__readable_unary_not_true.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not true 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__unary__readable_unary_two_unary_minus_breaks_between_them.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | - -a 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__unary__readable_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not (false or true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_single_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | | true 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_two_types.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true | false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__union_type__readable_union_type_two_types_with_leading_token.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | | true | false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__readable__snapshots__while_statement__readable_while_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | while false do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_empty_tuple.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | () 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_tuple_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__arguments__token_based_arguments_tuple_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (true, false) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_two_variables_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo, var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_two_variables_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo, var=nil, false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__assign__token_based_assign_variable_with_one_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_true_and_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true and false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_true_equal_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | true==false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_type_cast_break_type_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true::Array ==false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__binary__token_based_binary_wrap_left_to_break_type_field_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | (true::Collections.Array) =false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_assign__token_based_local_assign_var_assign_to_false.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local var=false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo()end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_variadic.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(...)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_variadic_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar, ...)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_generic_pack_return_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | local function foo():R...end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_one_parameter.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__local_function__token_based_local_function_empty_with_two_parameters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | local function foo(bar, baz)end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_binary_0b10101.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0b10101 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_0_005.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 5E-3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_0_5.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 0.5 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_100_25.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 100.25 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_123.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 123 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1_2345e50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 12345E46 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_1_2345e_minus50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1.2345E-50 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_2000_05.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 2000.05 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_4_6982573308436185e159.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | 4.6982573308436185e159 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_nan.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (0/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_negative_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (-1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_positive_infinity.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (1/0) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__number__token_based_number_number_thousand.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 1E3 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_typed_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i:number=start,max,step do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_typed_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | for i:number=start,max do end 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_with_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | for i=start,max,step do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__numeric_for__token_based_numeric_for_empty_without_step.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | for i=start,max do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__prefix__token_based_prefix_identifier.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | foo 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__prefix__token_based_prefix_identifier_in_parenthese.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | (foo) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__repeat__token_based_repeat_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | repeat until false 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__string__token_based_string_only_letters.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'hello' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Hi"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_single_and_double_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | 'Say: "Don\'t"' 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__string__token_based_string_with_single_quotes.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | "I'm cool" 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_list_with_single_value.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_list_with_two_values.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true, false} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_mixed_table.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {true, field=true, [false]=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_with_field_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {field=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__table__token_based_table_with_index_entry.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | {[false]=true} 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_callback_with_variadic_type_is_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn=(T...)->() 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_callback_with_variadic_type_is_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn=(...string)->() 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_exported_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | export type Str=string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_array.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array ={T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_array_with_default.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Array ={T} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =()->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_type_variable_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =(T)->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_generic_fn_with_type_variable_with_default_and_default_generic_pack.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Fn =(T)->R... 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_string_alias.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Str=string 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type StringArray={[number]:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_one_property.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Obj={name:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_table_with_one_property_and_indexer_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type PackedArray={n:number, [number]:string} 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_type_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object=module.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__type_declaration__token_based_type_declaration_type_field_with_name_ending_with_number.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | type Object=module0.Object 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_does_not_wrap_in_parens_if_an_inner_binary_has_higher_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | -2^2 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_not_true.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not true 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_two_unary_minus_breaks_between_them.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | - -a 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__unary__token_based_unary_wraps_in_parens_if_an_inner_binary_has_lower_precedence.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | not(false or true) 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_single_type.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | |true 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_two_types.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | true|false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__union_type__token_based_union_type_two_types_with_leading_token.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | --- 5 | |true|false 6 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__test__token_based__snapshots__while_statement__token_based_while_statement_empty.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/mod.rs 3 | expression: generator.into_string() 4 | 5 | --- 6 | while false do end 7 | -------------------------------------------------------------------------------- /src/generator/snapshots/darklua_core__generator__token_based__test__inserts_a_new_line_after_custom_added_comments.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/generator/token_based.rs 3 | expression: output 4 | 5 | --- 6 | call(a--new comment 7 | ,b--new comment 8 | ) 9 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | //! Transform Lua scripts. 2 | 3 | mod ast_converter; 4 | mod frontend; 5 | pub mod generator; 6 | pub mod nodes; 7 | mod parser; 8 | pub mod process; 9 | pub mod rules; 10 | mod utils; 11 | 12 | pub use frontend::{ 13 | convert_data, process, BundleConfiguration, Configuration, DarkluaError, GeneratorParameters, 14 | Options, Resources, WorkerTree, 15 | }; 16 | pub use parser::{Parser, ParserError}; 17 | -------------------------------------------------------------------------------- /src/nodes/expressions/snapshots/darklua_core__nodes__expressions__test__expression_from_floats__f64_0.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/nodes/expressions/mod.rs 3 | assertion_line: 332 4 | expression: result 5 | --- 6 | Number( 7 | Decimal( 8 | DecimalNumber { 9 | float: 0.0, 10 | exponent: None, 11 | token: None, 12 | }, 13 | ), 14 | ) 15 | -------------------------------------------------------------------------------- /src/nodes/expressions/snapshots/darklua_core__nodes__expressions__test__expression_from_floats__f64_1_2345e50.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/nodes/expressions/mod.rs 3 | expression: result 4 | --- 5 | Number( 6 | Decimal( 7 | DecimalNumber { 8 | float: 1.2345e50, 9 | exponent: Some( 10 | ( 11 | 46, 12 | true, 13 | ), 14 | ), 15 | token: None, 16 | }, 17 | ), 18 | ) 19 | -------------------------------------------------------------------------------- /src/nodes/expressions/snapshots/darklua_core__nodes__expressions__test__expression_from_floats__f64_1e42.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/nodes/expressions/mod.rs 3 | expression: result 4 | --- 5 | Number( 6 | Decimal( 7 | DecimalNumber { 8 | float: 1e42, 9 | exponent: Some( 10 | ( 11 | 42, 12 | true, 13 | ), 14 | ), 15 | token: None, 16 | }, 17 | ), 18 | ) 19 | -------------------------------------------------------------------------------- /src/nodes/expressions/snapshots/darklua_core__nodes__expressions__test__expression_from_floats__f64_minus_zero.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/nodes/expressions/mod.rs 3 | expression: result 4 | --- 5 | Number( 6 | Decimal( 7 | DecimalNumber { 8 | float: -0.0, 9 | exponent: None, 10 | token: None, 11 | }, 12 | ), 13 | ) 14 | -------------------------------------------------------------------------------- /src/nodes/expressions/snapshots/darklua_core__nodes__expressions__test__expression_from_floats__i64_minus_one.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/nodes/expressions/mod.rs 3 | expression: result 4 | --- 5 | Unary( 6 | UnaryExpression { 7 | operator: Minus, 8 | expression: Number( 9 | Decimal( 10 | DecimalNumber { 11 | float: 1.0, 12 | exponent: None, 13 | token: None, 14 | }, 15 | ), 16 | ), 17 | token: None, 18 | }, 19 | ) 20 | -------------------------------------------------------------------------------- /src/nodes/types/function_variadic_type.rs: -------------------------------------------------------------------------------- 1 | use super::{GenericTypePack, Type}; 2 | 3 | #[derive(Clone, Debug, PartialEq, Eq)] 4 | pub enum FunctionVariadicType { 5 | Type(Type), 6 | GenericTypePack(GenericTypePack), 7 | } 8 | 9 | impl From for FunctionVariadicType { 10 | fn from(value: GenericTypePack) -> Self { 11 | Self::GenericTypePack(value) 12 | } 13 | } 14 | 15 | impl> From for FunctionVariadicType { 16 | fn from(value: T) -> Self { 17 | Self::Type(value.into()) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/process/processors/mod.rs: -------------------------------------------------------------------------------- 1 | //! A collection of utility processors that can be used when creating rules. 2 | 3 | mod find_identifier; 4 | mod find_usage; 5 | 6 | pub use find_identifier::*; 7 | pub(crate) use find_usage::*; 8 | -------------------------------------------------------------------------------- /src/rules/bundle/snapshots/darklua_core__rules__bundle__test__default_bundler.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/bundle/mod.rs 3 | expression: rule 4 | --- 5 | "bundler" 6 | -------------------------------------------------------------------------------- /src/rules/convert_require/snapshots/darklua_core__rules__convert_require__test__default_convert_require.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/convert_require/mod.rs 3 | expression: rule 4 | --- 5 | "convert_require" 6 | -------------------------------------------------------------------------------- /src/rules/rename_variables/function_names.rs: -------------------------------------------------------------------------------- 1 | use crate::nodes::LocalFunctionStatement; 2 | use crate::process::NodeProcessor; 3 | 4 | #[derive(Debug, Clone, Default)] 5 | pub struct CollectFunctionNames { 6 | names: Vec, 7 | } 8 | 9 | impl From for Vec { 10 | fn from(collector: CollectFunctionNames) -> Self { 11 | collector.names 12 | } 13 | } 14 | 15 | impl NodeProcessor for CollectFunctionNames { 16 | fn process_local_function_statement(&mut self, function: &mut LocalFunctionStatement) { 17 | self.names 18 | .push(function.get_identifier().get_name().to_owned()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/rules/rename_variables/snapshots/darklua_core__rules__rename_variables__test__default_rename_variables.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/rename_variables/mod.rs 3 | expression: new_rule() 4 | 5 | --- 6 | "rename_variables" 7 | -------------------------------------------------------------------------------- /src/rules/rename_variables/snapshots/darklua_core__rules__rename_variables__test__no_globals_rename_variables.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/rename_variables/mod.rs 3 | expression: "Box::new(RenameVariables::new(empty())) as Box" 4 | 5 | --- 6 | { 7 | "rule": "rename_variables", 8 | "globals": [] 9 | } 10 | -------------------------------------------------------------------------------- /src/rules/rename_variables/snapshots/darklua_core__rules__rename_variables__test__rename_variables_with_function_names.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/rename_variables/mod.rs 3 | expression: rule as Box 4 | 5 | --- 6 | { 7 | "rule": "rename_variables", 8 | "include_functions": true 9 | } 10 | -------------------------------------------------------------------------------- /src/rules/rename_variables/snapshots/darklua_core__rules__rename_variables__test__roblox_globals_rename_variables.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/rename_variables/mod.rs 3 | expression: rule as Box 4 | 5 | --- 6 | { 7 | "rule": "rename_variables", 8 | "globals": [ 9 | "$roblox" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/rules/require/mod.rs: -------------------------------------------------------------------------------- 1 | mod match_require; 2 | mod path_iterator; 3 | mod path_locator; 4 | mod path_require_mode; 5 | 6 | pub(crate) use match_require::{is_require_call, match_path_require_call}; 7 | pub(crate) use path_locator::RequirePathLocator; 8 | pub(crate) use path_require_mode::PathRequireMode; 9 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__append_text_comment__test__append_text_comment_with_text.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/append_text_comment.rs 3 | expression: rule 4 | --- 5 | { 6 | "rule": "append_text_comment", 7 | "text": "content" 8 | } 9 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__append_text_comment__test__append_text_comment_with_text_at_end.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/append_text_comment.rs 3 | expression: rule 4 | --- 5 | { 6 | "rule": "append_text_comment", 7 | "location": "end", 8 | "text": "content" 9 | } 10 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__call_parens__test__default_remove_function_call_parens.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/call_parens.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_function_call_parens" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__compute_expression__test__default_compute_expression.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/compute_expression.rs 3 | expression: rule 4 | 5 | --- 6 | "compute_expression" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__convert_index_to_field__test__default_convert_index_to_field.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/convert_index_to_field.rs 3 | expression: rule 4 | 5 | --- 6 | "convert_index_to_field" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__empty_do__test__default_remove_empty_do.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/empty_do.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_empty_do" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__filter_early_return__test__default_filter_after_early_return.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/filter_early_return.rs 3 | assertion_line: 94 4 | expression: rule 5 | 6 | --- 7 | "filter_after_early_return" 8 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__group_local__test__default_group_local_assignment.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/group_local.rs 3 | expression: rule 4 | 5 | --- 6 | "group_local_assignment" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_false_value_as_foo.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "foo", 9 | "value": false 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_float_value_as_var.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "VAR", 9 | "value": 123.45 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_hello_value_as_var.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "VAR", 9 | "value": "hello" 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_integer_value_as_var.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "VAR", 9 | "value": 1 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_negative_integer_value_as_var.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "VAR", 9 | "value": -100.0 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_nil_value_as_foo.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "foo", 9 | "value": null 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__inject_value__test__inject_true_value_as_foo.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/inject_value.rs 3 | expression: rule 4 | 5 | --- 6 | { 7 | "rule": "inject_global_value", 8 | "identifier": "foo", 9 | "value": true 10 | } 11 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__method_def__test__default_remove_method_definition.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/method_def.rs 3 | expression: wrap(new_rule()) 4 | 5 | --- 6 | "remove_method_definition" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__no_local_function__test__default_convert_local_function_to_assign.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/no_local_function.rs 3 | expression: new_rule() 4 | 5 | --- 6 | "convert_local_function_to_assign" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_assertions__test__default_remove_assertions.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_assertions.rs 3 | expression: rule 4 | --- 5 | "remove_assertions" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_assertions__test__remove_assertions_without_side_effects.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_assertions.rs 3 | expression: rule 4 | --- 5 | { 6 | "rule": "remove_assertions", 7 | "preserve_arguments_side_effects": false 8 | } 9 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_comments__test__default_remove_comments.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_comments.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_comments" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_comments__test__remove_comments_configure_with_invalid_regex_error.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_comments.rs 3 | expression: result.unwrap_err().to_string() 4 | --- 5 | unexpected value for field 'except': invalid regex provided `^[0-9` 6 | regex parse error: 7 | ^[0-9 8 | ^ 9 | error: unclosed character class 10 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_compound_assign__test__default_remove_compound_assignment.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_compound_assign.rs 3 | expression: rule 4 | --- 5 | "remove_compound_assignment" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_continue__test__default_remove_continue.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_continue.rs 3 | expression: rule 4 | --- 5 | "remove_continue" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_debug_profiling__test__default_remove_debug_profiling.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_debug_profiling.rs 3 | expression: rule 4 | --- 5 | "remove_debug_profiling" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_debug_profiling__test__remove_debug_profiling_without_side_effects.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_debug_profiling.rs 3 | expression: rule 4 | --- 5 | { 6 | "rule": "remove_debug_profiling", 7 | "preserve_arguments_side_effects": false 8 | } 9 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_floor_division__test__default_remove_floor_division.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_floor_division.rs 3 | expression: rule 4 | --- 5 | "remove_floor_division" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_if_expression__test__default_remove_if_expression.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_if_expression.rs 3 | expression: rule 4 | --- 5 | "remove_if_expression" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_interpolated_string__test__default_remove_interpolated_string.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_interpolated_string.rs 3 | expression: rule 4 | --- 5 | "remove_interpolated_string" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_interpolated_string__test__remove_interpolated_string_tostring_strategy.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_interpolated_string.rs 3 | expression: rule 4 | --- 5 | { 6 | "rule": "remove_interpolated_string", 7 | "strategy": "tostring" 8 | } 9 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_nil_declarations__test__default_remove_nil_declaration.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_nil_declarations.rs 3 | assertion_line: 64 4 | expression: rule 5 | 6 | --- 7 | "remove_nil_declaration" 8 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_spaces__test__default_remove_spaces.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_spaces.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_spaces" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_types__test__default_remove_types.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_types.rs 3 | expression: rule 4 | --- 5 | "remove_types" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__remove_unused_variable__test__default_remove_unused_variable.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/remove_unused_variable.rs 3 | expression: rule 4 | --- 5 | "remove_unused_variable" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__rename_type_declaration__test__default_rename_type_declaration.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/rename_type_declaration.rs 3 | expression: rule 4 | --- 5 | "rename_type_declaration" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__replace_referenced_tokens__test__default_replace_referenced_tokens.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/replace_referenced_tokens.rs 3 | expression: rule 4 | --- 5 | "replace_referenced_tokens" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__shift_token_line__test__default_replace_referenced_tokens.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/shift_token_line.rs 3 | expression: rule 4 | --- 5 | "shift_token_line" 6 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__test__default_rules.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/mod.rs 3 | expression: rules 4 | --- 5 | [ 6 | "remove_spaces", 7 | "remove_comments", 8 | "compute_expression", 9 | "remove_unused_if_branch", 10 | "remove_unused_while", 11 | "filter_after_early_return", 12 | "remove_empty_do", 13 | "remove_unused_variable", 14 | "remove_method_definition", 15 | "convert_index_to_field", 16 | "remove_nil_declaration", 17 | "rename_variables", 18 | "remove_function_call_parens" 19 | ] 20 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__unused_if_branch__test__default_remove_unused_if_branch.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/unused_if_branch.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_unused_if_branch" 7 | -------------------------------------------------------------------------------- /src/rules/snapshots/darklua_core__rules__unused_while__test__default_remove_unused_while.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: src/rules/unused_while.rs 3 | expression: rule 4 | 5 | --- 6 | "remove_unused_while" 7 | -------------------------------------------------------------------------------- /tests/fuzzed_test_cases/c.lua: -------------------------------------------------------------------------------- 1 | repeat 2 | function P75j.lbVvDb2Q(Bof, oVik) end 3 | 4 | for Z9r in 0b1000001110011110001 do end 5 | 6 | while... do end 7 | 8 | OJlQ6.S *= {} 9 | 10 | local function hcfLMV(pY, Y1VqO, hmrm, tKmKa, ...) end 11 | until 0x2f1c 12 | 13 | while if sn4y then false else false do 14 | local Tc 15 | 16 | local function yPA(yNA, oZaVq8Z, ...) end 17 | end 18 | 19 | for HaJx=..., {}, {}do 20 | if rT then 21 | end 22 | 23 | wsI ..= {} 24 | end 25 | 26 | repeat until Ep 27 | 28 | function ETN:KJ4y(sz, rsas7V, ...) end 29 | 30 | return nil 31 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_module_from_child_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | expression: "process `tests/test_cases/sourcemap/src/d/d2.lua`" 4 | --- 5 | local c = require(script.Parent.Parent:FindFirstChild('c')) 6 | 7 | return c .. c 8 | 9 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_module_require_across_service_instance.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | assertion_line: 152 4 | expression: "process `tests/test_cases/sourcemap/main.server.lua`" 5 | --- 6 | local Project = require(game:GetService('ReplicatedStorage'):FindFirstChild('Project')) 7 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_multiple_sibling_modules_from_root_init_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | expression: "process `tests/test_cases/sourcemap/src/init.lua`" 4 | --- 5 | local b = require(script:FindFirstChild('b')) 6 | local c = require(script:FindFirstChild('c')) 7 | local d = require(script:FindFirstChild('d')) 8 | 9 | local Package1 = require(script:FindFirstChild('Packages'):FindFirstChild('Package1')) 10 | 11 | return { 12 | b = b, 13 | c = c, 14 | d = d, 15 | Package1 = Package1, 16 | } 17 | 18 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_nested_package_module_from_sibling_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | expression: "process `tests/test_cases/sourcemap/Packages/Package1/init.lua`" 4 | --- 5 | return require(script:FindFirstChild('value')) 6 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_package_module_from_nested_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | expression: "process `tests/test_cases/sourcemap/src/d/d1.lua`" 4 | --- 5 | local Package1 = require(script.Parent.Parent:FindFirstChild('Packages'):FindFirstChild('Package1')) 6 | 7 | return Package1 .. Package1 8 | 9 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__convert_require__convert_sibling_module_from_init_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/convert_require.rs 3 | expression: "process `tests/test_cases/sourcemap/src/d/init.lua`" 4 | --- 5 | return { 6 | d1 = require(script:FindFirstChild('d1')), 7 | d2 = require(script:FindFirstChild('d2')), 8 | } 9 | 10 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__for_continue_with_comment.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | local __DARKLUA_CONTINUE_1=false repeat if i % 2 == 0 then 7 | __DARKLUA_CONTINUE_1=true break -- Skip even numbers 8 | end 9 | -- Print odd numbers 10 | print(i) 11 | __DARKLUA_CONTINUE_1=true until true if not __DARKLUA_CONTINUE_1 then break end end 12 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__for_inside_while.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | while notDone() do 6 | if hasEnded() then 7 | break 8 | end 9 | for i = 1, 10 do 10 | local __DARKLUA_CONTINUE_2=false repeat if i == 1 then 11 | __DARKLUA_CONTINUE_2=true break 12 | end 13 | print(i) 14 | __DARKLUA_CONTINUE_2=true until true if not __DARKLUA_CONTINUE_2 then break end end 15 | end 16 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__for_loop_continue_in_function_expression.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | array[i] = function() 7 | for j = i, i + 10 do 8 | local __DARKLUA_CONTINUE_2=false repeat if j % 2 == 0 then 9 | __DARKLUA_CONTINUE_2=true break 10 | else 11 | print(i) 12 | end 13 | __DARKLUA_CONTINUE_2=true until true if not __DARKLUA_CONTINUE_2 then break end end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__for_loop_with_only_continue.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | local __DARKLUA_CONTINUE_1=false repeat __DARKLUA_CONTINUE_1=true break 7 | until true if not __DARKLUA_CONTINUE_1 then break end end 8 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__function_with_continue.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | local __DARKLUA_CONTINUE_1=false repeat local function shouldSkip(val) 7 | return val % 2 == 0 8 | end 9 | if shouldSkip(i) then 10 | __DARKLUA_CONTINUE_1=true break 11 | end 12 | print(i) 13 | __DARKLUA_CONTINUE_1=true until true if not __DARKLUA_CONTINUE_1 then break end end 14 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__generic_for_continue_or_break.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for key, value in array do 6 | local __DARKLUA_CONTINUE_1=false repeat if skip(key) then 7 | __DARKLUA_CONTINUE_1=true break 8 | elseif stop(key) then 9 | break 10 | end 11 | print(value) 12 | __DARKLUA_CONTINUE_1=true until true if not __DARKLUA_CONTINUE_1 then break end end 13 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__multiple_conditions_continue.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | local __DARKLUA_CONTINUE_1=false repeat if i < 3 or i > 8 then 7 | __DARKLUA_CONTINUE_1=true break 8 | end 9 | print(i) 10 | __DARKLUA_CONTINUE_1=true until true if not __DARKLUA_CONTINUE_1 then break end end 11 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__nested_for_continue_statements.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | for j = 1, 10 do 7 | local __DARKLUA_CONTINUE_2=false repeat if j % 2 == 0 then 8 | __DARKLUA_CONTINUE_2=true break 9 | end 10 | print(i, j) 11 | __DARKLUA_CONTINUE_2=true until true if not __DARKLUA_CONTINUE_2 then break end end 12 | end 13 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__numeric_for_continue_first_case.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for i = 1, 10 do 6 | local __DARKLUA_CONTINUE_1=false repeat if i == 1 then 7 | __DARKLUA_CONTINUE_1=true break 8 | end 9 | print(i) 10 | __DARKLUA_CONTINUE_1=true until true if not __DARKLUA_CONTINUE_1 then break end end 11 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__rule_tests__remove_continue__remove_continue_snapshots__repeat_inside_for.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/rule_tests/remove_continue.rs 3 | expression: lua_code 4 | --- 5 | for key, value in array do 6 | if type(key) == 'number' then 7 | repeat 8 | key -= 1 9 | until key == 0 10 | elseif stop(key) then 11 | break 12 | end 13 | print(value) 14 | end 15 | -------------------------------------------------------------------------------- /tests/rule_tests/snapshots/rules__utils__invalid_sourcemap.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/utils.rs 3 | assertion_line: 67 4 | --- 5 | error processing `src/init.lua` (convert_require [#0]): unable to read json data: EOF while parsing a value at line 1 column 0 (unable to parse Rojo sourcemap at `./sourcemap.json`) 6 | -------------------------------------------------------------------------------- /tests/rules.rs: -------------------------------------------------------------------------------- 1 | mod ast_fuzzer; 2 | mod rule_tests; 3 | mod utils; 4 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__bundle_without_rules_require_skip_unknown_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: main 4 | --- 5 | local library = require('@lune/library') 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__cyclic_requires__direct_cycle_in_required_file_with_ok_require.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): cyclic require detected with `src/value1.lua` > `src/value2.lua` > `src/value1.lua` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__cyclic_requires__simple_direct_cycle.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): cyclic require detected with `src/value1.lua` > `src/value2.lua` > `src/value1.lua` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__cyclic_requires__simple_direct_cycle_in_required_file.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): cyclic require detected with `src/value1.lua` > `src/value2.lua` > `src/value1.lua` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__cyclic_requires__simple_transitive_cycle.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): cyclic require detected with `src/value1.lua` > `src/constant.lua` > `src/value2.lua` > `src/value1.lua` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__cyclic_requires__two_different_direct_cycles.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): 6 | - cyclic require detected with `src/constant1.lua` > `src/constant2.lua` > `src/constant1.lua` 7 | - cyclic require detected with `src/value1.lua` > `src/value2.lua` > `src/value1.lua` 8 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_empty_path_errors.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): unable to require resource at ``: path is empty 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_lua_file_with_parser_error.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): 6 | unable to parse `src/value.lua`: error occurred while creating ast: unexpected token ``. (starting from line 1, character 10 and ending on line 1, character 10) 7 | additional information: unexpected expression when looking for a statement 8 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_lua_file_with_unsupported_extension.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): unable to require resource with extension `error` at `src/value.error` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_own_lua_file.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): cyclic require detected with `src/main.lua` > `src/main.lua` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_unknown_module.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): unable to require resource at `@lune/library`: unknown source name `@lune` 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_unknown_relative_file.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): unable to find `src/library` (tried `src/library`, `src/library.luau`, `src/library.lua`, `src/library/init`, `src/library/init.luau`, `src/library/init.lua`) 6 | -------------------------------------------------------------------------------- /tests/snapshots/bundle__without_rules__require_unknown_relative_file_with_extension.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/bundle.rs 3 | expression: "error_display.join(\"\\n\")" 4 | --- 5 | error processing `src/main.lua` (bundler): unable to find `src/library.luau` (tried `src/library.luau`) 6 | -------------------------------------------------------------------------------- /tests/snapshots/convert_help_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | Convert a data file [json, json5, yaml, toml] into a Lua file 6 | 7 | Usage: darklua convert [OPTIONS] [OUTPUT] 8 | 9 | Arguments: 10 | Data file to convert to Lua 11 | [OUTPUT] Path where to write the Lua file 12 | 13 | Options: 14 | -f, --format Data format ('json', 'yaml' or 'toml') 15 | -v, --verbose... Sets verbosity level (can be specified multiple times) 16 | -h, --help Print help 17 | -V, --version Print version 18 | 19 | -------------------------------------------------------------------------------- /tests/snapshots/frontend__errors__missing_configuration_file.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/frontend.rs 3 | expression: errors_display 4 | --- 5 | - unable to find `missing/config.json` (expected to find configuration file as provided by the options) 6 | -------------------------------------------------------------------------------- /tests/snapshots/frontend__errors__multiple_configuration_file_found.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/frontend.rs 3 | expression: errors_display 4 | --- 5 | - multiple default configuration file found: `.darklua.json`, `.darklua.json5` 6 | -------------------------------------------------------------------------------- /tests/snapshots/frontend__errors__simple_cyclic_work_error.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/frontend.rs 3 | expression: errors_display 4 | --- 5 | - cyclic work detected: 6 | `src/a.lua` needs: 7 | - src/b.lua 8 | `src/b.lua` needs: 9 | - src/a.lua 10 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_errors_when_no_extension_and_no_format.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | an error happened: unable to find data format because the input file 'data' has no extension. Specify the data format using the '--format' option 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_errors_when_unrecognized_extension.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | an error happened: invalid data format 'yoyo' (possible options are: 'json', 'json5', 'yml' or 'toml') [unrecognized file extension] 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_on_json_file_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return{property=true} 6 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_on_json_file_stdout.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return{property=true} 6 | 7 | successfully converted data.json (in {{DURATION}}) 8 | 9 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_on_json_file_with_output.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully converted data.json (in {{DURATION}}) 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_convert_command_on_json_without_extension_file_with_output.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully converted data (in {{DURATION}}) 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_minify_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully minified 1 file (in {{DURATION}}) 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_minify_command_init_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return 1+1 6 | -------------------------------------------------------------------------------- /tests/snapshots/run_minify_verbose_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully minified 1 file (in {{DURATION}}) 6 | 7 | INFO > successfully processed `src/init.lua` 8 | INFO > executed work in {{DURATION}} 9 | 10 | -------------------------------------------------------------------------------- /tests/snapshots/run_minify_with_column_span_command_init_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | 6 | return 7 | 1+ 8 | 1 9 | -------------------------------------------------------------------------------- /tests/snapshots/run_minify_with_column_span_in_config_command_init_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return 1+1 6 | -------------------------------------------------------------------------------- /tests/snapshots/run_process_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully processed 1 file (in {{DURATION}}) 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_process_command_init_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return 2 6 | -------------------------------------------------------------------------------- /tests/snapshots/run_process_custom_config_command_out.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | return true 6 | -------------------------------------------------------------------------------- /tests/snapshots/run_process_single_file_custom_config.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully processed 1 file (in {{DURATION}}) 6 | 7 | -------------------------------------------------------------------------------- /tests/snapshots/run_process_verbose_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | successfully processed 1 file (in {{DURATION}}) 6 | 7 | INFO > using default configuration 8 | INFO > successfully processed `src/init.lua` 9 | INFO > executed work in {{DURATION}} 10 | 11 | -------------------------------------------------------------------------------- /tests/snapshots/short_help_command.snap: -------------------------------------------------------------------------------- 1 | --- 2 | source: tests/cli.rs 3 | expression: content 4 | --- 5 | Transform Lua scripts 6 | 7 | Usage: darklua [OPTIONS] 8 | 9 | Commands: 10 | minify Minify lua files without applying any transformation 11 | process Process lua files with rules 12 | convert Convert a data file [json, json5, yaml, toml] into a Lua file 13 | help Print this message or the help of the given subcommand(s) 14 | 15 | Options: 16 | -v, --verbose... Sets verbosity level (can be specified multiple times) 17 | -h, --help Print help (see more with '--help') 18 | -V, --version Print version 19 | 20 | -------------------------------------------------------------------------------- /tests/test_cases/small_bundle/format.lua: -------------------------------------------------------------------------------- 1 | local function format(value) 2 | return '[' .. tostring(value) .. ']' 3 | end 4 | 5 | return format -- comment after returning format function 6 | -------------------------------------------------------------------------------- /tests/test_cases/small_bundle/initialize.lua: -------------------------------------------------------------------------------- 1 | local function initialize() 2 | end 3 | 4 | return initialize 5 | -------------------------------------------------------------------------------- /tests/test_cases/small_bundle/main.lua: -------------------------------------------------------------------------------- 1 | local initialize = require("./initialize") -- import initialize module 2 | 3 | local value = require("./value") -- import value module 4 | 5 | local format = require("./format") --[[ import format module ]] 6 | 7 | print(format(value.number1 + value.number2)) 8 | -------------------------------------------------------------------------------- /tests/test_cases/small_bundle/value.lua: -------------------------------------------------------------------------------- 1 | local function generateNumber() 2 | return math.random(1, 9999) 3 | end 4 | 5 | return { 6 | zero = 0, 7 | one = 1, 8 | hex = 0x10, 9 | binary = 0b1010, 10 | number1 = generateNumber(), 11 | number2 = generateNumber(), 12 | number3 = generateNumber(), 13 | } 14 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/Packages/Package1/init.lua: -------------------------------------------------------------------------------- 1 | return require("./value") 2 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/Packages/Package1/value.lua: -------------------------------------------------------------------------------- 1 | return "Package1" 2 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/default.project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Project", 3 | "tree": { 4 | "$path": "src", 5 | "Packages": { 6 | "$path": "Packages" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/main.server.lua: -------------------------------------------------------------------------------- 1 | local Project = require("./src") 2 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/notes.txt: -------------------------------------------------------------------------------- 1 | Generate the sourcemaps using Rojo: 2 | 3 | ```sh 4 | rojo sourcemap tests/test_cases/sourcemap/default.project.json > tests/test_cases/sourcemap/sourcemap.json 5 | rojo sourcemap tests/test_cases/sourcemap/place.project.json > tests/test_cases/sourcemap/place-sourcemap.json 6 | ``` 7 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/place.project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Roblox Place", 3 | "tree": { 4 | "$className": "DataModel", 5 | "ReplicatedStorage": { 6 | "$className": "ReplicatedStorage", 7 | "Project": { 8 | "$path": "src", 9 | "Packages": { 10 | "$path": "Packages" 11 | } 12 | } 13 | }, 14 | "ServerScriptService": { 15 | "$className": "ServerScriptService", 16 | "MainScript": { 17 | "$path": "main.server.lua" 18 | } 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/a.lua: -------------------------------------------------------------------------------- 1 | local function newPrint(...) 2 | print("a", ...) 3 | end 4 | 5 | return newPrint 6 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/b.lua: -------------------------------------------------------------------------------- 1 | local a = require("./a") 2 | 3 | return a 4 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/c.lua: -------------------------------------------------------------------------------- 1 | return "c" 2 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/d/d1.lua: -------------------------------------------------------------------------------- 1 | local Package1 = require("@pkg/Package1") 2 | 3 | return Package1 .. Package1 4 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/d/d2.lua: -------------------------------------------------------------------------------- 1 | local c = require("../c") 2 | 3 | return c .. c 4 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/d/init.lua: -------------------------------------------------------------------------------- 1 | return { 2 | d1 = require("./d1"), 3 | d2 = require("./d2"), 4 | } 5 | -------------------------------------------------------------------------------- /tests/test_cases/sourcemap/src/init.lua: -------------------------------------------------------------------------------- 1 | local b = require("./b") 2 | local c = require("./c") 3 | local d = require("./d") 4 | 5 | local Package1 = require("@pkg/Package1") 6 | 7 | return { 8 | b = b, 9 | c = c, 10 | d = d, 11 | Package1 = Package1, 12 | } 13 | --------------------------------------------------------------------------------