Allow indices as struct literal keys
diff --git a/src/ident.rs b/src/ident.rs
index e61a11c..dec783a 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -90,6 +90,22 @@
 
         IResult::Done("", input.into())
     }
+
+    pub fn wordlike(mut input: &str) -> IResult<&str, Ident> {
+        input = skip_whitespace(input);
+
+        for (i, ch) in input.char_indices() {
+            if !UnicodeXID::is_xid_start(ch) && !UnicodeXID::is_xid_continue(ch) {
+                return if i == 0 {
+                    IResult::Error
+                } else {
+                    IResult::Done(&input[i..], input[..i].into())
+                };
+            }
+        }
+
+        IResult::Done("", input.into())
+    }
 }
 
 #[cfg(feature = "printing")]