aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/ast.odin2
-rw-r--r--src/common/position.odin10
-rw-r--r--src/index/build.odin2
-rw-r--r--src/server/documents.odin2
-rw-r--r--src/server/requests.odin2
-rw-r--r--src/server/semantic_tokens.odin14
-rw-r--r--src/testing/testing.odin2
7 files changed, 17 insertions, 17 deletions
diff --git a/src/common/ast.odin b/src/common/ast.odin
index 96e5151..9c24f03 100644
--- a/src/common/ast.odin
+++ b/src/common/ast.odin
@@ -143,7 +143,7 @@ collect_globals :: proc(file: ast.File, skip_private := false) -> []GlobalExpr {
return exprs[:];
}
-get_ast_node_string :: proc(node: ^ast.Node, src: []byte) -> string {
+get_ast_node_string :: proc(node: ^ast.Node, src: string) -> string {
return string(src[node.pos.offset:node.end.offset]);
}
diff --git a/src/common/position.odin b/src/common/position.odin
index d410ce6..41bf00a 100644
--- a/src/common/position.odin
+++ b/src/common/position.odin
@@ -91,7 +91,7 @@ get_relative_token_position :: proc(offset: int, document_text: []u8, current_st
/*
Get the range of a token in utf16 space
*/
-get_token_range :: proc(node: ast.Node, document_text: []u8) -> Range {
+get_token_range :: proc(node: ast.Node, document_text: string) -> Range {
range: Range;
go_backwards_to_endline :: proc(offset: int, document_text: []u8) -> int {
@@ -112,15 +112,15 @@ get_token_range :: proc(node: ast.Node, document_text: []u8) -> Range {
pos_offset := min(len(document_text) - 1, node.pos.offset);
end_offset := min(len(document_text) - 1, node.end.offset);
- offset := go_backwards_to_endline(pos_offset, document_text);
+ offset := go_backwards_to_endline(pos_offset, transmute([]u8)document_text);
range.start.line = node.pos.line - 1;
- range.start.character = get_character_offset_u8_to_u16(node.pos.column - 1, document_text[offset:]);
+ range.start.character = get_character_offset_u8_to_u16(node.pos.column - 1, transmute([]u8)document_text[offset:]);
- offset = go_backwards_to_endline(end_offset, document_text);
+ offset = go_backwards_to_endline(end_offset, transmute([]u8)document_text);
range.end.line = node.end.line - 1;
- range.end.character = get_character_offset_u8_to_u16(node.end.column - 1, document_text[offset:]);
+ range.end.character = get_character_offset_u8_to_u16(node.end.column - 1, transmute([]u8)document_text[offset:]);
return range;
}
diff --git a/src/index/build.odin b/src/index/build.odin
index b464ce9..c45fa36 100644
--- a/src/index/build.odin
+++ b/src/index/build.odin
@@ -115,7 +115,7 @@ build_static_index :: proc(allocator := context.allocator, config: ^common.Confi
file := ast.File {
fullpath = fullpath,
- src = data,
+ src = string(data),
pkg = pkg,
};
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);
diff --git a/src/testing/testing.odin b/src/testing/testing.odin
index ebaf4fc..6f01229 100644
--- a/src/testing/testing.odin
+++ b/src/testing/testing.odin
@@ -99,7 +99,7 @@ setup :: proc(src: ^Source) {
file := ast.File {
fullpath = fullpath,
- src = transmute([]u8)src_pkg.source,
+ src = src_pkg.source,
pkg = pkg,
};