[terminal] migrate ShellTerminalWidget to terminalProjectScope

GitOrigin-RevId: 528b7fbd1da62a5de0aa4f6654c47de25beca564
This commit is contained in:
Sergey Simonchik
2024-12-06 13:11:09 +00:00
committed by intellij-monorepo-bot
parent 3907f9f348
commit a98cefa456
2 changed files with 3 additions and 8 deletions
@@ -21,7 +21,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.terminal.action.RenameTerminalSessionActionKt;
import org.jetbrains.plugins.terminal.action.TerminalSplitAction;
import org.jetbrains.plugins.terminal.classic.ClassicTerminalVfsRefreshService;
import org.jetbrains.plugins.terminal.classic.ClassicTerminalVfsRefresher;
import org.jetbrains.plugins.terminal.fus.TerminalUsageTriggerCollector;
import org.jetbrains.plugins.terminal.util.TerminalUtilKt;
@@ -37,6 +36,8 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import java.util.function.Function;
import static org.jetbrains.plugins.terminal.util.TerminalCoroutineKt.terminalProjectScope;
public class ShellTerminalWidget extends JBTerminalWidget {
private static final Logger LOG = Logger.getInstance(ShellTerminalWidget.class);
@@ -64,7 +65,7 @@ public class ShellTerminalWidget extends JBTerminalWidget {
super(project, settingsProvider, parent);
myShellCommandHandlerHelper = new TerminalShellCommandHandlerHelper(this);
ClassicTerminalVfsRefresher refresher = project.getService(ClassicTerminalVfsRefreshService.class).create(this);
ClassicTerminalVfsRefresher refresher = new ClassicTerminalVfsRefresher(this, terminalProjectScope(project));
getTerminalPanel().addPreKeyEventHandler(e -> {
if (e.getID() != KeyEvent.KEY_PRESSED) return;
handleAnyKeyPressed();
@@ -3,7 +3,6 @@ package org.jetbrains.plugins.terminal.classic
import com.intellij.ide.SaveAndSyncHandler
import com.intellij.openapi.Disposable
import com.intellij.openapi.components.Service
import com.intellij.openapi.util.Disposer
import com.intellij.openapi.util.registry.Registry
import com.intellij.util.concurrency.annotations.RequiresEdt
@@ -17,11 +16,6 @@ import java.util.concurrent.atomic.AtomicReference
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
@Service(Service.Level.PROJECT)
internal class ClassicTerminalVfsRefreshService(private val coroutineScope: CoroutineScope) {
fun create(widget: ShellTerminalWidget): ClassicTerminalVfsRefresher = ClassicTerminalVfsRefresher(widget, coroutineScope)
}
internal class ClassicTerminalVfsRefresher(private val widget: ShellTerminalWidget, private val coroutineScope: CoroutineScope) {
private val currentWatcherRef: AtomicReference<CommandRunWatcher?> = AtomicReference()