// Find in files. public ListOccurrencesInFilesBuffer(Search search) { super(search); if (search instanceof FindInFiles) { appendLine("Files: " + ((FindInFiles) search).getFiles()); if (search.wholeWordsOnly()) appendLine("Mode: " + ((FindInFiles) search).getMode().getDisplayName()); renumber(); } title = "\"" + search.getPattern() + "\""; setLoaded(true); }
private LineSegmentList formatOutputLine(OccurrenceLine line) { final String text = getDetabbedText(line); // Include the ':' in the first segment. int index = text.indexOf(':') + 1; addSegment(text, 0, index, FORMAT_COMMENT); Position start = new Position(line, index); int startCol = index; while (true) { Position pos = search.findInLine(parentMode, start); if (pos == null) break; int matchCol = buffer.getCol(pos); if (matchCol != startCol) addSegment(text, startCol, matchCol, FORMAT_TEXT); int length; if (search.getMatch() != null) length = search.getMatch().group().length(); else length = search.getPatternLength(); startCol = buffer.getCol(pos.getLine(), pos.getOffset() + length); addSegment(text, matchCol, startCol, FORMAT_MATCHING_TEXT); start = new Position(pos.getLine(), pos.getOffset() + length); } startCol = buffer.getCol(start); addSegment(text, startCol, FORMAT_TEXT); return segmentList; }