Skip to main content

codefold_core/
level.rs

1/// Zoom level for a `read()` call.
2///
3/// Marked `#[non_exhaustive]` so adding new variants is not a breaking change.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5#[non_exhaustive]
6pub enum Level {
7    /// Imports plus function/class signatures and docstring summaries. Bodies hidden.
8    Signatures,
9    /// Like `Signatures` but additionally filters out non-public symbols:
10    /// Python names starting with `_` (except dunder), TypeScript declarations
11    /// not wrapped in `export_statement` and methods marked `private`.
12    Public,
13    /// Top-level bodies in full; nested defs collapsed to signatures.
14    Bodies,
15    /// File contents verbatim. Provided for API symmetry.
16    Full,
17}