diff options
| author | ske <contact@ske.land> | 2025-12-17 17:43:57 -0300 |
|---|---|---|
| committer | ske <contact@ske.land> | 2025-12-17 17:43:57 -0300 |
| commit | ad2f993b2ab272e8985258cfa4316a481fa9c02f (patch) | |
| tree | 4898486175593f8615b3e6b4c50a6dc362ac35a5 /src | |
| parent | cccd35ac38e675faa75c841526cb2a4dfd0b0149 (diff) | |
Add defaultLibrary modifier for builtin
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/collector.odin | 4 | ||||
| -rw-r--r-- | src/server/semantic_tokens.odin | 7 | ||||
| -rw-r--r-- | src/server/symbol.odin | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/server/collector.odin b/src/server/collector.odin index f082b73..d2b8445 100644 --- a/src/server/collector.odin +++ b/src/server/collector.odin @@ -731,6 +731,10 @@ collect_symbols :: proc(collection: ^SymbolCollection, file: ast.File, uri: stri symbol.flags |= {.Distinct} } + if expr.builtin { + symbol.flags |= {.Builtin} + } + if expr.deprecated { symbol.flags |= {.Deprecated} } diff --git a/src/server/semantic_tokens.odin b/src/server/semantic_tokens.odin index d237109..885588d 100644 --- a/src/server/semantic_tokens.odin +++ b/src/server/semantic_tokens.odin @@ -57,12 +57,13 @@ semantic_token_type_names: []string = { SemanticTokenModifier :: enum u8 { Declaration, + DefaultLibrary, Definition, Deprecated, ReadOnly, } // Need to be in the same order as SemanticTokenModifier -semantic_token_modifier_names: []string = {"declaration", "definition", "deprecated", "readonly"} +semantic_token_modifier_names: []string = {"declaration", "defaultLibrary", "definition", "deprecated", "readonly"} SemanticTokenModifiers :: bit_set[SemanticTokenModifier;u32] SemanticTokensRequest :: struct { @@ -546,6 +547,10 @@ visit_ident :: proc( modifiers := modifiers + if .Builtin in symbol.flags { + modifiers += {.DefaultLibrary} + } + if .Mutable not_in symbol.flags { modifiers += {.ReadOnly} } diff --git a/src/server/symbol.odin b/src/server/symbol.odin index 2a7cfc6..a5b8690 100644 --- a/src/server/symbol.odin +++ b/src/server/symbol.odin @@ -197,6 +197,7 @@ SymbolValue :: union { } SymbolFlag :: enum { + Builtin, Distinct, Deprecated, PrivateFile, |