private bool IsInEmptyCodeBlock()

in Backend/Core/ForTea.Core/Services/TypingAssist/T4CSharpTypingAssist.cs [35:48]


    private bool IsInEmptyCodeBlock([NotNull] ITextControl textControl)
    {
      var lexer = GetCachingLexer(textControl);
      if (lexer == null) return false;
      int caretOffset = textControl.Caret.Offset();
      if (!WebTypingAssistUtil.FindTokenAt(lexer, caretOffset)) return false;
      if (!(lexer.TokenType is T4TokenNodeType tokenType)) return false;
      if (tokenType != T4TokenNodeTypes.BLOCK_END) return false;
      if (caretOffset != lexer.TokenStart) return false;
      lexer.Advance(-1);
      var prevToken = lexer.TokenType;
      if (prevToken != null && T4TokenNodeTypes.CodeBlockStarts[prevToken]) return true;
      return false;
    }