Required:
Configuration - General - Refresh, Icons, History - Scripting - [x] Remember permanent variables
E.g. this script would need to be run first (and atm only once):
Code: Select all
perm $P_GFT_ARCHIVE = "<ARCHIVE><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Archive}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_AUDIO = "<AUDIO><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Audio}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_EXE = "<EXE><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Executable}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_FONT = "<FONT><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Font}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_IMAGE = "<IMAGE><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Image}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_OFFICE = "<OFFICE><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Office}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_PHOTO = "<PHOTO><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Photo}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_TEXT = "<TEXT><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Text}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_VECTOR = "<VECTOR><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Vector}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_VIDEO = "<VIDEO><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Video}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_WEB = "<WEB><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Web}", <crlf>), "^\*\."), "s", <crlf>), "l");
perm $P_GFT_MEDIA = "<MEDIA><crlf>" . recase(formatlist(regexreplace(get("genericfiletype", "{:Media}", <crlf>), "^\*\."), "s", <crlf>), "l");
writepv;
And the custom column script would then be:
Code: Select all
// The permanent variables must have already been defined (different script!)
if (<cc_ext> == "") { return "<NONE>"; }
$gfts = "$P_GFT_ARCHIVE|$P_GFT_AUDIO|$P_GFT_EXE|$P_GFT_FONT|$P_GFT_IMAGE|$P_GFT_OFFICE|$P_GFT_PHOTO|$P_GFT_TEXT|$P_GFT_VECTOR|$P_GFT_VIDEO|$P_GFT_VIDEO|$P_GFT_MEDIA";
foreach($gft, $gfts, "|") {
$esc = regexreplace(<cc_ext>, "([\\^$.+()\[{])", "\$1");
if (regexmatches($gft, $esc)) {
return gettoken($gft, 1, <crlf>);
}
}
return "<UNKNOWN>";