Search in sources :

Example 6 with DefaultLineTracker

use of org.eclipse.jface.text.DefaultLineTracker in project flux by eclipse.

the class Strings method convertIntoLines.

/**
	 * Converts the given string into an array of lines. The lines
	 * don't contain any line delimiter characters.
	 *
	 * @param input the string
	 * @return the string converted into an array of strings. Returns <code>
	 * 	null</code> if the input string can't be converted in an array of lines.
	 */
public static String[] convertIntoLines(String input) {
    try {
        ILineTracker tracker = new DefaultLineTracker();
        tracker.set(input);
        int size = tracker.getNumberOfLines();
        String[] result = new String[size];
        for (int i = 0; i < size; i++) {
            IRegion region = tracker.getLineInformation(i);
            int offset = region.getOffset();
            result[i] = input.substring(offset, offset + region.getLength());
        }
        return result;
    } catch (BadLocationException e) {
        return null;
    }
}
Also used : DefaultLineTracker(org.eclipse.jface.text.DefaultLineTracker) StyledString(org.eclipse.jface.viewers.StyledString) IRegion(org.eclipse.jface.text.IRegion) BadLocationException(org.eclipse.jface.text.BadLocationException) ILineTracker(org.eclipse.jface.text.ILineTracker)

Example 7 with DefaultLineTracker

use of org.eclipse.jface.text.DefaultLineTracker in project flux by eclipse.

the class CodeTemplateContext method changeLineDelimiter.

private static String changeLineDelimiter(String code, String lineDelim) {
    try {
        ILineTracker tracker = new DefaultLineTracker();
        tracker.set(code);
        int nLines = tracker.getNumberOfLines();
        if (nLines == 1) {
            return code;
        }
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < nLines; i++) {
            if (i != 0) {
                buf.append(lineDelim);
            }
            IRegion region = tracker.getLineInformation(i);
            String line = code.substring(region.getOffset(), region.getOffset() + region.getLength());
            buf.append(line);
        }
        return buf.toString();
    } catch (BadLocationException e) {
        // can not happen
        return code;
    }
}
Also used : DefaultLineTracker(org.eclipse.jface.text.DefaultLineTracker) IRegion(org.eclipse.jface.text.IRegion) BadLocationException(org.eclipse.jface.text.BadLocationException) ILineTracker(org.eclipse.jface.text.ILineTracker)

Aggregations

BadLocationException (org.eclipse.jface.text.BadLocationException)7 DefaultLineTracker (org.eclipse.jface.text.DefaultLineTracker)7 ILineTracker (org.eclipse.jface.text.ILineTracker)6 IRegion (org.eclipse.jface.text.IRegion)6 StyledString (org.eclipse.jface.viewers.StyledString)4 HashSet (java.util.HashSet)1 IStatus (org.eclipse.core.runtime.IStatus)1 Status (org.eclipse.core.runtime.Status)1