|
@@ -80,6 +80,19 @@ pub fn parse_str<T: FromStr>(target: &str, key: &str) -> Option<T> {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+/// get the last part of the url, if not found, return empty string
|
|
|
+pub fn get_last_part_and_decode(url: &str) -> Option<String> {
|
|
|
+ let path = url.split('?').next().unwrap_or(""); // Splits URL and takes the path part
|
|
|
+ let segments: Vec<&str> = path.split('/').collect();
|
|
|
+ let last_segment = segments.last()?;
|
|
|
+
|
|
|
+ Some(
|
|
|
+ percent_encoding::percent_decode_str(last_segment)
|
|
|
+ .decode_utf8_lossy()
|
|
|
+ .to_string(),
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
/// open file
|
|
|
/// use vscode by default
|
|
|
pub fn open_file(app: tauri::AppHandle, path: PathBuf) -> Result<()> {
|