@Override public void updateParameterInfo(@NotNull GoArgumentList list, @NotNull UpdateParameterInfoContext context) { context.setCurrentParameter(ParameterInfoUtils.getCurrentParameterIndex(list.getNode(), context.getOffset(), GoTypes.COMMA)); }
@Override public void showParameterInfo(@NotNull GoArgumentList argList, @NotNull CreateParameterInfoContext context) { PsiElement parent = argList.getParent(); if (!(parent instanceof GoCallExpr)) return; GoFunctionType type = findFunctionType(((GoCallExpr)parent).getExpression().getGoType(null)); if (type != null) { context.setItemsToShow(new Object[]{type}); context.showHint(argList, argList.getTextRange().getStartOffset(), this); } }
static String updatePresentation(@Nullable Object p, @NotNull ParameterInfoUIContext context) { if (p == null) { context.setUIComponentEnabled(false); return null; ? Math.min(context.getCurrentParameterIndex(), parametersPresentations.size() - 1) : context.getCurrentParameterIndex(); builder.append(CodeInsightBundle.message("parameter.info.no.parameters")); return context.setupUIComponentPresentation(builder.toString(), start, end, false, false, false, context.getDefaultParameterColor());
public void setUpUIPresentation(@NotNull ParameterInfoUIContext context) { String text = toString(); context.setupUIComponentPresentation( text, myIsSelected ? 0 : -1, myIsSelected ? text.length() : 0, false, false, false, context.getDefaultParameterColor() ); }
@Nullable @Override public MonkeyArguments findElementForUpdatingParameterInfo(@NotNull UpdateParameterInfoContext context) { return findArgumentList(context.getFile(), context.getOffset(), context.getParameterListStart()); }
@Nullable @Override public PsiPerlCallArgumentsImpl findElementForParameterInfo(@NotNull CreateParameterInfoContext context) { // System.err.println("Find for create"); PsiPerlCallArgumentsImpl callArguments = findCallArguments(context); if (callArguments != null) { PerlParameterInfo[] methodParameterInfos = getMethodCallArguments(callArguments); if (methodParameterInfos == null || methodParameterInfos.length == 0) { return null; } markActiveParameters(callArguments, methodParameterInfos, context.getOffset()); context.setItemsToShow(methodParameterInfos); } return callArguments; }
@Nullable @Override public MonkeyArguments findElementForParameterInfo(@NotNull CreateParameterInfoContext context) { return findArgumentList(context.getFile(), context.getOffset(), context.getParameterListStart()); }
@Nullable private static PsiPerlCallArgumentsImpl findCallArguments(ParameterInfoContext context) { PsiPerlCallArgumentsImpl callArguments = ParameterInfoUtils.findParentOfType(context.getFile(), context.getOffset(), PsiPerlCallArgumentsImpl.class); if (callArguments != null || context.getOffset() == 0) { return callArguments; } callArguments = ParameterInfoUtils.findParentOfType(context.getFile(), context.getOffset() - 1, PsiPerlCallArgumentsImpl.class); if (callArguments != null) { return callArguments; } return ParameterInfoUtils.findParentOfType(context.getFile(), context.getOffset() + 1, PsiPerlCallArgumentsImpl.class); }
@Override public void updateParameterInfo(@NotNull PsiPerlCallArgumentsImpl container, @NotNull UpdateParameterInfoContext context) { markActiveParameters(container, (PerlParameterInfo[])context.getObjectsToView(), context.getOffset()); }
@Override public void showParameterInfo(@NotNull PsiPerlCallArgumentsImpl container, @NotNull CreateParameterInfoContext context) { context.showHint(container, container.getTextOffset(), this); }
private Object[] getItemsToShow() { CreateParameterInfoContext createCtx = new MockCreateParameterInfoContext(myFixture.getEditor(), myFixture.getFile()); GoArgumentList psiElement = myParameterInfoHandler.findElementForParameterInfo(createCtx); assertNotNull(psiElement); myParameterInfoHandler.showParameterInfo(psiElement, createCtx); return createCtx.getItemsToShow(); }
private MonkeyArguments findArgumentList(PsiFile file, int offset, int parameterStart) { return ParameterInfoUtils.findArgumentList(file, offset, parameterStart, this); }
@Override public void updateParameterInfo(@NotNull CypherInvocation o, @NotNull UpdateParameterInfoContext context) { context.setCurrentParameter( ParameterInfoUtils.getCurrentParameterIndex( o.argumentsToken().getNode(), context.getOffset(), CypherTypes.OP_COMMA)); }
@Override public void showParameterInfo(@NotNull CypherInvocation ci, @NotNull CreateParameterInfoContext context) { context.setItemsToShow(new Object[]{ci}); context.showHint(ci, ci.getTextRange().getStartOffset(), this); }
private Object[] getItemsToShow() { CreateParameterInfoContext createCtx = new MockCreateParameterInfoContext(myFixture.getEditor(), myFixture.getFile()); CypherInvocation psiElement = parameterInfoHandler.findElementForParameterInfo(createCtx); assertNotNull(psiElement); parameterInfoHandler.showParameterInfo(psiElement, createCtx); return createCtx.getItemsToShow(); }
@Override public void updateParameterInfo(@NotNull MonkeyArguments monkeyArguments, @NotNull UpdateParameterInfoContext context) { context.setCurrentParameter(ParameterInfoUtils.getCurrentParameterIndex(monkeyArguments.getNode(), context.getOffset(), getActualParameterDelimiterType())); }
@Override public void showParameterInfo(@NotNull MonkeyArguments monkeyArguments, @NotNull CreateParameterInfoContext context) { PsiElement parent = monkeyArguments.getParent(); PsiElement prevSibling = parent.getPrevSibling(); if (prevSibling instanceof MonkeyReferenceExpression) { MonkeyReferenceExpression referenceExpression = (MonkeyReferenceExpression) prevSibling; MonkeyFunctionDeclaration monkeyFunctionDeclaration = resolveCall(referenceExpression); if (monkeyFunctionDeclaration != null) { context.setItemsToShow(new Object[]{monkeyFunctionDeclaration}); context.showHint(monkeyArguments, monkeyArguments.getTextRange().getStartOffset(), this); } } }