Track span information of include statements
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 3184604..a354ae4 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -3,7 +3,9 @@
 use crate::syntax::atom::Atom::{self, *};
 use crate::syntax::namespace::Namespace;
 use crate::syntax::symbol::Symbol;
-use crate::syntax::{mangle, Api, Enum, ExternFn, ExternType, Signature, Struct, Type, Types, Var};
+use crate::syntax::{
+    mangle, Api, Enum, ExternFn, ExternType, IncludeKind, Signature, Struct, Type, Types, Var,
+};
 use proc_macro2::Ident;
 use std::collections::HashMap;
 
@@ -24,7 +26,10 @@
     out.include.extend(opt.include.clone());
     for api in apis {
         if let Api::Include(include) = api {
-            out.include.insert(include);
+            match include.kind {
+                IncludeKind::Quoted => out.include.insert(&include.path),
+                IncludeKind::Bracketed => out.include.insert(format!("<{}>", include.path)),
+            }
         }
     }