@Override protected ContentAssistRequest computeCompletionProposals( String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode, CompletionProposalInvocationContext context) { ContentAssistRequest contentAssistRequest = super.computeCompletionProposals(matchString, completionRegion, treeNode, xmlnode, context); if (contentAssistRequest != null) return contentAssistRequest; String regionType = completionRegion.getType(); if (DOMRegionContext.XML_CDATA_TEXT.equals(regionType)) { Node parentNode = xmlnode.getParentNode(); Node statementNode = MybatipseXmlUtil.findEnclosingStatementNode(parentNode); if (statementNode == null) return null; int offset = context.getInvocationOffset(); ITextViewer viewer = context.getViewer(); contentAssistRequest = new ContentAssistRequest( xmlnode, parentNode, ContentAssistUtils.getStructuredDocumentRegion(viewer, offset), completionRegion, offset, 0, matchString); proposeStatementText(contentAssistRequest, statementNode); } return contentAssistRequest; }
@Override public List computeContextInformation( CompletionProposalInvocationContext context, IProgressMonitor monitor) { return Arrays.asList( computeContextInformation(context.getViewer(), context.getInvocationOffset())); }