Skip to main content

r/interpreter/
packages.rs

1//! Package metadata parsing and runtime loading.
2//!
3//! This module provides:
4//!
5//! - **DESCRIPTION parser** (`description.rs`): Debian Control File format for
6//!   package metadata (name, version, dependencies).
7//!
8//! - **NAMESPACE parser** (`namespace.rs`): directive-based DSL for exports,
9//!   imports, and S3 method registrations.
10//!
11//! - **Rd parser** (`rd.rs`): LaTeX-like format used in package `man/`
12//!   directories for `help()` lookup and example extraction.
13//!
14//! - **Package loader** (`loader.rs`): runtime package loading — discovers
15//!   packages on `.libPaths()`, creates namespace/exports environments, sources
16//!   R files, and manages the search path.
17
18pub mod description;
19pub mod loader;
20pub mod namespace;
21pub mod rd;
22
23pub use description::PackageDescription;
24pub use loader::{LoadedNamespace, SearchPathEntry};
25pub use namespace::PackageNamespace;
26pub use rd::{RdDoc, RdHelpIndex};