module Skylighting.Syntax.Sql (syntax) where
import Skylighting.Types
import Data.Map
import Skylighting.Regex
import qualified Data.Set
syntax :: Syntax
syntax = Syntax
{ sName = "SQL"
, sFilename = "sql.xml"
, sShortname = "Sql"
, sContexts =
fromList
[ ( "Multiline C-style comment"
, Context
{ cName = "Multiline C-style comment"
, cSyntax = "SQL"
, cRules =
[ Rule
{ rMatcher = Detect2Chars '*' '/'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Normal"
, Context
{ cName = "Normal"
, cSyntax = "SQL"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims = Data.Set.fromList "\t\n %&(),;?[\\]{}"
}
(makeWordSet
False
[ "ACCESS"
, "ACCOUNT"
, "ADD"
, "ADMIN"
, "ADMINISTER"
, "ADVISE"
, "AFTER"
, "AGENT"
, "ALL"
, "ALL_ROWS"
, "ALLOCATE"
, "ALTER"
, "ANALYZE"
, "ANCILLARY"
, "AND"
, "ANY"
, "ARCHIVE"
, "ARCHIVELOG"
, "AS"
, "ASC"
, "ASSERTION"
, "ASSOCIATE"
, "AT"
, "ATTRIBUTE"
, "ATTRIBUTES"
, "AUDIT"
, "AUTHENTICATED"
, "AUTHID"
, "AUTHORIZATION"
, "AUTOALLOCATE"
, "AUTOEXTEND"
, "AUTOMATIC"
, "BACKUP"
, "BECOME"
, "BEFORE"
, "BEGIN"
, "BEHALF"
, "BETWEEN"
, "BINDING"
, "BITMAP"
, "BLOCK"
, "BLOCK_RANGE"
, "BODY"
, "BOTH"
, "BOUND"
, "BREAK"
, "BROADCAST"
, "BTITLE"
, "BUFFER_POOL"
, "BUILD"
, "BULK"
, "BY"
, "CACHE"
, "CACHE_INSTANCES"
, "CALL"
, "CANCEL"
, "CASCADE"
, "CASE"
, "CATEGORY"
, "CHAINED"
, "CHANGE"
, "CHECK"
, "CHECKPOINT"
, "CHILD"
, "CHOOSE"
, "CHUNK"
, "CLASS"
, "CLEAR"
, "CLONE"
, "CLOSE"
, "CLOSE_CACHED_OPEN_CURSORS"
, "CLUSTER"
, "COALESCE"
, "COLUMN"
, "COLUMN_VALUE"
, "COLUMNS"
, "COMMENT"
, "COMMIT"
, "COMMITTED"
, "COMPATIBILITY"
, "COMPILE"
, "COMPLETE"
, "COMPOSITE_LIMIT"
, "COMPRESS"
, "COMPUTE"
, "CONNECT"
, "CONNECT_TIME"
, "CONSIDER"
, "CONSISTENT"
, "CONSTANT"
, "CONSTRAINT"
, "CONSTRAINTS"
, "CONTAINER"
, "CONTENTS"
, "CONTEXT"
, "CONTINUE"
, "CONTROLFILE"
, "COPY"
, "COST"
, "CPU_PER_CALL"
, "CPU_PER_SESSION"
, "CREATE"
, "CREATE_STORED_OUTLINES"
, "CROSS"
, "CUBE"
, "CURRENT"
, "CURSOR"
, "CYCLE"
, "DANGLING"
, "DATA"
, "DATABASE"
, "DATAFILE"
, "DATAFILES"
, "DBA"
, "DDL"
, "DEALLOCATE"
, "DEBUG"
, "DECLARE"
, "DEFAULT"
, "DEFERRABLE"
, "DEFERRED"
, "DEFINER"
, "DEGREE"
, "DELETE"
, "DEMAND"
, "DESC"
, "DETERMINES"
, "DICTIONARY"
, "DIMENSION"
, "DIRECTORY"
, "DISABLE"
, "DISASSOCIATE"
, "DISCONNECT"
, "DISKGROUP"
, "DISMOUNT"
, "DISTINCT"
, "DISTRIBUTED"
, "DOMAIN"
, "DROP"
, "DYNAMIC"
, "EACH"
, "ELSE"
, "ELSIF"
, "EMPTY"
, "ENABLE"
, "END"
, "ENFORCE"
, "ENTRY"
, "ESCAPE"
, "ESTIMATE"
, "EVENTS"
, "EXCEPT"
, "EXCEPTION"
, "EXCEPTIONS"
, "EXCHANGE"
, "EXCLUDING"
, "EXCLUSIVE"
, "EXEC"
, "EXECUTE"
, "EXISTS"
, "EXPIRE"
, "EXPLAIN"
, "EXPLOSION"
, "EXTENDS"
, "EXTENT"
, "EXTENTS"
, "EXTERNALLY"
, "FAILED_LOGIN_ATTEMPTS"
, "FALSE"
, "FAST"
, "FILE"
, "FILTER"
, "FIRST_ROWS"
, "FLAGGER"
, "FLASHBACK"
, "FLUSH"
, "FOLLOWING"
, "FOR"
, "FORCE"
, "FOREIGN"
, "FREELIST"
, "FREELISTS"
, "FRESH"
, "FROM"
, "FULL"
, "FUNCTION"
, "FUNCTIONS"
, "GENERATED"
, "GLOBAL"
, "GLOBAL_NAME"
, "GLOBALLY"
, "GRANT"
, "GROUP"
, "GROUPS"
, "HASH"
, "HASHKEYS"
, "HAVING"
, "HEADER"
, "HEAP"
, "HIERARCHY"
, "HOUR"
, "ID"
, "IDENTIFIED"
, "IDENTIFIER"
, "IDGENERATORS"
, "IDLE_TIME"
, "IF"
, "IMMEDIATE"
, "IN"
, "INCLUDING"
, "INCREMENT"
, "INCREMENTAL"
, "INDEX"
, "INDEXED"
, "INDEXES"
, "INDEXTYPE"
, "INDEXTYPES"
, "INDICATOR"
, "INITIAL"
, "INITIALIZED"
, "INITIALLY"
, "INITRANS"
, "INNER"
, "INSERT"
, "INSTANCE"
, "INSTANCES"
, "INSTEAD"
, "INTERMEDIATE"
, "INTERSECT"
, "INTO"
, "INVALIDATE"
, "IS"
, "ISOLATION"
, "ISOLATION_LEVEL"
, "JAVA"
, "JOIN"
, "KEEP"
, "KEY"
, "KILL"
, "LABEL"
, "LAYER"
, "LEADING"
, "LEFT"
, "LESS"
, "LEVEL"
, "LIBRARY"
, "LIKE"
, "LIMIT"
, "LINK"
, "LIST"
, "LOCAL"
, "LOCATOR"
, "LOCK"
, "LOCKED"
, "LOGFILE"
, "LOGGING"
, "LOGICAL_READS_PER_CALL"
, "LOGICAL_READS_PER_SESSION"
, "LOGOFF"
, "LOGON"
, "LOOP"
, "MANAGE"
, "MANAGED"
, "MANAGEMENT"
, "MASTER"
, "MATERIALIZED"
, "MAXARCHLOGS"
, "MAXDATAFILES"
, "MAXEXTENTS"
, "MAXINSTANCES"
, "MAXLOGFILES"
, "MAXLOGHISTORY"
, "MAXLOGMEMBERS"
, "MAXSIZE"
, "MAXTRANS"
, "MAXVALUE"
, "MEMBER"
, "MERGE"
, "METHOD"
, "MINEXTENTS"
, "MINIMIZE"
, "MINIMUM"
, "MINUS"
, "MINUTE"
, "MINVALUE"
, "MODE"
, "MODIFY"
, "MONITORING"
, "MOUNT"
, "MOVE"
, "MOVEMENT"
, "MTS_DISPATCHERS"
, "MULTISET"
, "NAMED"
, "NATURAL"
, "NEEDED"
, "NESTED"
, "NESTED_TABLE_ID"
, "NETWORK"
, "NEVER"
, "NEW"
, "NEXT"
, "NLS_CALENDAR"
, "NLS_CHARACTERSET"
, "NLS_COMP"
, "NLS_CURRENCY"
, "NLS_DATE_FORMAT"
, "NLS_DATE_LANGUAGE"
, "NLS_ISO_CURRENCY"
, "NLS_LANG"
, "NLS_LANGUAGE"
, "NLS_NUMERIC_CHARACTERS"
, "NLS_SORT"
, "NLS_SPECIAL_CHARS"
, "NLS_TERRITORY"
, "NO"
, "NOARCHIVELOG"
, "NOAUDIT"
, "NOCACHE"
, "NOCOMPRESS"
, "NOCYCLE"
, "NOFORCE"
, "NOLOGGING"
, "NOMAXVALUE"
, "NOMINIMIZE"
, "NOMINVALUE"
, "NOMONITORING"
, "NONE"
, "NOORDER"
, "NOOVERRIDE"
, "NOPARALLEL"
, "NORELY"
, "NORESETLOGS"
, "NOREVERSE"
, "NORMAL"
, "NOSEGMENT"
, "NOSORT"
, "NOT"
, "NOTHING"
, "NOVALIDATE"
, "NOWAIT"
, "NULL"
, "NULLS"
, "OBJNO"
, "OBJNO_REUSE"
, "OF"
, "OFF"
, "OFFLINE"
, "OID"
, "OIDINDEX"
, "OLD"
, "ON"
, "ONLINE"
, "ONLY"
, "OPCODE"
, "OPEN"
, "OPERATOR"
, "OPTIMAL"
, "OPTIMIZER_GOAL"
, "OPTION"
, "OR"
, "ORDER"
, "ORGANIZATION"
, "OUT"
, "OUTER"
, "OUTLINE"
, "OVER"
, "OVERFLOW"
, "OVERLAPS"
, "OWN"
, "PACKAGE"
, "PACKAGES"
, "PARALLEL"
, "PARAMETERS"
, "PARENT"
, "PARTITION"
, "PARTITION_HASH"
, "PARTITION_RANGE"
, "PARTITIONS"
, "PASSWORD"
, "PASSWORD_GRACE_TIME"
, "PASSWORD_LIFE_TIME"
, "PASSWORD_LOCK_TIME"
, "PASSWORD_REUSE_MAX"
, "PASSWORD_REUSE_TIME"
, "PASSWORD_VERIFY_FUNCTION"
, "PCTFREE"
, "PCTINCREASE"
, "PCTTHRESHOLD"
, "PCTUSED"
, "PCTVERSION"
, "PERCENT"
, "PERMANENT"
, "PLAN"
, "PLSQL_DEBUG"
, "POST_TRANSACTION"
, "PREBUILT"
, "PRECEDING"
, "PREPARE"
, "PRESENT"
, "PRESERVE"
, "PREVIOUS"
, "PRIMARY"
, "PRIOR"
, "PRIVATE"
, "PRIVATE_SGA"
, "PRIVILEGE"
, "PRIVILEGES"
, "PROCEDURE"
, "PROFILE"
, "PUBLIC"
, "PURGE"
, "QUERY"
, "QUEUE"
, "QUOTA"
, "RANDOM"
, "RANGE"
, "RBA"
, "READ"
, "READS"
, "REBUILD"
, "RECORDS_PER_BLOCK"
, "RECOVER"
, "RECOVERABLE"
, "RECOVERY"
, "RECYCLE"
, "REDUCED"
, "REFERENCES"
, "REFERENCING"
, "REFRESH"
, "RELY"
, "RENAME"
, "REPLACE"
, "RESET"
, "RESETLOGS"
, "RESIZE"
, "RESOLVE"
, "RESOLVER"
, "RESOURCE"
, "RESTRICT"
, "RESTRICTED"
, "RESUME"
, "RETURN"
, "RETURNING"
, "REUSE"
, "REVERSE"
, "REVOKE"
, "REWRITE"
, "RIGHT"
, "ROLE"
, "ROLES"
, "ROLLBACK"
, "ROLLUP"
, "ROW"
, "ROWNUM"
, "ROWS"
, "RULE"
, "SAMPLE"
, "SAVEPOINT"
, "SCAN"
, "SCAN_INSTANCES"
, "SCHEMA"
, "SCN"
, "SCOPE"
, "SD_ALL"
, "SD_INHIBIT"
, "SD_SHOW"
, "SEG_BLOCK"
, "SEG_FILE"
, "SEGMENT"
, "SELECT"
, "SELECTIVITY"
, "SEQUENCE"
, "SERIALIZABLE"
, "SERVERERROR"
, "SESSION"
, "SESSION_CACHED_CURSORS"
, "SESSIONS_PER_USER"
, "SET"
, "SHARE"
, "SHARED"
, "SHARED_POOL"
, "SHRINK"
, "SHUTDOWN"
, "SINGLETASK"
, "SIZE"
, "SKIP"
, "SKIP_UNUSABLE_INDEXES"
, "SNAPSHOT"
, "SOME"
, "SORT"
, "SOURCE"
, "SPECIFICATION"
, "SPLIT"
, "SQL_TRACE"
, "STANDBY"
, "START"
, "STARTUP"
, "STATEMENT_ID"
, "STATIC"
, "STATISTICS"
, "STOP"
, "STORAGE"
, "STORE"
, "STRUCTURE"
, "SUBMULTISET"
, "SUBPARTITION"
, "SUBPARTITIONS"
, "SUCCESSFUL"
, "SUMMARY"
, "SUPPLEMENTAL"
, "SUSPEND"
, "SWITCH"
, "SYNONYM"
, "SYS_OP_BITVEC"
, "SYS_OP_ENFORCE_NOT_NULL$"
, "SYS_OP_NOEXPAND"
, "SYS_OP_NTCIMG$"
, "SYSDBA"
, "SYSOPER"
, "SYSTEM"
, "TABLE"
, "TABLES"
, "TABLESPACE"
, "TABLESPACE_NO"
, "TABNO"
, "TEMPFILE"
, "TEMPORARY"
, "THAN"
, "THE"
, "THEN"
, "THREAD"
, "THROUGH"
, "TIME_ZONE"
, "TIMEOUT"
, "TIMEZONE_HOUR"
, "TIMEZONE_MINUTE"
, "TO"
, "TOPLEVEL"
, "TRACE"
, "TRACING"
, "TRAILING"
, "TRANSACTION"
, "TRANSITIONAL"
, "TRIGGER"
, "TRIGGERS"
, "TRUE"
, "TRUNCATE"
, "TYPE"
, "TYPES"
, "UNARCHIVED"
, "UNBOUND"
, "UNBOUNDED"
, "UNDO"
, "UNIFORM"
, "UNION"
, "UNIQUE"
, "UNLIMITED"
, "UNLOCK"
, "UNRECOVERABLE"
, "UNTIL"
, "UNUSABLE"
, "UNUSED"
, "UPD_INDEXES"
, "UPDATABLE"
, "UPDATE"
, "UPPPER"
, "USAGE"
, "USE"
, "USE_STORED_OUTLINES"
, "USER_DEFINED"
, "USING"
, "VALIDATE"
, "VALIDATION"
, "VALUES"
, "VIEW"
, "WHEN"
, "WHENEVER"
, "WHERE"
, "WHILE"
, "WITH"
, "WITHOUT"
, "WORK"
, "WRITE"
])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims = Data.Set.fromList "\t\n %&(),;?[\\]{}"
}
(makeWordSet
False
[ "!="
, "*"
, "**"
, "+"
, "-"
, ".."
, "/"
, ":="
, "<"
, "<="
, "<>"
, "="
, "=>"
, ">"
, ">="
, "^="
, "||"
, "~="
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims = Data.Set.fromList "\t\n %&(),;?[\\]{}"
}
(makeWordSet
False
[ "ABS"
, "ACOS"
, "ADD_MONTHS"
, "ASCII"
, "ASCIISTR"
, "ASIN"
, "ATAN"
, "ATAN2"
, "AVG"
, "BFILENAME"
, "BIN_TO_NUM"
, "BITAND"
, "CARDINALITY"
, "CAST"
, "CEIL"
, "CHARTOROWID"
, "CHR"
, "COALESCE"
, "COLLECT"
, "COMPOSE"
, "CONCAT"
, "CONVERT"
, "CORR"
, "CORR_K"
, "CORR_S"
, "COS"
, "COSH"
, "COUNT"
, "COVAR_POP"
, "COVAR_SAMP"
, "CUME_DIST"
, "CURRENT_DATE"
, "CURRENT_TIMESTAMP"
, "CV"
, "DBTIMEZONE"
, "DECODE"
, "DECOMPOSE"
, "DENSE_RANK"
, "DEPTH"
, "DEREF"
, "DUMP"
, "EMPTY_BLOB"
, "EMPTY_CLOB"
, "EXISTSNODE"
, "EXP"
, "EXTRACT"
, "EXTRACTVALUE"
, "FIRST"
, "FIRST_VALUE"
, "FLOOR"
, "FROM_TZ"
, "GREATEST"
, "GROUP_ID"
, "GROUPING"
, "GROUPING_ID"
, "HEXTORAW"
, "INITCAP"
, "INSTR"
, "INSTRB"
, "LAG"
, "LAST"
, "LAST_DAY"
, "LAST_VALUE"
, "LEAD"
, "LEAST"
, "LENGTH"
, "LENGTHB"
, "LN"
, "LNNVL"
, "LOCALTIMESTAMP"
, "LOG"
, "LOWER"
, "LPAD"
, "LTRIM"
, "MAKE_REF"
, "MAX"
, "MEDIAN"
, "MIN"
, "MOD"
, "MONTHS_BETWEEN"
, "NANVL"
, "NCHR"
, "NEW_TIME"
, "NEXT_DAY"
, "NLS_CHARSET_DECL_LEN"
, "NLS_CHARSET_ID"
, "NLS_CHARSET_NAME"
, "NLS_INITCAP"
, "NLS_LOWER"
, "NLS_UPPER"
, "NLSSORT"
, "NTILE"
, "NULLIF"
, "NUMTODSINTERVAL"
, "NUMTOYMINTERVAL"
, "NVL"
, "NVL2"
, "ORA_HASH"
, "ORA_ROWSCN"
, "PERCENT_RANK"
, "PERCENTILE_CONT"
, "PERCENTILE_DISC"
, "POWER"
, "POWERMULTISET"
, "POWERMULTISET_BY_CARDINALITY"
, "PRESENTNNV"
, "PRESENTV"
, "RANK"
, "RATIO_TO_REPORT"
, "RAWTOHEX"
, "RAWTONHEX"
, "REF"
, "REFTOHEX"
, "REGEXP_INSTR"
, "REGEXP_LIKE"
, "REGEXP_REPLACE"
, "REGEXP_SUBSTR"
, "REGR_AVGX"
, "REGR_AVGY"
, "REGR_COUNT"
, "REGR_INTERCEPT"
, "REGR_R2"
, "REGR_SLOPE"
, "REGR_SXX"
, "REGR_SXY"
, "REGR_SYY"
, "REMAINDER"
, "ROUND"
, "ROW_NUMBER"
, "ROWIDTOCHAR"
, "ROWIDTONCHAR"
, "RPAD"
, "RTRIM"
, "SCN_TO_TIMESTAMP"
, "SESSIONTIMEZONE"
, "SIGN"
, "SIN"
, "SINH"
, "SOUNDEX"
, "SQRT"
, "STATS_BINOMIAL_TEST"
, "STATS_CROSSTAB"
, "STATS_F_TEST"
, "STATS_KS_TEST"
, "STATS_MODE"
, "STATS_MW_TEST"
, "STATS_ONE_WAY_ANOVA"
, "STATS_T_TEST_INDEP"
, "STATS_T_TEST_INDEPU"
, "STATS_T_TEST_ONE"
, "STATS_T_TEST_PAIRED"
, "STATS_WSR_TEST"
, "STDDEV"
, "STDDEV_POP"
, "STDDEV_SAMP"
, "SUBSTR"
, "SUBSTRB"
, "SUM"
, "SYS_CONNECT_BY_PATH"
, "SYS_CONTEXT"
, "SYS_DBURIGEN"
, "SYS_EXTRACT_UTC"
, "SYS_GUID"
, "SYS_TYPEID"
, "SYS_XMLAGG"
, "SYS_XMLGEN"
, "SYSDATE"
, "SYSTIMESTAMP"
, "TAN"
, "TANH"
, "TIMESTAMP_TO_SCN"
, "TO_BINARY_DOUBLE"
, "TO_BINARY_FLOAT"
, "TO_CHAR"
, "TO_CLOB"
, "TO_DATE"
, "TO_DSINTERVAL"
, "TO_LOB"
, "TO_MULTI_BYTE"
, "TO_NCHAR"
, "TO_NCLOB"
, "TO_NUMBER"
, "TO_SINGLE_BYTE"
, "TO_TIMESTAMP"
, "TO_TIMESTAMP_TZ"
, "TO_YMINTERVAL"
, "TRANSLATE"
, "TREAT"
, "TRIM"
, "TRUNC"
, "TZ_OFFSET"
, "UID"
, "UNISTR"
, "UPDATEXML"
, "UPPER"
, "USER"
, "USERENV"
, "VALUE"
, "VAR_POP"
, "VAR_SAMP"
, "VARIANCE"
, "VSIZE"
, "WIDTH_BUCKET"
, "XMLAGG"
, "XMLCOLATTVAL"
, "XMLCONCAT"
, "XMLELEMENT"
, "XMLFOREST"
, "XMLSEQUENCE"
, "XMLTRANSFORM"
])
, rAttribute = FunctionTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims = Data.Set.fromList "\t\n %&(),;?[\\]{}"
}
(makeWordSet
False
[ "ANYDATA"
, "ANYDATASET"
, "ANYTYPE"
, "ARRAY"
, "BFILE"
, "BINARY_DOUBLE"
, "BINARY_FLOAT"
, "BINARY_INTEGER"
, "BLOB"
, "BOOLEAN"
, "CFILE"
, "CHAR"
, "CHARACTER"
, "CLOB"
, "DATE"
, "DAY"
, "DBURITYPE"
, "DEC"
, "DECIMAL"
, "DOUBLE"
, "FLOAT"
, "FLOB"
, "HTTPURITYPE"
, "INT"
, "INTEGER"
, "INTERVAL"
, "LOB"
, "LONG"
, "MLSLABEL"
, "MONTH"
, "NATIONAL"
, "NCHAR"
, "NCLOB"
, "NUMBER"
, "NUMERIC"
, "NVARCHAR"
, "OBJECT"
, "PLS_INTEGER"
, "PRECISION"
, "RAW"
, "REAL"
, "RECORD"
, "ROWID"
, "SECOND"
, "SINGLE"
, "SMALLINT"
, "TIME"
, "TIMESTAMP"
, "URIFACTORYTYPE"
, "URITYPE"
, "UROWID"
, "VARCHAR"
, "VARCHAR2"
, "VARRAY"
, "VARYING"
, "XMLTYPE"
, "YEAR"
, "ZONE"
])
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectIdentifier
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString =
"%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\\b"
, reCompiled =
Just
(compileRegex
False
"%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = HlCHex
, rAttribute = BaseNTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Float
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Int
, rAttribute = DecValTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '\''
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL" , "String literal" ) ]
}
, Rule
{ rMatcher = Detect2Chars '-' '-'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL" , "Singleline PL/SQL-style comment" ) ]
}
, Rule
{ rMatcher = Detect2Chars '/' '*'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL" , "Multiline C-style comment" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "rem\\b"
, reCompiled = Just (compileRegex False "rem\\b")
, reCaseSensitive = False
}
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Just 0
, rContextSwitch = [ Push ( "SQL" , "SQL*Plus remark directive" ) ]
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL" , "User-defined identifier" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "(:|&&?)\\w+"
, reCompiled = Just (compileRegex False "(:|&&?)\\w+")
, reCaseSensitive = False
}
, rAttribute = CharTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "/$"
, reCompiled = Just (compileRegex False "/$")
, reCaseSensitive = False
}
, rAttribute = CharTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Just 0
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "@@?[^@ \\t\\r\\n]"
, reCompiled = Just (compileRegex False "@@?[^@ \\t\\r\\n]")
, reCaseSensitive = False
}
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Just 0
, rContextSwitch =
[ Push ( "SQL" , "SQL*Plus directive to include file" ) ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "SQL*Plus directive to include file"
, Context
{ cName = "SQL*Plus directive to include file"
, cSyntax = "SQL"
, cRules = []
, cAttribute = OtherTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "SQL*Plus remark directive"
, Context
{ cName = "SQL*Plus remark directive"
, cSyntax = "SQL"
, cRules = []
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Singleline PL/SQL-style comment"
, Context
{ cName = "Singleline PL/SQL-style comment"
, cSyntax = "SQL"
, cRules = []
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "String literal"
, Context
{ cName = "String literal"
, cSyntax = "SQL"
, cRules =
[ Rule
{ rMatcher = Detect2Chars '\\' '\''
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = HlCStringChar
, rAttribute = CharTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "&&?\\w+"
, reCompiled = Just (compileRegex False "&&?\\w+")
, reCaseSensitive = False
}
, rAttribute = CharTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '\'' '\''
, rAttribute = CharTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '\''
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "User-defined identifier"
, Context
{ cName = "User-defined identifier"
, cSyntax = "SQL"
, cRules =
[ Rule
{ rMatcher = DetectChar '"'
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = OtherTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
]
, sAuthor = "Yury Lebedev (yurylebedev@mail.ru)"
, sVersion = "2"
, sLicense = "LGPL"
, sExtensions = [ "*.sql" , "*.SQL" , "*.ddl" , "*.DDL" ]
, sStartingContext = "Normal"
}