Struct plantuml_parser::StartDiagramToken
source · 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 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