AstroJS/botanjs/src/Libraries/SyntaxHighlighter/Brush/Sql.js

68 lines
3.1 KiB
JavaScript

/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
var ns = __namespace( "Libraries.SyntaxHighlighter.Brush" );
/** @type {Libraries.SyntaxHighlighter} */
var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
/** @type {Libraries.SyntaxHighlighter.Brush} **/
var Brush = 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
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['sql'];
SyntaxHighlighter.brushes[ "Sql" ] = Brush;
ns[ NS_EXPORT ]( EX_CLASS, "Sql", Brush );
})();