aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2022-06-16 21:38:53 +0200
committerGitHub <noreply@github.com>2022-06-16 21:38:53 +0200
commit71b1281f1f81d64039f64d6cf4e730a47eabc75e (patch)
treefc90a3bcdff4618d588453ec44372532676cf195
parent09fdb88a25c3cc350bc1256b2f48c5d5a297807e (diff)
Update visit.odin
-rw-r--r--src/odin/printer/visit.odin8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin
index 4e07f02..08a4dca 100644
--- a/src/odin/printer/visit.odin
+++ b/src/odin/printer/visit.odin
@@ -1607,13 +1607,15 @@ repeat_space :: proc(amount: int) -> ^Document {
get_node_length :: proc(node: ^ast.Node) -> int {
#partial switch v in node.derived {
case ^ast.Ident:
- return len(v.name)
+ return strings.rune_count(v.name)
case ^ast.Basic_Lit:
- return len(v.tok.text)
+ return strings.rune_count(v.tok.text)
case ^ast.Implicit_Selector_Expr:
- return len(v.field.name) + 1
+ return strings.rune_count(v.field.name) + 1
case ^ast.Binary_Expr:
return 0
+ case ^ast.Selector_Expr:
+ return get_node_length(v.expr) + strings.rune_count(v.op.text) + strings.rune_count(v.field.name)
case:
panic(fmt.aprintf("unhandled get_node_length case %v", node.derived))
}