package Ġcommon Ċ Ċ import Ġcom . intellij . openapi . vfs . V fs Util Core Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġcom . intellij . psi . Psi Manager Ċ import Ġcom . intellij . psi . search . Filename Index Ċ import Ġcom . intellij . psi . search . Global Search Scope Ċ Ċ object ĠResource Util Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠRESOURCE _ PREFIX Ġ= Ġ" res ://" ĊĊĠĠĠ Ġfun Ġis Resource ( path : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġpath . startsWith ("\" $ RESOURCE _ PREFIX ") Ġ|| Ġpath . startsWith ("' $ RESOURCE _ PREFIX ") ĊĊĠĠĠ Ġfun Ġfind Resource ( resource : ĠPsi Element ): ĠPsi File ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Resource ( resource . text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġpath : ĠString Ġ= Ġclean Resource ( resource . text ) ĊĠĠĠĠĠĠĠ Ġval Ġproject : ĠVirtual File Ġ= Ġfind Project ( resource ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġfile : ĠVirtual File Ġ= ĠV fs Util Core . find Relative File ( path , Ġproject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠPsi Manager . getInstance ( resource . project ). find File ( file ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclean Resource ( path : ĠString ) Ġ= Ġpath ĊĠĠĠĠĠĠĠ Ġ. remove Sur rounding ("\" ") ĊĠĠĠĠĠĠĠ Ġ. remove Sur rounding ("' ") ĊĠĠĠĠĠĠĠ Ġ. remove Prefix ( RESOURCE _ PREFIX ) ĊĊĠĠĠ Ġfun Ġfind Project ( resource : ĠPsi Element ): ĠVirtual File ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscope Ġ= ĠGlobal Search Scope . project Scope ( resource . project ) ĊĠĠĠĠĠĠĠ Ġreturn ĠFilename Index . get Files ByName ( resource . project , Ġ" project . godot ", Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . virtual File Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () ĊĠĠĠ Ġ} Ċ Ċ }