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
45
46
47
48
49
50
51
52
53
54
55
//! Library for the `snp` snippet manager.
//!
//! Most of the implementation lives in submodules that are also used by
//! the `snp` binary entry point in `src/main.rs`. The library is also
//! re-exported so that integration tests under `tests/` can exercise the
//! public API (notably `sync::SyncClient` and the proto types) against a
//! real `snip-sync` server.
// Public modules form the stable API surface for crates.io consumers.
// Anything marked `pub(crate)` is internal implementation and may change
// without a semver bump.
//
// The `snp` binary lives in the same package as this library but is a
// separate crate, so it can only see `pub` items here. The CLI uses
// `commands`, `config`, `error`, `logging`, and `ui` directly. The
// truly internal modules (`clipboard`, `library`, `sync_commands`,
// `utils`) are accessed only via `crate::` from sibling modules, so
// they can be hidden from external consumers.
pub
pub
pub
pub
pub use ;
/// Aggregated data for all snippets passed to the TUI selector.
///
/// Contains parallel vectors of snippet metadata where index `i` corresponds
/// to the same snippet across all fields.
/// Result of processing a snippet selection from the TUI.