mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Don't perform 'sequential formatting' for all actions over 'reformat'
This commit is contained in:
+1
-1
@@ -28,8 +28,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @author max
|
||||
*/
|
||||
public class ReformatAndOptimizeImportsProcessor extends AbstractLayoutCodeProcessor {
|
||||
public static final String COMMAND_NAME = CodeInsightBundle.message("progress.reformat.code.prepare");
|
||||
private static final String PROGRESS_TEXT = CodeInsightBundle.message("reformat.progress.common.text");
|
||||
private static final String COMMAND_NAME = CodeInsightBundle.message("progress.reformat.code.prepare");
|
||||
|
||||
private final OptimizeImportsProcessor myOptimizeImportsProcessor;
|
||||
private final ReformatCodeProcessor myReformatCodeProcessor;
|
||||
|
||||
@@ -28,11 +28,13 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ReformatCodeProcessor extends AbstractLayoutCodeProcessor {
|
||||
|
||||
public static final String COMMAND_NAME = CodeInsightBundle.message("process.reformat.code");
|
||||
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.actions.ReformatCodeProcessor");
|
||||
|
||||
private final TextRange myRange;
|
||||
private static final String PROGRESS_TEXT = CodeInsightBundle.message("reformat.progress.common.text");
|
||||
private static final String COMMAND_NAME = CodeInsightBundle.message("process.reformat.code");
|
||||
|
||||
public ReformatCodeProcessor(Project project) {
|
||||
super(project, COMMAND_NAME, PROGRESS_TEXT);
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.intellij.formatting;
|
||||
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.components.ApplicationComponent;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
@@ -25,6 +26,7 @@ import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.formatter.FormatterUtil;
|
||||
import com.intellij.psi.formatter.FormattingDocumentModelImpl;
|
||||
import com.intellij.psi.formatter.PsiBasedFormattingModel;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
@@ -92,6 +94,9 @@ public class FormatterImpl extends FormatterEx
|
||||
|
||||
@Override
|
||||
public void setProgressIndicator(@NotNull FormattingProgressIndicatorImpl progressIndicator) {
|
||||
if (!FormatterUtil.FORMATTER_ACTION_NAMES.contains(CommandProcessor.getInstance().getCurrentCommandName())) {
|
||||
return;
|
||||
}
|
||||
myProgressIndicator = progressIndicator;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ package com.intellij.formatting;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.command.undo.UndoManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
@@ -27,6 +28,7 @@ import com.intellij.openapi.progress.Task;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.formatter.FormatterUtil;
|
||||
import com.intellij.util.SequentialTask;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.intellij.psi.formatter;
|
||||
|
||||
import com.intellij.codeInsight.actions.ReformatAndOptimizeImportsProcessor;
|
||||
import com.intellij.codeInsight.actions.ReformatCodeProcessor;
|
||||
import com.intellij.lang.ASTFactory;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
@@ -27,12 +29,21 @@ import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import com.intellij.util.CharTable;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class FormatterUtil {
|
||||
|
||||
private static final List<FormatterUtilHelper> ourHelpers = ContainerUtil.createEmptyCOWList();
|
||||
|
||||
public static final Collection<String> FORMATTER_ACTION_NAMES = Collections.unmodifiableCollection(ContainerUtil.addAll(
|
||||
new HashSet<String>(), ReformatAndOptimizeImportsProcessor.COMMAND_NAME, ReformatCodeProcessor.COMMAND_NAME
|
||||
));
|
||||
|
||||
private FormatterUtil() {
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ public interface IdeActions {
|
||||
@NonNls String ACTION_EDITOR_NEXT_TEMPLATE_VARIABLE = "NextTemplateVariable";
|
||||
@NonNls String ACTION_EDITOR_PREVIOUS_TEMPLATE_VARIABLE = "PreviousTemplateVariable";
|
||||
|
||||
@NonNls String ACTION_EDITOR_REFORMAT = "ReformatCode";
|
||||
|
||||
|
||||
@NonNls String ACTION_COMMENT_LINE = "CommentByLineComment";
|
||||
|
||||
@@ -478,11 +478,12 @@ public class ContainerUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> void addAll(@NotNull Collection<T> collection, @NotNull T... elements) {
|
||||
public static <T> Collection<T> addAll(@NotNull Collection<T> collection, @NotNull T... elements) {
|
||||
//noinspection ManualArrayToCollectionCopy
|
||||
for (T element : elements) {
|
||||
collection.add(element);
|
||||
}
|
||||
return collection;
|
||||
}
|
||||
|
||||
public static <T, U extends T> U findInstance(@NotNull Iterable<T> iterable, @NotNull Class<U> aClass) {
|
||||
|
||||
Reference in New Issue
Block a user