package Ġnl . h ann ah sten . tex ify idea . action Ċ Ċ import Ġcom . intellij . openapi . action System . An Action Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . ui . Messages Ċ import Ġcom . intellij . openapi . ui . show Ok Cancel Dialog Ċ import Ġcom . intellij . openapi . vfs . Local FileSystem Ċ import Ġnl . h ann ah sten . tex ify idea . util . get Lat ex Run Configurations Ċ import Ġnl . h ann ah sten . tex ify idea . util . magic . File Magic Ċ import Ġnl . h ann ah sten . tex ify idea . util . run Write Action Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠSimilar Ġto Ġ[ Clear Aux Files ]. Ċ Ġ*/ Ċ class ĠClear Generated Files Ġ: ĠAn Action () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠactionPerformed ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġshow Ok Cancel Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Clear ĠA ux iliary Ġand ĠGenerated ĠFiles ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Delete Ġall ĠLaTeX Ġauxiliary Ġand Ġgenerated Ġfiles ? Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" All Ġauxiliary Ġand Ġgenerated Ġfiles Ġin Ġoutput Ġdirectories Ġwill Ġbe Ġdeleted , Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" including Ġfor Ġexample Ġpdf Ġand Ġlog Ġfiles . Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" You Ġmight Ġnot Ġbe Ġable Ġto Ġfully Ġundo Ġthis Ġoperation !", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Delete " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= ĠMessages . OK ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġget Event Project ( e ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval ĠbasePath Ġ= Ġproject . basePath Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġ// ĠAlso Ġclear Ġaux Ġfiles ĊĠĠĠĠĠĠĠ ĠClear Aux Files (). action Performed ( e ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDelete Ġfiles Ġonly Ġin Ġspecific Ġfolders , Ġto Ġavoid Ġdeleting Ġfor Ġexample Ġfigures Ġwith Ġpdf Ġextension ĊĠĠĠĠĠĠĠ Ġfor Ġ( folder Ġin Ġset Of (" src ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( basePath , Ġfolder ). walk (). max Depth ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . extension Ġin ĠFile Magic . generated File Types Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . delete () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠJust Ġdelete Ġeverything Ġin Ġdirectories Ġwhich Ġshould Ġonly Ġcontain Ġoutput Ġfiles ĊĠĠĠĠĠĠĠ Ġval Ġdefault Output Ġ= Ġset Of ( File ( basePath , Ġ" aux il "), ĠFile ( basePath , Ġ" out ")) ĊĠĠĠĠĠĠĠ Ġfor Ġ( path Ġin Ġdefault Output ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . walk (). max Depth ( 1 ). forEach Ġ{ Ġit . delete () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠCustom Ġout / aux Ġdirs ĊĠĠĠĠĠĠĠ Ġval Ġcustom Output Ġ= Ġproject . get Lat ex Run Configurations (). flatMap Ġ{ ĠlistOf ( it . output Path . get And Create Path (), Ġit . aux il Path . get And Create Path ()) Ġ} ĊĠĠĠĠĠĠĠ Ġrun Write Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( path Ġin Ġcustom Output ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath ?. children ?. forEach Ġ{ Ġit . delete ( this ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGenerated Ġmint ed Ġfiles ĊĠĠĠĠĠĠĠ ĠFile ( basePath , Ġ" src "). walk (). max Depth ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . name . startsWith ("_ mint ed ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . delete Re cursively () Ġ} ĊĊĠĠĠĠĠĠĠ ĠLocal FileSystem . getInstance (). refresh ( true ) ĊĠĠĠ Ġ} Ċ }