pub struct CommandId(/* private fields */);Expand description
The canonical identity of one command.
Constructed from the origin and the command path, never written by hand, so that a projection cannot invent one and a rename of a display string cannot change one.
Implementations§
Source§impl CommandId
impl CommandId
Sourcepub fn derive(origin: Origin, path: &[String]) -> Self
pub fn derive(origin: Origin, path: &[String]) -> Self
Derive the id of a command with this path under this origin.
The path is the words a person types after the program’s own name. Each word is
lowered and every character outside [a-z0-9-] becomes -, so that a recipe named
with a character the id grammar refuses still has one stable identity rather than
none.
use majordomus_cli::command_graph::{CommandId, Origin};
let id = CommandId::derive(Origin::Executable, &["worktree".into(), "status".into()]);
assert_eq!(id.as_str(), "executable.worktree.status");Trait Implementations§
Source§impl<'de> Deserialize<'de> for CommandId
impl<'de> Deserialize<'de> for CommandId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CommandId
Source§impl JsonSchema for CommandId
impl JsonSchema for CommandId
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Ord for CommandId
impl Ord for CommandId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for CommandId
impl PartialOrd for CommandId
impl StructuralPartialEq for CommandId
Auto Trait Implementations§
impl Freeze for CommandId
impl RefUnwindSafe for CommandId
impl Send for CommandId
impl Sync for CommandId
impl Unpin for CommandId
impl UnsafeUnpin for CommandId
impl UnwindSafe for CommandId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.