mirror of
https://github.com/nushell/nushell.git
synced 2025-08-16 14:01:01 +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 lru::LruCache;
|
||||
use nu_path::AbsolutePathBuf;
|
||||
use nu_utils::IgnoreCaseExt;
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
num::NonZeroUsize,
|
||||
@ -466,15 +467,10 @@ impl EngineState {
|
||||
}
|
||||
|
||||
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() {
|
||||
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(v) = env_vars
|
||||
.iter()
|
||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
||||
{
|
||||
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||
return Some(v.1);
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ use crate::{
|
||||
},
|
||||
Config, IntoValue, OutDest, ShellError, Span, Value, VarId, ENV_VARIABLE_ID, NU_VARIABLE_ID,
|
||||
};
|
||||
use nu_utils::IgnoreCaseExt;
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
fs::File,
|
||||
@ -485,15 +486,10 @@ impl Stack {
|
||||
engine_state: &'a EngineState,
|
||||
name: &str,
|
||||
) -> Option<&'a Value> {
|
||||
let name_lower = name.to_lowercase();
|
||||
|
||||
for scope in self.env_vars.iter().rev() {
|
||||
for active_overlay in self.active_overlays.iter().rev() {
|
||||
if let Some(env_vars) = scope.get(active_overlay) {
|
||||
if let Some(v) = env_vars
|
||||
.iter()
|
||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
||||
{
|
||||
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||
return Some(v.1);
|
||||
}
|
||||
}
|
||||
@ -502,17 +498,14 @@ impl Stack {
|
||||
|
||||
for active_overlay in self.active_overlays.iter().rev() {
|
||||
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 {
|
||||
false
|
||||
};
|
||||
|
||||
if !is_hidden {
|
||||
if let Some(env_vars) = engine_state.env_vars.get(active_overlay) {
|
||||
if let Some(v) = env_vars
|
||||
.iter()
|
||||
.find(|(k, _)| k.to_lowercase() == name_lower)
|
||||
{
|
||||
if let Some(v) = env_vars.iter().find(|(k, _)| k.eq_ignore_case(name)) {
|
||||
return Some(v.1);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user