JGCSCS 4 Transact-SQL (fast) *.sql JGsoft support@editpadpro.com http://www.editpadpro.com http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp TRUE -- 1 Fast Microsoft SQL Server syntax coloring. Ignores multi-line comments, and doesn't allow strings to span across lines. Use this scheme when working with large SQL files (such as those created by mysqldump) for a dramatic increase in performance. This scheme only parses the visible portion of the file. 2 -- Microsoft SQL Server select count(*) from sometable where somefield = 'test'; 0 FALSE 10 Keyword \b(?:ADD|ALL|ALTER|AND|ANY|ASC|AS|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BINARY|BIT|BREAK|BROWSE|BULK|BY|CASCADE|CHAR|CHECKPOINT|CHECK|CLOSE|CLUSTERED|COLUMN|COMMITTED|COMMIT|COMPUTE|CONFIRM|CONSTRAINT|CONTAINSTABLE|CONTAINS|CONTINUE|CONTROLROW|CONVERT|CREATE|CROSS|CURRENT_DATE|CURRENT_TIME|CURRENT|CURSOR|DATABASE|DATETIME|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ERROREXIT|ESCAPE|EXCEPT|EXECUTE|EXEC|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FLOAT|FLOPPY|FOREIGN|FOR|FREETEXTTABLE|FREETEXT|FROM|FULL|GOTO|GO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY_INSERT|IDENTITYCOL|IDENTITY|IF|IMAGE|INDEX|INNER|INSERT|INTEGER|INTERSECT|INTO|INT|IN|ISOLATION|IS|JOIN|KEY|KILL|LEVEL|LIKE|LINENO|LOAD|MIRROREXIT|MONEY|NATIONAL|NCHAR|NOCHECK|NONCLUSTERED|NOT|NTEXT|NULL|NVARCHAR|OFFSETS|OFF|OF|ONCE|ONLY|ON|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPEN|OPTION|ORDER|OR|OUTER|OVER|PERCENT|PERMANENT|PERM|PIPE|PLAN|PRECISION|PREPARE|PRIMARY|PRINT|PRIVILEGES|PROCEDURE|PROCESSEXIT|PROC|PUBLIC|RAISERROR|READTEXT|READ|REAL|RECONFIGURE|REFERENCES|REPEATABLE|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SERIALIZABLE|SETUSER|SET|SHUTDOWN|SMALLDATETIME|SMALLINT|SMALLMONEY|SOME|STATISTICS|TABLE|TAPE|TEMPORARY|TEMP|TEXTSIZE|TEXT|THEN|TIMESTAMP|TINYINT|TOP|TO|TRANSACTION|TRAN|TRIGGER|TRUNCATE|TSEQUAL|UNCOMMITTED|UNION|UNIQUEIDENTIFIER|UNIQUE|UPDATETEXT|UPDATE|USE|VALUES|VARBINARY|VARCHAR|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WORK|WRITETEXT)\b TRUE FALSE 7 0 0 FALSE Functions \b(?:ABS|ACOS|APP_NAME|ASCII|ASIN|ATAN|ATN2|AVG|BINARY_CHECKSUM|CASE|CAST|CEILING|CHARINDEX|CHECKSUM_AGG|CHECKSUM|COALESCE|COL_LENGTH|COL_NAME|COLLATIONPROPERTY|COLUMNPROPERTY|CONVERT|COS|COT|COUNT_BIG|COUNT|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR_STATUS|DATABASEPROPERTYEX|DATABASEPROPERTY|DATALENGTH|DATEADD|DATEDIFF|DATENAME|DATEPART|DAY|DB_ID|DB_NAME|DEGREES|DIFFERENCE|EXP|FILE_ID|FILE_NAME|FILEGROUP_ID|FILEGROUP_NAME|FILEGROUPPROPERTY|FILEPROPERTY|FLOOR|FORMATMESSAGE|FULLTEXTCATALOGPROPERTY|FULLTEXTSERVICEPROPERTY|GETANSINULL|GETDATE|GETUTCDATE|HOST_ID|HOST_NAME|IDENT_CURRENT|IDENT_INCR|IDENT_SEED|INDEX_COL|INDEXKEY_PROPERTY|INDEXPROPERTY|IS_MEMBER|IS_SRVROLEMEMBER|ISDATE|ISNULL|ISNUMERIC|LEFT|LEN|LOG10|LOG|LOWER|LTRIM|MAX|MIN|MONTH|NEWID|NULLIF|OBJECT_ID|OBJECT_NAME|OBJECTPROPERTY|PARSENAME|PATINDEX|PERMISSIONS|PI|POWER|QUOTENAME|RADIANS|RAND|REPLACE|REPLICATE|REVERSE|RIGHT|ROUND|RTRIM|SCOPE_IDENTITY|SERVERPROPERTY|SESSION_USER|SESSIONPROPERTY|SIGN|SIN|SOUNDEX|SPACE|SQL_VARIANT_PROPERTY|SQRT|SQUARE|STATS_DATE|STDEVP|STDEV|STR|STUFF|SUBSTRING|SUM|SUSER_ID|SUSER_NAME|SUSER_SID|SUSER_SNAME|SYSTEM_USER|TAN|TEXTPTR|TEXTVALID|TYPEPROPERTY|UNICODE|UPPER|USER_ID|USER_NAME|USER|VARP|VAR|YEAR|procedure|Register)\b TRUE FALSE 8 0 0 FALSE @@ Functions @@(?:CONNECTIONS|CPU_BUSY|CURSOR_ROWS|DATEFIRST|DBTS|ERROR|FETCH_STATUS|IDENTITY|IDLE|IO_BUSY|LANGID|LANGUAGE|LOCK_TIMEOUT|MAX_CONNECTIONS|MAX_PRECISION|NESTLEVEL|OPTIONS|PACK_RECEIVED|PACK_SENT|PACKET_ERRORS|PROCID|REMSERVER|ROWCOUNT|SERVERNAME|SERVICENAME|SPID|TEXTSIZE|TIMETICKS|TOTAL_ERRORS|TOTAL_READ|TOTAL_WRITE|TRANCOUNT|VERSION)\b TRUE FALSE 8 0 0 FALSE Integer or float \b[0-9]++(\.[0-9]++)?([eE][-+]?+[0-9]++)?\b FALSE FALSE 10 0 0 FALSE Single-line comment --.*+ FALSE FALSE 5 0 0 TRUE Double-quoted identifier Closing " optional so an unclosed identifier is colored until the end of the line "[^"\r\n]*+"? FALSE FALSE 16 0 0 FALSE Bracket-enclosed identifier Closing ] optional so an unclosed identifier is colored until the end of the line \[[^]\r\n]*+\]? FALSE FALSE 16 0 0 FALSE Single-quoted string Closing ' optional so an unclosed string is colored until the end of the line '[^'\r\n]*+'? FALSE FALSE 9 0 0 TRUE Brackets [()]++ FALSE FALSE 17 0 0 FALSE Operator [-+*/=<>]++ FALSE FALSE 13 0 0 FALSE 5 ( ) TRUE 3 [ ] TRUE 3 { } TRUE 3 " " FALSE 2 ' ' FALSE 2 0