本文整理汇总了Java中com.intellij.codeInsight.TailType.processTail方法的典型用法代码示例。如果您正苦于以下问题:Java TailType.processTail方法的具体用法?Java TailType.processTail怎么用?Java TailType.processTail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.codeInsight.TailType
的用法示例。
在下文中一共展示了TailType.processTail方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleInsert
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(InsertionContext context) {
final LookupElement delegate = getDelegate();
final TailType tailType = computeTailType(context);
final LookupItem lookupItem = delegate.as(LookupItem.CLASS_CONDITION_KEY);
if (lookupItem != null && tailType != null) {
lookupItem.setTailType(TailType.UNKNOWN);
}
delegate.handleInsert(context);
if (tailType != null && tailType.isApplicable(context)) {
PostprocessReformattingAspect.getInstance(context.getProject()).doPostponedFormatting();
int tailOffset = context.getTailOffset();
if (tailOffset < 0) {
throw new AssertionError("tailOffset < 0: delegate=" + getDelegate() + "; this=" + this + "; tail=" + tailType);
}
tailType.processTail(context.getEditor(), tailOffset);
}
}
示例2: handleInsert
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context, LookupElement lookupElement)
{
context.commitDocument();
TailType tailType = getTailType(context.getCompletionChar(), (LookupItem) lookupElement);
final Editor editor = context.getEditor();
editor.getCaretModel().moveToOffset(context.getSelectionEndOffset());
tailType.processTail(editor, context.getSelectionEndOffset());
editor.getSelectionModel().removeSelection();
if(tailType == TailType.DOT || context.getCompletionChar() == '.')
{
AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(editor, null);
}
}
示例3: handleInsert
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context, LookupElement lookupElement) {
context.commitDocument();
TailType tailType = getTailType(context.getCompletionChar(), (LookupItem)lookupElement);
final Editor editor = context.getEditor();
editor.getCaretModel().moveToOffset(context.getSelectionEndOffset());
tailType.processTail(editor, context.getSelectionEndOffset());
editor.getSelectionModel().removeSelection();
if (tailType == TailType.DOT || context.getCompletionChar() == '.') {
AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(editor, null);
}
}
示例4: handleInsert
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context) {
final InsertHandler<? extends LookupElement> handler = getInsertHandler();
if (handler != null) {
//noinspection unchecked
((InsertHandler)handler).handleInsert(context, this);
}
if (getTailType() != TailType.UNKNOWN && myInsertHandler == null) {
context.setAddCompletionChar(false);
final TailType type = handleCompletionChar(context.getEditor(), this, context.getCompletionChar());
type.processTail(context.getEditor(), context.getTailOffset());
}
}
示例5: processTail
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
private static int processTail(TailType tailType, int caretOffset, int tailOffset, Editor editor) {
editor.getCaretModel().moveToOffset(caretOffset);
tailType.processTail(editor, tailOffset);
return editor.getCaretModel().getOffset();
}
示例6: insertTail
import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
public static boolean insertTail(InsertionContext context, LookupElement item, TailType tailType, boolean hasTail)
{
TailType toInsert = tailType;
LookupItem<?> lookupItem = item.as(LookupItem.CLASS_CONDITION_KEY);
if(lookupItem == null || lookupItem.getAttribute(LookupItem.TAIL_TYPE_ATTR) != TailType.UNKNOWN)
{
if(!hasTail && item.getObject() instanceof PsiMethod && PsiType.VOID.equals(((PsiMethod) item.getObject()).getReturnType()))
{
PsiDocumentManager.getInstance(context.getProject()).commitAllDocuments();
if(psiElement().beforeLeaf(psiElement().withText(".")).accepts(context.getFile().findElementAt(context.getTailOffset() - 1)))
{
return false;
}
boolean insertAdditionalSemicolon = true;
PsiElement leaf = context.getFile().findElementAt(context.getStartOffset());
PsiElement composite = leaf == null ? null : leaf.getParent();
if(composite instanceof PsiMethodReferenceExpression && LambdaHighlightingUtil.insertSemicolon(composite.getParent()))
{
insertAdditionalSemicolon = false;
}
else if(composite instanceof PsiReferenceExpression)
{
PsiElement parent = composite.getParent();
if(parent instanceof PsiMethodCallExpression)
{
parent = parent.getParent();
}
if(parent instanceof PsiLambdaExpression && !LambdaHighlightingUtil.insertSemicolonAfter((PsiLambdaExpression) parent))
{
insertAdditionalSemicolon = false;
}
}
if(insertAdditionalSemicolon)
{
toInsert = TailType.SEMICOLON;
}
}
}
toInsert.processTail(context.getEditor(), context.getTailOffset());
return true;
}