Use syn and proc_macro2 keys in json
diff --git a/codegen/src/gen.rs b/codegen/src/gen.rs
index 3937b4e..4d18776 100644
--- a/codegen/src/gen.rs
+++ b/codegen/src/gen.rs
@@ -355,7 +355,7 @@
                 }
             }
             types::Type::Group(t) => Some(token_group_visit(&t[..], kind, name)),
-            types::Type::Item(t) => {
+            types::Type::Syn(t) => {
                 fn requires_full(features: &types::Features) -> bool {
                     features.contains("full") && features.len() == 1
                 }
diff --git a/codegen/src/parse.rs b/codegen/src/parse.rs
index d239c5b..1a2484b 100644
--- a/codegen/src/parse.rs
+++ b/codegen/src/parse.rs
@@ -183,7 +183,7 @@
                 "String" | "u32" | "usize" | "bool" => types::Type::Std(last.ident.to_string()),
                 _ => {
                     if items.get(&last.ident).is_some() {
-                        types::Type::Item(last.ident.to_string())
+                        types::Type::Syn(last.ident.to_string())
                     } else {
                         unimplemented!("{}", last.ident.to_string());
                     }
diff --git a/codegen/src/types.rs b/codegen/src/types.rs
index 6891e79..b818fa8 100644
--- a/codegen/src/types.rs
+++ b/codegen/src/types.rs
@@ -45,12 +45,13 @@
 #[serde(rename_all = "lowercase")]
 pub enum Type {
     /// Type defined by `syn`
-    Item(String),
+    Syn(String),
 
     /// Type defined in `std`.
     Std(String),
 
     /// Type external to `syn`
+    #[serde(rename = "proc_macro2")]
     Ext(String),
 
     /// Token type