package Ġio . github . red nest o . mus ics he lf . utils Ċ Ċ import Ġjava . awt . Desktop Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ Ċ object ĠDesktop Helper Ġ{ ĊĠĠĠ Ġfun Ġopen ( filePath : ĠPath ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Files . not Exists ( filePath )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis Ġ{ Ġdesktop : ĠDesktop Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesktop . open ( filePath . to File ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow ( filePath : ĠPath ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Files . not Exists ( filePath )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġabsolute Path Ġ= ĠfilePath . to AbsolutePath (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOs Info . IS _ WINDOWS Ġ-> ĠRuntime . get Runtime (). exec (" explorer Ġ/ select ,\" $ absolute Path \" ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOs Info . IS _ MAC OS Ġ-> ĠRuntime . get Runtime (). exec ( array Of (" open ", Ġ"- R ", Ġabsolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsupports Show (): ĠBoolean Ġ= ĠOs Info . IS _ WINDOWS Ġ|| ĠOs Info . IS _ MAC OS ĊĊĠĠĠ Ġoperator Ġfun Ġinvoke ( action : Ġ( desktop : ĠDesktop ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Desktop . is Desktop Supported ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction ( Desktop . get Desktop ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