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
40
41
42
43
44
//! Filebase: a window over a directory of Slipcase containers.
//!
//! Everything here is what the window needs to know and none of it draws.
//! [`query`] runs a query on a thread of its own and streams rows back,
//! [`detail`] is what one container says about itself, and [`policy`] is the
//! rule that the flyleaf tree is read and not written. `src/main.rs` is the
//! drawing.
//!
//! Nothing in this crate parses a container or a query: every row comes from
//! `slipql` in `excelano/slipql` and every container fact from `slpc` in
//! `excelano/slpc-rust`. Behaviour either of them lacks goes into that library
//! rather than in here.
//
// Author: David M. Anderson
// Built with AI assistance (Claude, Anthropic)
// `forbid` rather than `deny`, and the difference is deliberate. The one place
// in this application that will need `unsafe` is the macOS document-open
// handler, and that lives in the binary beside the rest of the platform code —
// `src/main.rs` is `deny` for it. Reading containers and running queries can
// never acquire one, so this is shut and stays shut.
/// The language the window draws in.
///
/// One catalogue for the whole crate, declared here rather than in the binary
/// because `detail` and `query` draw sentences of their own and a second
/// catalogue beside this one would be a second thing to keep in step. The
/// binary chooses the language and hands this the list; `po/` holds the
/// catalogues and `po/update-po.sh` keeps them level with the source.
pub use Detail;
pub use ReadOnly;
pub use ;