Parse crate in paths
diff --git a/src/ident.rs b/src/ident.rs
index 4af78e6..5d55957 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -165,6 +165,12 @@
     }
 }
 
+impl From<Token![crate]> for Ident {
+    fn from(tok: Token![crate]) -> Self {
+        Ident::new(Term::intern("crate"), tok.0)
+    }
+}
+
 impl<'a> From<Cow<'a, str>> for Ident {
     fn from(s: Cow<'a, str>) -> Self {
         Ident::new(Term::intern(&s), Span::default())