1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00

fix(windows): check USERPROFILE env var for finding home directory (#24384)

This commit is contained in:
David Sherret 2024-07-01 18:17:17 -04:00 committed by GitHub
parent b0cd43b5f3
commit 6f30ef88a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 21 additions and 11 deletions

View file

@ -266,6 +266,12 @@ pub mod dirs {
} }
pub fn home_dir() -> Option<PathBuf> { pub fn home_dir() -> Option<PathBuf> {
if let Some(userprofile) = std::env::var_os("USERPROFILE") {
if !userprofile.is_empty() {
return Some(PathBuf::from(userprofile));
}
}
known_folder(&knownfolders::FOLDERID_Profile) known_folder(&knownfolders::FOLDERID_Profile)
} }
} }

View file

@ -1,9 +1,9 @@
{ {
"if": "unix",
"tempDir": true, "tempDir": true,
"envs": { "envs": {
"DENO_FUTURE": "1", "DENO_FUTURE": "1",
"HOME": "$PWD/../" "HOME": "$PWD/../",
"USERPROFILE": "$PWD\\..\\"
}, },
"cwd": "subdir", "cwd": "subdir",
"args": "install", "args": "install",

View file

@ -1,6 +1,7 @@
{ {
"envs": { "envs": {
"DENO_FUTURE": "1" "DENO_FUTURE": "1",
"USERPROFILE": "$DENO_DIR"
}, },
"tempDir": true, "tempDir": true,
"args": "install -A -L debug", "args": "install -A -L debug",

View file

@ -750,12 +750,14 @@ pub fn wildcard_match_detailed(
} }
None => { None => {
let was_wildcard_or_line = was_last_wildcard || was_last_wildline; let was_wildcard_or_line = was_last_wildcard || was_last_wildline;
let mut max_found_index = 0; let mut max_search_text_found_index = 0;
let mut max_current_text_found_index = 0;
for (index, _) in search_text.char_indices() { for (index, _) in search_text.char_indices() {
let sub_string = &search_text[..index]; let sub_string = &search_text[..index];
if let Some(found_index) = current_text.find(sub_string) { if let Some(found_index) = current_text.find(sub_string) {
if was_wildcard_or_line || found_index == 0 { if was_wildcard_or_line || found_index == 0 {
max_found_index = index; max_search_text_found_index = index;
max_current_text_found_index = found_index;
} else { } else {
break; break;
} }
@ -763,11 +765,11 @@ pub fn wildcard_match_detailed(
break; break;
} }
} }
if !was_wildcard_or_line && max_found_index > 0 { if !was_wildcard_or_line && max_search_text_found_index > 0 {
output_lines.push(format!( output_lines.push(format!(
"<FOUND>{}</FOUND>", "<FOUND>{}</FOUND>",
colors::gray(annotate_whitespace( colors::gray(annotate_whitespace(
&search_text[..max_found_index] &search_text[..max_search_text_found_index]
)) ))
)); ));
} }
@ -777,18 +779,19 @@ pub fn wildcard_match_detailed(
if was_wildcard_or_line { if was_wildcard_or_line {
search_text search_text
} else { } else {
&search_text[max_found_index..] &search_text[max_search_text_found_index..]
}, },
))); )));
if was_wildcard_or_line && max_found_index > 0 { if was_wildcard_or_line && max_search_text_found_index > 0 {
output_lines.push(format!( output_lines.push(format!(
"==== MAX FOUND ====\n{}", "==== MAX FOUND ====\n{}",
colors::red(annotate_whitespace( colors::red(annotate_whitespace(
&search_text[..max_found_index] &search_text[..max_search_text_found_index]
)) ))
)); ));
} }
let actual_next_text = &current_text[max_found_index..]; let actual_next_text =
&current_text[max_current_text_found_index..];
let max_next_text_len = 40; let max_next_text_len = 40;
let next_text_len = let next_text_len =
std::cmp::min(max_next_text_len, actual_next_text.len()); std::cmp::min(max_next_text_len, actual_next_text.len());