@Override public StyledString getStyledDisplayString(IDocument document, int offset, BoldStylerProvider boldStylerProvider) { StyledString styledDisplayString= new StyledString(); styledDisplayString.append(getStyledDisplayString()); String pattern= getPatternToEmphasizeMatch(document, offset); if (pattern != null && pattern.length() > 0) { String displayString= styledDisplayString.getString(); int index= displayString.indexOf('-'); if (index != -1) { displayString= displayString.substring(0, index); } int prefixLength= LINK_PREFIX.length(); displayString= displayString.substring(prefixLength); int patternMatchRule= getPatternMatchRule(pattern, displayString); int[] matchingRegions= SearchPattern.getMatchingRegions(pattern, displayString, patternMatchRule); if (matchingRegions != null) { for (int i= 0; i < matchingRegions.length; i+= 2) { matchingRegions[i]= matchingRegions[i] + prefixLength; } } Strings.markMatchingRegions(styledDisplayString, 0, matchingRegions, boldStylerProvider.getBoldStyler()); } return styledDisplayString; } }
@Override public StyledString getStyledDisplayString(IDocument document, int offset, BoldStylerProvider boldStylerProvider) { StyledString styledDisplayString= new StyledString(); styledDisplayString.append(getStyledDisplayString()); String pattern= getPatternToEmphasizeMatch(document, offset); if (pattern != null && pattern.length() > 0) { String displayString= styledDisplayString.getString(); int index= displayString.indexOf('-'); if (index != -1) { displayString= displayString.substring(0, index); } int prefixLength= LINK_PREFIX.length(); displayString= displayString.substring(prefixLength); int patternMatchRule= getPatternMatchRule(pattern, displayString); int[] matchingRegions= SearchPattern.getMatchingRegions(pattern, displayString, patternMatchRule); if (matchingRegions != null) { for (int i= 0; i < matchingRegions.length; i+= 2) { matchingRegions[i]= matchingRegions[i] + prefixLength; } } Strings.markMatchingRegions(styledDisplayString, 0, matchingRegions, boldStylerProvider.getBoldStyler()); } return styledDisplayString; } }