Disk (Linux): support hyperlink in WSL

This commit is contained in:
李通洲
2023-07-31 20:29:33 +08:00
parent b4d1c97d2c
commit fd8794e6c8
+12
View File
@@ -18,7 +18,19 @@ static void printDisk(FFDiskOptions* options, const FFDisk* disk)
if(instance.config.pipe)
ffStrbufAppendF(&key, "%s (%s)", FF_DISK_MODULE_NAME, disk->mountpoint.chars);
else
{
#ifdef __linux__
if (getenv("WSL_DISTRO_NAME") != NULL && getenv("WT_SESSION") != NULL)
{
if (ffStrbufEqualS(&disk->filesystem, "9p") && ffStrbufStartsWithS(&disk->mountpoint, "/mnt/"))
ffStrbufAppendF(&key, "%s (\e]8;;file:///%c:/\e\\%s\e]8;;\e\\)", FF_DISK_MODULE_NAME, disk->mountpoint.chars[5], disk->mountpoint.chars);
else
ffStrbufAppendF(&key, "%s (\e]8;;file:////wsl.localhost/%s%s\e\\%s\e]8;;\e\\)", FF_DISK_MODULE_NAME, getenv("WSL_DISTRO_NAME"), disk->mountpoint.chars, disk->mountpoint.chars);
}
else
#endif
ffStrbufAppendF(&key, "%s (\e]8;;file://%s\e\\%s\e]8;;\e\\)", FF_DISK_MODULE_NAME, disk->mountpoint.chars, disk->mountpoint.chars);
}
}
else
{