Update .vimrc
[my-vim-dotfolder.git] / syntax / stqldefs.vim
bloba76689eb138529d2d0366fa80d039db4a0ed1e0b
1 " Vim syntax file
2 " Language:        stql Syntax file
3 " Maintainer:  Dawid Chemloul (lahouari@o2.pl)
4 " Last Change: Mon Oct 03 18:43:12 CET 2005
6 "  Syntax definition (*.sdf)|*.sdf
8 " For version 5.x: Clear all syntax items
9 " For version 6.x: Quit when a syntax file was already loaded
10 if version < 600
11         syntax clear
12 elseif exists("b:current_syntax")
13         finish
14 endif
17 syn region stqldefComment start="#" end="\_$"
18 syn region stqldefString start=+"+ skip=+\\"+ end=+"+
20 syn match stqldefFields "\(\<COMPLEX_FIELD\>\|\<DATA_FIELD\>\|\<FIELD\>\|\<RULE_FIELD\>\|\<USER_FIELD\>\)"
22 syn match stqldefConst "\(\<RESERVED\>\|\<CONST_DEF\>\|\<CONST_VALUE\>\)"
24 syn match stqldefType "\(\<CURRENT_OFFSET\>\|\<RAW_DATA\>\)"
26 syn match stqldefControlKWord1 "\(\<IF\>\|\<IFF\>\|\<FOR\>\|\<ELSE\>\)"
27 syn match stqldefControlKWord2 "\(\<BEGIN\>\|\<END\>\|\<BEGIN_FOR\>\|\<END_FOR\>\|\<BEGIN_IF\>\|\<END_IF\>\|\<BEGIN_RULE\>\|\<END_RULE\>\)"
29 syn match stqldefControlSpecial "\(\<FOR_PLUS\>\|\<FOR_MINUS\>\|\<IF_OR\>\|\<IF_AND\>\|\<IFF_OR\>\|\<IFF_AND\>\)"
31 syn match sqldefSpecialKWord "\(\<REWRITE\>\|\<PRE_PARSE\>\|\<QUERY\>\|\<GROUP\>\|\<FIRST_IN_GROUP\>\|\<LAST_IN_GROUP\>\|\<CONTINUITY_CHECK\>\|\<EMPTY\>\|\<VALID\>\|\<VALID_COLLECT\>\|\<IS_CRC\>\|\<VALID_CRC\>\)"
33 syn match stqldefOperator "\(\<EQ\>\|\<GT\>\|\<GE\>\|\<LT\>\|\<LE\>\|\<MASK_EQ\>\|\<EQ_CRC\>\|\<NOT\>\|\<MASK_NEQ\>\|\<NEQ\>\)"
35 syn match stqldefAtribute     "\(\<UNKNOWN_ATTRIBUTE\>\|\<EXIST_FIELD\>\|\<EXIST_ATTRIB\>\|\<RAW_DATA_ATTRIB\>\|\<SYNTAX_SUBTYPE_ID\>\|\<ID\>\|\<ZERO_MEANS_LONG\>\|\<BYTE_COUNTER\>\|\<ITER_COUNTER\>\|\<PAYLOAD_DATA\>\|\<MAX_LENGTH\>\|\<GROUP_ID\>\|\<CHILD_LINK\>\|\<COMP\>\|\<COUNTER\>\|\<LAST_COUNTER\>\|\<SET\>\|\<DISTINCT\>\|\<COUNT\>\|\<ALL\>\|\<STATIC_IDENT\>\|\<RUNTIME_IDENT\>\|\<MIN_LENGTH\>\|\<GROUP_KEY\>\|\<CRC32\>\|\<CRC_CHECK\>\)"
37 syn match stqldefSpecialAtribute "\(\<LENGTH\>\|\<MAX_LENGTH\>\|\<NAME\>\|\<HIDDEN\>\)"
39 syn match stqldefLoops "\(\<DATA_LOOP\>\|\<OBJECT_LOOP\>\|\<COMPLEX_LOOP\>\)"   
41 syn match stqldefVSSKeyWord "\(\<VSS_GROUP\>\|\<VSS_LEAF_TITLE_1\>\|\<VSS_LEAF_TITLE_2\>\|\<VSS_LEAF_TITLE_3\>\|\<VSS_SET_EXTRA_GROUPING\>\|\<VSS_TEXT\>\)"
43 syn match stqldefNumber "\s\<[0-9]*\>\s"hs=s+1,he=e-1
45 syn match stqldefHex "\s\<0x\c[0-9a-f]*\>\s"hs=s+1,he=e-1
47 if version >= 508 || !exists("did_stqldef_syn_inits")
48   if version < 508
49     let did_stqldef_syn_inits = 1
50     command -nargs=+ HiLink hi link <args>
51   else
52     command -nargs=+ HiLink hi def link <args>
53   endif
55         HiLink stqldefComment    Comment
56         
57         HiLink stqldefString     String
59         HiLink stqldefFields     Type
61         HiLink stqldefConst      Constant
62         
63         HiLink stqldefType       Type
65         HiLink stqldefControlKWord1     Special
67         HiLink stqldefControlKWord2     Identifier
69         HiLink stqldefControlSpecial    Statement
70         
71         HiLink stqldefVSSKeyWord        Macro
73         HiLink sqldefSpecialKWord       PreProc
75         HiLink stqldefAtribute          String
77         HiLink stqldefOperator          Operator
78         
79         HiLink stqldefLoops             Identifier
81         HiLink stqldefHex               Type 
82         HiLink stqldefNumber            Type
84         HiLink stqldefSpecialAtribute   Error
85   delcommand HiLink
86 endif
88 let b:current_syntax = "stqldef"        
89