@@ -2,7 +2,6 @@ package com.github.aleksandrsl.intellijluau.actions
22
33import com.github.aleksandrsl.intellijluau.LuauNotifications
44import com.github.aleksandrsl.intellijluau.settings.ProjectSettingsState
5- import com.github.aleksandrsl.intellijluau.tools.LuauCliService
65import com.github.aleksandrsl.intellijluau.tools.StyLuaCli
76import com.github.aleksandrsl.intellijluau.tools.ToolchainResolver
87import com.intellij.notification.NotificationType
@@ -11,6 +10,7 @@ import com.intellij.openapi.actionSystem.AnAction
1110import com.intellij.openapi.actionSystem.AnActionEvent
1211import com.intellij.openapi.application.EDT
1312import com.intellij.openapi.diagnostic.logger
13+ import com.intellij.openapi.progress.currentThreadCoroutineScope
1414import com.intellij.openapi.project.Project
1515import com.intellij.platform.ide.progress.withBackgroundProgress
1616import kotlinx.coroutines.Dispatchers
@@ -38,13 +38,14 @@ class LuauExternalFormatAction : AnAction() {
3838 override fun actionPerformed (event : AnActionEvent ) {
3939 val project: Project = event.project ? : return
4040
41- val projectService = LuauCliService .getInstance(project)
4241 val notificationGroupManager = LuauNotifications .pluginNotifications()
43- projectService.coroutineScope.launch( Dispatchers . IO ) {
42+ currentThreadCoroutineScope().launch {
4443 // Why isn't modal progress working?
4544 // Do I need different contexts here?
4645 withBackgroundProgress(project, " Stylua format current document" ) {
47- val result = ToolchainResolver .resolveStylua(project)?.formatDocument(project)
46+ val result = withContext(Dispatchers .IO ) {
47+ ToolchainResolver .resolveStylua(project)?.formatDocument(project)
48+ }
4849 withContext(Dispatchers .EDT ) {
4950 when (result) {
5051 is StyLuaCli .FormatResult .Success -> notificationGroupManager.createNotification(
0 commit comments