no word completion in autopopups in java, properties and generic comments (WI-3437)

This commit is contained in:
peter.gromov
2010-10-06 13:53:05 +04:00
parent 6045074df1
commit e7751ba2b3
3 changed files with 21 additions and 0 deletions
@@ -19,6 +19,8 @@
*/
package com.intellij.lang.java;
import com.intellij.codeInsight.completion.CompletionProcess;
import com.intellij.codeInsight.completion.CompletionService;
import com.intellij.lang.WordCompletionElementFilter;
import com.intellij.psi.JavaDocTokenType;
import com.intellij.psi.JavaTokenType;
@@ -30,6 +32,11 @@ public class JavaWordCompletionFilter implements WordCompletionElementFilter {
JavaDocTokenType.DOC_COMMENT_DATA, JavaTokenType.STRING_LITERAL);
public boolean isWordCompletionEnabledIn(final IElementType element) {
final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion();
if (process != null && process.isAutopopupCompletion()) {
return false;
}
return ENABLED_TOKENS.contains(element);
}
}
@@ -19,10 +19,17 @@
*/
package com.intellij.lang;
import com.intellij.codeInsight.completion.CompletionProcess;
import com.intellij.codeInsight.completion.CompletionService;
import com.intellij.psi.tree.IElementType;
public class DefaultWordCompletionFilter implements WordCompletionElementFilter {
public boolean isWordCompletionEnabledIn(final IElementType element) {
final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion();
if (process != null && process.isAutopopupCompletion()) {
return false;
}
final ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(element.getLanguage());
return parserDefinition != null && parserDefinition.getCommentTokens().contains(element);
}
@@ -19,12 +19,19 @@
*/
package com.intellij.lang.properties;
import com.intellij.codeInsight.completion.CompletionProcess;
import com.intellij.codeInsight.completion.CompletionService;
import com.intellij.lang.DefaultWordCompletionFilter;
import com.intellij.lang.properties.parsing.PropertiesElementTypes;
import com.intellij.psi.tree.IElementType;
public class PropertiesWordCompletionFilter extends DefaultWordCompletionFilter {
public boolean isWordCompletionEnabledIn(final IElementType element) {
final CompletionProcess process = CompletionService.getCompletionService().getCurrentCompletion();
if (process != null && process.isAutopopupCompletion()) {
return false;
}
return super.isWordCompletionEnabledIn(element) || element == PropertiesElementTypes.PROPERTY;
}
}