From dd2910d5156f60ca5a6564c258c1f6057547d5f8 Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:46:20 -0400 Subject: Fix issue with document symbols with invalid struct fields causing vscode errors --- src/server/document_symbols.odin | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/server/document_symbols.odin b/src/server/document_symbols.odin index 2198eab..64fd820 100644 --- a/src/server/document_symbols.odin +++ b/src/server/document_symbols.odin @@ -1,19 +1,7 @@ package server -import "core:fmt" import "core:log" -import "core:mem" import "core:odin/ast" -import "core:odin/parser" -import "core:odin/tokenizer" -import "core:os" -import "core:path/filepath" -import path "core:path/slashpath" -import "core:slice" -import "core:sort" -import "core:strconv" -import "core:strings" - import "src:common" @@ -51,6 +39,9 @@ get_document_symbols :: proc(document: ^Document) -> []DocumentSymbol { case SymbolStructValue: children := make([dynamic]DocumentSymbol, context.temp_allocator) for name, i in v.names { + if name == "" { + continue + } child: DocumentSymbol child.range = v.ranges[i] child.selectionRange = v.ranges[i] @@ -62,6 +53,9 @@ get_document_symbols :: proc(document: ^Document) -> []DocumentSymbol { case SymbolBitFieldValue: children := make([dynamic]DocumentSymbol, context.temp_allocator) for name, i in v.names { + if name == "" { + continue + } child: DocumentSymbol child.range = v.ranges[i] child.selectionRange = v.ranges[i] -- cgit v1.2.3