/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea . intent ions Ċ Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . openapi . util . io . File Util Rt Ċ import Ġcom . intellij . refactor ing . Ref actor ing Settings Ċ import Ġcom . intellij . refactor ing . rename . Rename Processor Ċ import Ġorg . jetbrains . kotlin . psi . Kt Class Or Object Ċ Ċ class ĠRename File To Match Class Int ention Ġ: ĠSelf Target ing Range Int ention < Kt Class Or Object >( Kt Class Or Object :: class . java , Ġ"", Ġ" Rename Ġfile Ġto Ġmatch Ġtop - level Ġclass Ġname ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapplic ability Range ( element : ĠK t Class Or Object ): ĠText Range ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! element . is TopLevel ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġelement . containing Kt File . name ĊĠĠĠĠĠĠĠ Ġif Ġ( File Util . getName Without Extension ( fileName ) Ġ== Ġelement . name ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Rename Ġfile Ġto Ġ${ element . name }.${ File Util Rt . getExtension ( fileName )}" ĊĠĠĠĠĠĠĠ Ġreturn Ġelement . name Identifier ?. text Range ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart In Write Action () Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġapply To ( element : ĠK t Class Or Object , Ġeditor : ĠEditor ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġelement . containing Kt File ĊĠĠĠĠĠĠĠ Ġval Ġextension Ġ= ĠFile Util Rt . getExtension ( file . name ) ĊĠĠĠĠĠĠĠ ĠRename Processor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile . project , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ element . name }. $ extension ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRefactor ing Settings . getInstance (). RE NAME _ SEARCH _ IN _ COMMENTS _ FOR _ FILE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRefactor ing Settings . getInstance (). RE NAME _ SEARCH _ FOR _ TEXT _ FOR _ FILE ). run () ĊĠĠĠ Ġ} Ċ }