tree-sitter-al 0.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tree_sitter_al-0.0.0/.claude/rules/attributes.md +45 -0
- tree_sitter_al-0.0.0/.claude/rules/contextual-keywords.md +37 -0
- tree_sitter_al-0.0.0/.claude/rules/debugging.md +50 -0
- tree_sitter_al-0.0.0/.claude/rules/scanner.md +46 -0
- tree_sitter_al-0.0.0/.claude/rules/test-failures.md +36 -0
- tree_sitter_al-0.0.0/.editorconfig +43 -0
- tree_sitter_al-0.0.0/.gitattributes +13 -0
- tree_sitter_al-0.0.0/.github/workflows/build-wasm.yml +113 -0
- tree_sitter_al-0.0.0/.github/workflows/claude-code-review.yml +44 -0
- tree_sitter_al-0.0.0/.github/workflows/claude.yml +50 -0
- tree_sitter_al-0.0.0/.github/workflows/publish-pypi.yml +58 -0
- tree_sitter_al-0.0.0/.gitignore +110 -0
- tree_sitter_al-0.0.0/CLAUDE.md +222 -0
- tree_sitter_al-0.0.0/CMakeLists.txt +60 -0
- tree_sitter_al-0.0.0/Cargo.toml +27 -0
- tree_sitter_al-0.0.0/LICENSE +674 -0
- tree_sitter_al-0.0.0/MIGRATION_GUIDE.md +314 -0
- tree_sitter_al-0.0.0/Makefile +94 -0
- tree_sitter_al-0.0.0/PHASE4_UNSUPPORTED_PATTERNS.md +51 -0
- tree_sitter_al-0.0.0/PHASE6_STATUS.md +106 -0
- tree_sitter_al-0.0.0/PKG-INFO +276 -0
- tree_sitter_al-0.0.0/PROPERTY.md +1076 -0
- tree_sitter_al-0.0.0/Package.swift +37 -0
- tree_sitter_al-0.0.0/README.md +256 -0
- tree_sitter_al-0.0.0/REFACTOR_COMPLETE.md +188 -0
- tree_sitter_al-0.0.0/REMODEL.md +309 -0
- tree_sitter_al-0.0.0/REMODEL_PROGRESS.md +89 -0
- tree_sitter_al-0.0.0/RUSTREGEX_ANALYSIS.md +159 -0
- tree_sitter_al-0.0.0/VALIDATION_RESULTS.md +132 -0
- tree_sitter_al-0.0.0/analyze_parsing_errors.sh +60 -0
- tree_sitter_al-0.0.0/baseline_status.txt +1 -0
- tree_sitter_al-0.0.0/binding.gyp +30 -0
- tree_sitter_al-0.0.0/bindings/c/tree-sitter-al.h +16 -0
- tree_sitter_al-0.0.0/bindings/c/tree-sitter-al.pc.in +11 -0
- tree_sitter_al-0.0.0/bindings/go/binding.go +13 -0
- tree_sitter_al-0.0.0/bindings/go/binding_test.go +15 -0
- tree_sitter_al-0.0.0/bindings/go/go.mod +5 -0
- tree_sitter_al-0.0.0/bindings/node/binding.cc +20 -0
- tree_sitter_al-0.0.0/bindings/node/index.d.ts +28 -0
- tree_sitter_al-0.0.0/bindings/node/index.js +7 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/__init__.py +25 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/__init__.pyi +6 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/binding.c +35 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/py.typed +0 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/PKG-INFO +276 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/SOURCES.txt +635 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/dependency_links.txt +1 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/not-zip-safe +1 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/requires.txt +3 -0
- tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/top_level.txt +2 -0
- tree_sitter_al-0.0.0/bindings/rust/build.rs +20 -0
- tree_sitter_al-0.0.0/bindings/rust/lib.rs +55 -0
- tree_sitter_al-0.0.0/bindings/swift/TreeSitterAl/al.h +16 -0
- tree_sitter_al-0.0.0/build-and-release.sh +149 -0
- tree_sitter_al-0.0.0/cleanup-deprecated-rules.sh +64 -0
- tree_sitter_al-0.0.0/complex_module_parsing_patterns.md +150 -0
- tree_sitter_al-0.0.0/docs/superpowers/plans/2026-03-20-consolidate-properties.md +372 -0
- tree_sitter_al-0.0.0/docs/superpowers/plans/2026-03-20-v2-phase1-scaffold.md +628 -0
- tree_sitter_al-0.0.0/docs/superpowers/specs/2026-03-20-consolidate-properties-design.md +180 -0
- tree_sitter_al-0.0.0/docs/superpowers/specs/2026-03-20-v2-grammar-design.md +232 -0
- tree_sitter_al-0.0.0/docs/v2-blog-post-notes.md +116 -0
- tree_sitter_al-0.0.0/failed_tests.txt +28 -0
- tree_sitter_al-0.0.0/failing_tests.txt +48 -0
- tree_sitter_al-0.0.0/failing_tests_clean.txt +48 -0
- tree_sitter_al-0.0.0/go.mod +5 -0
- tree_sitter_al-0.0.0/grammar.js +3338 -0
- tree_sitter_al-0.0.0/grammar.js.kw_backup +6727 -0
- tree_sitter_al-0.0.0/label_files.txt +50 -0
- tree_sitter_al-0.0.0/label_files2.txt +50 -0
- tree_sitter_al-0.0.0/package-lock.json +426 -0
- tree_sitter_al-0.0.0/package.json +58 -0
- tree_sitter_al-0.0.0/parse-al-parallel.sh +145 -0
- tree_sitter_al-0.0.0/parse-al.sh +118 -0
- tree_sitter_al-0.0.0/pyproject.toml +34 -0
- tree_sitter_al-0.0.0/queries/folds.scm +221 -0
- tree_sitter_al-0.0.0/queries/highlights.scm +605 -0
- tree_sitter_al-0.0.0/queries/indents.scm +193 -0
- tree_sitter_al-0.0.0/queries/locals.scm +110 -0
- tree_sitter_al-0.0.0/queries/tags.scm +226 -0
- tree_sitter_al-0.0.0/remaining_keywords_to_convert.md +173 -0
- tree_sitter_al-0.0.0/revert_kw.sh +182 -0
- tree_sitter_al-0.0.0/rustregex_patterns.txt +368 -0
- tree_sitter_al-0.0.0/setup.cfg +4 -0
- tree_sitter_al-0.0.0/setup.py +62 -0
- tree_sitter_al-0.0.0/src/grammar.json +16709 -0
- tree_sitter_al-0.0.0/src/node-types.json +30413 -0
- tree_sitter_al-0.0.0/src/parser.c +306023 -0
- tree_sitter_al-0.0.0/src/scanner.c +128 -0
- tree_sitter_al-0.0.0/src/tree_sitter/alloc.h +54 -0
- tree_sitter_al-0.0.0/src/tree_sitter/array.h +330 -0
- tree_sitter_al-0.0.0/src/tree_sitter/parser.h +286 -0
- tree_sitter_al-0.0.0/test/corpus/EmptyCodeblock.txt +30 -0
- tree_sitter_al-0.0.0/test/corpus/about_properties_in_fields.txt +165 -0
- tree_sitter_al-0.0.0/test/corpus/access_by_permission_all_object_types_test.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/access_by_permission_case_variations_test.txt +187 -0
- tree_sitter_al-0.0.0/test/corpus/access_by_permission_property_test.txt +209 -0
- tree_sitter_al-0.0.0/test/corpus/access_by_permission_system_objects_test.txt +45 -0
- tree_sitter_al-0.0.0/test/corpus/action_group_preprocessor_test.txt +148 -0
- tree_sitter_al-0.0.0/test/corpus/action_groups_and_shortcut_keys.txt +161 -0
- tree_sitter_al-0.0.0/test/corpus/action_image_case_insensitive_test.txt +264 -0
- tree_sitter_al-0.0.0/test/corpus/action_types.txt +124 -0
- tree_sitter_al-0.0.0/test/corpus/additional_search_terms_locked.txt +111 -0
- tree_sitter_al-0.0.0/test/corpus/additional_search_terms_property_test.txt +127 -0
- tree_sitter_al-0.0.0/test/corpus/al_built_in_functions.txt +267 -0
- tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_case_test.txt +121 -0
- tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_property_test.txt +126 -0
- tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_table_test.txt +75 -0
- tree_sitter_al-0.0.0/test/corpus/api_group_publisher_properties_test.txt +191 -0
- tree_sitter_al-0.0.0/test/corpus/api_page_properties_test.txt +267 -0
- tree_sitter_al-0.0.0/test/corpus/api_version_multi_value_test.txt +139 -0
- tree_sitter_al-0.0.0/test/corpus/area_prompting_test.txt +112 -0
- tree_sitter_al-0.0.0/test/corpus/area_sections_action_test.txt +160 -0
- tree_sitter_al-0.0.0/test/corpus/area_tooltip_property_test.txt +218 -0
- tree_sitter_al-0.0.0/test/corpus/area_types_comprehensive_test.txt +126 -0
- tree_sitter_al-0.0.0/test/corpus/array_indexing.txt +88 -0
- tree_sitter_al-0.0.0/test/corpus/array_indexing_simple.txt +39 -0
- tree_sitter_al-0.0.0/test/corpus/array_types.txt +58 -0
- tree_sitter_al-0.0.0/test/corpus/asserterror_assignment_test.txt +252 -0
- tree_sitter_al-0.0.0/test/corpus/asserterror_statement_test.txt +224 -0
- tree_sitter_al-0.0.0/test/corpus/attribute_pragma_procedures_test.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/attribute_preproc_procedure.txt +236 -0
- tree_sitter_al-0.0.0/test/corpus/auto_format_expression_test.txt +80 -0
- tree_sitter_al-0.0.0/test/corpus/auto_format_type_extended_test.txt +73 -0
- tree_sitter_al-0.0.0/test/corpus/basic_page_triggers.txt +75 -0
- tree_sitter_al-0.0.0/test/corpus/begin_identifier_conflict.txt +47 -0
- tree_sitter_al-0.0.0/test/corpus/biginteger_literal_test.txt +134 -0
- tree_sitter_al-0.0.0/test/corpus/blob_subtype_comprehensive_test.txt +178 -0
- tree_sitter_al-0.0.0/test/corpus/blob_subtype_test.txt +40 -0
- tree_sitter_al-0.0.0/test/corpus/bom_character_support_test.txt +42 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions.txt +357 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_al.txt +114 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_database.txt +88 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_date_and_time.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_math.txt +73 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_simple.txt +42 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_string.txt +74 -0
- tree_sitter_al-0.0.0/test/corpus/built_in_functions_user_and_session.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/calc_fields_property_test.txt +143 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_average.txt +45 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_count.txt +44 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_lookup.txt +74 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_minmax.txt +70 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_namespace_test.txt +205 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_negated_test.txt +144 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_preprocessor.txt +69 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_sum.txt +45 -0
- tree_sitter_al-0.0.0/test/corpus/calc_formula_without_where.txt +263 -0
- tree_sitter_al-0.0.0/test/corpus/calcformula_count_without_where_test.txt +177 -0
- tree_sitter_al-0.0.0/test/corpus/calcformula_lookup_filter_test.txt +189 -0
- tree_sitter_al-0.0.0/test/corpus/caption_as_variable_name_test.txt +41 -0
- tree_sitter_al-0.0.0/test/corpus/caption_class_label_test.txt +44 -0
- tree_sitter_al-0.0.0/test/corpus/caption_class_property_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/caption_comment_lowercase_test.txt +114 -0
- tree_sitter_al-0.0.0/test/corpus/caption_locked_property.txt +160 -0
- tree_sitter_al-0.0.0/test/corpus/caption_property_maxlength_test.txt +22 -0
- tree_sitter_al-0.0.0/test/corpus/caption_trailing_comma_test.txt +105 -0
- tree_sitter_al-0.0.0/test/corpus/caption_with_comment_and_locked.txt +110 -0
- tree_sitter_al-0.0.0/test/corpus/case_arithmetic_expressions_test.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/case_else_preprocessor_test.txt +359 -0
- tree_sitter_al-0.0.0/test/corpus/case_member_access.txt +48 -0
- tree_sitter_al-0.0.0/test/corpus/case_preprocessor_else.txt +143 -0
- tree_sitter_al-0.0.0/test/corpus/case_range_expressions_test.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/case_statement.txt +167 -0
- tree_sitter_al-0.0.0/test/corpus/case_statement_else_only.txt +201 -0
- tree_sitter_al-0.0.0/test/corpus/case_statements.txt +267 -0
- tree_sitter_al-0.0.0/test/corpus/case_statements_enum_qualified_values.txt +122 -0
- tree_sitter_al-0.0.0/test/corpus/case_statements_simple.txt +46 -0
- tree_sitter_al-0.0.0/test/corpus/case_true_of_in_expressions_test.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/case_true_of_statements.txt +152 -0
- tree_sitter_al-0.0.0/test/corpus/char_allowed_property_test.txt +47 -0
- tree_sitter_al-0.0.0/test/corpus/closing_dates_property_test.txt +158 -0
- tree_sitter_al-0.0.0/test/corpus/codeunit.txt +52 -0
- tree_sitter_al-0.0.0/test/corpus/codeunitAdvanced.txt +207 -0
- tree_sitter_al-0.0.0/test/corpus/codeunit_case_variations_test.txt +86 -0
- tree_sitter_al-0.0.0/test/corpus/codeunit_table_no_property.txt +124 -0
- tree_sitter_al-0.0.0/test/corpus/complexIdentifiers.txt +171 -0
- tree_sitter_al-0.0.0/test/corpus/compound_assignment_operators_test.txt +83 -0
- tree_sitter_al-0.0.0/test/corpus/conditional_expression.txt +230 -0
- tree_sitter_al-0.0.0/test/corpus/conditional_procedure_test.txt +55 -0
- tree_sitter_al-0.0.0/test/corpus/context_sensitive_validation_test.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/contextual_keyword_apiversion_test.txt +119 -0
- tree_sitter_al-0.0.0/test/corpus/contextual_keywords_in_var.txt +92 -0
- tree_sitter_al-0.0.0/test/corpus/contextual_property_pattern_test.txt +178 -0
- tree_sitter_al-0.0.0/test/corpus/continue_as_identifier_test.txt +194 -0
- tree_sitter_al-0.0.0/test/corpus/continue_statement_test.txt +101 -0
- tree_sitter_al-0.0.0/test/corpus/controladdin.txt +39 -0
- tree_sitter_al-0.0.0/test/corpus/controladdin_attributed_procedure_test.txt +325 -0
- tree_sitter_al-0.0.0/test/corpus/controladdin_obsolete_properties.txt +216 -0
- tree_sitter_al-0.0.0/test/corpus/controladdin_preprocessor.txt +263 -0
- tree_sitter_al-0.0.0/test/corpus/controladdin_test.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/cuegroup_layout_property_test.txt +113 -0
- tree_sitter_al-0.0.0/test/corpus/cuegroup_minimal_test.txt +39 -0
- tree_sitter_al-0.0.0/test/corpus/cuegroup_multiple_properties_issue.txt +61 -0
- tree_sitter_al-0.0.0/test/corpus/customaction_declaration_test.txt +115 -0
- tree_sitter_al-0.0.0/test/corpus/data_caption_expression.txt +57 -0
- tree_sitter_al-0.0.0/test/corpus/data_classification_field_test.txt +224 -0
- tree_sitter_al-0.0.0/test/corpus/data_item_table_filter_equals_test.txt +247 -0
- tree_sitter_al-0.0.0/test/corpus/database_const_filter_test.txt +186 -0
- tree_sitter_al-0.0.0/test/corpus/database_references.txt +91 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_filter_range.txt +48 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_link_field_function_test.txt +183 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_link_reference_test.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_const_test.txt +42 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_mixed_test.txt +53 -0
- tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_pipe_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/dataitemlink_multiple_test.txt +177 -0
- tree_sitter_al-0.0.0/test/corpus/dataitemtablefilter_comparison_test.txt +99 -0
- tree_sitter_al-0.0.0/test/corpus/date_formula_property_test.txt +108 -0
- tree_sitter_al-0.0.0/test/corpus/date_literal_in_filters_test.txt +199 -0
- tree_sitter_al-0.0.0/test/corpus/date_literals_in_filters.txt +185 -0
- tree_sitter_al-0.0.0/test/corpus/decimal_places_property_test.txt +171 -0
- tree_sitter_al-0.0.0/test/corpus/default_implementation_multiple_test.txt +146 -0
- tree_sitter_al-0.0.0/test/corpus/default_implementation_property_test.txt +189 -0
- tree_sitter_al-0.0.0/test/corpus/div_mod_operators_test.txt +390 -0
- tree_sitter_al-0.0.0/test/corpus/dotnet.txt +43 -0
- tree_sitter_al-0.0.0/test/corpus/dotnet_is_control_addin_test.txt +94 -0
- tree_sitter_al-0.0.0/test/corpus/dotnet_types_with_namespaces.txt +117 -0
- tree_sitter_al-0.0.0/test/corpus/editable_property_case_insensitive_test.txt +133 -0
- tree_sitter_al-0.0.0/test/corpus/empty_attribute_arguments_test.txt +105 -0
- tree_sitter_al-0.0.0/test/corpus/end_identifier_edge_cases_test.txt +77 -0
- tree_sitter_al-0.0.0/test/corpus/end_identifier_test.txt +43 -0
- tree_sitter_al-0.0.0/test/corpus/entitlement_roletype_test.txt +152 -0
- tree_sitter_al-0.0.0/test/corpus/entitlement_test.txt +191 -0
- tree_sitter_al-0.0.0/test/corpus/enum_as_identifier_test.txt +261 -0
- tree_sitter_al-0.0.0/test/corpus/enum_assignment_compatibility.txt +190 -0
- tree_sitter_al-0.0.0/test/corpus/enum_empty_value_test.txt +199 -0
- tree_sitter_al-0.0.0/test/corpus/enum_field.txt +30 -0
- tree_sitter_al-0.0.0/test/corpus/enum_identifier_test.txt +173 -0
- tree_sitter_al-0.0.0/test/corpus/enum_interface_implementations.txt +209 -0
- tree_sitter_al-0.0.0/test/corpus/enum_keyword_qualification.txt +72 -0
- tree_sitter_al-0.0.0/test/corpus/enum_preprocessor_values_test.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/enum_type_reference_methods_test.txt +279 -0
- tree_sitter_al-0.0.0/test/corpus/enum_values.txt +81 -0
- tree_sitter_al-0.0.0/test/corpus/enum_variables.txt +445 -0
- tree_sitter_al-0.0.0/test/corpus/enumextension_test.txt +131 -0
- tree_sitter_al-0.0.0/test/corpus/event_subscriber_instance_property_test.txt +65 -0
- tree_sitter_al-0.0.0/test/corpus/execution_timeout_property_test.txt +170 -0
- tree_sitter_al-0.0.0/test/corpus/exit_statements.txt +93 -0
- tree_sitter_al-0.0.0/test/corpus/expressions.txt +757 -0
- tree_sitter_al-0.0.0/test/corpus/extended_datatype_barcode_test.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/extended_datatype_none_test.txt +128 -0
- tree_sitter_al-0.0.0/test/corpus/extended_datatype_person_test.txt +129 -0
- tree_sitter_al-0.0.0/test/corpus/extension_modifications.txt +191 -0
- tree_sitter_al-0.0.0/test/corpus/external_access_property_test.txt +58 -0
- tree_sitter_al-0.0.0/test/corpus/external_type_simple_test.txt +32 -0
- tree_sitter_al-0.0.0/test/corpus/field_expression_source_test.txt +136 -0
- tree_sitter_al-0.0.0/test/corpus/field_image_property_with_trigger.txt +95 -0
- tree_sitter_al-0.0.0/test/corpus/field_reference_comprehensive_test.txt +63 -0
- tree_sitter_al-0.0.0/test/corpus/field_trigger_onafterlookup_test.txt +162 -0
- tree_sitter_al-0.0.0/test/corpus/field_trigger_parameters_return_type_test.txt +315 -0
- tree_sitter_al-0.0.0/test/corpus/fieldgroup_modifications_test.txt +98 -0
- tree_sitter_al-0.0.0/test/corpus/fieldgroups_preproc.txt +202 -0
- tree_sitter_al-0.0.0/test/corpus/fieldgroups_test.txt +198 -0
- tree_sitter_al-0.0.0/test/corpus/fields_keys.txt +228 -0
- tree_sitter_al-0.0.0/test/corpus/file_level_preprocessor_test.txt +119 -0
- tree_sitter_al-0.0.0/test/corpus/fileuploadaction_test.txt +417 -0
- tree_sitter_al-0.0.0/test/corpus/filter_and_expression_test.txt +229 -0
- tree_sitter_al-0.0.0/test/corpus/filter_comparison_operators.txt +175 -0
- tree_sitter_al-0.0.0/test/corpus/filter_equal_expression_test.txt +150 -0
- tree_sitter_al-0.0.0/test/corpus/filter_expression_edge_cases.txt +182 -0
- tree_sitter_al-0.0.0/test/corpus/filter_field_reference_test.txt +110 -0
- tree_sitter_al-0.0.0/test/corpus/filter_pipe_syntax_test.txt +156 -0
- tree_sitter_al-0.0.0/test/corpus/filter_properties_baseline_test.txt +198 -0
- tree_sitter_al-0.0.0/test/corpus/filter_range_expression_test.txt +161 -0
- tree_sitter_al-0.0.0/test/corpus/filters_variable_name_test.txt +324 -0
- tree_sitter_al-0.0.0/test/corpus/for_downto_statement_test.txt +44 -0
- tree_sitter_al-0.0.0/test/corpus/for_statement_field_access_test.txt +105 -0
- tree_sitter_al-0.0.0/test/corpus/foreach_quoted_identifier_test.txt +245 -0
- tree_sitter_al-0.0.0/test/corpus/freeze_column_property_test.txt +60 -0
- tree_sitter_al-0.0.0/test/corpus/grid_layout_property_test.txt +227 -0
- tree_sitter_al-0.0.0/test/corpus/identifiers.txt +75 -0
- tree_sitter_al-0.0.0/test/corpus/include_caption_property_variations_test.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/indentation_column_property_test.txt +95 -0
- tree_sitter_al-0.0.0/test/corpus/indentation_controls_multiple_values_test.txt +274 -0
- tree_sitter_al-0.0.0/test/corpus/indentation_controls_property_test.txt +262 -0
- tree_sitter_al-0.0.0/test/corpus/indentation_properties_with_field_references_test.txt +107 -0
- tree_sitter_al-0.0.0/test/corpus/instructional_text_property_test.txt +168 -0
- tree_sitter_al-0.0.0/test/corpus/interface_attributed_procedures_test.txt +275 -0
- tree_sitter_al-0.0.0/test/corpus/interface_extends_test.txt +88 -0
- tree_sitter_al-0.0.0/test/corpus/interface_is_as_operators_simple.txt +105 -0
- tree_sitter_al-0.0.0/test/corpus/interface_named_return_test.txt +203 -0
- tree_sitter_al-0.0.0/test/corpus/interface_namespace_qualified.txt +135 -0
- tree_sitter_al-0.0.0/test/corpus/interface_procedure_semicolon.txt +231 -0
- tree_sitter_al-0.0.0/test/corpus/interface_procedures_no_semicolon_test.txt +196 -0
- tree_sitter_al-0.0.0/test/corpus/interface_properties_test.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/interface_return_type_with_length_test.txt +330 -0
- tree_sitter_al-0.0.0/test/corpus/interface_test.txt +40 -0
- tree_sitter_al-0.0.0/test/corpus/key_enabled_property_test.txt +82 -0
- tree_sitter_al-0.0.0/test/corpus/key_preprocessor_test.txt +202 -0
- tree_sitter_al-0.0.0/test/corpus/key_properties.txt +178 -0
- tree_sitter_al-0.0.0/test/corpus/key_quoted_identifier_test.txt +318 -0
- tree_sitter_al-0.0.0/test/corpus/key_sql_properties_test.txt +241 -0
- tree_sitter_al-0.0.0/test/corpus/known_limitation_column_filter_complex.txt +50 -0
- tree_sitter_al-0.0.0/test/corpus/known_limitation_column_filter_query_2.txt +48 -0
- tree_sitter_al-0.0.0/test/corpus/known_limitation_pragma_before_namespace.txt +32 -0
- tree_sitter_al-0.0.0/test/corpus/known_limitation_preprocessor_mixed_var_procedure.txt +42 -0
- tree_sitter_al-0.0.0/test/corpus/known_limitation_preprocessor_split_procedure.txt +66 -0
- tree_sitter_al-0.0.0/test/corpus/label_declaration_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/label_multiline_property.txt +59 -0
- tree_sitter_al-0.0.0/test/corpus/label_variables.txt +103 -0
- tree_sitter_al-0.0.0/test/corpus/label_variables_with_values_test.txt +56 -0
- tree_sitter_al-0.0.0/test/corpus/label_with_locked_attribute.txt +50 -0
- tree_sitter_al-0.0.0/test/corpus/layout_movement_commands_test.txt +107 -0
- tree_sitter_al-0.0.0/test/corpus/lookup_formula_test.txt +41 -0
- tree_sitter_al-0.0.0/test/corpus/lookup_with_field_table.txt +189 -0
- tree_sitter_al-0.0.0/test/corpus/malformed_region_directive_test.txt +26 -0
- tree_sitter_al-0.0.0/test/corpus/max_iteration_property_test.txt +108 -0
- tree_sitter_al-0.0.0/test/corpus/method_calls.txt +245 -0
- tree_sitter_al-0.0.0/test/corpus/mixed_method_calls.txt +143 -0
- tree_sitter_al-0.0.0/test/corpus/modify_layout_modification_test.txt +63 -0
- tree_sitter_al-0.0.0/test/corpus/moved_from_moved_to_properties_test.txt +112 -0
- tree_sitter_al-0.0.0/test/corpus/multidimensional_array_access.txt +243 -0
- tree_sitter_al-0.0.0/test/corpus/multidimensional_arrays.txt +100 -0
- tree_sitter_al-0.0.0/test/corpus/multiline_comment_test.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/multiline_page_link_properties_test.txt +138 -0
- tree_sitter_al-0.0.0/test/corpus/multiple_interface_implementations.txt +133 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_case_insensitive_test.txt +22 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_declarations.txt +233 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_qualified_enum_types.txt +211 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_qualified_records_test.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_qualified_tables.txt +140 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_qualified_types_test.txt +189 -0
- tree_sitter_al-0.0.0/test/corpus/namespace_test.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/namespaces_property_test.txt +80 -0
- tree_sitter_al-0.0.0/test/corpus/negated_exist_formula_test.txt +99 -0
- tree_sitter_al-0.0.0/test/corpus/nested_cuegroup_test.txt +291 -0
- tree_sitter_al-0.0.0/test/corpus/object_declarations.txt +424 -0
- tree_sitter_al-0.0.0/test/corpus/object_reference_filter.txt +125 -0
- tree_sitter_al-0.0.0/test/corpus/obsolete_state_moved_test.txt +102 -0
- tree_sitter_al-0.0.0/test/corpus/obsolete_state_pendingmove_test.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/onaftergetcurr_trigger.txt +28 -0
- tree_sitter_al-0.0.0/test/corpus/onrun_trigger_semicolon_test.txt +90 -0
- tree_sitter_al-0.0.0/test/corpus/optimize_for_text_search_field_property_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/option_caption_comment_parameter_test.txt +135 -0
- tree_sitter_al-0.0.0/test/corpus/option_caption_locked_test.txt +257 -0
- tree_sitter_al-0.0.0/test/corpus/option_empty_members_test.txt +153 -0
- tree_sitter_al-0.0.0/test/corpus/option_enum_with_backslashes.txt +54 -0
- tree_sitter_al-0.0.0/test/corpus/option_members_empty_string_test.txt +134 -0
- tree_sitter_al-0.0.0/test/corpus/option_members_mixed_test.txt +235 -0
- tree_sitter_al-0.0.0/test/corpus/option_ordinal_values_test.txt +100 -0
- tree_sitter_al-0.0.0/test/corpus/option_type_inline_members.txt +160 -0
- tree_sitter_al-0.0.0/test/corpus/option_variable_in_page_var_section_test.txt +74 -0
- tree_sitter_al-0.0.0/test/corpus/order_by_multiple_fields_test.txt +120 -0
- tree_sitter_al-0.0.0/test/corpus/order_by_property_test.txt +108 -0
- tree_sitter_al-0.0.0/test/corpus/page_about_properties_test.txt +111 -0
- tree_sitter_al-0.0.0/test/corpus/page_action_areas_test.txt +279 -0
- tree_sitter_al-0.0.0/test/corpus/page_action_groups.txt +101 -0
- tree_sitter_al-0.0.0/test/corpus/page_action_xmlport_runobject_test.txt +125 -0
- tree_sitter_al-0.0.0/test/corpus/page_complex_properties_test.txt +149 -0
- tree_sitter_al-0.0.0/test/corpus/page_extension_action_modify_triggers_test.txt +131 -0
- tree_sitter_al-0.0.0/test/corpus/page_field_min_max_value_properties.txt +271 -0
- tree_sitter_al-0.0.0/test/corpus/page_field_properties_batch1.txt +128 -0
- tree_sitter_al-0.0.0/test/corpus/page_field_properties_new_batch.txt +85 -0
- tree_sitter_al-0.0.0/test/corpus/page_field_properties_phase3.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/page_field_triggers_test.txt +156 -0
- tree_sitter_al-0.0.0/test/corpus/page_layout.txt +309 -0
- tree_sitter_al-0.0.0/test/corpus/page_level_variable_declarations_test.txt +69 -0
- tree_sitter_al-0.0.0/test/corpus/page_preproc_trigger_var_test.txt +326 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties.txt +113 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase1.txt +88 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase2a.txt +68 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase2b.txt +62 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase4a.txt +75 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase4b_batch1.txt +58 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase4b_batch2.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/page_properties_phase4c.txt +73 -0
- tree_sitter_al-0.0.0/test/corpus/page_region_directives_test.txt +162 -0
- tree_sitter_al-0.0.0/test/corpus/page_trigger_with_return_type.txt +56 -0
- tree_sitter_al-0.0.0/test/corpus/page_triggers.txt +248 -0
- tree_sitter_al-0.0.0/test/corpus/page_type_variable.txt +83 -0
- tree_sitter_al-0.0.0/test/corpus/page_var_section_new_test.txt +169 -0
- tree_sitter_al-0.0.0/test/corpus/page_var_section_test.txt +200 -0
- tree_sitter_al-0.0.0/test/corpus/page_var_visible.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/page_views_section_test.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/page_views_test.txt +341 -0
- tree_sitter_al-0.0.0/test/corpus/pagecustomization_layout_actions.txt +205 -0
- tree_sitter_al-0.0.0/test/corpus/pagecustomization_test.txt +194 -0
- tree_sitter_al-0.0.0/test/corpus/pageextension_attributed_procedures_test.txt +130 -0
- tree_sitter_al-0.0.0/test/corpus/pageextension_field_properties_test.txt +53 -0
- tree_sitter_al-0.0.0/test/corpus/permissions_empty_xmlport_test.txt +126 -0
- tree_sitter_al-0.0.0/test/corpus/permissions_property_test.txt +175 -0
- tree_sitter_al-0.0.0/test/corpus/permissions_with_preprocessor_test.txt +115 -0
- tree_sitter_al-0.0.0/test/corpus/permissionset_lowercase_permissions_test.txt +157 -0
- tree_sitter_al-0.0.0/test/corpus/permissionset_pragma_directives_test.txt +58 -0
- tree_sitter_al-0.0.0/test/corpus/permissionset_preprocessor_pragma_test.txt +215 -0
- tree_sitter_al-0.0.0/test/corpus/permissionset_properties.txt +201 -0
- tree_sitter_al-0.0.0/test/corpus/permissionset_trailing_semicolon_test.txt +83 -0
- tree_sitter_al-0.0.0/test/corpus/permissionsetextension_test.txt +227 -0
- tree_sitter_al-0.0.0/test/corpus/phase3_attribute_preprocessor_test.txt +124 -0
- tree_sitter_al-0.0.0/test/corpus/phase5_nested_attributes_test.txt +224 -0
- tree_sitter_al-0.0.0/test/corpus/pragma.txt +30 -0
- tree_sitter_al-0.0.0/test/corpus/pragma_directives_test.txt +47 -0
- tree_sitter_al-0.0.0/test/corpus/pragma_in_code_blocks_test.txt +51 -0
- tree_sitter_al-0.0.0/test/corpus/pragma_in_if_statement.txt +61 -0
- tree_sitter_al-0.0.0/test/corpus/pragma_layout_directives_test.txt +74 -0
- tree_sitter_al-0.0.0/test/corpus/pragma_warning_in_var.txt +145 -0
- tree_sitter_al-0.0.0/test/corpus/preproc_conditional_var_sections_test.txt +297 -0
- tree_sitter_al-0.0.0/test/corpus/preproc_fragmented_if_else_in_repeat.txt +160 -0
- tree_sitter_al-0.0.0/test/corpus/preproc_interrupted_var_section.txt +266 -0
- tree_sitter_al-0.0.0/test/corpus/preproc_split_declarations.txt +146 -0
- tree_sitter_al-0.0.0/test/corpus/preproc_variant_condition_if.txt +67 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor.txt +422 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_actions_test.txt +255 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_case_statements_test.txt +77 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_conditional_attributes_test.txt +99 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_conditional_using_statements_test.txt +51 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_directives_test.txt +202 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_enum_extension_test.txt +60 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_fragmented_if_else_simple.txt +51 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_if_not_with_else_test.txt +51 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_in_action_properties_test.txt +224 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_in_dataitem.txt +67 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_in_loops.txt +227 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_in_single_statements.txt +356 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_layout_properties_test.txt +176 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_multiple_using_statements_test.txt +73 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_namespace_only_test.txt +213 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_object_properties_test.txt +518 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_procedure_body_split_test.txt +60 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_procedure_header_split_test.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_separator_actions_test.txt +318 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_split_if.txt +192 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_split_if_else.txt +166 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_statements_test.txt +83 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_table_relation_test.txt +243 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_wrapped_codeunit.txt +34 -0
- tree_sitter_al-0.0.0/test/corpus/preprocessor_wrapped_page.txt +147 -0
- tree_sitter_al-0.0.0/test/corpus/print_only_if_detail_test.txt +142 -0
- tree_sitter_al-0.0.0/test/corpus/printonlyifdetail_after_requestfilterfields_test.txt +194 -0
- tree_sitter_al-0.0.0/test/corpus/procedure_preproc_var_test.txt +95 -0
- tree_sitter_al-0.0.0/test/corpus/procedure_return_types.txt +95 -0
- tree_sitter_al-0.0.0/test/corpus/procedure_simple.txt +81 -0
- tree_sitter_al-0.0.0/test/corpus/procedures.txt +581 -0
- tree_sitter_al-0.0.0/test/corpus/profile_properties_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/profile_test.txt +256 -0
- tree_sitter_al-0.0.0/test/corpus/profileextension_test.txt +111 -0
- tree_sitter_al-0.0.0/test/corpus/prompt_dialog_features_test.txt +83 -0
- tree_sitter_al-0.0.0/test/corpus/prompt_mode_property_test.txt +55 -0
- tree_sitter_al-0.0.0/test/corpus/promptguide_area_test.txt +233 -0
- tree_sitter_al-0.0.0/test/corpus/properties.txt +502 -0
- tree_sitter_al-0.0.0/test/corpus/property_audit_test.txt +89 -0
- tree_sitter_al-0.0.0/test/corpus/protected_procedure_modifier.txt +70 -0
- tree_sitter_al-0.0.0/test/corpus/protected_var_in_preprocessor_test.txt +154 -0
- tree_sitter_al-0.0.0/test/corpus/provider_property_test.txt +92 -0
- tree_sitter_al-0.0.0/test/corpus/qualified_trigger_test.txt +166 -0
- tree_sitter_al-0.0.0/test/corpus/query/query_object.txt +179 -0
- tree_sitter_al-0.0.0/test/corpus/query_api_properties_test.txt +267 -0
- tree_sitter_al-0.0.0/test/corpus/query_column_filter_property_test.txt +260 -0
- tree_sitter_al-0.0.0/test/corpus/query_computed_column_test.txt +99 -0
- tree_sitter_al-0.0.0/test/corpus/query_entity_properties_test.txt +117 -0
- tree_sitter_al-0.0.0/test/corpus/query_filter_test.txt +150 -0
- tree_sitter_al-0.0.0/test/corpus/query_readstate_property_test.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/query_sections.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/query_top_number_of_rows_test.txt +163 -0
- tree_sitter_al-0.0.0/test/corpus/query_trigger_test.txt +116 -0
- tree_sitter_al-0.0.0/test/corpus/query_var_section.txt +321 -0
- tree_sitter_al-0.0.0/test/corpus/query_with_procedures.txt +410 -0
- tree_sitter_al-0.0.0/test/corpus/quoted_identifier_escaped_test.txt +201 -0
- tree_sitter_al-0.0.0/test/corpus/quoted_return_parameter_test.txt +75 -0
- tree_sitter_al-0.0.0/test/corpus/range_and_in_expressions.txt +265 -0
- tree_sitter_al-0.0.0/test/corpus/readonly_as_identifier_test.txt +480 -0
- tree_sitter_al-0.0.0/test/corpus/recordid_case_variant.txt +38 -0
- tree_sitter_al-0.0.0/test/corpus/region_directives_test.txt +279 -0
- tree_sitter_al-0.0.0/test/corpus/rendering_section_test.txt +122 -0
- tree_sitter_al-0.0.0/test/corpus/repeater_visible_property_test.txt +45 -0
- tree_sitter_al-0.0.0/test/corpus/report_autocalcfield_property_test.txt +103 -0
- tree_sitter_al-0.0.0/test/corpus/report_column_expressions.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/report_column_properties_test.txt +89 -0
- tree_sitter_al-0.0.0/test/corpus/report_comprehensive_test.txt +127 -0
- tree_sitter_al-0.0.0/test/corpus/report_data_access_intent_property_test.txt +116 -0
- tree_sitter_al-0.0.0/test/corpus/report_dataitem_properties.txt +204 -0
- tree_sitter_al-0.0.0/test/corpus/report_default_layout_test.txt +199 -0
- tree_sitter_al-0.0.0/test/corpus/report_extension_dataitem_modifications.txt +220 -0
- tree_sitter_al-0.0.0/test/corpus/report_namespace_qualified_dataitem.txt +130 -0
- tree_sitter_al-0.0.0/test/corpus/report_namespace_qualified_type.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/report_permissions_property_test.txt +186 -0
- tree_sitter_al-0.0.0/test/corpus/report_preproc_procedures.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/report_sections.txt +241 -0
- tree_sitter_al-0.0.0/test/corpus/report_transaction_type_updatenolocks_test.txt +104 -0
- tree_sitter_al-0.0.0/test/corpus/report_use_request_page_property.txt +259 -0
- tree_sitter_al-0.0.0/test/corpus/reportextension_dataset_modifications_test.txt +232 -0
- tree_sitter_al-0.0.0/test/corpus/required_test_isolation_property_test.txt +95 -0
- tree_sitter_al-0.0.0/test/corpus/run_object_qualified_name_test.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/run_page_link_nested_filter.txt +189 -0
- tree_sitter_al-0.0.0/test/corpus/run_page_view_test.txt +98 -0
- tree_sitter_al-0.0.0/test/corpus/runobject_query_test.txt +258 -0
- tree_sitter_al-0.0.0/test/corpus/scope_variable_test.txt +33 -0
- tree_sitter_al-0.0.0/test/corpus/secrettext_type_test.txt +133 -0
- tree_sitter_al-0.0.0/test/corpus/separator_action.txt +87 -0
- tree_sitter_al-0.0.0/test/corpus/show_as_property_test.txt +340 -0
- tree_sitter_al-0.0.0/test/corpus/show_as_tree_property_test.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/show_filter_property_test.txt +66 -0
- tree_sitter_al-0.0.0/test/corpus/show_mandatory_expressions.txt +65 -0
- tree_sitter_al-0.0.0/test/corpus/simple_member_access.txt +31 -0
- tree_sitter_al-0.0.0/test/corpus/source_table_view_property.txt +119 -0
- tree_sitter_al-0.0.0/test/corpus/spaced_enum_assignment_limitation_test.txt +115 -0
- tree_sitter_al-0.0.0/test/corpus/sql_join_type_property_test.txt +314 -0
- tree_sitter_al-0.0.0/test/corpus/sql_properties_test.txt +128 -0
- tree_sitter_al-0.0.0/test/corpus/standalone_semicolon_test.txt +292 -0
- tree_sitter_al-0.0.0/test/corpus/standalone_semicolons.txt +97 -0
- tree_sitter_al-0.0.0/test/corpus/standalone_semicolons_in_properties_test.txt +58 -0
- tree_sitter_al-0.0.0/test/corpus/statements.txt +906 -0
- tree_sitter_al-0.0.0/test/corpus/string_concatenation_complex.txt +48 -0
- tree_sitter_al-0.0.0/test/corpus/string_literal_backslash.txt +235 -0
- tree_sitter_al-0.0.0/test/corpus/style_attention_accent.txt +122 -0
- tree_sitter_al-0.0.0/test/corpus/style_expr_all_expressions_test.txt +111 -0
- tree_sitter_al-0.0.0/test/corpus/style_expr_boolean.txt +228 -0
- tree_sitter_al-0.0.0/test/corpus/style_expr_comparison_test.txt +61 -0
- tree_sitter_al-0.0.0/test/corpus/style_expr_field_access_test.txt +162 -0
- tree_sitter_al-0.0.0/test/corpus/style_expr_unary_test.txt +201 -0
- tree_sitter_al-0.0.0/test/corpus/style_none_value_test.txt +160 -0
- tree_sitter_al-0.0.0/test/corpus/style_subordinate_test.txt +46 -0
- tree_sitter_al-0.0.0/test/corpus/sub_page_link_filter_function_test.txt +129 -0
- tree_sitter_al-0.0.0/test/corpus/sub_page_link_preproc.txt +229 -0
- tree_sitter_al-0.0.0/test/corpus/sub_page_link_property_test.txt +49 -0
- tree_sitter_al-0.0.0/test/corpus/sub_page_view_enhanced.txt +218 -0
- tree_sitter_al-0.0.0/test/corpus/subpagelink_database_reference_test.txt +156 -0
- tree_sitter_al-0.0.0/test/corpus/subtype_option_variable_test.txt +57 -0
- tree_sitter_al-0.0.0/test/corpus/subtype_userdefined_test.txt +215 -0
- tree_sitter_al-0.0.0/test/corpus/subtype_variable_vs_property_test.txt +50 -0
- tree_sitter_al-0.0.0/test/corpus/systempart_test.txt +64 -0
- tree_sitter_al-0.0.0/test/corpus/table.txt +150 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_app_page_patterns.txt +205 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_attributed_triggers_test.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_integration_event_attribute_test.txt +93 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_modify_field_triggers_test.txt +164 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_modify_test.txt +94 -0
- tree_sitter_al-0.0.0/test/corpus/table_extension_multiple_attributes_test.txt +90 -0
- tree_sitter_al-0.0.0/test/corpus/table_field_access_property_test.txt +118 -0
- tree_sitter_al-0.0.0/test/corpus/table_field_trigger_enum.txt +61 -0
- tree_sitter_al-0.0.0/test/corpus/table_key_unique_property_test.txt +186 -0
- tree_sitter_al-0.0.0/test/corpus/table_preprocessor_procedures_test.txt +377 -0
- tree_sitter_al-0.0.0/test/corpus/table_properties.txt +341 -0
- tree_sitter_al-0.0.0/test/corpus/table_relation_preprocessor_conditionals_test.txt +80 -0
- tree_sitter_al-0.0.0/test/corpus/table_relation_preprocessor_test.txt +152 -0
- tree_sitter_al-0.0.0/test/corpus/table_trigger_semicolon_test.txt +229 -0
- tree_sitter_al-0.0.0/test/corpus/table_type_property_test.txt +254 -0
- tree_sitter_al-0.0.0/test/corpus/tableextension_integration_event_test.txt +68 -0
- tree_sitter_al-0.0.0/test/corpus/tableextension_preprocessor_procedures_test.txt +82 -0
- tree_sitter_al-0.0.0/test/corpus/tableno_variable_test.txt +72 -0
- tree_sitter_al-0.0.0/test/corpus/tabletype_variable_name_test.txt +197 -0
- tree_sitter_al-0.0.0/test/corpus/temp_query_crash_test.txt +42 -0
- tree_sitter_al-0.0.0/test/corpus/temporary_return_type_test.txt +201 -0
- tree_sitter_al-0.0.0/test/corpus/test_attr_preproc.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/test_http_request_policy_property_test.txt +107 -0
- tree_sitter_al-0.0.0/test/corpus/test_type_property_test.txt +124 -0
- tree_sitter_al-0.0.0/test/corpus/testpage_case_variations_test.txt +90 -0
- tree_sitter_al-0.0.0/test/corpus/testrequestpage_type_test.txt +137 -0
- tree_sitter_al-0.0.0/test/corpus/tooltip_case_variations_test.txt +65 -0
- tree_sitter_al-0.0.0/test/corpus/tooltip_locked_test.txt +161 -0
- tree_sitter_al-0.0.0/test/corpus/tooltip_with_comment.txt +78 -0
- tree_sitter_al-0.0.0/test/corpus/tree_initial_state_test.txt +105 -0
- tree_sitter_al-0.0.0/test/corpus/trigger_named_return_values_test.txt +263 -0
- tree_sitter_al-0.0.0/test/corpus/trigger_preprocessor_complex.txt +116 -0
- tree_sitter_al-0.0.0/test/corpus/trigger_preprocessor_directives_test.txt +202 -0
- tree_sitter_al-0.0.0/test/corpus/trigger_semicolon_termination_test.txt +104 -0
- tree_sitter_al-0.0.0/test/corpus/types.txt +344 -0
- tree_sitter_al-0.0.0/test/corpus/unary_operators_test.txt +65 -0
- tree_sitter_al-0.0.0/test/corpus/unified_filter_pattern_proof_test.txt +304 -0
- tree_sitter_al-0.0.0/test/corpus/universal_properties_expanded_test.txt +223 -0
- tree_sitter_al-0.0.0/test/corpus/unknown_value_implementation_property_test.txt +212 -0
- tree_sitter_al-0.0.0/test/corpus/update_propagation_property_test.txt +99 -0
- tree_sitter_al-0.0.0/test/corpus/upperlimit_field_reference_test.txt +107 -0
- tree_sitter_al-0.0.0/test/corpus/upperlimit_filter_field_reference_test.txt +110 -0
- tree_sitter_al-0.0.0/test/corpus/use_temporary_property_test.txt +232 -0
- tree_sitter_al-0.0.0/test/corpus/usercontrol_preprocessor_directives_test.txt +84 -0
- tree_sitter_al-0.0.0/test/corpus/using_statement_test.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/validation_properties_test.txt +177 -0
- tree_sitter_al-0.0.0/test/corpus/values_allowed_property_test.txt +215 -0
- tree_sitter_al-0.0.0/test/corpus/values_allowed_with_integers.txt +308 -0
- tree_sitter_al-0.0.0/test/corpus/var_section_preprocessor_directives_test.txt +62 -0
- tree_sitter_al-0.0.0/test/corpus/var_section_with_mixed_preproc_test.txt +50 -0
- tree_sitter_al-0.0.0/test/corpus/variable_attributes.txt +218 -0
- tree_sitter_al-0.0.0/test/corpus/views.txt +26 -0
- tree_sitter_al-0.0.0/test/corpus/visible_property_case_variations_test.txt +61 -0
- tree_sitter_al-0.0.0/test/corpus/width_property.txt +155 -0
- tree_sitter_al-0.0.0/test/corpus/width_property_case_insensitive_test.txt +157 -0
- tree_sitter_al-0.0.0/test/corpus/with_statement.txt +147 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_attributed_procedures.txt +300 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_calcfields_test.txt +239 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_default_fields_validation_test.txt +173 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_field_delimiter_separator_test.txt +112 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_fieldattribute_test.txt +255 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_fieldattribute_trigger_test.txt +142 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_fieldelement_member_expression_test.txt +131 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_fieldelement_test.txt +85 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_fieldvalidate_test.txt +55 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_format_property_test.txt +79 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_formatevaluate_property_test.txt +62 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_linktable_case_insensitive.txt +151 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_maxoccurs_once_test.txt +47 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_occurrence_test.txt +103 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_preprocessor_elements_test.txt +261 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_preserve_whitespace_test.txt +76 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_properties.txt +148 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_sourcetableview_property.txt +125 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_table_separator_test.txt +87 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_tableelement_trigger_test.txt +133 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_text_attribute_trigger_test.txt +120 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_texttype_property_test.txt +126 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_triggers_requestpage_test.txt +103 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_use_request_page_test.txt +71 -0
- tree_sitter_al-0.0.0/test/corpus/xmlport_with_schema_test.txt +51 -0
- tree_sitter_al-0.0.0/test/corpus/xor_logical_operator_test.txt +134 -0
- tree_sitter_al-0.0.0/test/disabled/built_in_functions.txt +333 -0
- tree_sitter_al-0.0.0/test/disabled/complexIdentifiers.txt +111 -0
- tree_sitter_al-0.0.0/test/disabled/known_limitation_trigger_preprocessor_complex.txt +123 -0
- tree_sitter_al-0.0.0/test_grammar_fix.js +32 -0
- tree_sitter_al-0.0.0/test_minimal/grammar.json +143 -0
- tree_sitter_al-0.0.0/test_minimal/node-types.json +107 -0
- tree_sitter_al-0.0.0/test_minimal/parser.c +426 -0
- tree_sitter_al-0.0.0/test_minimal/tree_sitter/alloc.h +54 -0
- tree_sitter_al-0.0.0/test_minimal/tree_sitter/array.h +291 -0
- tree_sitter_al-0.0.0/test_minimal/tree_sitter/parser.h +287 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/compare_keywords.py +174 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/compare_properties.py +265 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/compare_triggers.py +175 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/config.py +125 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/extract_grammar_keywords.py +189 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/extract_snippets.py +335 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/extract_vscode_keywords.py +198 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/generate_full_report.py +366 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/generate_report.py +257 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/comparison_report.md +127 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/comparison_results.json +1891 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/full_comparison_report.md +243 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/grammar_keywords.json +3777 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/new_keywords_template.js +109 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/property_comparison.json +1042 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/snippets_data.json +3913 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/trigger_comparison.json +81 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/output/vscode_keywords.json +414 -0
- tree_sitter_al-0.0.0/tools/keyword-sync/run_all.py +213 -0
- tree_sitter_al-0.0.0/tree-sitter-al.wasm +0 -0
- tree_sitter_al-0.0.0/tree-sitter.json +39 -0
- tree_sitter_al-0.0.0/unused_rules_full.txt +6 -0
- tree_sitter_al-0.0.0/validate-grammar.sh +257 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Attribute Handling
|
|
2
|
+
|
|
3
|
+
## Architecture
|
|
4
|
+
|
|
5
|
+
Attributes are first-class statements using the Rust/C# pattern.
|
|
6
|
+
|
|
7
|
+
**Key points:**
|
|
8
|
+
- Attributes appear as `attribute_item` nodes in the parse tree
|
|
9
|
+
- They are siblings to declarations, not nested within them
|
|
10
|
+
- Preprocessor directives can appear between attributes and declarations
|
|
11
|
+
- Semantic analysis (post-parse) associates attributes with following declarations
|
|
12
|
+
|
|
13
|
+
## Parse Tree Structure
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
(attribute_item
|
|
17
|
+
attribute: (attribute_content ...))
|
|
18
|
+
(procedure ...)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Attributes are separate nodes at the same level as declarations.
|
|
22
|
+
|
|
23
|
+
## Valid Patterns
|
|
24
|
+
|
|
25
|
+
```al
|
|
26
|
+
[Scope('OnPrem')]
|
|
27
|
+
[IntegrationEvent(false, false)]
|
|
28
|
+
procedure MyEvent() begin end;
|
|
29
|
+
|
|
30
|
+
[Obsolete('Use NewVersion', '24.0')]
|
|
31
|
+
#if not CLEAN24
|
|
32
|
+
procedure OldVersion() begin end;
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
// Attributes on parameters
|
|
36
|
+
procedure Test([Mandatory] Param: Integer) begin end;
|
|
37
|
+
|
|
38
|
+
// Attributes on enum values
|
|
39
|
+
[Caption('Active')]
|
|
40
|
+
value(0; Active) { }
|
|
41
|
+
|
|
42
|
+
// Attributes on variables (in var sections)
|
|
43
|
+
[NonDebuggable]
|
|
44
|
+
MyVar: Integer;
|
|
45
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Contextual Keywords
|
|
2
|
+
|
|
3
|
+
## V2 Architecture
|
|
4
|
+
|
|
5
|
+
In V2, most property/variable disambiguation is handled by the `PROPERTY_NAME` scanner token, not by keyword-level tricks. The scanner distinguishes `identifier =` (property) from `identifier :` (variable).
|
|
6
|
+
|
|
7
|
+
## Keyword-as-Identifier
|
|
8
|
+
|
|
9
|
+
Some AL keywords are used as identifiers in certain contexts (e.g., `field`, `key`, `value`, `filter`, `action`, `type`, `version`). These are handled by the `keyword_as_identifier` rule:
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
keyword_as_identifier: $ => choice(
|
|
13
|
+
'field', 'key', 'value', 'separator', 'dataset', 'type', 'version', 'action'
|
|
14
|
+
),
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
When adding new keywords that can also be identifiers, add them to this choice list.
|
|
18
|
+
|
|
19
|
+
## Named Keywords
|
|
20
|
+
|
|
21
|
+
80 keywords are named rules for query matching. Use `kw()` (regex) for simple keywords:
|
|
22
|
+
|
|
23
|
+
```javascript
|
|
24
|
+
if_keyword: $ => kw('if'),
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
For CamelCase compound keywords, use explicit case variants:
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
controladdin_keyword: $ => prec(10, choice(
|
|
31
|
+
'controladdin', 'CONTROLADDIN', 'Controladdin', 'ControlAddIn'
|
|
32
|
+
)),
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## begin/end Limitation
|
|
36
|
+
|
|
37
|
+
`begin`/`end` MUST stay as anonymous `kw()` tokens. Any naming mechanism (named rules, alias named, alias anonymous) changes the token type and breaks GLR backtracking in preprocessor-split constructs. This is a fundamental tree-sitter limitation.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Parse Failure Debugging
|
|
2
|
+
|
|
3
|
+
## Quick Workflow
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 1. Parse with debug output
|
|
7
|
+
tree-sitter parse file.al -d > debug.log 2>&1
|
|
8
|
+
|
|
9
|
+
# 2. Analyze with bug finder
|
|
10
|
+
python parse_bug_finder.py file.al debug.log
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Error Research Agent
|
|
14
|
+
|
|
15
|
+
For systematic analysis of parse failures, use the `error-research` agent:
|
|
16
|
+
- Analyzes failing files after validation reveals errors
|
|
17
|
+
- Categorizes error patterns across multiple files
|
|
18
|
+
- Identifies root causes and prioritizes fixes by impact
|
|
19
|
+
|
|
20
|
+
## Batch Error Analysis
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Run full production parse
|
|
24
|
+
./parse-al-parallel.sh ./BC.History/ .
|
|
25
|
+
|
|
26
|
+
# Check error list
|
|
27
|
+
cat ./BC.History/errors.txt
|
|
28
|
+
|
|
29
|
+
# Parse specific error files
|
|
30
|
+
head -10 ./BC.History/errors.txt | while IFS= read -r f; do
|
|
31
|
+
echo "=== $(basename "$f") ==="
|
|
32
|
+
tree-sitter parse "$f" 2>&1 | grep -E "ERROR|MISSING" | head -3
|
|
33
|
+
done
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Debugging Process
|
|
37
|
+
|
|
38
|
+
1. Isolate failing construct, test in minimal context
|
|
39
|
+
2. Check if rule exists in grammar.js
|
|
40
|
+
3. Test with precedence if parser state issues
|
|
41
|
+
4. Use `parse_bug_finder.py` to analyze debug output
|
|
42
|
+
5. Update expectations (`-u`) only if no ERROR/MISSING nodes
|
|
43
|
+
|
|
44
|
+
## Philosophy: No Known Limitations
|
|
45
|
+
|
|
46
|
+
**Never give up on a failing pattern:**
|
|
47
|
+
- Don't disable tests or mark issues as "known limitations"
|
|
48
|
+
- Research how other parsers handle similar constructs in `other-languages/`
|
|
49
|
+
- Use `error-research` agent for systematic failure analysis
|
|
50
|
+
- Every "impossible" pattern has been solved somewhere — find it and adapt it
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# External Scanner Rules
|
|
2
|
+
|
|
3
|
+
The external scanner (`src/scanner.c`) handles patterns that can't be expressed in JavaScript grammar alone.
|
|
4
|
+
|
|
5
|
+
## Scanner Tokens
|
|
6
|
+
|
|
7
|
+
| Token | Purpose | Lookahead |
|
|
8
|
+
|-------|---------|-----------|
|
|
9
|
+
| `PROPERTY_NAME` | `identifier` followed by `=` (not `:=`) — disambiguates properties from variables | Skip whitespace after identifier, check next char |
|
|
10
|
+
| `CONTINUE_AS_IDENTIFIER` | `continue` followed by `:=` — used as variable name | Check for `:=` after `continue` |
|
|
11
|
+
|
|
12
|
+
## PROPERTY_NAME Token
|
|
13
|
+
|
|
14
|
+
This is the V2 grammar's key architectural innovation. When the parser state allows both properties and variables, the scanner checks what follows the identifier:
|
|
15
|
+
|
|
16
|
+
1. Match identifier regex (Unicode-aware)
|
|
17
|
+
2. Skip whitespace
|
|
18
|
+
3. If next char is `=` and NOT part of `:=` or `==`: emit `PROPERTY_NAME`
|
|
19
|
+
4. Otherwise: don't match, let grammar handle as `identifier`
|
|
20
|
+
|
|
21
|
+
**Critical constraint:** `PROPERTY_NAME` must never be in `valid_symbols` inside `var_section` or statement contexts. The grammar naturally ensures this because properties appear in object/section bodies, not in code blocks.
|
|
22
|
+
|
|
23
|
+
## Adding Scanner Features
|
|
24
|
+
|
|
25
|
+
1. Add token to `TokenType` enum in `src/scanner.c`
|
|
26
|
+
2. Add token to `externals` array in `grammar.js`
|
|
27
|
+
3. Implement lookahead logic in `tree_sitter_al_external_scanner_scan`
|
|
28
|
+
4. Create grammar rules using the token
|
|
29
|
+
5. Test with edge cases
|
|
30
|
+
|
|
31
|
+
## Debugging
|
|
32
|
+
|
|
33
|
+
Enable debug output:
|
|
34
|
+
```c
|
|
35
|
+
#define SCANNER_DEBUG 1
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Trace what the parser is asking for:
|
|
39
|
+
```c
|
|
40
|
+
if (SCANNER_DEBUG) {
|
|
41
|
+
fprintf(stderr, "SCANNER: valid_symbols PROPERTY_NAME=%d CONTINUE=%d at '%c'\n",
|
|
42
|
+
valid_symbols[PROPERTY_NAME],
|
|
43
|
+
valid_symbols[CONTINUE_AS_IDENTIFIER],
|
|
44
|
+
(char)lexer->lookahead);
|
|
45
|
+
}
|
|
46
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Test Failure Patterns
|
|
2
|
+
|
|
3
|
+
## Common Patterns
|
|
4
|
+
|
|
5
|
+
| Pattern | Symptom | Fix |
|
|
6
|
+
|---------|---------|-----|
|
|
7
|
+
| **Missing construct** | ERROR nodes | Add rule to `_body_element` or relevant choice list |
|
|
8
|
+
| **Case-sensitivity** | Keywords not matching | Use `kw()` or explicit `choice()` with case variants |
|
|
9
|
+
| **Preprocessor splits** | MISSING tokens in #if contexts | Add dedicated `preproc_split_*` rule |
|
|
10
|
+
| **Complex property syntax** | Property value fails to parse | Add dedicated complex property rule |
|
|
11
|
+
| **Keyword as identifier** | Variable name conflicts with keyword | Add to `keyword_as_identifier` choice list |
|
|
12
|
+
| **Structural mismatch** | Different node structure in tests | Update tests with `-u` if parsing is correct (no ERRORs) |
|
|
13
|
+
|
|
14
|
+
## When to Update vs Fix
|
|
15
|
+
|
|
16
|
+
| Action | Condition |
|
|
17
|
+
|--------|-----------|
|
|
18
|
+
| **Update tests** (`-u`) | Grammar correct, tree structure evolved, no ERROR/MISSING nodes |
|
|
19
|
+
| **Fix grammar** | ERROR or MISSING nodes present in parse output |
|
|
20
|
+
|
|
21
|
+
## Test Guidelines
|
|
22
|
+
|
|
23
|
+
- **Never delete or disable test files** — fix the underlying issue
|
|
24
|
+
- Use `tree-sitter test -u` only if no ERROR/MISSING nodes exist
|
|
25
|
+
- **BC.History (15,358 files) is the real validation gate** — tests are a development aid
|
|
26
|
+
- When stuck, study similar patterns in `other-languages/` parsers
|
|
27
|
+
|
|
28
|
+
## Debugging
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Parse with debug output
|
|
32
|
+
tree-sitter parse file.al -d > debug.log 2>&1
|
|
33
|
+
|
|
34
|
+
# Analyze with bug finder
|
|
35
|
+
python parse_bug_finder.py file.al debug.log
|
|
36
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
|
|
6
|
+
[*.{json,toml,yml,gyp}]
|
|
7
|
+
indent_style = space
|
|
8
|
+
indent_size = 2
|
|
9
|
+
|
|
10
|
+
[*.js]
|
|
11
|
+
indent_style = space
|
|
12
|
+
indent_size = 2
|
|
13
|
+
|
|
14
|
+
[*.scm]
|
|
15
|
+
indent_style = space
|
|
16
|
+
indent_size = 2
|
|
17
|
+
|
|
18
|
+
[*.{c,cc,h}]
|
|
19
|
+
indent_style = space
|
|
20
|
+
indent_size = 4
|
|
21
|
+
|
|
22
|
+
[*.rs]
|
|
23
|
+
indent_style = space
|
|
24
|
+
indent_size = 4
|
|
25
|
+
|
|
26
|
+
[*.{py,pyi}]
|
|
27
|
+
indent_style = space
|
|
28
|
+
indent_size = 4
|
|
29
|
+
|
|
30
|
+
[*.swift]
|
|
31
|
+
indent_style = space
|
|
32
|
+
indent_size = 4
|
|
33
|
+
|
|
34
|
+
[*.go]
|
|
35
|
+
indent_style = tab
|
|
36
|
+
indent_size = 8
|
|
37
|
+
|
|
38
|
+
[Makefile]
|
|
39
|
+
indent_style = tab
|
|
40
|
+
indent_size = 8
|
|
41
|
+
|
|
42
|
+
[parser.c]
|
|
43
|
+
indent_size = 2
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
* text=auto eol=lf
|
|
2
|
+
|
|
3
|
+
src/*.json linguist-generated
|
|
4
|
+
src/parser.c linguist-generated
|
|
5
|
+
src/tree_sitter/* linguist-generated
|
|
6
|
+
|
|
7
|
+
bindings/** linguist-generated
|
|
8
|
+
binding.gyp linguist-generated
|
|
9
|
+
setup.py linguist-generated
|
|
10
|
+
Makefile linguist-generated
|
|
11
|
+
CMakeLists.txt linguist-generated
|
|
12
|
+
Package.swift linguist-generated
|
|
13
|
+
go.mod linguist-generated
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
name: Build and release artifacts
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-shared-lib:
|
|
11
|
+
name: Build shared library (${{ matrix.os }})
|
|
12
|
+
runs-on: ${{ matrix.os }}
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
include:
|
|
16
|
+
- os: ubuntu-latest
|
|
17
|
+
artifact: tree-sitter-al.so
|
|
18
|
+
lib-glob: "*.so"
|
|
19
|
+
- os: windows-latest
|
|
20
|
+
artifact: tree-sitter-al.dll
|
|
21
|
+
lib-glob: "*.dll"
|
|
22
|
+
- os: macos-latest
|
|
23
|
+
artifact: tree-sitter-al.dylib
|
|
24
|
+
lib-glob: "*.dylib"
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- name: Set up tree-sitter CLI
|
|
29
|
+
uses: tree-sitter/setup-action/cli@v2
|
|
30
|
+
|
|
31
|
+
- name: Add swap space (Linux only)
|
|
32
|
+
if: runner.os == 'Linux'
|
|
33
|
+
run: |
|
|
34
|
+
sudo swapoff /swapfile || true
|
|
35
|
+
sudo rm -f /swapfile
|
|
36
|
+
sudo fallocate -l 12G /swapfile
|
|
37
|
+
sudo chmod 600 /swapfile
|
|
38
|
+
sudo mkswap /swapfile
|
|
39
|
+
sudo swapon /swapfile
|
|
40
|
+
|
|
41
|
+
- name: Build shared library
|
|
42
|
+
run: tree-sitter build .
|
|
43
|
+
|
|
44
|
+
- name: Find and rename output
|
|
45
|
+
shell: bash
|
|
46
|
+
run: |
|
|
47
|
+
LIB=$(find . -maxdepth 1 -name '${{ matrix.lib-glob }}' | head -1)
|
|
48
|
+
echo "Found: $LIB"
|
|
49
|
+
mv "$LIB" "${{ matrix.artifact }}"
|
|
50
|
+
|
|
51
|
+
- name: Upload shared library artifact
|
|
52
|
+
uses: actions/upload-artifact@v4
|
|
53
|
+
with:
|
|
54
|
+
name: ${{ matrix.artifact }}
|
|
55
|
+
path: ${{ matrix.artifact }}
|
|
56
|
+
|
|
57
|
+
release:
|
|
58
|
+
name: Create GitHub Releases
|
|
59
|
+
needs: [build-shared-lib]
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
steps:
|
|
62
|
+
- uses: actions/checkout@v4
|
|
63
|
+
|
|
64
|
+
- name: Download all artifacts
|
|
65
|
+
uses: actions/download-artifact@v4
|
|
66
|
+
with:
|
|
67
|
+
path: artifacts
|
|
68
|
+
merge-multiple: true
|
|
69
|
+
|
|
70
|
+
- name: Copy prebuilt WASM
|
|
71
|
+
run: cp tree-sitter-al.wasm artifacts/
|
|
72
|
+
|
|
73
|
+
- name: List artifacts
|
|
74
|
+
run: ls -la artifacts/
|
|
75
|
+
|
|
76
|
+
- name: Get version from package.json
|
|
77
|
+
id: version
|
|
78
|
+
run: |
|
|
79
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
80
|
+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
81
|
+
echo "tag=v$VERSION" >> "$GITHUB_OUTPUT"
|
|
82
|
+
echo "Version: $VERSION (tag: v$VERSION)"
|
|
83
|
+
|
|
84
|
+
- name: Check if versioned release already exists
|
|
85
|
+
id: check
|
|
86
|
+
run: |
|
|
87
|
+
if gh release view "v${{ steps.version.outputs.version }}" >/dev/null 2>&1; then
|
|
88
|
+
echo "exists=true" >> "$GITHUB_OUTPUT"
|
|
89
|
+
echo "Versioned release v${{ steps.version.outputs.version }} already exists, skipping"
|
|
90
|
+
else
|
|
91
|
+
echo "exists=false" >> "$GITHUB_OUTPUT"
|
|
92
|
+
fi
|
|
93
|
+
env:
|
|
94
|
+
GH_TOKEN: ${{ github.token }}
|
|
95
|
+
|
|
96
|
+
- name: Create versioned release
|
|
97
|
+
if: steps.check.outputs.exists == 'false'
|
|
98
|
+
uses: softprops/action-gh-release@v2
|
|
99
|
+
with:
|
|
100
|
+
tag_name: ${{ steps.version.outputs.tag }}
|
|
101
|
+
name: ${{ steps.version.outputs.tag }}
|
|
102
|
+
body: |
|
|
103
|
+
## tree-sitter-al ${{ steps.version.outputs.tag }}
|
|
104
|
+
|
|
105
|
+
| File | Platform | Use case |
|
|
106
|
+
|------|----------|----------|
|
|
107
|
+
| `tree-sitter-al.wasm` | All | web-tree-sitter |
|
|
108
|
+
| `tree-sitter-al.so` | Linux x86_64 | ast-grep, native bindings |
|
|
109
|
+
| `tree-sitter-al.dll` | Windows x86_64 | ast-grep, native bindings |
|
|
110
|
+
| `tree-sitter-al.dylib` | macOS ARM64 | ast-grep, native bindings |
|
|
111
|
+
files: artifacts/*
|
|
112
|
+
make_latest: true
|
|
113
|
+
prerelease: false
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Claude Code Review
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, ready_for_review, reopened]
|
|
6
|
+
# Optional: Only run on specific file changes
|
|
7
|
+
# paths:
|
|
8
|
+
# - "src/**/*.ts"
|
|
9
|
+
# - "src/**/*.tsx"
|
|
10
|
+
# - "src/**/*.js"
|
|
11
|
+
# - "src/**/*.jsx"
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
claude-review:
|
|
15
|
+
# Optional: Filter by PR author
|
|
16
|
+
# if: |
|
|
17
|
+
# github.event.pull_request.user.login == 'external-contributor' ||
|
|
18
|
+
# github.event.pull_request.user.login == 'new-developer' ||
|
|
19
|
+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
|
|
20
|
+
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
permissions:
|
|
23
|
+
contents: read
|
|
24
|
+
pull-requests: read
|
|
25
|
+
issues: read
|
|
26
|
+
id-token: write
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout repository
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 1
|
|
33
|
+
|
|
34
|
+
- name: Run Claude Code Review
|
|
35
|
+
id: claude-review
|
|
36
|
+
uses: anthropics/claude-code-action@v1
|
|
37
|
+
with:
|
|
38
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
39
|
+
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
|
|
40
|
+
plugins: 'code-review@claude-code-plugins'
|
|
41
|
+
prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
|
|
42
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
43
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
44
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Claude Code
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issue_comment:
|
|
5
|
+
types: [created]
|
|
6
|
+
pull_request_review_comment:
|
|
7
|
+
types: [created]
|
|
8
|
+
issues:
|
|
9
|
+
types: [opened, assigned]
|
|
10
|
+
pull_request_review:
|
|
11
|
+
types: [submitted]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
claude:
|
|
15
|
+
if: |
|
|
16
|
+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
17
|
+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
18
|
+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
19
|
+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
pull-requests: read
|
|
24
|
+
issues: read
|
|
25
|
+
id-token: write
|
|
26
|
+
actions: read # Required for Claude to read CI results on PRs
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout repository
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
with:
|
|
31
|
+
fetch-depth: 1
|
|
32
|
+
|
|
33
|
+
- name: Run Claude Code
|
|
34
|
+
id: claude
|
|
35
|
+
uses: anthropics/claude-code-action@v1
|
|
36
|
+
with:
|
|
37
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
38
|
+
|
|
39
|
+
# This is an optional setting that allows Claude to read CI results on PRs
|
|
40
|
+
additional_permissions: |
|
|
41
|
+
actions: read
|
|
42
|
+
|
|
43
|
+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
|
|
44
|
+
# prompt: 'Update the pull request description to include a summary of changes.'
|
|
45
|
+
|
|
46
|
+
# Optional: Add claude_args to customize behavior and configuration
|
|
47
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
48
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
49
|
+
# claude_args: '--allowed-tools Bash(gh pr:*)'
|
|
50
|
+
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Publish Python Package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-wheels:
|
|
10
|
+
name: Build wheels (${{ matrix.os }})
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.12"
|
|
22
|
+
- run: pip install cibuildwheel
|
|
23
|
+
- run: cibuildwheel --output-dir dist
|
|
24
|
+
- uses: actions/upload-artifact@v4
|
|
25
|
+
with:
|
|
26
|
+
name: wheels-${{ matrix.os }}
|
|
27
|
+
path: dist/*.whl
|
|
28
|
+
|
|
29
|
+
build-sdist:
|
|
30
|
+
name: Build sdist
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@v4
|
|
34
|
+
with:
|
|
35
|
+
fetch-depth: 0
|
|
36
|
+
- uses: actions/setup-python@v5
|
|
37
|
+
with:
|
|
38
|
+
python-version: "3.12"
|
|
39
|
+
- run: pip install build
|
|
40
|
+
- run: python -m build --sdist
|
|
41
|
+
- uses: actions/upload-artifact@v4
|
|
42
|
+
with:
|
|
43
|
+
name: sdist
|
|
44
|
+
path: dist/*.tar.gz
|
|
45
|
+
|
|
46
|
+
publish:
|
|
47
|
+
name: Publish to PyPI
|
|
48
|
+
needs: [build-wheels, build-sdist]
|
|
49
|
+
runs-on: ubuntu-latest
|
|
50
|
+
environment: pypi
|
|
51
|
+
permissions:
|
|
52
|
+
id-token: write
|
|
53
|
+
steps:
|
|
54
|
+
- uses: actions/download-artifact@v4
|
|
55
|
+
with:
|
|
56
|
+
path: dist
|
|
57
|
+
merge-multiple: true
|
|
58
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Rust artifacts
|
|
2
|
+
target/
|
|
3
|
+
|
|
4
|
+
# Node artifacts
|
|
5
|
+
build/
|
|
6
|
+
prebuilds/
|
|
7
|
+
node_modules/
|
|
8
|
+
|
|
9
|
+
# Swift artifacts
|
|
10
|
+
.build/
|
|
11
|
+
|
|
12
|
+
# Go artifacts
|
|
13
|
+
_obj/
|
|
14
|
+
|
|
15
|
+
# Python artifacts
|
|
16
|
+
.venv/
|
|
17
|
+
dist/
|
|
18
|
+
*.egg-info
|
|
19
|
+
*.whl
|
|
20
|
+
|
|
21
|
+
# C artifacts
|
|
22
|
+
*.a
|
|
23
|
+
*.so
|
|
24
|
+
*.so.*
|
|
25
|
+
*.dylib
|
|
26
|
+
*.dll
|
|
27
|
+
*.pc
|
|
28
|
+
|
|
29
|
+
# Example dirs
|
|
30
|
+
/examples/*/
|
|
31
|
+
|
|
32
|
+
# Grammar volatiles
|
|
33
|
+
*.wasm
|
|
34
|
+
!tree-sitter-al.wasm
|
|
35
|
+
*.obj
|
|
36
|
+
*.o
|
|
37
|
+
|
|
38
|
+
# Archives
|
|
39
|
+
*.tar.gz
|
|
40
|
+
*.tgz
|
|
41
|
+
*.zip
|
|
42
|
+
.aider*
|
|
43
|
+
.env
|
|
44
|
+
/env
|
|
45
|
+
/developer
|
|
46
|
+
/.vscode
|
|
47
|
+
*.al
|
|
48
|
+
*.ps1
|
|
49
|
+
*.log
|
|
50
|
+
log.html
|
|
51
|
+
grammarPascal.js
|
|
52
|
+
|
|
53
|
+
/memory-bank/*
|
|
54
|
+
|
|
55
|
+
DC/*
|
|
56
|
+
|
|
57
|
+
# Analysis and utility scripts
|
|
58
|
+
*.py
|
|
59
|
+
# But allow keyword-sync tools
|
|
60
|
+
!tools/keyword-sync/*.py
|
|
61
|
+
!tools/keyword-sync/output/
|
|
62
|
+
tools/keyword-sync/__pycache__/
|
|
63
|
+
current_orphans.txt
|
|
64
|
+
orphan_report.txt
|
|
65
|
+
run_query*.sh
|
|
66
|
+
# Ignore queries/ except standard tree-sitter query files
|
|
67
|
+
queries/*
|
|
68
|
+
!queries/tags.scm
|
|
69
|
+
!queries/highlights.scm
|
|
70
|
+
!queries/locals.scm
|
|
71
|
+
!queries/indents.scm
|
|
72
|
+
!queries/folds.scm
|
|
73
|
+
FIXES.md
|
|
74
|
+
|
|
75
|
+
# AI assistant files
|
|
76
|
+
.claude/
|
|
77
|
+
.clinerules/
|
|
78
|
+
.goosehints
|
|
79
|
+
CLAUDE.md
|
|
80
|
+
settings.local.json
|
|
81
|
+
|
|
82
|
+
# Development and analysis files
|
|
83
|
+
*PLAN*.md
|
|
84
|
+
*SUMMARY*.md
|
|
85
|
+
*MIGRATION*.md
|
|
86
|
+
*MERGE*.md
|
|
87
|
+
*SOLUTION*.md
|
|
88
|
+
*CONVENTION*.md
|
|
89
|
+
*MISSING*.md
|
|
90
|
+
*QUERIES*.md
|
|
91
|
+
*RULES*.md
|
|
92
|
+
*GUIDE*.md
|
|
93
|
+
property_*.md
|
|
94
|
+
property_*.txt
|
|
95
|
+
all_properties.txt
|
|
96
|
+
context_mapping.txt
|
|
97
|
+
migration_strategy.md
|
|
98
|
+
validation_report.md
|
|
99
|
+
orphan_*.txt
|
|
100
|
+
|
|
101
|
+
# Build artifacts
|
|
102
|
+
*.pdb
|
|
103
|
+
*.exp
|
|
104
|
+
*.lib
|
|
105
|
+
al_testfiles/parsed.txt
|
|
106
|
+
|
|
107
|
+
# Backup files
|
|
108
|
+
bak/
|
|
109
|
+
|
|
110
|
+
BC.History/
|