@@ -27,17 +27,11 @@ import org.jetbrains.plugins.scala.lang.psi.types.result.Typeable
27
27
import org .jetbrains .plugins .scala .lang .refactoring .ScTypePresentationExt
28
28
import org .jetbrains .plugins .scala .lang .refactoring .util .ScalaNamesUtil
29
29
import org .jetbrains .plugins .scala .project .settings .ScalaCompilerConfiguration
30
- import org .jetbrains .plugins .scala .project .{
31
- LibraryExt ,
32
- ModuleExt ,
33
- ProjectContext ,
34
- ProjectExt ,
35
- ProjectPsiElementExt ,
36
- ScalaLanguageLevel
37
- }
30
+ import org .jetbrains .plugins .scala .project .{LibraryExt , ModuleExt , ProjectContext , ProjectExt , ProjectPsiElementExt , ScalaLanguageLevel }
38
31
import org .jetbrains .sbt .SbtUtil
39
32
import org .jetbrains .sbt .SbtUtil .getDefaultLauncher
40
33
import org .jetbrains .sbt .project .SbtExternalSystemManager
34
+ import zio .intellij .utils .Method .localRegex
41
35
42
36
import java .io .File
43
37
import scala .annotation .tailrec
@@ -241,6 +235,8 @@ package object utils {
241
235
242
236
object Method {
243
237
238
+ val localRegex = " (\\ d+\\ .\\ d+\\ .\\ d+)\\ S*(?=\\ .jar$)" .r
239
+
244
240
def unapply (ts : TermSignature ): Option [ScFunction ] =
245
241
ts match {
246
242
case PhysicalMethodSignature (method : ScFunctionDeclaration , _) => Some (method)
@@ -258,10 +254,13 @@ package object utils {
258
254
url <- library.getUrls(OrderRootType .CLASSES )
259
255
if p(url)
260
256
trimmedUrl = utils.trimAfterSuffix(url, " .jar" )
261
- versionStr <- LibraryExt .runtimeVersion(trimmedUrl)
257
+ versionStr <- LibraryExt .runtimeVersion(trimmedUrl) orElse localLibraryVersion(trimmedUrl)
262
258
version <- Version .parse(versionStr)
263
259
} yield version).headOption
264
260
261
+ private def localLibraryVersion (str : String ) =
262
+ localRegex.findFirstMatchIn(str).map(_.group(1 ))
263
+
265
264
@ CachedInUserData (module, ScalaCompilerConfiguration .modTracker(module.getProject))
266
265
def zioVersion : Option [Version ] =
267
266
findLibrary(lib => lib.contains(" /dev/zio/zio_" ) || lib.contains(" /dev.zio/zio_" ))
0 commit comments