diff options
| author | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-10-16 16:46:20 -0400 |
|---|---|---|
| committer | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-10-16 16:46:20 -0400 |
| commit | dd2910d5156f60ca5a6564c258c1f6057547d5f8 (patch) | |
| tree | fcadcf5e1fa52946293bb6b912cea03180022cb5 | |
| parent | 5f4af97793eff58ce746799913747eae1825182f (diff) | |
Fix issue with document symbols with invalid struct fields causing vscode errors
| -rw-r--r-- | src/server/document_symbols.odin | 18 |
1 files 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] |