mirror of
https://github.com/nushell/nushell.git
synced 2025-08-10 01:17:47 +02:00
Make $
on variable names optional (#6434)
* DRAFT: make var dollar optional * couple fixes * fix some tests + cleanup
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user