mirror of
https://github.com/nushell/nushell.git
synced 2025-08-17 17:41:09 +02:00
use eq_ignore_case vs to_lowercase
This commit is contained in:
@ -14,6 +14,7 @@ use crate::{
|
|||||||
use fancy_regex::Regex;
|
use fancy_regex::Regex;
|
||||||
use lru::LruCache;
|
use lru::LruCache;
|
||||||
use nu_path::AbsolutePathBuf;
|
use nu_path::AbsolutePathBuf;
|
||||||
|
use nu_utils::IgnoreCaseExt;
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
num::NonZeroUsize,
|
num::NonZeroUsize,
|
||||||
@ -466,15 +467,10 @@ impl EngineState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_env_var_insensitive(&self, name: &str) -> Option<&Value> {
|
pub fn get_env_var_insensitive(&self, name: &str) -> Option<&Value> {
|
||||||
let name_lower = name.to_lowercase();
|
|
||||||
|
|
||||||
for overlay_id in self.scope.active_overlays.iter().rev() {
|
for overlay_id in self.scope.active_overlays.iter().rev() {
|
||||||
let overlay_name = String::from_utf8_lossy(self.get_overlay_name(*overlay_id));
|
let overlay_name = String::from_utf8_lossy(self.get_overlay_name(*overlay_id));
|
||||||
if let Some(env_vars) = self.env_vars.get(overlay_name.as_ref()) {
|
if let Some(env_vars) = self.env_vars.get(overlay_name.as_ref()) {
|
||||||
if let Some(v) = env_vars
|
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||||
.iter()
|
|
||||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
|
||||||
{
|
|
||||||
return Some(v.1);
|
return Some(v.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ use crate::{
|
|||||||
},
|
},
|
||||||
Config, IntoValue, OutDest, ShellError, Span, Value, VarId, ENV_VARIABLE_ID, NU_VARIABLE_ID,
|
Config, IntoValue, OutDest, ShellError, Span, Value, VarId, ENV_VARIABLE_ID, NU_VARIABLE_ID,
|
||||||
};
|
};
|
||||||
|
use nu_utils::IgnoreCaseExt;
|
||||||
use std::{
|
use std::{
|
||||||
collections::{HashMap, HashSet},
|
collections::{HashMap, HashSet},
|
||||||
fs::File,
|
fs::File,
|
||||||
@ -485,15 +486,10 @@ impl Stack {
|
|||||||
engine_state: &'a EngineState,
|
engine_state: &'a EngineState,
|
||||||
name: &str,
|
name: &str,
|
||||||
) -> Option<&'a Value> {
|
) -> Option<&'a Value> {
|
||||||
let name_lower = name.to_lowercase();
|
|
||||||
|
|
||||||
for scope in self.env_vars.iter().rev() {
|
for scope in self.env_vars.iter().rev() {
|
||||||
for active_overlay in self.active_overlays.iter().rev() {
|
for active_overlay in self.active_overlays.iter().rev() {
|
||||||
if let Some(env_vars) = scope.get(active_overlay) {
|
if let Some(env_vars) = scope.get(active_overlay) {
|
||||||
if let Some(v) = env_vars
|
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||||
.iter()
|
|
||||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
|
||||||
{
|
|
||||||
return Some(v.1);
|
return Some(v.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -502,17 +498,14 @@ impl Stack {
|
|||||||
|
|
||||||
for active_overlay in self.active_overlays.iter().rev() {
|
for active_overlay in self.active_overlays.iter().rev() {
|
||||||
let is_hidden = if let Some(env_hidden) = self.env_hidden.get(active_overlay) {
|
let is_hidden = if let Some(env_hidden) = self.env_hidden.get(active_overlay) {
|
||||||
env_hidden.iter().any(|k| k.to_lowercase() == name_lower)
|
env_hidden.iter().any(|k| k.eq_ignore_case(name))
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
if !is_hidden {
|
if !is_hidden {
|
||||||
if let Some(env_vars) = engine_state.env_vars.get(active_overlay) {
|
if let Some(env_vars) = engine_state.env_vars.get(active_overlay) {
|
||||||
if let Some(v) = env_vars
|
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||||
.iter()
|
|
||||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
|
||||||
{
|
|
||||||
return Some(v.1);
|
return Some(v.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user