aboutsummaryrefslogtreecommitdiffstats
path: root/src/util/identifier.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/util/identifier.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/util/identifier.rs b/src/util/identifier.rs
new file mode 100644
index 0000000..4887e02
--- /dev/null
+++ b/src/util/identifier.rs
@@ -0,0 +1,15 @@
+//! Info on JavaScript identifiers.
+
+use unicode_id::UnicodeID;
+
+/// Check if a character can start a JS identifier.
+pub fn id_start(char: char) -> bool {
+ UnicodeID::is_id_start(char) || matches!(char, '$' | '_')
+}
+
+/// Check if a character can continue a JS (or JSX) identifier.
+pub fn id_cont(char: char, jsx: bool) -> bool {
+ UnicodeID::is_id_continue(char)
+ || matches!(char, '\u{200c}' | '\u{200d}')
+ || (jsx && char == '-')
+}