pub struct Segment(/* private fields */);Implementations§
Source§impl Segment
impl Segment
Sourcepub fn from_unquoted(s: impl Into<String>) -> Result<Self, SegmentError>
pub fn from_unquoted(s: impl Into<String>) -> Result<Self, SegmentError>
Construct from already-unquoted text.
Rejects empty input, embedded ", and ASCII control characters.
Everything else (., +, /, leading digits, hyphens, single quotes)
is accepted. Self::render decides whether to wrap in "...".
Sourcepub fn from_source(s: &str) -> Result<Self, SegmentError>
pub fn from_source(s: &str) -> Result<Self, SegmentError>
Parse source-form text. Strips a single surrounding pair of "...",
otherwise behaves like Self::from_unquoted.
Sourcepub fn from_syntax(node: &SyntaxNode) -> Result<Self, SegmentError>
pub fn from_syntax(node: &SyntaxNode) -> Result<Self, SegmentError>
Build a Segment from a CST node’s source text.
pub fn as_str(&self) -> &str
Sourcepub fn into_string(self) -> String
pub fn into_string(self) -> String
Consume the segment, returning the unquoted text.
Sourcepub fn needs_quoting(&self) -> bool
pub fn needs_quoting(&self) -> bool
Whether this segment requires source-level "..." quoting.
Bare Nix identifiers match [a-zA-Z_][a-zA-Z0-9_'-]*. Anything else
(leading digit, embedded ., leading -) needs quoting.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Segment
impl<'de> Deserialize<'de> for Segment
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Segment
Source§impl Ord for Segment
impl Ord for Segment
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 Segment
impl PartialOrd for Segment
impl StructuralPartialEq for Segment
Auto Trait Implementations§
impl Freeze for Segment
impl RefUnwindSafe for Segment
impl Send for Segment
impl Sync for Segment
impl Unpin for Segment
impl UnsafeUnpin for Segment
impl UnwindSafe for Segment
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more