pub struct StartDiagramToken { /* private fields */ }
Expand description
A token sequence that is around the start keyword ("@startXYZ"
). (like "@startuml"
or "@startuml ID"
, "@startuml(id=ID)"
.)
@startuml
@startuml ID
@startuml(id=ID)
The above ID
parts is parsed by DiagramIdToken
.
§Examples
use plantuml_parser::{StartDiagramToken, ParseContainer};
let input = "@startuml "; /// the last " " is rest parts
let (rest, (raws, token)) = StartDiagramToken::parse(input.into())?;
let combined_raw: ParseContainer = raws.into();
assert_eq!(rest, " ");
assert_eq!(combined_raw, "@startuml");
assert_eq!(token.diagram_kind(), "uml");
assert_eq!(token.id(), None);
let input = "@startXYZ diagram_0 rest";
let (rest, (raws, token)) = StartDiagramToken::parse(input.into())?;
let combined_raw: ParseContainer = raws.into();
assert_eq!(rest, " rest");
assert_eq!(combined_raw, "@startXYZ diagram_0");
assert_eq!(token.diagram_kind(), "XYZ");
assert_eq!(token.id(), Some("diagram_0"));
let input = "@startsalt(id=diagram_1) rest";
let (rest, (raws, token)) = StartDiagramToken::parse(input.into())?;
let combined_raw: ParseContainer = raws.into();
assert_eq!(rest, " rest");
assert_eq!(combined_raw, "@startsalt(id=diagram_1)");
assert_eq!(token.diagram_kind(), "salt");
assert_eq!(token.id(), Some("diagram_1"));
Implementations§
Source§impl StartDiagramToken
impl StartDiagramToken
Sourcepub fn parse(input: ParseContainer) -> ParseResult<Self>
pub fn parse(input: ParseContainer) -> ParseResult<Self>
Tries to parse StartDiagramToken
. (e.g. "@startuml"
, "@startuml ID"
, "@startuml(id=ID)"
.)
Sourcepub fn diagram_kind(&self) -> &str
pub fn diagram_kind(&self) -> &str
Returns the kind of diagrams. (e.g. XYZ
in @startXYZ
.)
Trait Implementations§
Source§impl Clone for StartDiagramToken
impl Clone for StartDiagramToken
Source§fn clone(&self) -> StartDiagramToken
fn clone(&self) -> StartDiagramToken
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for StartDiagramToken
impl RefUnwindSafe for StartDiagramToken
impl Send for StartDiagramToken
impl Sync for StartDiagramToken
impl Unpin for StartDiagramToken
impl UnwindSafe for StartDiagramToken
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