1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

v test-fmt: fix some embedded comments in expressions

This commit is contained in:
Delyan Angelov
2020-10-14 22:51:16 +03:00
parent c33a748344
commit 46c5a2c8fc
10 changed files with 35 additions and 59 deletions

View File

@@ -808,7 +808,8 @@ fn test_double_quote_inter() {
fn test_string_map() {
$if windows {
return // TODO
// TODO
return
}
original := 'Hello'
println('original.len = $original.len')

View File

@@ -18,35 +18,26 @@ pub fn utf32_to_str_no_malloc(code u32, buf voidptr) string {
icode := int(code) // Prevents doing casts everywhere
unsafe {
mut buffer := byteptr(buf)
if icode <= 127/* 0x7F */ {
if icode <= 127 { /* 0x7F */
buffer[0] = byte(icode)
return tos(buffer, 1)
}
if icode <= 2047/* 0x7FF */ {
buffer[0] = 192/*0xC0*/ | byte(icode>>6)/* 110xxxxx */
buffer[1] = 128/*0x80*/ | byte(icode & 63/*0x3F*/)/* 10xxxxxx */
if icode <= 2047 { /* 0x7FF */
buffer[0] = 192 | byte(icode>>6) /* 0xC0 - 110xxxxx */
buffer[1] = 128 | byte(icode & 63) /* 0x80 - 0x3F - 10xxxxxx */
return tos(buffer, 2)
}
if icode <= 65535/* 0xFFFF */ {
buffer[0] = 224/*0xE0*/ | byte(icode>>12)/* 1110xxxx */
buffer[1] = 128/*0x80*/ | (byte(icode>>6) & 63/*0x3F*/)/* 10xxxxxx */
buffer[2] = 128/*0x80*/ | byte(icode & 63/*0x3F*/)/* 10xxxxxx */
if icode <= 65535 { /* 0xFFFF */
buffer[0] = 224 | byte(icode>>12)/* 0xE0 - 1110xxxx */
buffer[1] = 128 | (byte(icode>>6) & 63) /* 0x80 - 0x3F - 10xxxxxx */
buffer[2] = 128 | byte(icode & 63) /* 0x80 - 0x3F - 10xxxxxx */
return tos(buffer, 3)
}
if icode <= 1114111/* 0x10FFFF */ {
buffer[0] = 240/*0xF0*/ | byte(icode>>18)/* 11110xxx */
buffer[1] = 128/*0x80*/ | (byte(icode>>12) & 63/*0x3F*/)/* 10xxxxxx */
buffer[2] = 128/*0x80*/ | (byte(icode>>6) & 63/*0x3F*/)/* 10xxxxxx */
buffer[3] = 128/*0x80*/ | byte(icode & 63/*0x3F*/)/* 10xxxxxx */
buffer[0] = 240 | byte(icode>>18) /* 0xF0 - 11110xxx */
buffer[1] = 128 | (byte(icode>>12) & 63) /* 0x80 - 0x3F - 10xxxxxx */
buffer[2] = 128 | (byte(icode>>6) & 63) /* 0x80 - 0x3F - 10xxxxxx */
buffer[3] = 128 | byte(icode & 63) /* 0x80 - 0x3F - 10xxxxxx */
return tos(buffer, 4)
}
}
@@ -186,10 +177,14 @@ fn utf8_str_visible_length(s string) int {
}
} else if c == 0xe1 || c == 0xe2 || c == 0xef {
r := (u32(c) << 16) | unsafe {(u32(s.str[i+1]) << 8) | s.str[i+2]}
if (r >= 0xe1aab0 && r < 0xe1ac80) // diacritical marks extended
|| (r >= 0xe1b780 && r < 0xe1b880) // diacritical marks supplement
|| (r >= 0xe28390 && r < 0xe28480) // diacritical marks for symbols
|| (r >= 0xefb8a0 && r < 0xefb8b0) { // half marks
// diacritical marks extended 0xe1aab0 - 0xe1ac80
// diacritical marks supplement 0xe1b780 - 0xe1b880
// diacritical marks for symbols 0xe28390 - 0xe28480
// half marks 0xefb8a0 - 0xefb8b0
if (r >= 0xe1aab0 && r < 0xe1ac80)
|| (r >= 0xe1b780 && r < 0xe1b880)
|| (r >= 0xe28390 && r < 0xe28480)
|| (r >= 0xefb8a0 && r < 0xefb8b0) {
l--
}
}