// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ċ package Ġorg . jetbrains . kotlin . idea . editor . word Selection Ċ Ċ import Ġcom . intellij . code Insight . editor Actions . Extend Word Selection Handler Base Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . util . Text Range Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt String Template Expression Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . end Offset Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . start Offset Ċ Ċ class ĠKotlin StringLiteral Selection er Ġ: ĠExtend Word Selection Handler Base () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcan Select ( e : ĠPsi Element ) Ġ= Ġe Ġis ĠK t String Template Expression ĊĊĠĠĠ Ġoverride Ġfun Ġselect ( e : ĠPsi Element , Ġeditor Text : ĠCharSequence , Ġcursor Offset : ĠInt , Ġeditor : ĠEditor ): ĠList < Text Range >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentries Ġ= Ġ( e Ġas ĠK t String Template Expression ). entries ĊĠĠĠĠĠĠĠ Ġif Ġ( entries . isEmpty ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġentries . first (). start Offset ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġentries . last (). end Offset ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( Text Range ( start , Ġend )) ĊĠĠĠ Ġ} Ċ } Ċ