diff --git a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java index c8702c3..6a09c8c 100644 --- a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java +++ b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java @@ -65,8 +65,14 @@ public class LineEnd extends EditorLinePainter { if (document.getLineCount() <= lineNumber) { return null; } - int startOffset = document.getLineStartOffset(lineNumber); - int endOffset = document.getLineEndOffset(lineNumber); + int startOffset; + int endOffset; + try { + startOffset = document.getLineStartOffset(lineNumber); + endOffset = document.getLineEndOffset(lineNumber); + } catch (Exception e) { + return null; + } if (startOffset == endOffset) { return null; } diff --git a/src/main/java/io/github/linwancen/plugin/show/line/FileViewToDocStrUtils.java b/src/main/java/io/github/linwancen/plugin/show/line/FileViewToDocStrUtils.java index 406d91e..45d25ae 100644 --- a/src/main/java/io/github/linwancen/plugin/show/line/FileViewToDocStrUtils.java +++ b/src/main/java/io/github/linwancen/plugin/show/line/FileViewToDocStrUtils.java @@ -51,8 +51,14 @@ public class FileViewToDocStrUtils { @Nullable FileViewProvider viewProvider) { StringBuilder sb = new StringBuilder(); for (int i = startLine; i <= endLine; i++) { - int startOffset = document.getLineStartOffset(i); - int endOffset = document.getLineEndOffset(i); + int startOffset; + int endOffset; + try { + startOffset = document.getLineStartOffset(i); + endOffset = document.getLineEndOffset(i); + } catch (Exception e) { + continue; + } if (startOffset != endOffset) { String text = document.getText(new TextRange(startOffset, endOffset)); sb.append(text);