jdorn / sql-formatter

A lightweight php class for formatting sql statements. Handles automatic indentation and syntax highlighting.
http://jdorn.github.com/sql-formatter/
MIT License
3.89k stars 186 forks source link

upper case #97

Closed ftrotter closed 4 years ago

ftrotter commented 7 years ago

Looks like this is an abandoned project. But if someone ever picks it up again...

It would be wonderful if SQL key works could automatically be made uppercase... or perhaps optionally.

-FT

tuckbloor commented 5 years ago

try replacing highlightToken function with the below

protected static function highlightToken($token) { $type = $token[self::TOKEN_TYPE];

    if (self::is_cli()) {
        $token = $token[self::TOKEN_VALUE];
    } else {
        $token = htmlentities($token[self::TOKEN_VALUE],ENT_COMPAT,'UTF-8');
    }

    if ($type===self::TOKEN_TYPE_BOUNDARY) {

        return self::highlightBoundary($token);

    }

    elseif ($type===self::TOKEN_TYPE_WORD) {

        return self::highlightWord($token);

    }

    elseif ($type===self::TOKEN_TYPE_BACKTICK_QUOTE) {

        return self::highlightBacktickQuote($token);

    }

    elseif ($type===self::TOKEN_TYPE_QUOTE) {

        return self::highlightQuote($token);

    }

    elseif ($type===self::TOKEN_TYPE_RESERVED) {

        $token = strtoupper($token);

        return self::highlightReservedWord($token);

    }

    elseif ($type===self::TOKEN_TYPE_RESERVED_TOPLEVEL) {

        $token = strtoupper($token);

        return self::highlightReservedWord($token);

    }

    elseif ($type===self::TOKEN_TYPE_RESERVED_NEWLINE) {

        $token = strtoupper($token);

        return self::highlightReservedWord($token);

    }

    elseif ($type===self::TOKEN_TYPE_NUMBER) {

        return self::highlightNumber($token);

    }

    elseif ($type===self::TOKEN_TYPE_VARIABLE) {

        return self::highlightVariable($token);

    }

    elseif ($type===self::TOKEN_TYPE_COMMENT || $type===self::TOKEN_TYPE_BLOCK_COMMENT) {

        return self::highlightComment($token);

    }

    return $token;
}
greg0ire commented 4 years ago

FYI we made a fork at Doctrine: https://github.com/doctrine/sql-formatter

ftrotter commented 4 years ago

Thanks for the info... closing ticket..