CPP-26443 Small changes after review
authorSemyon Kolton <semyon.kolton@jetbrains.com>
Mon, 20 Sep 2021 11:24:04 +0000 (14:24 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Mon, 20 Sep 2021 13:47:12 +0000 (13:47 +0000)
GitOrigin-RevId: ed85bcfb0496ddfee93cdf4a6e049dabfb66ef9a

platform/execution-impl/src/com/intellij/execution/wsl/WslDistributionConsoleFolding.kt

index 329f7019fa8a9c9f0a2c16fa5031176e1ab93481..38d335d7d695362a5a10652f22ee2e66197b8f6f 100644 (file)
@@ -27,18 +27,15 @@ class WslDistributionConsoleFolding : ConsoleFolding() {
   @VisibleForTesting
   fun shouldFoldLineNoProject(line: String): Boolean {
     // check if line contains `wsl.exe --distribution` and it's not at the start of line
-    val wslExeIndex = line.indexOf("$WSL_EXE $DISTRIBUTION_PARAMETER")
+    val wslExeIndex = line.indexOf(WSL_EXE_DISTRIBUTION)
     if (wslExeIndex <= 0) {
       return false
     }
 
     // check if line contains `--exec` or `$SHELL -c`, and it's located after `wsl.exe --distribution`
-    var execIndex = line.indexOf(EXEC_PARAMETER)
+    var execIndex = line.indexOf(EXEC_PARAMETER, wslExeIndex + 1)
     if (execIndex < 0) {
-      execIndex = line.indexOf("$SHELL_PARAMETER -c")
-    }
-    if (execIndex <= wslExeIndex) {
-      return false
+      execIndex = line.indexOf(SHELL_C)
     }
 
     // check if line contains `&& `. If yes, then it should be located after `--exec`
@@ -90,7 +87,7 @@ class WslDistributionConsoleFolding : ConsoleFolding() {
     if (userCLStart <= 2) {
       userCLStart = indexOfExec + EXEC_PARAMETER.length + 1
       if (userCLStart <= EXEC_PARAMETER.length) {
-        userCLStart = line.indexOf("$SHELL_PARAMETER -c") + SHELL_PARAMETER.length + 4
+        userCLStart = line.indexOf(SHELL_C) + SHELL_PARAMETER.length + 4
         if (userCLStart <= SHELL_PARAMETER.length + 3) {
           return null
         }
@@ -124,4 +121,10 @@ class WslDistributionConsoleFolding : ConsoleFolding() {
 
     return ExecutionBundle.message("wsl.folding.placeholder", distributionLine, userCL)
   }
+
+  companion object {
+    private const val WSL_EXE_DISTRIBUTION = "$WSL_EXE $DISTRIBUTION_PARAMETER"
+
+    private const val SHELL_C = "$SHELL_PARAMETER -c"
+  }
 }
\ No newline at end of file