From 0e2347e582147019f904e25cf26aa70259c66e38 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Wed, 21 Sep 2016 14:46:56 +0100 Subject: Filename as default import name; as .; as _; panic() --- src/unicode.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/unicode.cpp') diff --git a/src/unicode.cpp b/src/unicode.cpp index cf415d86b..d8a26924c 100644 --- a/src/unicode.cpp +++ b/src/unicode.cpp @@ -39,3 +39,28 @@ b32 rune_is_whitespace(Rune r) { } return false; } + + +b32 is_string_an_identifier(String s) { + if (s.len < 1) { + return false; + } + isize offset = 0; + while (offset < s.len) { + b32 ok = false; + Rune r = -1; + isize size = gb_utf8_decode(s.text+offset, s.len-offset, &r); + if (offset == 0) { + ok = rune_is_letter(r); + } else { + ok = rune_is_letter(r) || rune_is_digit(r); + } + + if (!ok) { + return false; + } + offset += size; + } + + return offset == s.len; +} -- cgit v1.2.3