Skip to main content

strop_workspace/
lib.rs

1//! Shared workspace and resource identity (0042): the pure contracts every
2//! consumer — editor, remote transport, LSP, Git, picker — routes by.
3//!
4//! This crate owns *identity*, never behavior: no I/O, no subprocess, no
5//! filesystem probe. The transport (`strop-remote`), language services and
6//! Git implement behavior against these types; nothing here depends on them.
7//!
8//! - [`addr`]: validated remote address forms — endpoint, canonical file,
9//!   unresolved user location, and the strict percent-codec.
10//! - [`Filesystem`]: the namespace a path names (local disk or one endpoint).
11//! - [`ResourceLocation`]: one resolved path on one filesystem.
12
13pub mod addr;
14mod container;
15mod filesystem;
16mod resource;
17
18pub use addr::{AddressError, RemoteEndpoint, RemoteFile, RemoteLocation};
19pub use container::{ContainerId, ContainerIdError};
20pub use filesystem::Filesystem;
21pub use resource::ResourceLocation;