1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Platform abstraction layer.
//!
//! Two impls are kept in lockstep: `native` (filesystem + std::fs locking)
//! and `web` (localStorage + no-op locking, added when the wasm port lands).
//! Both expose **the same set of types and methods** — code outside this
//! module doesn't know which one it's compiled against. Drift is caught at
//! compile time because both impls have to satisfy the same callers.
//!
//! See `tracking issue #13` for the discovery rationale and gotchas.
pub use ;
pub use ;
/// Static feature-flag struct describing what the host environment
/// supports. Each platform impl exposes a `CAPABILITIES` constant of
/// this type. UI / input code reads it to gate affordances that have
/// no meaning on a given platform — e.g. the `[q] quit` help-bar hint
/// is hidden in the browser, where the wasm bundle has no authority
/// to close the tab.
///
/// Add new fields here when a feature genuinely diverges between
/// surfaces (and add the matching value to *both* `native::CAPABILITIES`
/// and `web::CAPABILITIES`); don't reach for `cfg(target_arch)` deeper
/// in the tree if a capability flag fits the seam.