void (@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet result) { final PsiElement original = parameters.getOriginalPosition(); if (original != null) { result = result.withPrefixMatcher(getPrefix(parameters.getOffset(), parameters.getOriginalFile())); final PsiElement parent = original.getParent(); if (parent.getParent() instanceof PyKeyValueExpression || parent instanceof PyStringLiteralExpression) { final PyBinaryExpression binExpr = PsiTreeUtil.getParentOfType(parent, PyBinaryExpression.class); if (binExpr != null) { final PyStringLiteralExpression strExpr = PyUtil.as(binExpr.getLeftExpression(), PyStringLiteralExpression.class); if (strExpr != null) { result.addAllElements(getPercentLookupBuilders(strExpr)); } } } else if (PsiTreeUtil.instanceOf(parent, PyKeywordArgument.class, PyReferenceExpression.class)) { result.addAllElements(getElementsFromString(PsiTreeUtil.getParentOfType(original, PyArgumentList.class))); } } }