diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/collector.odin | 13 | ||||
| -rw-r--r-- | src/server/references.odin | 1 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/server/collector.odin b/src/server/collector.odin index 5888326..b2c2d66 100644 --- a/src/server/collector.odin +++ b/src/server/collector.odin @@ -198,16 +198,9 @@ collect_enum_fields :: proc( //ERROR no hover on n in the for, but elsewhere is fine for n in fields { - append(&ranges, common.get_token_range(n, file.src)) - if ident, ok := n.derived.(^ast.Ident); ok { - append(&names, get_index_unique_string(collection, ident.name)) - } else if field, ok := n.derived.(^ast.Field_Value); ok { - if ident, ok := field.field.derived.(^ast.Ident); ok { - append(&names, get_index_unique_string(collection, ident.name)) - } else if binary, ok := field.field.derived.(^ast.Binary_Expr); ok { - append(&names, get_index_unique_string(collection, binary.left.derived.(^ast.Ident).name)) - } - } + name, range := get_enum_field_name_and_range(n, file.src) + append(&names, strings.clone(name, collection.allocator)) + append(&ranges, range) } value := SymbolEnumValue { diff --git a/src/server/references.odin b/src/server/references.odin index 92cec09..fed58bd 100644 --- a/src/server/references.odin +++ b/src/server/references.odin @@ -237,7 +237,6 @@ resolve_references :: proc( uri, _ := common.parse_uri(workspace.uri, context.temp_allocator) filepath.walk(uri.path, walk_directories, document) } - } else { } reset_ast_context(ast_context) |