macroonz-compiler 0.2.0

Deterministic Rust code generation for procedural macros: plan, render, close, explain, and bind one sealed expansion from declared input.
Documentation
#![doc = include_str!("README.md")]

mod bank;
mod capture;
mod generation;
mod types;

pub use bank::rust_keyword;
pub(crate) use types::RENDERED_PATH_SEGMENT_LIMIT;

#[cfg(feature = "host")]
pub(crate) use capture::encode_token_path;
pub use capture::{
    AuthoredItem, AuthoredItemKind, AuthoredItemReadIssue, AuthoredItemReadRefusal,
    CAPTURE_WORK_LIMIT, CAPTURED_TOKEN_LIMIT, CAPTURED_TREE_TOKEN_LIMIT, CaptureBound,
    CaptureBuildRefusal, CaptureBuilder, CaptureCursor, CaptureExpectation, CaptureLevel,
    CaptureReadIssue, CaptureReadRefusal, CaptureWalk, CapturedAtom, CapturedDelimiter,
    CapturedFragment, CapturedInput, CapturedPayload, CapturedSpacing, CapturedTokenTree,
    CoordinateRole, LiteralReadCause, SourceCoordinate, SpanHandle, SpanResolutionRefusal,
    SpanTable, TEXT_SOURCE_BYTE_LIMIT, TOKEN_PATH_DEPTH_LIMIT, TextCapture, TextLexicalCause,
    TextReadCause, TextReadRefusal, TokenPath, capture_literal,
};
#[cfg(feature = "host")]
pub(crate) use generation::GeneratedLiteralForm;
pub use generation::{
    FragmentGenerationIssue, FragmentGenerationRefusal, GENERATED_TOKEN_LIMIT, GeneratedDelimiter,
    GeneratedLiteral, GeneratedLiteralRefusal, GeneratedRowRefusal, GeneratedSpacing,
    GeneratedToken, GeneratedTree, absolute_path, and_all, associated_constant,
    associated_function, associated_type, attribute, bound_local, bound_path, call, comma,
    comma_many, constant, consuming_receiver, decorated, documentation, enumeration, equality,
    exclusive_receiver, function, function_item, function_signature, generic_parameters, group,
    implementation, inline_module, keyed_assignment_items, keyed_assignment_slice,
    keyed_roster_items, keyed_roster_slice, match_arm, match_expression, metavariable, method_call,
    method_chain, named_field, named_struct, named_variant, pinned_receiver, rendered_identifier,
    rendered_name, result_type, roster, shared_receiver, text_pair, trait_declaration,
    tuple_struct, tuple_variant, twin_path, type_alias, typed_parameter, unit_struct, unit_variant,
    use_item, where_clause,
};
pub(crate) use generation::{preserved_tree, segmented_twin_path, vector};