aboutsummaryrefslogtreecommitdiff
path: root/src/server/document_symbols.odin
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-10-16 16:46:20 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-10-16 16:46:20 -0400
commitdd2910d5156f60ca5a6564c258c1f6057547d5f8 (patch)
treefcadcf5e1fa52946293bb6b912cea03180022cb5 /src/server/document_symbols.odin
parent5f4af97793eff58ce746799913747eae1825182f (diff)
Fix issue with document symbols with invalid struct fields causing vscode errors
Diffstat (limited to 'src/server/document_symbols.odin')
-rw-r--r--src/server/document_symbols.odin18
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]