From 61f8c884ec51f4a4fffc869d801598cbf459f778 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 8 Nov 2017 22:54:32 +0300 Subject: [PATCH] #2256 Single line comments toggle fix (handle leading spaces) Former-commit-id: 53a2f6bf877b8f2103726ac83b2e3ea1c7440518 --- .../handlers/ToggleSingleLineCommentHandler.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/handlers/ToggleSingleLineCommentHandler.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/handlers/ToggleSingleLineCommentHandler.java index a0a049c6ab..4af9bcc3a7 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/handlers/ToggleSingleLineCommentHandler.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/text/handlers/ToggleSingleLineCommentHandler.java @@ -41,7 +41,7 @@ public final class ToggleSingleLineCommentHandler extends AbstractCommentHandler int startLine = textSelection.getStartLine(); boolean forceComment = true; - String firstLineText = document.get(document.getLineOffset(startLine), document.getLineLength(startLine)); + String firstLineText = document.get(document.getLineOffset(startLine), document.getLineLength(startLine)).trim(); for (String commentString : singleLineComments) { if (firstLineText.startsWith(commentString)) { forceComment = false; @@ -58,16 +58,24 @@ public final class ToggleSingleLineCommentHandler extends AbstractCommentHandler } else { String lineComment = null; String lineText = document.get(lineOffset, lineLength); + int checkOffset = 0; + for (int i = 0; i < lineText.length(); i++) { + if (Character.isWhitespace(lineText.charAt(i))) { + checkOffset++; + } else { + break; + } + } for (String commentString : singleLineComments) { - if (lineText.startsWith(commentString)) { + if (lineText.startsWith(commentString, checkOffset)) { lineComment = commentString; break; } } if (lineComment != null) { // Remove comment - document.replace(lineOffset, lineComment.length(), ""); - selLength -= lineComment.length(); + document.replace(lineOffset, checkOffset + lineComment.length(), ""); + selLength -= checkOffset + lineComment.length(); } } } -- GitLab