diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2021-05-17 23:35:55 +0200 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2021-05-17 23:35:55 +0200 |
| commit | 63feccd209b69b913f3a2fe33fa993dbe0af909f (patch) | |
| tree | b5fc2788fd29b90a9feb13c8b3b5017ee6d6d483 /src/server | |
| parent | 98609fccd73cb464dd4659702319dab2fe1c61c1 (diff) | |
handle the parser changes in core + linux still not working
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/documents.odin | 2 | ||||
| -rw-r--r-- | src/server/requests.odin | 2 | ||||
| -rw-r--r-- | src/server/semantic_tokens.odin | 14 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/server/documents.odin b/src/server/documents.odin index 70569f4..8b33f66 100644 --- a/src/server/documents.odin +++ b/src/server/documents.odin @@ -367,7 +367,7 @@ parse_document :: proc(document: ^Document, config: ^common.Config) -> ([]Parser document.ast = ast.File { fullpath = document.uri.path, - src = document.text[:document.used_text], + src = string(document.text[:document.used_text]), pkg = pkg, }; diff --git a/src/server/requests.odin b/src/server/requests.odin index 528f709..26b26d4 100644 --- a/src/server/requests.odin +++ b/src/server/requests.odin @@ -867,7 +867,7 @@ notification_did_save :: proc (task: ^common.Task) { file := ast.File { fullpath = fullpath, - src = transmute([]u8)save_params.text, + src = save_params.text, pkg = pkg, }; diff --git a/src/server/semantic_tokens.odin b/src/server/semantic_tokens.odin index c9fde74..c36755b 100644 --- a/src/server/semantic_tokens.odin +++ b/src/server/semantic_tokens.odin @@ -114,9 +114,9 @@ get_semantic_tokens :: proc(document: ^Document, range: common.Range) -> Semanti return get_tokens(builder); } -write_semantic_node :: proc(builder: ^SemanticTokenBuilder, node: ^ast.Node, src: []byte, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { +write_semantic_node :: proc(builder: ^SemanticTokenBuilder, node: ^ast.Node, src: string, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { - position := common.get_relative_token_position(node.pos.offset, src, builder.current_start); + position := common.get_relative_token_position(node.pos.offset, transmute([]u8)src, builder.current_start); name := common.get_ast_node_string(node, src); @@ -125,18 +125,18 @@ write_semantic_node :: proc(builder: ^SemanticTokenBuilder, node: ^ast.Node, src builder.current_start = node.pos.offset; } -write_semantic_token :: proc(builder: ^SemanticTokenBuilder, token: tokenizer.Token, src: []byte, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { +write_semantic_token :: proc(builder: ^SemanticTokenBuilder, token: tokenizer.Token, src: string, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { - position := common.get_relative_token_position(token.pos.offset, src, builder.current_start); + position := common.get_relative_token_position(token.pos.offset, transmute([]u8)src, builder.current_start); append(&builder.tokens, cast(u32)position.line, cast(u32)position.character, cast(u32)len(token.text), cast(u32)type, 0); builder.current_start = token.pos.offset; } -write_semantic_token_pos :: proc(builder: ^SemanticTokenBuilder, pos: tokenizer.Pos, name: string, src: []byte, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { +write_semantic_token_pos :: proc(builder: ^SemanticTokenBuilder, pos: tokenizer.Pos, name: string, src: string, type: SemanticTokenTypes, modifier: SemanticTokenModifiers) { - position := common.get_relative_token_position(pos.offset, src, builder.current_start); + position := common.get_relative_token_position(pos.offset, transmute([]u8)src, builder.current_start); append(&builder.tokens, cast(u32)position.line, cast(u32)position.character, cast(u32)len(name), cast(u32)type, 0); @@ -453,7 +453,7 @@ write_semantic_tokens_value_decl :: proc(value_decl: ast.Value_Decl, builder: ^S } } -write_semantic_token_op :: proc(builder: ^SemanticTokenBuilder, token: tokenizer.Token, src: []byte) { +write_semantic_token_op :: proc(builder: ^SemanticTokenBuilder, token: tokenizer.Token, src: string) { if token.text == "=" { write_semantic_token_pos(builder, token.pos, token.text, src, .Operator, .None); |