package Ġcom . jetbrains . package search . intellij . plugin . ui . tool window . panels . repositories Ċ Ċ import Ġcom . intellij . ide . Copy Provider Ċ import Ġcom . intellij . openapi . action System . DataContext Ċ import Ġcom . intellij . openapi . action System . DataProvider Ċ import Ġcom . intellij . openapi . action System . Platform Data Keys Ċ import Ġcom . intellij . openapi . ide . Copy Paste Manager Ċ import Ġcom . jetbrains . package search . intellij . plugin . Package Search Bundle Ċ import Ġcom . jetbrains . package search . intellij . plugin . ui . tool window . models . Repository Model Ċ import Ġcom . jetbrains . package search . intellij . plugin . ui . tool window . models . Repository Usage Info Ċ import Ġjava . awt . datat rans fer . String Selection Ċ import Ġjava . util . Locale Ċ Ċ internal Ġsealed Ġclass ĠRepository TreeItem Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġto Simple Identifier (): ĠString ĊĊĠĠĠ Ġdata Ġclass ĠRepository ( val Ġrepository Model : ĠRepository Model ) Ġ: ĠRepository TreeItem (), ĠData Provider , ĠCopy Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġto Simple Identifier (): ĠString Ġ= Ġ" GROUP :${ repository Model . id }:${ repository Model . name }:${ repository Model . url }". toLowerCase () ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠgetText For Copy () Ġ= Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Model . id ?. let Ġ{ Ġappend Line (" Ġ Ġ${ Package Search Bundle . message (" package search . repository . copy able Info . id ", Ġit )} ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Model . name ?. let Ġ{ Ġappend Line (" Ġ Ġ${ Package Search Bundle . message (" package search . repository . copy able Info . name ", Ġit )} ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Model . url ?. let Ġ{ Ġappend Line (" Ġ Ġ${ Package Search Bundle . message (" package search . repository . copy able Info . url ", Ġit )} ") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetData ( data Id : ĠString ) Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform Data Keys . COPY _ PROVIDER .` is `( data Id ) Ġ-> Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform Copy ( data Context : ĠData Context ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCopy Paste Manager . getInstance (). set Contents ( String Selection ( getText For Copy ())) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Copy Visible ( data Context : ĠData Context ) Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Copy Enabled ( data Context : ĠData Context ) Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠModule ( val Ġusage Info : ĠRepository Usage Info ) Ġ: ĠRepository TreeItem () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġto Simple Identifier (): ĠString Ġ= Ġusage Info . project Module . name . toLowerCase ( Locale . ROOT ) ĊĠĠĠ Ġ} Ċ } Ċ