feat: comprehensive query files for all block types and VAR sections (Phase 3)
Update all 5 tree-sitter query files to cover the full grammar: highlights.scm: - Add highlights for new literals (binary, octal, date, bool, typed_int, wstring, char) - Add highlights for block names (organization_block, function_block, function, data_block, type_definition) - Add highlights for return_statement, goto_statement, title_statement - Add highlights for bit_access, method_callee - Add compound assignment operators (+=, -=, *=, /=, etc.) indents.scm: - Add function, type_definition, data_block to @indent.begin - Add all var_*_declaration variants to @indent.begin - Add struct_type to @indent.begin - Add END_FUNCTION, END_TYPE, END_DATA_BLOCK, END_STRUCT to @indent.end folds.scm: - Add function, type_definition, data_block to @fold - Add all var_*_declaration variants to @fold - Add struct_type to @fold locals.scm: - Add function, type_definition, data_block as @local.scope - Add all var_*_declaration variants as @local.scope - Add struct_type as @local.scope - Add block name definitions (@definition.function, @definition.class, @definition.type) - Narrow @reference to prefixed_identifier only (reduces noise) tags.scm: - Add function, data_block, type_definition tags - Add FB call references - Add region_statement as @definition.module
This commit is contained in:
+30
-6
@@ -1,15 +1,39 @@
|
||||
; Local variable scoping for SCL - matches grammar.js structure
|
||||
; Local variable scoping for SCL
|
||||
|
||||
; Variable declarations define local variables
|
||||
(var_item
|
||||
name: (identifier) @definition.var)
|
||||
|
||||
; Variable sections create scopes
|
||||
(var_declaration) @local.scope
|
||||
|
||||
; Blocks create scopes
|
||||
(organization_block) @local.scope
|
||||
(function_block) @local.scope
|
||||
(function) @local.scope
|
||||
(type_definition) @local.scope
|
||||
(data_block) @local.scope
|
||||
|
||||
; Identifiers are references
|
||||
(identifier) @reference
|
||||
; VAR sections create scopes
|
||||
(var_declaration) @local.scope
|
||||
(var_temp_declaration) @local.scope
|
||||
(var_constant_declaration) @local.scope
|
||||
(var_retain_declaration) @local.scope
|
||||
(var_non_retain_declaration) @local.scope
|
||||
(var_db_specific_declaration) @local.scope
|
||||
|
||||
; Struct types create scopes
|
||||
(struct_type) @local.scope
|
||||
|
||||
; Block names are definitions
|
||||
(organization_block
|
||||
name: (string) @definition.function)
|
||||
(function_block
|
||||
name: (string) @definition.function)
|
||||
(function
|
||||
name: (string) @definition.function)
|
||||
(data_block
|
||||
name: (string) @definition.class)
|
||||
(type_definition
|
||||
name: (string) @definition.type)
|
||||
|
||||
; References
|
||||
(prefixed_identifier
|
||||
(identifier) @reference)
|
||||
|
||||
Reference in New Issue
Block a user