From cd0938b8bf4bdc547f450ec4b6cc20dd624c1ea3 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 17 Aug 2011 15:20:12 +0200 Subject: [PATCH] IDEA-70827 Auto-wrap doesn't wrap on typing letters --- .../codeInsight/editorActions/AutoHardWrapHandler.java | 4 ++-- .../codeInsight/editorActions/CompletionAutoPopupHandler.java | 3 +++ .../intellij/codeInsight/lookup/impl/LookupTypedHandler.java | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/AutoHardWrapHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/AutoHardWrapHandler.java index cb3c02720fd3..89bdba70f2d2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/AutoHardWrapHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/AutoHardWrapHandler.java @@ -31,7 +31,7 @@ import com.intellij.openapi.util.Key; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.formatter.WhiteSpaceFormattingStrategyFactory; import com.intellij.util.containers.WeakHashMap; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.NotNull; import java.util.Map; @@ -85,7 +85,7 @@ public class AutoHardWrapHandler { * @param dataContext current data context * @param modificationStampBeforeTyping document modification stamp before the current symbols typing */ - public void wrapLineIfNecessary(Editor editor, @Nullable DataContext dataContext, long modificationStampBeforeTyping) { + public void wrapLineIfNecessary(Editor editor, @NotNull DataContext dataContext, long modificationStampBeforeTyping) { Project project = editor.getProject(); Document document = editor.getDocument(); AutoWrapChange change = myAutoWrapChanges.get(document); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java index 62c9f30ec3f6..87a34547ed31 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CompletionAutoPopupHandler.java @@ -22,6 +22,7 @@ import com.intellij.codeInsight.completion.CompletionType; import com.intellij.codeInsight.completion.impl.CompletionServiceImpl; import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.codeInsight.lookup.impl.LookupImpl; +import com.intellij.ide.DataManager; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; @@ -51,7 +52,9 @@ public class CompletionAutoPopupHandler extends TypedHandlerDelegate { FileType fileType) { CompletionPhase phase = CompletionServiceImpl.getCompletionPhase(); if (phase instanceof CompletionPhase.EmptyAutoPopup) { + long modificationStampBeforeTyping = editor.getDocument().getModificationStamp(); ((CompletionPhase.EmptyAutoPopup)phase).handleTyping(c); + AutoHardWrapHandler.getInstance().wrapLineIfNecessary(editor, DataManager.getInstance().getDataContext(editor.getContentComponent()), modificationStampBeforeTyping); return Result.STOP; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java index 341c57bca4b2..c05a879af148 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupTypedHandler.java @@ -25,6 +25,7 @@ import com.intellij.codeInsight.lookup.CharFilter; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.featureStatistics.FeatureUsageTracker; +import com.intellij.ide.DataManager; import com.intellij.openapi.application.AccessToken; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.command.CommandProcessor; @@ -80,7 +81,7 @@ public class LookupTypedHandler extends TypedHandlerDelegate { AutoPopupController.getInstance(editor.getProject()).scheduleAutoPopup(editor, null); } - AutoHardWrapHandler.getInstance().wrapLineIfNecessary(editor, null, modificationStamp); + AutoHardWrapHandler.getInstance().wrapLineIfNecessary(editor, DataManager.getInstance().getDataContext(editor.getContentComponent()), modificationStamp); final CompletionProgressIndicator completion = CompletionServiceImpl.getCompletionService().getCurrentCompletion(); if (completion != null) {