module Skylighting.Syntax.SqlPostgresql (syntax) where
import Skylighting.Types
import Data.Map
import Skylighting.Regex
import qualified Data.Set
syntax :: Syntax
syntax = Syntax
{ sName = "SQL (PostgreSQL)"
, sFilename = "sql-postgresql.xml"
, sShortname = "SqlPostgresql"
, sContexts =
fromList
[ ( "CreateFunction"
, Context
{ cName = "CreateFunction"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\$([^\\$\\n\\r]*)\\$"
, reCompiled = Nothing
, reCaseSensitive = False
}
, rAttribute = FunctionTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL (PostgreSQL)" , "FunctionBody" ) ]
}
, Rule
{ rMatcher = IncludeRules ( "SQL (PostgreSQL)" , "Normal" )
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "FunctionBody"
, Context
{ cName = "FunctionBody"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\$%1\\$"
, reCompiled = Nothing
, reCaseSensitive = False
}
, rAttribute = FunctionTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop , Pop ]
}
, Rule
{ rMatcher = IncludeRules ( "SQL (PostgreSQL)" , "Normal" )
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = True
}
)
, ( "Identifier"
, Context
{ cName = "Identifier"
, cSyntax = "SQL (PostgreSQL)"
, 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
}
)
, ( "MultiLineComment"
, Context
{ cName = "MultiLineComment"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, 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
}
)
, ( "MultiLineString"
, Context
{ cName = "MultiLineString"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\$%1\\$"
, reCompiled = Nothing
, reCaseSensitive = False
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = True
}
)
, ( "Normal"
, Context
{ cName = "Normal"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "create\\s+(or\\s+replace\\s+)?function"
, reCompiled =
Just (compileRegex False "create\\s+(or\\s+replace\\s+)?function")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL (PostgreSQL)" , "CreateFunction" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "do\\s+\\$([^\\$\\n\\r]*)\\$"
, reCompiled =
Just (compileRegex False "do\\s+\\$([^\\$\\n\\r]*)\\$")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL (PostgreSQL)" , "FunctionBody" ) ]
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims = Data.Set.fromList "\t\n (),;[\\]{}"
}
(makeWordSet
False
[ "ABORT"
, "ACCESS"
, "ACTION"
, "ADD"
, "ADMIN"
, "AFTER"
, "AGGREGATE"
, "ALIAS"
, "ALL"
, "ALLOCATE"
, "ALTER"
, "ANALYSE"
, "ANALYZE"
, "ANY"
, "ARE"
, "AS"
, "ASC"
, "ASENSITIVE"
, "ASSERTION"
, "ASSIGNMENT"
, "ASYMMETRIC"
, "AT"
, "ATOMIC"
, "AUTHORIZATION"
, "BACKWARD"
, "BEFORE"
, "BEGIN"
, "BETWEEN"
, "BINARY"
, "BOTH"
, "BREADTH"
, "BY"
, "C"
, "CACHE"
, "CALL"
, "CALLED"
, "CARDINALITY"
, "CASCADE"
, "CASCADED"
, "CASE"
, "CAST"
, "CATALOG"
, "CATALOG_NAME"
, "CHAIN"
, "CHAR_LENGTH"
, "CHARACTER_LENGTH"
, "CHARACTER_SET_CATALOG"
, "CHARACTER_SET_NAME"
, "CHARACTER_SET_SCHEMA"
, "CHARACTERISTICS"
, "CHECK"
, "CHECKED"
, "CHECKPOINT"
, "CLASS"
, "CLASS_ORIGIN"
, "CLOB"
, "CLOSE"
, "CLUSTER"
, "COALESCE"
, "COBOL"
, "COLLATE"
, "COLLATION"
, "COLLATION_CATALOG"
, "COLLATION_NAME"
, "COLLATION_SCHEMA"
, "COLUMN"
, "COLUMN_NAME"
, "COMMAND_FUNCTION"
, "COMMAND_FUNCTION_CODE"
, "COMMENT"
, "COMMIT"
, "COMMITTED"
, "COMPLETION"
, "CONDITION_NUMBER"
, "CONNECT"
, "CONNECTION"
, "CONNECTION_NAME"
, "CONSTRAINT"
, "CONSTRAINT_CATALOG"
, "CONSTRAINT_NAME"
, "CONSTRAINT_SCHEMA"
, "CONSTRAINTS"
, "CONSTRUCTOR"
, "CONTAINS"
, "CONTINUE"
, "CONVERT"
, "COPY"
, "CORRESPONDING"
, "COUNT"
, "CREATE"
, "CREATEDB"
, "CREATEUSER"
, "CROSS"
, "CUBE"
, "CURRENT"
, "CURRENT_DATE"
, "CURRENT_PATH"
, "CURRENT_ROLE"
, "CURRENT_TIME"
, "CURRENT_TIMESTAMP"
, "CURRENT_USER"
, "CURSOR"
, "CURSOR_NAME"
, "CYCLE"
, "DATA"
, "DATABASE"
, "DATE"
, "DATETIME_INTERVAL_CODE"
, "DATETIME_INTERVAL_PRECISION"
, "DAY"
, "DEALLOCATE"
, "DEC"
, "DECIMAL"
, "DECLARE"
, "DEFAULT"
, "DEFERRABLE"
, "DEFERRED"
, "DEFINED"
, "DEFINER"
, "DELETE"
, "DELIMITERS"
, "DEPTH"
, "DEREF"
, "DESC"
, "DESCRIBE"
, "DESCRIPTOR"
, "DESTROY"
, "DESTRUCTOR"
, "DETERMINISTIC"
, "DIAGNOSTICS"
, "DICTIONARY"
, "DISCONNECT"
, "DISPATCH"
, "DISTINCT"
, "DO"
, "DOMAIN"
, "DOUBLE"
, "DROP"
, "DYNAMIC"
, "DYNAMIC_FUNCTION"
, "DYNAMIC_FUNCTION_CODE"
, "EACH"
, "ELSE"
, "ENCODING"
, "ENCRYPTED"
, "END"
, "END-EXEC"
, "EQUALS"
, "ESCAPE"
, "EVERY"
, "EXCEPT"
, "EXCEPTION"
, "EXCLUSIVE"
, "EXEC"
, "EXECUTE"
, "EXISTING"
, "EXISTS"
, "EXPLAIN"
, "EXTERNAL"
, "FALSE"
, "FETCH"
, "FINAL"
, "FIRST"
, "FOR"
, "FORCE"
, "FOREIGN"
, "FORTRAN"
, "FORWARD"
, "FOUND"
, "FREE"
, "FREEZE"
, "FROM"
, "FULL"
, "FUNCTION"
, "G"
, "GENERAL"
, "GENERATED"
, "GET"
, "GLOBAL"
, "GO"
, "GOTO"
, "GRANT"
, "GRANTED"
, "GROUP"
, "GROUPING"
, "HANDLER"
, "HAVING"
, "HIERARCHY"
, "HOLD"
, "HOST"
, "HOUR"
, "IDENTITY"
, "IGNORE"
, "ILIKE"
, "IMMEDIATE"
, "IMMUTABLE"
, "IMPLEMENTATION"
, "IN"
, "INCREMENT"
, "INDEX"
, "INDICATOR"
, "INFIX"
, "INHERITS"
, "INITIALIZE"
, "INITIALLY"
, "INNER"
, "INOUT"
, "INPUT"
, "INSENSITIVE"
, "INSERT"
, "INSTANCE"
, "INSTANTIABLE"
, "INSTEAD"
, "INTERSECT"
, "INTERVAL"
, "INTO"
, "INVOKER"
, "IS"
, "ISNULL"
, "ISOLATION"
, "ITERATE"
, "JOIN"
, "K"
, "KEY"
, "KEY_MEMBER"
, "KEY_TYPE"
, "LANCOMPILER"
, "LANGUAGE"
, "LARGE"
, "LAST"
, "LATERAL"
, "LEADING"
, "LEFT"
, "LENGTH"
, "LESS"
, "LEVEL"
, "LIKE"
, "LIMIT"
, "LISTEN"
, "LOAD"
, "LOCAL"
, "LOCALTIME"
, "LOCALTIMESTAMP"
, "LOCATION"
, "LOCATOR"
, "LOCK"
, "LOWER"
, "M"
, "MAP"
, "MATCH"
, "MAX"
, "MAXVALUE"
, "MESSAGE_LENGTH"
, "MESSAGE_OCTET_LENGTH"
, "MESSAGE_TEXT"
, "METHOD"
, "MIN"
, "MINUTE"
, "MINVALUE"
, "MOD"
, "MODE"
, "MODIFIES"
, "MODIFY"
, "MODULE"
, "MONTH"
, "MORE"
, "MOVE"
, "MUMPS"
, "NAME"
, "NAMES"
, "NATIONAL"
, "NATURAL"
, "NEW"
, "NEXT"
, "NO"
, "NOCREATEDB"
, "NOCREATEUSER"
, "NONE"
, "NOT"
, "NOTHING"
, "NOTIFY"
, "NOTNULL"
, "NULL"
, "NULLABLE"
, "NULLIF"
, "NUMBER"
, "NUMERIC"
, "OBJECT"
, "OCTET_LENGTH"
, "OF"
, "OFF"
, "OFFSET"
, "OIDS"
, "OLD"
, "ON"
, "ONLY"
, "OPEN"
, "OPERATION"
, "OPERATOR"
, "OPTION"
, "OPTIONS"
, "ORDER"
, "ORDINALITY"
, "OUT"
, "OUTER"
, "OUTPUT"
, "OVERLAPS"
, "OVERLAY"
, "OVERRIDING"
, "OWNER"
, "PAD"
, "PARAMETER"
, "PARAMETER_MODE"
, "PARAMETER_NAME"
, "PARAMETER_ORDINAL_POSITION"
, "PARAMETER_SPECIFIC_CATALOG"
, "PARAMETER_SPECIFIC_NAME"
, "PARAMETER_SPECIFIC_SCHEMA"
, "PARAMETERS"
, "PARTIAL"
, "PASCAL"
, "PASSWORD"
, "PATH"
, "PENDANT"
, "PLI"
, "POSITION"
, "POSTFIX"
, "PRECISION"
, "PREFIX"
, "PREORDER"
, "PREPARE"
, "PRESERVE"
, "PRIMARY"
, "PRIOR"
, "PRIVILEGES"
, "PROCEDURAL"
, "PROCEDURE"
, "PUBLIC"
, "READ"
, "READS"
, "REAL"
, "RECURSIVE"
, "REF"
, "REFERENCES"
, "REFERENCING"
, "REINDEX"
, "RELATIVE"
, "RENAME"
, "REPEATABLE"
, "REPLACE"
, "RESET"
, "RESTRICT"
, "RESULT"
, "RETURN"
, "RETURNED_LENGTH"
, "RETURNED_OCTET_LENGTH"
, "RETURNED_SQLSTATE"
, "RETURNS"
, "REVOKE"
, "RIGHT"
, "ROLE"
, "ROLLBACK"
, "ROLLUP"
, "ROUTINE"
, "ROUTINE_CATALOG"
, "ROUTINE_NAME"
, "ROUTINE_SCHEMA"
, "ROW"
, "ROW_COUNT"
, "ROWS"
, "RULE"
, "SAVEPOINT"
, "SCALE"
, "SCHEMA"
, "SCHEMA_NAME"
, "SCOPE"
, "SCROLL"
, "SEARCH"
, "SECOND"
, "SECTION"
, "SECURITY"
, "SELECT"
, "SELF"
, "SENSITIVE"
, "SEQUENCE"
, "SERIALIZABLE"
, "SERVER_NAME"
, "SESSION"
, "SESSION_USER"
, "SET"
, "SETOF"
, "SETS"
, "SHARE"
, "SHOW"
, "SIMILAR"
, "SIMPLE"
, "SIZE"
, "SOME"
, "SOURCE"
, "SPACE"
, "SPECIFIC"
, "SPECIFIC_NAME"
, "SPECIFICTYPE"
, "SQL"
, "SQLCODE"
, "SQLERROR"
, "SQLEXCEPTION"
, "SQLSTATE"
, "SQLWARNING"
, "STABLE"
, "START"
, "STATE"
, "STATEMENT"
, "STATIC"
, "STATISTICS"
, "STDIN"
, "STDOUT"
, "STRUCTURE"
, "STYLE"
, "SUBCLASS_ORIGIN"
, "SUBLIST"
, "SUBSTRING"
, "SUM"
, "SYMMETRIC"
, "SYSID"
, "SYSTEM"
, "SYSTEM_USER"
, "TABLE"
, "TABLE_NAME"
, "TEMP"
, "TEMPLATE"
, "TEMPORARY"
, "TERMINATE"
, "THAN"
, "THEN"
, "TIMEZONE_HOUR"
, "TIMEZONE_MINUTE"
, "TO"
, "TOAST"
, "TRAILING"
, "TRANSACTION"
, "TRANSACTION_ACTIVE"
, "TRANSACTIONS_COMMITTED"
, "TRANSACTIONS_ROLLED_BACK"
, "TRANSFORM"
, "TRANSFORMS"
, "TRANSLATE"
, "TRANSLATION"
, "TREAT"
, "TRIGGER"
, "TRIGGER_CATALOG"
, "TRIGGER_NAME"
, "TRIGGER_SCHEMA"
, "TRIM"
, "TRUE"
, "TRUNCATE"
, "TRUSTED"
, "TYPE"
, "UNCOMMITTED"
, "UNDER"
, "UNENCRYPTED"
, "UNION"
, "UNIQUE"
, "UNKNOWN"
, "UNLISTEN"
, "UNNAMED"
, "UNNEST"
, "UNTIL"
, "UPDATE"
, "UPPER"
, "USAGE"
, "USER"
, "USER_DEFINED_TYPE_CATALOG"
, "USER_DEFINED_TYPE_NAME"
, "USER_DEFINED_TYPE_SCHEMA"
, "USING"
, "VACUUM"
, "VALID"
, "VALUE"
, "VALUES"
, "VARIABLE"
, "VARYING"
, "VERBOSE"
, "VERSION"
, "VIEW"
, "VOLATILE"
, "WHEN"
, "WHENEVER"
, "WHERE"
, "WHILE"
, "WITH"
, "WITHOUT"
, "WORK"
, "WRITE"
, "YEAR"
, "ZONE"
])
, 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
[ "!"
, "!!"
, "!="
, "!~"
, "!~*"
, "#"
, "##"
, "%"
, "&"
, "&&"
, "&<"
, "&>"
, "*"
, "**"
, "+"
, "-"
, ".."
, "/"
, ":="
, "<"
, "<->"
, "<<"
, "<<="
, "<="
, "<>"
, "<^"
, "="
, "=>"
, ">"
, ">="
, ">>"
, ">>="
, ">^"
, "?#"
, "?-"
, "?-|"
, "?|"
, "?||"
, "@"
, "@-@"
, "@@"
, "^"
, "^="
, "AND"
, "NOT"
, "OR"
, "|"
, "|/"
, "||"
, "||/"
, "~"
, "~*"
, "~="
])
, 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
[ "ABBREV"
, "ABS"
, "ACOS"
, "AGE"
, "AREA"
, "ASCII"
, "ASIN"
, "ATAN"
, "ATAN2"
, "AVG"
, "BIT_LENGTH"
, "BOX"
, "BROADCAST"
, "BTRIM"
, "CBRT"
, "CEIL"
, "CENTER"
, "CHAR_LENGTH"
, "CHARACTER_LENGTH"
, "CHR"
, "CIRCLE"
, "COALESCE"
, "COL_DESCRIPTION"
, "CONVERT"
, "COS"
, "COT"
, "COUNT"
, "CURRVAL"
, "DATE_PART"
, "DATE_TRUNC"
, "DECODE"
, "DEGREES"
, "DIAMETER"
, "ENCODE"
, "EXP"
, "EXTRACT"
, "FLOOR"
, "HAS_TABLE_PRIVILEGE"
, "HEIGHT"
, "HOST"
, "INITCAP"
, "ISCLOSED"
, "ISFINITE"
, "ISOPEN"
, "LENGTH"
, "LN"
, "LOG"
, "LOWER"
, "LPAD"
, "LSEG"
, "LTRIM"
, "MASKLEN"
, "MAX"
, "MIN"
, "MOD"
, "NETMASK"
, "NETWORK"
, "NEXTVAL"
, "NOW"
, "NPOINT"
, "NULLIF"
, "OBJ_DESCRIPTION"
, "OCTET_LENGTH"
, "PATH"
, "PCLOSE"
, "PG_CLIENT_ENCODING"
, "PG_GET_INDEXDEF"
, "PG_GET_RULEDEF"
, "PG_GET_USERBYID"
, "PG_GET_VIEWDEF"
, "PI"
, "POINT"
, "POLYGON"
, "POPEN"
, "POSITION"
, "POW"
, "RADIANS"
, "RADIUS"
, "RANDOM"
, "REPEAT"
, "ROUND"
, "RPAD"
, "RTRIM"
, "SET_MASKLEN"
, "SETVAL"
, "SIGN"
, "SIN"
, "SQRT"
, "STDDEV"
, "STRPOS"
, "SUBSTR"
, "SUBSTRING"
, "SUM"
, "TAN"
, "TIMEOFDAY"
, "TIMESTAMP"
, "TO_ASCII"
, "TO_CHAR"
, "TO_DATE"
, "TO_NUMBER"
, "TO_TIMESTAMP"
, "TRANSLATE"
, "TRIM"
, "TRUNC"
, "UPPER"
, "VARIANCE"
, "WIDTH"
])
, 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
[ "BIGINT"
, "BIGSERIAL"
, "BIT"
, "BIT VARYING"
, "BOOL"
, "BOOLEAN"
, "BOX"
, "BYTEA"
, "CHAR"
, "CHARACTER"
, "CHARACTER VARYING"
, "CIDR"
, "CIRCLE"
, "DATE"
, "DECIMAL"
, "DOUBLE PRECISION"
, "FLOAT8"
, "INET"
, "INT"
, "INT2"
, "INT4"
, "INT8"
, "INTEGER"
, "INTERVAL"
, "LINE"
, "LSEG"
, "LZTEXT"
, "MACADDR"
, "MONEY"
, "NUMERIC"
, "OID"
, "PATH"
, "POINT"
, "POLYGON"
, "REAL"
, "SERIAL"
, "SERIAL8"
, "SMALLINT"
, "TEXT"
, "TIME"
, "TIMESTAMP"
, "TIMESTAMP WITH TIMEZONE"
, "TIMESTAMPTZ"
, "TIMETZ"
, "VARBIT"
, "VARCHAR"
])
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%bulk_exceptions\\b"
, reCompiled = Just (compileRegex False "%bulk_exceptions\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%bulk_rowcount\\b"
, reCompiled = Just (compileRegex False "%bulk_rowcount\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%found\\b"
, reCompiled = Just (compileRegex False "%found\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%isopen\\b"
, reCompiled = Just (compileRegex False "%isopen\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%notfound\\b"
, reCompiled = Just (compileRegex False "%notfound\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%rowcount\\b"
, reCompiled = Just (compileRegex False "%rowcount\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%rowtype\\b"
, reCompiled = Just (compileRegex False "%rowtype\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "%type\\b"
, reCompiled = Just (compileRegex False "%type\\b")
, reCaseSensitive = False
}
, rAttribute = DataTypeTok
, 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 (PostgreSQL)" , "String" ) ]
}
, Rule
{ rMatcher = DetectChar '#'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL (PostgreSQL)" , "SingleLineComment" ) ]
}
, Rule
{ rMatcher = Detect2Chars '-' '-'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL (PostgreSQL)" , "SingleLineComment" ) ]
}
, Rule
{ rMatcher = Detect2Chars '/' '*'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL (PostgreSQL)" , "MultiLineComment" ) ]
}
, 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 (PostgreSQL)" , "SingleLineComment" ) ]
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "SQL (PostgreSQL)" , "Identifier" ) ]
}
, Rule
{ rMatcher = AnyChar ":&"
, 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 (PostgreSQL)" , "Preprocessor" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\$([^\\$\\n\\r]*)\\$"
, reCompiled = Nothing
, reCaseSensitive = False
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "SQL (PostgreSQL)" , "MultiLineString" ) ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Preprocessor"
, Context
{ cName = "Preprocessor"
, cSyntax = "SQL (PostgreSQL)"
, cRules = []
, cAttribute = OtherTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "SingleLineComment"
, Context
{ cName = "SingleLineComment"
, cSyntax = "SQL (PostgreSQL)"
, cRules = []
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "String"
, Context
{ cName = "String"
, cSyntax = "SQL (PostgreSQL)"
, cRules =
[ Rule
{ rMatcher = LineContinue
, 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 = DetectChar '&'
, 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
}
)
]
, sAuthor = "Shane Wright (me@shanewright.co.uk)"
, sVersion = "2"
, sLicense = ""
, sExtensions = [ "*.sql" , "*.SQL" , "*.ddl" , "*.DDL" ]
, sStartingContext = "Normal"
}