Function name_m

Source
pub fn name_m<M>(marker: M) -> Token
where M: Hash,
Expand description

A variant of name with a marker assigned, making it easy to jump directly to the matched result within the token tree.

ยงExamples

use initiative_core::command::prelude::*;

#[derive(Hash)]
enum Marker {
    Name,
}

let query = "hail odysseus";
let token = sequence([keyword("hail"), name_m(Marker::Name)]);
let odysseus = app_meta.repository.get_by_name("Odysseus").await.unwrap();

let token_match = token.match_input_exact(query, &app_meta).next().await.unwrap();

assert_eq!(
    Some(&odysseus),
    token_match.find_marker(Marker::Name).unwrap().meta_record(),
);