neyric/wireit

View on GitHub
sandbox/res/SyntaxHighlighter/shBrushSql.js

Summary

Maintainability
A
1 hr
Test Coverage
/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
 *
 * @version
 * 2.0.320 (May 03 2009)
 * 
 * @copyright
 * Copyright (C) 2004-2009 Alex Gorbatchev.
 *
 * @license
 * This file is part of SyntaxHighlighter.
 * 
 * SyntaxHighlighter is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * SyntaxHighlighter is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with SyntaxHighlighter.  If not, see <https://www.gnu.org/copyleft/lesser.html>.
 */
SyntaxHighlighter.brushes.Sql = function()
{
    var funcs    =    'abs avg case cast coalesce convert count current_timestamp ' +
                    'current_user day isnull left lower month nullif replace right ' +
                    'session_user space substring sum system_user upper user year';

    var keywords =    'absolute action add after alter as asc at authorization begin bigint ' +
                    'binary bit by cascade char character check checkpoint close collate ' +
                    'column commit committed connect connection constraint contains continue ' +
                    'create cube current current_date current_time cursor database date ' +
                    'deallocate dec decimal declare default delete desc distinct double drop ' +
                    'dynamic else end end-exec escape except exec execute false fetch first ' +
                    'float for force foreign forward free from full function global goto grant ' +
                    'group grouping having hour ignore index inner insensitive insert instead ' +
                    'int integer intersect into is isolation key last level load local max min ' +
                    'minute modify move name national nchar next no numeric of off on only ' +
                    'open option order out output partial password precision prepare primary ' +
                    'prior privileges procedure public read real references relative repeatable ' +
                    'restrict return returns revoke rollback rollup rows rule schema scroll ' +
                    'second section select sequence serializable set size smallint static ' +
                    'statistics table temp temporary then time timestamp to top transaction ' +
                    'translation trigger true truncate uncommitted union unique update values ' +
                    'varchar varying view when where with work';

    var operators =    'all and any between cross in join like not null or outer some';

    this.regexList = [
        { regex: /--(.*)$/gm,                                                css: 'comments' },            // one line and multiline comments
        { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString,    css: 'string' },            // double quoted strings
        { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString,    css: 'string' },            // single quoted strings
        { regex: new RegExp(this.getKeywords(funcs), 'gmi'),                css: 'color2' },            // functions
        { regex: new RegExp(this.getKeywords(operators), 'gmi'),            css: 'color1' },            // operators and such
        { regex: new RegExp(this.getKeywords(keywords), 'gmi'),                css: 'keyword' }            // keyword
        ];
};

SyntaxHighlighter.brushes.Sql.prototype    = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Sql.aliases    = ['sql'];