use of org.eclipse.jface.text.ILineTracker in project che 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;
}
}
use of org.eclipse.jface.text.ILineTracker in project che 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;
}
}
use of org.eclipse.jface.text.ILineTracker in project che by eclipse.
the class Strings method trimIndentation.
public static String trimIndentation(String source, int tabWidth, int indentWidth, boolean considerFirstLine) {
try {
ILineTracker tracker = new DefaultLineTracker();
tracker.set(source);
int size = tracker.getNumberOfLines();
if (size == 1)
return source;
String[] lines = new String[size];
for (int i = 0; i < size; i++) {
IRegion region = tracker.getLineInformation(i);
int offset = region.getOffset();
lines[i] = source.substring(offset, offset + region.getLength());
}
Strings.trimIndentation(lines, tabWidth, indentWidth, considerFirstLine);
StringBuffer result = new StringBuffer();
int last = size - 1;
for (int i = 0; i < size; i++) {
result.append(lines[i]);
if (i < last)
result.append(tracker.getLineDelimiter(i));
}
return result.toString();
} catch (BadLocationException e) {
//$NON-NLS-1$
Assert.isTrue(false, "Can not happend");
return null;
}
}
use of org.eclipse.jface.text.ILineTracker in project flux by eclipse.
the class Strings method trimIndentation.
public static String trimIndentation(String source, int tabWidth, int indentWidth, boolean considerFirstLine) {
try {
ILineTracker tracker = new DefaultLineTracker();
tracker.set(source);
int size = tracker.getNumberOfLines();
if (size == 1)
return source;
String[] lines = new String[size];
for (int i = 0; i < size; i++) {
IRegion region = tracker.getLineInformation(i);
int offset = region.getOffset();
lines[i] = source.substring(offset, offset + region.getLength());
}
Strings.trimIndentation(lines, tabWidth, indentWidth, considerFirstLine);
StringBuffer result = new StringBuffer();
int last = size - 1;
for (int i = 0; i < size; i++) {
result.append(lines[i]);
if (i < last)
result.append(tracker.getLineDelimiter(i));
}
return result.toString();
} catch (BadLocationException e) {
//$NON-NLS-1$
Assert.isTrue(false, "Can not happend");
return null;
}
}
use of org.eclipse.jface.text.ILineTracker 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;
}
}
Aggregations