Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions SQL.Formatter/Core/AbstractFormatter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public AbstractFormatter(FormatConfig cfg)
_index = 0;
}

protected Indentation Indentation => _indentation;

public Tokenizer Tokenizer()
{
return new Tokenizer(DoDialectConfig());
Expand Down Expand Up @@ -120,29 +122,29 @@ private string GetFormattedQueryFromTokens()
return formattedQuery;
}

private string FormatLineComment(Token token, string query)
protected virtual string FormatLineComment(Token token, string query)
{
return AddNewline(query + Show(token));
}

private string FormatBlockComment(Token token, string query)
protected virtual string FormatBlockComment(Token token, string query)
{
return AddNewline(AddNewline(query) + IndentComment(token.Value));
}

private string IndentComment(string comment)
protected virtual string IndentComment(string comment)
{
return comment.Replace("\n", "\n" + _indentation.GetIndent());
}

private string FormatTopLevelReservedWordNoIndent(Token token, string query)
protected virtual string FormatTopLevelReservedWordNoIndent(Token token, string query)
{
_indentation.DecreaseTopLevel();
query = AddNewline(query) + EqualizeWhitespace(Show(token));
return AddNewline(query);
}

private string FormatToplevelReservedWord(Token token, string query)
protected virtual string FormatToplevelReservedWord(Token token, string query)
{
_indentation.DecreaseTopLevel();

Expand All @@ -154,7 +156,7 @@ private string FormatToplevelReservedWord(Token token, string query)
return AddNewline(query);
}

private string FormatNewlineReservedWord(Token token, string query)
protected virtual string FormatNewlineReservedWord(Token token, string query)
{
if (Token.IsAnd(token) && Token.IsBetween(TokenLookBehind(2)))
{
Expand All @@ -164,7 +166,7 @@ private string FormatNewlineReservedWord(Token token, string query)
return AddNewline(query) + EqualizeWhitespace(Show(token)) + " ";
}

private static string EqualizeWhitespace(string str)
protected static string EqualizeWhitespace(string str)
{
return Regex.Replace(str, @"\s+", " ");
}
Expand All @@ -176,7 +178,7 @@ private static string EqualizeWhitespace(string str)
TokenTypes.OPERATOR,
TokenTypes.RESERVED_NEWLINE};

private string FormatOpeningParentheses(Token token, string query)
protected virtual string FormatOpeningParentheses(Token token, string query)
{
if (string.IsNullOrEmpty(token.WhitespaceBefore)
&& (TokenLookBehind() == default || !s_preserveWhitespaceFor.Contains(TokenLookBehind().Type)))
Expand All @@ -200,7 +202,7 @@ private string FormatOpeningParentheses(Token token, string query)
return query;
}

private string FormatClosingParentheses(Token token, string query)
protected virtual string FormatClosingParentheses(Token token, string query)
{
if (_inlineBlock.IsActive())
{
Expand All @@ -220,41 +222,41 @@ private string FormatClosingParentheses(Token token, string query)
}
}

private string FormatPlaceholder(Token token, string query)
protected virtual string FormatPlaceholder(Token token, string query)
{
return query + _parameters.Get(token) + " ";
}

private string FormatComma(Token token, string query)
protected virtual string FormatComma(Token token, string query)
{
query = query.TrimEnd() + Show(token) + " ";
return _inlineBlock.IsActive() || Token.IsLimit(_previousReservedToken) ? query : AddNewline(query);
}

private string FormatWithSpaceAfter(Token token, string query)
protected virtual string FormatWithSpaceAfter(Token token, string query)
{
return query.TrimEnd() + Show(token) + " ";
}

private string FormatWithoutSpaces(Token token, string query)
protected virtual string FormatWithoutSpaces(Token token, string query)
{
return query.TrimEnd() + Show(token);
}

private string FormatWithSpaces(Token token, string query)
protected virtual string FormatWithSpaces(Token token, string query)
{
return query + Show(token) + " ";
}

private string FormatQuerySeparator(Token token, string query)
protected virtual string FormatQuerySeparator(Token token, string query)
{
_indentation.ResetIndentation();
return query.TrimEnd()
+ Show(token)
+ Utils.Repeat("\n", _cfg.LinesBetweenQueries == default ? 1 : _cfg.LinesBetweenQueries);
}

private string Show(Token token)
protected virtual string Show(Token token)
{
if (_cfg.Uppercase
&& (token.Type == TokenTypes.RESERVED
Expand All @@ -270,7 +272,7 @@ private string Show(Token token)
return token.Value;
}

private string AddNewline(string query)
protected virtual string AddNewline(string query)
{
query = query.TrimEnd();
if (!query.EndsWith("\n"))
Expand Down
Loading