IDEA-79862 Java: auto-insert space after completing "extends" and "implements"
[idea/community.git] / platform / lang-api / src / com / intellij / codeInsight / TailType.java
index 10ece49eb3f2a8d7d9da76c3709173ff913df3bf..a4b31b7eb817df88976a5aee0138df87d7515461 100644 (file)
@@ -96,14 +96,15 @@ public abstract class TailType {
    */
   public static final TailType INSERT_SPACE = new CharTailType(' ', false);
   /**
-   * insert a space unless there's one at the caret position already
+   * insert a space unless there's one at the caret position already, followed by a sowrd
    */
-  public static final TailType HUMBLE_SPACE = new CharTailType(' ', false) {
+  public static final TailType HUMBLE_SPACE_BEFORE_WORD = new CharTailType(' ', false) {
 
     @Override
     public boolean isApplicable(@NotNull InsertionContext context) {
       CharSequence text = context.getDocument().getCharsSequence();
-      if (text.length() > context.getTailOffset() && text.charAt(context.getTailOffset()) == ' ') {
+      int tail = context.getTailOffset();
+      if (text.length() > tail + 1 && text.charAt(tail) == ' ' && Character.isLetter(text.charAt(tail + 1))) {
         return false;
       }
       return super.isApplicable(context);
@@ -111,7 +112,7 @@ public abstract class TailType {
 
     @Override
     public String toString() {
-      return "HUMBLE_SPACE";
+      return "HUMBLE_SPACE_BEFORE_WORD";
     }
   };
   public static final TailType DOT = new CharTailType('.');