Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,6 @@ DOMNode findNodeAt(Locator locator) {
private static String getTextContent(DOMElement element) {
int start = element.getStartTagCloseOffset() + 1;
int end = element.getEndTagOpenOffset();
return element.getOwnerDocument().getText().substring(start, end);
return element.getOwnerDocument().getTextSequence().subSequence(start, end).toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.ResourceOperation;
import org.eclipse.lsp4j.TextDocumentEdit;
import org.eclipse.lsp4j.TextDocumentItem;
import org.eclipse.lsp4j.TextEdit;
import org.eclipse.lsp4j.VersionedTextDocumentIdentifier;
import org.eclipse.lsp4j.WorkspaceEdit;
Expand All @@ -49,7 +48,7 @@ public class CodeActionFactory {
* @param diagnostic
* @return
*/
public static CodeAction remove(String title, Range range, TextDocumentItem document, Diagnostic diagnostic) {
public static CodeAction remove(String title, Range range, TextDocument document, Diagnostic diagnostic) {
return replace(title, range, "", document, diagnostic);
}

Expand All @@ -64,7 +63,7 @@ public static CodeAction remove(String title, Range range, TextDocumentItem docu
*
* @return the CodeAction to insert a new content at the end of the given range.
*/
public static CodeAction insert(String title, Position position, String insertText, TextDocumentItem document,
public static CodeAction insert(String title, Position position, String insertText, TextDocument document,
Diagnostic diagnostic) {
CodeAction insertContentAction = new CodeAction(title);
insertContentAction.setKind(CodeActionKind.QuickFix);
Expand All @@ -84,7 +83,7 @@ public static CodeAction insert(String title, Position position, String insertTe
*
* @return the text edit to insert a new content at the end of the given range.
*/
public static TextDocumentEdit insertEdit(String insertText, Position position, TextDocumentItem document) {
public static TextDocumentEdit insertEdit(String insertText, Position position, TextDocument document) {
TextEdit edit = insertEdit(insertText, position);
return insertEdits(document, Collections.singletonList(edit));
}
Expand All @@ -93,19 +92,19 @@ public static TextEdit insertEdit(String insertText, Position position) {
return new TextEdit(new Range(position, position), insertText);
}

public static TextDocumentEdit insertEdits(TextDocumentItem document, List<TextEdit> edits) {
public static TextDocumentEdit insertEdits(TextDocument document, List<TextEdit> edits) {
VersionedTextDocumentIdentifier versionedTextDocumentIdentifier = new VersionedTextDocumentIdentifier(
document.getUri(), document.getVersion());
return new TextDocumentEdit(versionedTextDocumentIdentifier, edits);
}

public static CodeAction replace(String title, Range range, String replaceText, TextDocumentItem document,
public static CodeAction replace(String title, Range range, String replaceText, TextDocument document,
Diagnostic diagnostic) {
TextEdit replace = new TextEdit(range, replaceText);
return replace(title, Collections.singletonList(replace), document, diagnostic);
}

public static CodeAction replace(String title, List<TextEdit> replace, TextDocumentItem document,
public static CodeAction replace(String title, List<TextEdit> replace, TextDocument document,
Diagnostic diagnostic) {

CodeAction insertContentAction = new CodeAction(title);
Expand All @@ -128,7 +127,7 @@ public static CodeAction replace(String title, List<TextEdit> replace, TextDocum
* @param document
* @return the workspace edit of a given replacement text and range.
*/
public static WorkspaceEdit getReplaceWorkspaceEdit(String replaceText, Range range, TextDocumentItem document) {
public static WorkspaceEdit getReplaceWorkspaceEdit(String replaceText, Range range, TextDocument document) {
TextEdit replace = new TextEdit(range, replaceText);
VersionedTextDocumentIdentifier versionedTextDocumentIdentifier = new VersionedTextDocumentIdentifier(
document.getUri(), document.getVersion());
Expand All @@ -137,8 +136,8 @@ public static WorkspaceEdit getReplaceWorkspaceEdit(String replaceText, Range ra
return new WorkspaceEdit(Collections.singletonList(Either.forLeft(textDocumentEdit)));
}

public static CodeAction replaceAt(String title, String replaceText, TextDocumentItem document,
Diagnostic diagnostic, Collection<Range> ranges) {
public static CodeAction replaceAt(String title, String replaceText, TextDocument document, Diagnostic diagnostic,
Collection<Range> ranges) {
CodeAction insertContentAction = new CodeAction(title);
insertContentAction.setKind(CodeActionKind.QuickFix);
insertContentAction.setDiagnostics(Arrays.asList(diagnostic));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public interface ILineTracker {
* @param text the text whose number of lines should be computed
* @return the number of lines in the given text
*/
int computeNumberOfLines(String text);
int computeNumberOfLines(CharSequence text);

/**
* Returns the number of lines.
Expand Down Expand Up @@ -135,14 +135,14 @@ public interface ILineTracker {
* @param text the substitution text
* @exception BadLocationException if specified range is unknown to this tracker
*/
void replace(int offset, int length, String text) throws BadLocationException;
void replace(int offset, int length, CharSequence text) throws BadLocationException;

/**
* Sets the tracked text to the specified text.
*
* @param text the new tracked text
*/
void set(String text);
void set(CharSequence text);

Position getPositionAt(int position) throws BadLocationException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ public final int getNumberOfLines(int position, int length) throws BadLocationEx
}

@Override
public final int computeNumberOfLines(String text) {
public final int computeNumberOfLines(CharSequence text) {
int count = 0;
int start = 0;
DelimiterInfo delimiterInfo = nextDelimiterInfo(text, start);
Expand Down Expand Up @@ -343,7 +343,7 @@ public final String getLineDelimiter(int line) throws BadLocationException {
* @param offset the offset in the given text
* @return the information of the first found delimiter or <code>null</code>
*/
protected DelimiterInfo nextDelimiterInfo(String text, int offset) {
protected DelimiterInfo nextDelimiterInfo(CharSequence text, int offset) {
char ch;
int length = text.length();
for (int i = offset; i < length; i++) {
Expand Down Expand Up @@ -389,7 +389,7 @@ protected DelimiterInfo nextDelimiterInfo(String text, int offset) {
* @param offset the offset of all newly created lines
* @return the number of newly created lines
*/
private int createLines(String text, int insertPosition, int offset) {
private int createLines(CharSequence text, int insertPosition, int offset) {

int count = 0;
int start = 0;
Expand Down Expand Up @@ -427,12 +427,12 @@ private int createLines(String text, int insertPosition, int offset) {
}

@Override
public final void replace(int position, int length, String text) throws BadLocationException {
public final void replace(int position, int length, CharSequence text) throws BadLocationException {
throw new UnsupportedOperationException();
}

@Override
public final void set(String text) {
public final void set(CharSequence text) {
fLines.clear();
if (text != null) {
fTextLength = text.length();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,12 @@ private synchronized T getSynchronizedModel() {
return model;
}

@Override
/*@Override
public void setText(String text) {
super.setText(text);
// text changed, cancel the completable future which load the model
cancelModel();
}
}*/

@Override
public void setVersion(int version) {
Expand Down
Loading
Loading