diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/ast.odin | 2 | ||||
| -rw-r--r-- | src/common/position.odin | 10 | ||||
| -rw-r--r-- | src/index/build.odin | 2 | ||||
| -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 | ||||
| -rw-r--r-- | src/testing/testing.odin | 2 |
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, }; |