revset: extract aliases_map.function_names()

TemplateAliasesMap has a similar function for symbols, and I'm going to extract
a common aliases map type.
This commit is contained in:
Yuya Nishihara 2024-05-13 19:46:41 +09:00
parent 60c3f623ef
commit 3db1f9fe5d

View file

@ -542,11 +542,7 @@ fn parse_function_expression(
name,
itertools::chain(
state.function_map.keys().copied(),
state
.aliases_map
.function_aliases
.keys()
.map(|n| n.as_ref()),
state.aliases_map.function_names(),
),
),
},
@ -586,6 +582,11 @@ impl RevsetAliasesMap {
Ok(())
}
/// Iterates function names in arbitrary order.
pub fn function_names(&self) -> impl Iterator<Item = &str> {
self.function_aliases.keys().map(|n| n.as_ref())
}
pub fn get_symbol(&self, name: &str) -> Option<&str> {
self.symbol_aliases.get(name).map(|defn| defn.as_ref())
}