File tree 3 files changed +9
-9
lines changed
java/com/uriyyo/evaluate_async_code
3 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ plugins {
8
8
9
9
10
10
group = " com.uriyyo.evaluate_async_code"
11
- version = " 1.1 "
11
+ version = " 1.2 "
12
12
13
13
repositories {
14
14
mavenCentral()
Original file line number Diff line number Diff line change @@ -184,22 +184,22 @@ val String.isAsyncCode: Boolean
184
184
185
185
fun String.toAsyncCode (): Pair <String , String > {
186
186
val lines = this .prependIndent(" " ).lines().toMutableList()
187
- val expression = if (lines.size == 1 ) " return ${lines[0 ].trimStart()} " else lines.joinToString(" \n " )
188
-
189
187
val resultVar = " __async_result_var_${Random .nextInt().absoluteValue} __"
190
188
189
+ lines[lines.lastIndex] = " $resultVar = ${lines[lines.lastIndex]} "
190
+ val expression = lines.joinToString(" \n " )
191
+
191
192
return """
192
193
$NEST_ASYNCIO_SOUCE_CODE
193
194
194
195
async def __async_evaluate_expression__():
195
196
$expression
197
+ return locals()
196
198
197
199
from asyncio import run as __async_run_coro__
198
- $resultVar = __async_run_coro__(__async_evaluate_expression__())
200
+ locals().update( __async_run_coro__(__async_evaluate_expression__() ))
199
201
200
- del __async_run_coro__
201
- del __async_evaluate_expression__
202
- del __patch_asyncio__
202
+ del __async_run_coro__, __async_evaluate_expression__, __patch_asyncio__
203
203
""" to resultVar
204
204
}
205
205
Original file line number Diff line number Diff line change 1
1
<idea-plugin >
2
2
<id >com.uriyyo.evaluate_async_code</id >
3
3
<name >Evaluate async code</name >
4
- <version >1.1 </version >
4
+ <version >1.2 </version >
5
5
<
vendor email =
" [email protected] " >Yurii Karabas</
vendor >
6
6
7
7
<description >
8
8
Finally, you can use await in evaluate expression
9
9
</description >
10
10
11
- <change-notes >Fix bug when evaluate expression failed because of AttributeError </change-notes >
11
+ <change-notes >Fix bug when variable assigment doesn't available in caller scope </change-notes >
12
12
13
13
<idea-version since-build =" 192" />
14
14
<depends >com.intellij.modules.lang</depends >
You can’t perform that action at this time.
0 commit comments