aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2021-05-17 23:35:55 +0200
committerDanielGavin <danielgavin5@hotmail.com>2021-05-17 23:35:55 +0200
commit63feccd209b69b913f3a2fe33fa993dbe0af909f (patch)
treeb5fc2788fd29b90a9feb13c8b3b5017ee6d6d483 /src/server
parent98609fccd73cb464dd4659702319dab2fe1c61c1 (diff)
handle the parser changes in core + linux still not working
Diffstat (limited to 'src/server')
-rw-r--r--src/server/documents.odin2
-rw-r--r--src/server/requests.odin2
-rw-r--r--src/server/semantic_tokens.odin14
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);