[fleet] catch long optimize imports step for kotlin during alt enter preview

GitOrigin-RevId: 999c4a2fa77c8b16b183031fb5e368882b6397a7
This commit is contained in:
Ramazan Dzhekshembaev
2024-01-11 15:26:18 +06:00
committed by intellij-monorepo-bot
parent a3a344d27e
commit 3ba4620456
5 changed files with 33 additions and 2 deletions

View File

@@ -0,0 +1,14 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.formatting.service;
import com.intellij.openapi.progress.Task;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
public interface DelayedImportsOptimizerService {
static DelayedImportsOptimizerService getInstance(Project project) {
return project.getService(DelayedImportsOptimizerService.class);
}
boolean delayOptimizeImportsTask(@NotNull Task task);
}

View File

@@ -21,6 +21,7 @@
<extensionPoint name="externalFormatProcessor" interface="com.intellij.psi.codeStyle.ExternalFormatProcessor" dynamic="true"/>
<extensionPoint name="formattingService" interface="com.intellij.formatting.service.FormattingService" dynamic="true"/>
<extensionPoint name="importsAlmostOptimizerService" interface="com.intellij.formatting.service.DelayedImportsOptimizerService" dynamic="true"/>
<extensionPoint name="preFormatProcessor" interface="com.intellij.psi.impl.source.codeStyle.PreFormatProcessor" dynamic="true"/>
<extensionPoint name="postFormatProcessor" interface="com.intellij.psi.impl.source.codeStyle.PostFormatProcessor" dynamic="true"/>
<extensionPoint name="disabledIndentRangesProvider" interface="com.intellij.psi.impl.source.DisabledIndentRangesProvider"

View File

@@ -0,0 +1,12 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.formatting.service;
import com.intellij.openapi.progress.Task;
import org.jetbrains.annotations.NotNull;
public class DelayedImportsOptimizerServiceImpl implements DelayedImportsOptimizerService {
@Override
public boolean delayOptimizeImportsTask(@NotNull Task task) {
return false;
}
}

View File

@@ -310,6 +310,8 @@
<projectService serviceInterface="com.intellij.formatting.service.FormattingNotificationService"
serviceImplementation="com.intellij.formatting.service.FormattingUiNotificationService"/>
<projectService serviceInterface="com.intellij.formatting.service.DelayedImportsOptimizerService"
serviceImplementation="com.intellij.formatting.service.DelayedImportsOptimizerServiceImpl"/>
<projectService serviceInterface="com.intellij.codeInsight.daemon.impl.analysis.HighlightingLevelManager"
serviceImplementation="com.intellij.codeInsight.daemon.impl.analysis.HighlightingSettingsPerFile"

View File

@@ -1,6 +1,7 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.refactoring.helper
import com.intellij.formatting.service.DelayedImportsOptimizerService
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ReadAction
import com.intellij.openapi.application.runReadAction
@@ -113,7 +114,8 @@ class KotlinOptimizeImportsRefactoringHelper : RefactoringHelper<Set<KtFile>> {
progressManager.run(progressTask)
}
}
progressManager.run(collectTask)
if (!DelayedImportsOptimizerService.getInstance(project).delayOptimizeImportsTask(collectTask)) {
progressManager.run(collectTask)
}
}
}