diff --git a/komorebic/src/main.rs b/komorebic/src/main.rs index 7b93d779..cd177841 100644 --- a/komorebic/src/main.rs +++ b/komorebic/src/main.rs @@ -1293,15 +1293,18 @@ fn resolve_windows_path(raw_path: &str) -> Result { .parent() .ok_or_else(|| anyhow!("cannot parse directory"))?; - let file = full_path - .components() - .last() - .ok_or_else(|| anyhow!("cannot parse filename"))?; + Ok(if parent.is_dir() { + let file = full_path + .components() + .last() + .ok_or_else(|| anyhow!("cannot parse filename"))?; - let mut canonicalized = std::fs::canonicalize(parent)?; - canonicalized.push(file); - - Ok(canonicalized) + let mut canonicalized = std::fs::canonicalize(parent)?; + canonicalized.push(file); + canonicalized + } else { + full_path + }) } fn show_window(hwnd: HWND, command: SHOW_WINDOW_CMD) {