pub mod code_unit;
pub mod edge;
pub mod error;
pub mod header;
pub mod language;
pub mod span;
pub use code_unit::{CodeUnit, CodeUnitBuilder, CodeUnitType, Visibility};
pub use edge::{Edge, EdgeType};
pub use error::{AcbError, AcbResult};
pub use header::FileHeader;
pub use language::Language;
pub use span::Span;
pub const ACB_MAGIC: [u8; 4] = [0x41, 0x43, 0x44, 0x42];
pub const FORMAT_VERSION: u32 = 1;
pub const DEFAULT_DIMENSION: usize = 256;
pub const MAX_SYMBOL_NAME: usize = 1024;
pub const MAX_QUALIFIED_NAME: usize = 4096;
pub const MAX_PATH_LENGTH: usize = 4096;
pub const MAX_EDGES_PER_UNIT: u32 = 16384;
pub const MAX_SIGNATURE_LENGTH: usize = 2048;
pub const MAX_DOC_LENGTH: usize = 512;
pub fn now_micros() -> u64 {
chrono::Utc::now().timestamp_micros() as u64
}