Source:
private void collectProposalsFromSchema( ContentAssistRequest contentAssistRequest, CompletionProposalInvocationContext context) { try { IJSONNode node = contentAssistRequest.getNode(); IJSONSchemaDocument schemaDocument = JSONCorePlugin.getDefault() .getSchemaDocument(node); if (schemaDocument != null) { String matchString = contentAssistRequest.getMatchString(); if (matchString == null) { matchString = ""; } if ((matchString.length() > 0) && (matchString.startsWith("\""))) { matchString = matchString.substring(1); } IJSONPath path = node.getPath(); if ( !(node instanceof IJSONObject && node.getOwnerPairNode() != null) ) { if (path.getSegments().length > 0) { String[] segments = new String[path.getSegments().length - 1]; System.arraycopy(path.getSegments(), 0, segments, 0, path.getSegments().length-1); path = new JSONPath(segments); } } IJSONSchemaProperty parentProperty = schemaDocument .getProperty(path); if (parentProperty != null) { for (IJSONSchemaProperty property : parentProperty .getPropertyValues()) { boolean showProperty = beginsWith(property.getName(), matchString.trim()); if (showProperty) { String replacementString = ContentAssistHelper .getRequiredName(node, property); String additionalProposalInfo = property .getDescription(); Image icon = JSONEditorPluginImageHelper .getInstance().getImage( property.getFirstType()); String displayString = property.getName(); if (property.getDescription() != null) { displayString = displayString + " - " + property.getDescription(); } JSONKeyCompletionProposal proposal = new JSONKeyCompletionProposal( replacementString, contentAssistRequest .getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), replacementString.length() - 2, icon, displayString, null, additionalProposalInfo, JSONRelevanceConstants.R_OBJECT_KEY); contentAssistRequest.addProposal(proposal); } } } } } catch (IOException e) { Logger.logException(e); } }

Target:
private void collectProposalsFromSchema( ContentAssistRequest contentAssistRequest, CompletionProposalInvocationContext context) { try { IJSONNode node = contentAssistRequest.getNode(); IJSONSchemaDocument schemaDocument = JSONCorePlugin.getDefault() .getSchemaDocument(node); if (schemaDocument != null) { String matchString = contentAssistRequest.getMatchString(); if (matchString == null) { matchString = ""; } if ((matchString.length() > 0) && (matchString.startsWith("\""))) { matchString = matchString.substring(1); } IJSONPath path = node.getPath(); if ( !(node instanceof IJSONObject && node.getOwnerPairNode() != null) ) { if (path.getSegments().length > 0) { String[] segments = new String[path.getSegments().length - 1]; System.arraycopy(path.getSegments(), 0, segments, 0, path.getSegments().length-1); path = new JSONPath(segments); } } IJSONSchemaProperty parentProperty = schemaDocument .getProperty(path); if (parentProperty != null) { for (IJSONSchemaProperty property : parentProperty .getPropertyValues()) { boolean showProperty = beginsWith(property.getName(), matchString.trim()); if (showProperty) { String replacementString = ContentAssistHelper .getRequiredName(node, property); String additionalProposalInfo = property .getDescription(); Image icon = JSONEditorPluginImageHelper .getInstance().getImage( property.getFirstType()); String displayString = property.getName(); JSONKeyCompletionProposal proposal = new JSONKeyCompletionProposal( replacementString, contentAssistRequest .getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), replacementString.length() - 2, icon, displayString, null, additionalProposalInfo, JSONRelevanceConstants.R_OBJECT_KEY); contentAssistRequest.addProposal(proposal); } } } } } catch (IOException e) { Logger.logException(e); } }