Skip to main content

rd_ast/
lib.rs

1//! The canonical, producer-agnostic AST for R's Rd documentation format.
2//!
3//! `rd-ast` is the common target of the help-database lowering and the
4//! `rd-source` Rd source parser. Semantic interpretation is provided by borrowed
5//! views rather than encoded as producer-specific storage.
6#![doc = include_str!("../CONTRACT.md")]
7
8mod document;
9mod option;
10mod path;
11mod raw;
12mod raw_classification;
13mod shape;
14mod tag;
15mod view;
16
17pub use document::{RdDocument, RdGroup, RdNode, RdTagged};
18pub use option::{
19    RdEffectiveSexprOptions, RdOptionError, RdOptionList, RdOptionPair, RdOptionPairErrorKind,
20    RdOptionValueKind, RdSexprOptionKey, RdSexprOptionOverrides, RdSexprResults, RdSexprStage,
21    RdStripWhite,
22};
23pub use path::{RdPath, RdPathSegment};
24pub use raw::{
25    RawRdEnvironment, RawRdNode, RawRdObject, RawRdReal, RawRdValue, RdAttribute, producer,
26};
27pub use raw_classification::{
28    RawNodeClassification, RawNodeReason, UnexpectedRawNode, classify_raw_node,
29};
30pub use shape::{
31    RdArity, RdConstruct, RdExpectedNode, RdNodeKind, RdShapeError, RdShapeErrorKind,
32    is_inter_item_trivia,
33};
34pub use tag::RdTag;
35pub use view::{
36    RdAlias, RdArgument, RdColumnAlign, RdConcept, RdConditional, RdConditionalKind,
37    RdDelimitedItem, RdDescribedItem, RdDynamicMarkupEvent, RdDynamicMarkupIter,
38    RdDynamicMarkupState, RdEnc, RdEquation, RdEquationDisplay, RdExampleControl,
39    RdExampleControlKind, RdFigure, RdFigureSecondArgument, RdGenerationHeader, RdGenerator,
40    RdHref, RdInlineSpan, RdInlineSpanKind, RdKeyword, RdLifecycleBadge, RdLifecycleBadgeShape,
41    RdLifecycleBadges, RdLifecycleStage, RdLink, RdLinkDestination, RdLinkTopic, RdList,
42    RdListItem, RdListKind, RdMethod, RdMethodKind, RdOpts, RdResolvedSexpr, RdS4ClassLink,
43    RdSection, RdSectionKind, RdSectionVisit, RdSexpr, RdSystemMacro, RdSystemMacroItem,
44    RdSystemMacroItems, RdSystemMacroItemsStrict, RdSystemMacroMatch, RdSystemMacroOrigin,
45    RdTableCell, RdTableRow, RdTabular, RdTextSymbol, RdTextSymbolKind, text_contents,
46};
47
48#[cfg(feature = "rds")]
49mod rds;
50
51#[cfg(feature = "rds")]
52pub use rds::{LowerError, LowerLocation, StringEncoding, lower_r_object};