Files
VisualSapfor/src/_VisualDVM/Visual/Editor/CaretInfo.java

31 lines
1.5 KiB
Java
Raw Normal View History

2024-10-09 20:35:18 +03:00
package _VisualDVM.Visual.Editor;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-09 22:21:57 +03:00
import _VisualDVM.ProjectData.Files.UI.Editor.SPFEditor;
2023-09-17 22:13:42 +03:00
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
public class CaretInfo {
public String current_line = ""; //полный текст текущей строки
public String before = ""; //кусок строки перед кареткой
public String after = ""; //кусок строки после каретки
public String prefix_word = ""; //слово перед кареткой
public String suffix_word = ""; //слово после каретки
public CaretInfo(RSyntaxTextArea Body) {
try {
int start = Body.getLineStartOffset(Body.getCaretLineNumber());
int before_length = Body.getCaretOffsetFromLineStart();
int end = Body.getLineEndOffset(Body.getCaretLineNumber());
int after_length = end - start - before_length;
before = Body.getText(start, before_length).toUpperCase();
after = Body.getText(start + before_length, after_length).toUpperCase();
//нужно чтобы перевод строки не влезал
after = after.replace("\n", "");
current_line = (before + after);
prefix_word = SPFEditor.getLastWord(before, ' ', ',', ':', '.', '(', ')');
suffix_word = SPFEditor.getFirstWord(after, ' ', ',', ':', '.', '(', ')');
} catch (Exception ex) {
2024-10-11 00:00:30 +03:00
Utils_.MainLog.PrintException(ex);
2023-09-17 22:13:42 +03:00
}
}
public CaretInfo() {
}
}