package Ġcom . launch dark ly . intellij . action Ċ Ċ import Ġcom . intellij . execution . configurations . General CommandLine Ċ import Ġcom . intellij . execution . process . Script Runner Util Ċ import Ġcom . intellij . openapi . action System . An Action Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . components . service Ċ import Ġcom . intellij . openapi . util . io . File Util Rt Ċ import Ġcom . launch dark ly . intellij . tool window . Flag Tool Window Ċ import Ġjava . nio . charset . Charset Ċ import Ġjavax . swing . Icon Ċ Ċ /** Ċ Ġ* ĠAction Ġclass Ġto Ġdemonstrate Ġhow Ġto Ġinteract Ġwith Ġthe ĠIntelliJ ĠPlatform . Ċ Ġ* ĠThe Ġonly Ġaction Ġthis Ġclass Ġperforms Ġis Ġto Ġprovide Ġthe Ġuser Ġwith Ġa Ġpopup Ġdialog Ġas Ġfeedback . Ċ Ġ* ĠTypically Ġthis Ġclass Ġis Ġinstantiated Ġby Ġthe ĠIntelliJ ĠPlatform Ġframework Ġbased Ġon Ġdeclarations Ċ Ġ* Ġin Ġthe Ġplugin . xml Ġfile . ĠBut Ġwhen Ġadded Ġat Ġruntime Ġthis Ġclass Ġis Ġinstantiated Ġby Ġan Ġaction Ġgroup . Ċ Ġ*/ Ċ class ĠRun Cod ere fs Action Ġ: ĠAn Action Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġdefault Ġconstructor Ġis Ġused Ġby Ġthe ĠIntelliJ ĠPlatform Ġframework Ġto ĊĠĠĠĠ Ġ* Ġinstantiate Ġthis Ġclass Ġbased Ġon Ġplugin . xml Ġdeclarations . ĠOnly Ġneeded Ġin ĠPopup Dialog Action ĊĠĠĠĠ Ġ* Ġclass Ġbecause Ġa Ġsecond Ġconstructor Ġis Ġoverridden . ĊĠĠĠĠ Ġ* Ġ@ see ĠAn Action . An Action ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġconstructor () Ġ: Ġsuper () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠID Ġ= Ġ" com . launch dark ly . intellij . action . Run Cod ere fs Action " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġconstructor Ġis Ġused Ġto Ġsupport Ġdynamically Ġadded Ġmenu Ġactions . ĊĠĠĠĠ Ġ* ĠIt Ġsets Ġthe Ġtext , Ġdescription Ġto Ġbe Ġdisplayed Ġfor Ġthe Ġmenu Ġitem . ĊĠĠĠĠ Ġ* ĠOtherwise , Ġthe Ġdefault ĠAn Action Ġconstructor Ġis Ġused Ġby Ġthe ĠIntelliJ ĠPlatform . ĊĠĠĠĠ Ġ* Ġ@ param Ġtext Ġ ĠThe Ġtext Ġto Ġbe Ġdisplayed Ġas Ġa Ġmenu Ġitem . ĊĠĠĠĠ Ġ* Ġ@ param Ġdescription Ġ ĠThe Ġdescription Ġof Ġthe Ġmenu Ġitem . ĊĠĠĠĠ Ġ* Ġ@ param Ġicon Ġ ĠThe Ġicon Ġto Ġbe Ġused Ġwith Ġthe Ġmenu Ġitem . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġconstructor ( text : ĠString ?, Ġdescription : ĠString ?, Ġicon : ĠIcon ?) Ġ: Ġsuper ( text , Ġdescription , Ġicon ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠG ives Ġthe Ġuser Ġfeedback Ġwhen Ġthe Ġdynamic Ġaction Ġmenu Ġis Ġchosen . ĊĠĠĠĠ Ġ* ĠP ops Ġa Ġsimple Ġmessage Ġdialog . ĠSee Ġthe Ġpsi _ demo Ġplugin Ġfor Ġan ĊĠĠĠĠ Ġ* Ġexample Ġof Ġhow Ġto Ġuse ĠAn ActionEvent Ġto Ġaccess Ġdata . ĊĠĠĠĠ Ġ* Ġ@ param Ġevent ĠEvent Ġreceived Ġwhen Ġthe Ġassociated Ġmenu Ġitem Ġis Ġchosen . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠactionPerformed ( event : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġevent . project !! ĊĠĠĠĠĠĠĠ Ġval Ġproject Path Ġ= Ġproject . basePath ĊĠĠĠĠĠĠĠ Ġval Ġtmp Dir Ġ= ĠFile Util Rt . create Temp Directory (" ld -", Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġcommands Ġ= Ġarray ListOf ("") ĊĠĠĠĠĠĠĠ Ġval Ġalias File Ġ= Ġ"${ tmp Dir }/ coder ef s _ temp _ file _ scan . csv " ĊĠĠĠĠĠĠĠ Ġcommands . add (" ld - find - code - refs ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- dir =${ project Path }") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- dry Run ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- out Dir =${ tmp Dir }") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- repo Name = CHANGE ME ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- project Key =${ project . name }") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- base Uri = CHANGE ME ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- context Lines =- 1 ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- branch = scan ") ĊĠĠĠĠĠĠĠ Ġcommands . add ("-- revision = 0 ") ĊĠĠĠĠĠĠĠ Ġval Ġgeneral CommandLine Ġ= ĠGeneral CommandLine ( commands ) ĊĠĠĠĠĠĠĠ Ġval Ġproc Env Ġ= Ġmap Of (" LD _ ACCESS _ TOKEN " Ġto Ġ" test ", Ġ" GO MAX PRO CS " Ġto Ġ" 1 ") ĊĠĠĠĠĠĠĠ Ġgeneral CommandLine . with Environment ( proc Env ) ĊĠĠĠĠĠĠĠ Ġgeneral CommandLine . set Charset ( Charset . forName (" UTF - 8 ")) ĊĠĠĠĠĠĠĠ Ġ// general CommandLine . set Work Directory () ĊĠĠĠĠĠĠĠ Ġval Ġs ny k Result Json Str Ġ= ĠScript Runner Util . get Process Output ( general CommandLine ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDetermines Ġwhether Ġthis Ġmenu Ġitem Ġis Ġavailable Ġfor Ġthe Ġcurrent Ġcontext . ĊĠĠĠĠ Ġ* ĠRequires Ġa Ġproject Ġto Ġbe Ġopen . ĊĠĠĠĠ Ġ* Ġ@ param Ġe ĠEvent Ġreceived Ġwhen Ġthe Ġassociated Ġgroup - id Ġmenu Ġis Ġchosen . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update ( e ) ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġe . project ĊĠĠĠĠĠĠĠ Ġif Ġ( project Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( project . service < Flag Tool Window >(). get Panel (). tree . last Selected Path Component Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Node Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . service < Flag Tool Window >(). get Panel (). tree . last Selected Path Component . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . isEnabled And Visible Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . isEnabled Ġ&& Ġ( selected Node . startsWith (" Fall through ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }