@Nullable @Override @RequiredReadAction public PsiElement findElementForUpdatingParameterInfo(UpdateParameterInfoContext context) { return context.getFile().findElementAt(context.getEditor().getCaretModel().getOffset()); }
@Override public void updateParameterInfo(@NotNull PsiElement place, UpdateParameterInfoContext context) { CSharpCallArgumentListOwner owner = resolveCallArgumentListOwner(place); int parameterIndex = -1; CSharpCallArgumentList callArgumentList = owner == null ? null : owner.getParameterList(); if(callArgumentList != null) { IElementType delimiter = CSharpTokens.COMMA; if(callArgumentList instanceof CSharpDictionaryInitializerImpl) { delimiter = CSharpTokens.EQ; } parameterIndex = ParameterInfoUtils.getCurrentParameterIndex(callArgumentList.getNode(), context.getOffset(), delimiter); } context.setCurrentParameter(parameterIndex); if(context.getParameterOwner() == null) { context.setParameterOwner(place); } else if(context.getParameterOwner() != owner) { context.removeHint(); return; } final Object[] objects = context.getObjectsToView(); for(int i = 0; i < objects.length; i++) { context.setUIComponentEnabled(i, true); } }
@Override public void updateParameterInfo(@NotNull PsiElement place, UpdateParameterInfoContext context) { int parameterIndex = -1; DotNetTypeList typeList = PsiTreeUtil.getParentOfType(place, DotNetTypeList.class, false); if(typeList == null) { context.removeHint(); return; } if(!(typeList.getParent() instanceof CSharpReferenceExpression)) { context.removeHint(); return; } parameterIndex = ParameterInfoUtils.getCurrentParameterIndex(typeList.getNode(), context.getOffset(), CSharpTokens.COMMA); context.setCurrentParameter(parameterIndex); if(context.getParameterOwner() == null) { context.setParameterOwner(place); } else if(context.getParameterOwner() != PsiTreeUtil.getParentOfType(place, CSharpReferenceExpression.class, false)) { context.removeHint(); return; } final Object[] objects = context.getObjectsToView(); for(int i = 0; i < objects.length; i++) { context.setUIComponentEnabled(i, true); } }
@Override public void updateParameterInfo(@NotNull final JSArgumentList o, final UpdateParameterInfoContext context) { if(context.getParameterOwner() != o) { context.removeHint(); return; } final int currentParameterIndex = ParameterInfoUtils.getCurrentParameterIndex(o.getNode(), context.getOffset(), JSTokenTypes.COMMA); context.setCurrentParameter(currentParameterIndex); }
public void updateParameterInfo(@NotNull final VtlArgumentList argumentList, final UpdateParameterInfoContext context) { assert argumentList.isValid(); PsiElement prevOwner = context.getParameterOwner(); int prevOwnerTextOffset = prevOwner == null ? 0 : prevOwner.getTextOffset(); context.setParameterOwner(argumentList); if (prevOwnerTextOffset != 0 && prevOwnerTextOffset != argumentList.getTextOffset()) { context.removeHint(); context.setCurrentParameter(-1); return; } int offset = context.getEditor().getCaretModel().getOffset() - argumentList.getTextRange().getStartOffset(); if (offset < 0) { context.setCurrentParameter(-1); return; } int index = 0; for (final ASTNode child : argumentList.getNode().getChildren(null)) { final PsiElement psiChild = child.getPsi(); offset -= child.getTextLength(); if (!(psiChild instanceof VtlExpression)) { continue; } if (offset <= 0) { break; } index++; } context.setCurrentParameter(index); }
@Nullable @Override public PsiElement findElementForUpdatingParameterInfo(UpdateParameterInfoContext context) { return context.getFile().findElementAt(context.getEditor().getCaretModel().getOffset()); }
@Nullable @Override public XQueryArgumentList findElementForUpdatingParameterInfo(UpdateParameterInfoContext context) { return getArgumentList(context); }
@Override public void updateParameterInfo(@NotNull XQueryArgumentList place, UpdateParameterInfoContext context) { context.setCurrentParameter(ParameterInfoUtils.getCurrentParameterIndex(place.getNode(), context.getOffset(), XQueryTypes.COMMA)); }
@Override public JSArgumentList findElementForUpdatingParameterInfo(final UpdateParameterInfoContext context) { return findArgumentList(context.getFile(), context.getOffset()); }
public VtlArgumentList findElementForUpdatingParameterInfo(final UpdateParameterInfoContext context) { return findArgumentList(context); }
@Override public PsiExpressionList findElementForUpdatingParameterInfo(@NotNull final UpdateParameterInfoContext context) { return findArgumentList(context.getFile(), context.getOffset(), context.getParameterListStart()); }