Skip to content

Commit d3d4868

Browse files
committed
fix: reduce boilerplate
1 parent 1974c6f commit d3d4868

File tree

5 files changed

+45
-49
lines changed

5 files changed

+45
-49
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.github.xepozz.php_dump
2+
3+
import com.intellij.execution.process.ProcessAdapter
4+
import com.intellij.execution.process.ProcessEvent
5+
import com.intellij.execution.process.ProcessOutputTypes
6+
import com.intellij.openapi.util.Key
7+
8+
class StringBufferProcessAdapter(val output: StringBuilder) : ProcessAdapter() {
9+
override fun onTextAvailable(event: ProcessEvent, outputType: Key<*>) {
10+
when (outputType) {
11+
ProcessOutputTypes.STDERR -> output.append(event.text)
12+
ProcessOutputTypes.STDOUT -> output.append(event.text)
13+
}
14+
}
15+
}

src/main/kotlin/com/github/xepozz/php_dump/services/OpcacheSettingsTreeDumperService.kt

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package com.github.xepozz.php_dump.services
22

3+
import com.github.xepozz.php_dump.StringBufferProcessAdapter
34
import com.github.xepozz.php_dump.command.PathMapper
45
import com.github.xepozz.php_dump.command.PhpCommandExecutor
56
import com.github.xepozz.php_dump.stubs.any_tree.AnyNodeList
67
import com.github.xepozz.php_dump.stubs.any_tree.AnyNodeParser
7-
import com.intellij.execution.process.ProcessAdapter
8-
import com.intellij.execution.process.ProcessEvent
9-
import com.intellij.execution.process.ProcessOutputTypes
108
import com.intellij.openapi.components.Service
119
import com.intellij.openapi.project.Project
12-
import com.intellij.openapi.util.Key
1310
import kotlinx.coroutines.Dispatchers
1411
import kotlinx.coroutines.withContext
1512

