Make $ on variable names optional (#6434)

* DRAFT: make var dollar optional

* couple fixes

* fix some tests + cleanup
This commit is contained in:
JT
2022-08-29 14:35:55 +12:00
committed by GitHub
parent f1d72e2670
commit 3cb9147f22
5 changed files with 43 additions and 9 deletions

View File

@ -1508,13 +1508,21 @@ impl<'a> StateWorkingSet<'a> {
pub fn find_variable(&self, name: &[u8]) -> Option<VarId> {
let mut removed_overlays = vec![];
let name = if name.starts_with(&[b'$']) {
name.to_vec()
} else {
let mut new_name = name.to_vec();
new_name.insert(0, b'$');
new_name
};
for scope_frame in self.delta.scope.iter().rev() {
for overlay_frame in scope_frame
.active_overlays(&mut removed_overlays)
.iter()
.rev()
{
if let Some(var_id) = overlay_frame.vars.get(name) {
if let Some(var_id) = overlay_frame.vars.get(&name) {
return Some(*var_id);
}
}
@ -1526,7 +1534,7 @@ impl<'a> StateWorkingSet<'a> {
.iter()
.rev()
{
if let Some(var_id) = overlay_frame.vars.get(name) {
if let Some(var_id) = overlay_frame.vars.get(&name) {
return Some(*var_id);
}
}