////////////////////////////////////////////////////////////////////////////// // MS SQL highlighter written by Cliff Knight, Saint Augustine, FL USA // (a modified version of a generic SQL highlighter by Pascal Jaunin) // // February 2004 // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: MS SQL ////////////////////////////////////////////////////////////////////////////// // default file filter Filter: SQL files (*.sql)|*.sql ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: -- BlockCommentBeg: /* BlockCommentEnd: */ ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _ @ # IdentifierChars: a..z A..Z _ 0..9 @ $ # _ ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 + - $ ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH - ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into up tyo five groups which can be // highlighted differently // Keywords KeyWords1: ADD EXCEPT PERCENT ALL EXEC PLAN ALTER EXECUTE PRECISION AND EXISTS PRIMARY ANY EXIT PRINT AS FETCH PROC ASC FILE PROCEDURE AUTHORIZATION FILLFACTOR PUBLIC BACKUP FOR RAISERROR BEGIN FOREIGN READ BETWEEN FREETEXT READTEXT BREAK FREETEXTTABLE RECONFIGURE BROWSE FROM REFERENCES BULK FULL REPLICATION BY FUNCTION RESTORE CASCADE GOTO RESTRICT CASE GRANT RETURN CHECK GROUP REVOKE CHECKPOINT HAVING RIGHT CLOSE HOLDLOCK ROLLBACK CLUSTERED IDENTITY ROWCOUNT COALESCE IDENTITY_INSERT ROWGUIDCOL COLLATE IDENTITYCOL RULE COLUMN IF SAVE COMMIT IN SCHEMA COMPUTE INDEX SELECT CONSTRAINT INNER SESSION_USER CONTAINS INSERT SET CONTAINSTABLE INTERSECT SETUSER CONTINUE INTO SHUTDOWN IS SOME CREATE JOIN STATISTICS CROSS KEY SYSTEM_USER CURRENT KILL TABLE CURRENT_DATE LEFT TEXTSIZE CURRENT_TIME LIKE THEN CURRENT_TIMESTAMP LINENO TO CURRENT_USER LOAD TOP CURSOR NATIONAL TRAN DATABASE NOCHECK TRANSACTION DBCC NONCLUSTERED TRIGGER DEALLOCATE NOT TRUNCATE DECLARE NULL TSEQUAL DEFAULT NULLIF UNION DELETE OF UNIQUE DENY OFF UPDATE DESC OFFSETS UPDATETEXT DISK ON USE DISTINCT OPEN USER DISTRIBUTED OPENDATASOURCE VALUES DOUBLE OPENQUERY VARYING DROP OPENROWSET VIEW DUMMY OPENXML WAITFOR DUMP OPTION WHEN ELSE OR WHERE END ORDER WHILE ERRLVL OUTER WITH ESCAPE OVER WRITETEXT // Built-In Functions KeyWords2 @@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 GETANSINULL PERMISSIONS @@ROWCOUNT @@SERVERNAME @@SERVICENAME @@SPID @@TEXTSIZE @@TIMETICKS @@TOTAL_ERRORS @@TOTAL_READ @@TOTAL_WRITE GETDATE SESSION_USER @@TRANCOUNT @@VERSION HOST_ID STATS_DATE APP_NAME HOST_NAME SYSTEM_USER CURRENT_TIMESTAMP IDENT_INCR TEXTPTR CURRENT_USER IDENT_SEED TEXTVALID DATENAME IDENTITY USER_NAME // Functions KeyWords3: ACOS ABS ADD_MONTHS ASCII ASIN ATAN ATAN2 AVERAGE BFILENAME CEIL CHR CHARTOROWID CONCAT CONVERT COS COSH COUNT DECODE DEREF DUAL DUMP DUP_VAL_ON_INDEX EMPTY ERROR EXP FALSE FLOOR FOUND GLB GREATEST HEXTORAW INITCAP INSTR INSTRB ISOPEN LAST_DAY LEAST LENGTH LENGTHB LN LOWER LPAD LTRIM LUB MAKE_REF MAX MIN MOD MONTHS_BETWEEN NEW_TIME NEXT_DAY NEXTVAL NLS_CHARSET_DECL_LEN NLS_CHARSET_ID NLS_CHARSET_NAME NLS_INITCAP NLS_LOWER NLS_SORT NLS_UPPER NLSSORT NO_DATA_FOUND NOTFOUND NULL NVL OTHERS POWER RAWTOHEX REFTOHEX ROUND ROWCOUNT ROWIDTOCHAR RPAD RTRIM SIGN SIN SINH SQLCODE SQLERRM SQRT SOUNDEX STDDEV SUBSTR SUBSTRB SUM SYSDATE TAN TANH TO_CHAR TO_DATE TO_LABEL TO_MULTI_BYTE TO_NUMBER TO_SINGLE_BYTE TRANSLATE TRUE TRUNC UID UPPER USER USERENV VARIANCE VSIZE // Types KeyWords4: BIGINT BINARY BIT CHARACTER CHAR CURSOR DATETIME DEC DECIMAL FLOAT IMAGE INT INTEGER MONEY NCHAR NTEXT NUMBER NUMERIC NVARCHAR REAL ROWVERSION SMALLDATETIME SMALLINT SMALLMONEY SQL_VARIANT TABLE TEXT TIMESTAMP TINYINT UNIQUEIDENTIFIER VARBINARY VARCHAR ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: ' StringEndChar: ' MultilineStrings: 0 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 1 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clBlack clWindow Keyword1Col: clNavy clWindow Keyword2Col: clNavy clWindow Keyword3Col: clBlue clWindow Keyword4Col: clGreen clWindow IdentifierCol: clBlack clWindow CommentCol: clGreen clWindow I NumberCol: clTeal clWindow StringCol: clTeal clWindow SymbolCol: $00C00000 clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack $00C0FFFF OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: Keyword5Col: clWindowText clWindow MatchedBracesCol: clRed clWindow