@@ -49,15 +46,13 @@ class OpcacheSettingsTreeDumperService(var project: Project) : DumperServiceInte
4946
return withContext(Dispatchers.IO) {
5047
val output = StringBuilder()
5148

52-
PhpCommandExecutor.execute(localFile, phpSnippet, project, object : ProcessAdapter() {
53-
override fun onTextAvailable(event: ProcessEvent, outputType: Key<*>) {
54-
when (outputType) {
55-
ProcessOutputTypes.STDERR -> output.append(event.text)
56-
ProcessOutputTypes.STDOUT -> output.append(event.text)
57-
}
58-
}
59-
}, listOf("-dopcache.enable_cli=1"))
60-
49+
PhpCommandExecutor.execute(
50+
localFile,
51+
phpSnippet,
52+
project,
53+
StringBufferProcessAdapter(output),
54+
listOf("-dopcache.enable_cli=1"),
55+
)
6156

6257
val jsonString = output.toString()
6358
// println("jsonString: $jsonString")

src/main/kotlin/com/github/xepozz/php_dump/services/OpcodesDumperService.kt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package com.github.xepozz.php_dump.services
22

3+
import com.github.xepozz.php_dump.StringBufferProcessAdapter
34
import com.github.xepozz.php_dump.command.PathMapper
45
import com.github.xepozz.php_dump.command.PhpCommandExecutor
56
import com.github.xepozz.php_dump.configuration.PhpDumpSettingsService
67
import com.intellij.execution.configurations.GeneralCommandLine
7-
import com.intellij.execution.process.ProcessAdapter
8-
import com.intellij.execution.process.ProcessEvent
9-
import com.intellij.execution.process.ProcessOutputTypes
108
import com.intellij.openapi.components.Service
119
import com.intellij.openapi.project.Project
12-
import com.intellij.openapi.util.Key
1310
import com.jetbrains.php.config.PhpProjectConfigurationFacade
1411
import com.jetbrains.php.config.interpreters.PhpInterpretersManagerImpl
1512
import kotlinx.coroutines.Dispatchers
@@ -53,14 +50,13 @@ class OpcodesDumperService(var project: Project) : DumperServiceInterface {
5350
return withContext(Dispatchers.IO) {
5451
val output = StringBuilder()
5552

56-
PhpCommandExecutor.execute(localFile, phpSnippet, project, object : ProcessAdapter() {
57-
override fun onTextAvailable(event: ProcessEvent, outputType: Key<*>) {
58-
when (outputType) {
59-
ProcessOutputTypes.STDERR -> output.append(event.text)
60-
ProcessOutputTypes.STDOUT -> output.append(event.text)
61-
}
62-
}
63-
}, listOf("-dopcache.enable_cli=1"))
53+
PhpCommandExecutor.execute(
54+
localFile,
55+
phpSnippet,
56+
project,
57+
StringBufferProcessAdapter(output),
58+
listOf("-dopcache.enable_cli=1"),
59+
)
6460

6561

6662
output.toString()

src/main/kotlin/com/github/xepozz/php_dump/services/TokensDumperService.kt

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package com.github.xepozz.php_dump.services
22

3+
import com.github.xepozz.php_dump.StringBufferProcessAdapter
34
import com.github.xepozz.php_dump.command.PathMapper
45
import com.github.xepozz.php_dump.command.PhpCommandExecutor
56
import com.github.xepozz.php_dump.configuration.PhpDumpSettingsService
6-
import com.intellij.execution.process.ProcessAdapter
7-
import com.intellij.execution.process.ProcessEvent
8-
import com.intellij.execution.process.ProcessOutputTypes
97
import com.intellij.openapi.components.Service
108
import com.intellij.openapi.project.Project
11-
import com.intellij.openapi.util.Key
129
import kotlinx.coroutines.Dispatchers
1310
import kotlinx.coroutines.withContext
1411

@@ -58,14 +55,12 @@ class TokensDumperService(var project: Project) : DumperServiceInterface {
5855
return withContext(Dispatchers.IO) {
5956
val output = StringBuilder()
6057

61-
PhpCommandExecutor.execute(localFile, phpSnippet, project, object : ProcessAdapter() {
62-
override fun onTextAvailable(event: ProcessEvent, outputType: Key<*>) {
63-
when (outputType) {
64-
ProcessOutputTypes.STDERR -> output.append(event.text)
65-
ProcessOutputTypes.STDOUT -> output.append(event.text)
66-
}
67-
}
68-
})
58+
PhpCommandExecutor.execute(
59+
localFile,
60+
phpSnippet,
61+
project,
62+
StringBufferProcessAdapter(output),
63+
)
6964

7065
output.toString()
7166
}

src/main/kotlin/com/github/xepozz/php_dump/services/TokensTreeDumperService.kt

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package com.github.xepozz.php_dump.services
22

3+
import com.github.xepozz.php_dump.StringBufferProcessAdapter
34
import com.github.xepozz.php_dump.command.PathMapper
45
import com.github.xepozz.php_dump.command.PhpCommandExecutor
56
import com.github.xepozz.php_dump.stubs.token_object.TokenParser
6-
import com.intellij.execution.process.ProcessAdapter
7-
import com.intellij.execution.process.ProcessEvent
8-
import com.intellij.execution.process.ProcessOutputTypes
97
import com.intellij.openapi.components.Service
108
import com.intellij.openapi.project.Project
11-
import com.intellij.openapi.util.Key
129
import kotlinx.coroutines.Dispatchers
1310
import kotlinx.coroutines.withContext
1411

@@ -36,14 +33,12 @@ class TokensTreeDumperService(var project: Project) : DumperServiceInterface {
3633
return withContext(Dispatchers.IO) {
3734
val output = StringBuilder()
3835

39-
PhpCommandExecutor.execute(localFile, phpSnippet, project, object : ProcessAdapter() {
40-
override fun onTextAvailable(event: ProcessEvent, outputType: Key<*>) {
41-
when (outputType) {
42-
ProcessOutputTypes.STDERR -> output.append(event.text)
43-
ProcessOutputTypes.STDOUT -> output.append(event.text)
44-
}
45-
}
46-
})
36+
PhpCommandExecutor.execute(
37+
localFile,
38+
phpSnippet,
39+
project,
40+
StringBufferProcessAdapter(output),
41+
)
4742

4843

4944
val jsonString = output.toString()

0 commit comments

Comments
 (0)