text: enum Foo {
  #include "funky_enum.h"
  };
  
  /*
  // TODO: In the future try to have better support for types defined across
  // multiple files.
  
  OUTPUT: funky_enum.h
  {
    "includes": [],
    "skipped_by_preprocessor": [],
    "types": [{
        "id": 0,
        "usr": 16985894625255407295,
        "detailed_name": "Foo",
        "short_name": "Foo",
        "kind": 0,
        "declarations": [],
        "bases": [],
        "derived": [],
        "types": [],
        "funcs": [],
        "vars": [],
        "instances": [],
        "uses": []
      }],
    "funcs": [],
    "vars": [{
        "id": 0,
        "usr": 439339022761937396,
        "detailed_name": "Foo::A",
        "short_name": "A",
        "hover": "Foo::A = 0",
        "declarations": [],
        "spell": "4:1-4:2|0|2|2",
        "extent": "4:1-4:2|0|2|0",
        "type": 0,
        "uses": [],
        "kind": 22,
        "storage": 0
      }, {
        "id": 1,
        "usr": 15962370213938840720,
        "detailed_name": "Foo::B",
        "short_name": "B",
        "hover": "Foo::B = 1",
        "declarations": [],
        "spell": "5:1-5:2|0|2|2",
        "extent": "5:1-5:2|0|2|0",
        "type": 0,
        "uses": [],
        "kind": 22,
        "storage": 0
      }, {
        "id": 2,
        "usr": 8524995777615948802,
        "detailed_name": "Foo::C",
        "short_name": "C",
        "hover": "Foo::C = 2",
        "declarations": [],
        "spell": "6:1-6:2|0|2|2",
        "extent": "6:1-6:2|0|2|0",
        "type": 0,
        "uses": [],
        "kind": 22,
        "storage": 0
      }]
  }
  OUTPUT: funky_enum.cc
  {
    "includes": [{
        "line": 1,
        "resolved_path": "&funky_enum.h"
      }],
    "skipped_by_preprocessor": [],
    "types": [{
        "id": 0,
        "usr": 16985894625255407295,
        "detailed_name": "Foo",
        "short_name": "Foo",
        "kind": 10,
        "declarations": [],
        "spell": "1:6-1:9|-1|1|2",
        "extent": "1:1-3:2|-1|1|0",
        "bases": [],
        "derived": [],
        "types": [],
        "funcs": [],
        "vars": [],
        "instances": [],
        "uses": []
      }],
    "funcs": [],
    "vars": []
  }
  */