1" Vim syntax file 2" Put this file to your $HOME/.vim/syntax/ and use :syntax on 3" Language: Bacula 4" Maintainer: Eric Bollengier <eric@eb.homelinux.org> 5" URL: 6" Latest Revision: 2007-02-11 7 8 9if version < 600 10 syntax clear 11elseif exists("b:current_syntax") 12 finish 13endif 14 15 16" comments 17syn region BacComment display oneline start="#" end="$" keepend contains=BacTodo 18syn region BacComment2 start="/\*" end="\*/" 19 20syn region BacInclude start=/^@/ end="$" 21 22syntax region xCond start=/\w+\s*{/ms=e+1 end=/}/me=s-1 23syntax keyword BacName Name 24syn case ignore 25 26syn keyword LevelElt contained Full Incremental Differential 27 28" todo 29syn keyword BacTodo contained TODO FIXME XXX NOTE 30syn region BacString start=/"/ skip=/\\"/ end=/"/ 31 32" Specifique Client { 33syn region BacClient display start=/Client {/ end="^}" contains=BacString,BacComment,BacC1,BacC2,BacC3,BacC4 34syn match BacC1 contained /File\s*Retention/ 35syn match BacC2 contained /Maximum\s*Concurrent\s*Jobs/ 36syn match BacC3 contained /Job\s*Retention/ 37syn keyword BacC4 contained Name Password Address Catalog AutoPrune FDPort 38 39" FileSet { 40syn region BacFileSet display start="FileSet {" end="^}" contains=BacString,BacComment,BacName,BacFSInc,BacFSExc,BacFS2 41syn region BacFSInc contained display start="Include {" end="}" contains=BacString,BacComment,BacFSOpt,BacFS1 42syn region BacFSExc contained display start="Exclude {" end="}" contains=BacString,BacComment,BacFSOpt,BacFS1 43syn region BacFSOpt contained display start="Options {" end="}" contains=BacString,BacComment,BacFSOpt1,BacFSOpt2 44syn keyword BacFSOpt1 contained verify signature onefs noatime RegexFile Exclude Wild WildDir WildFile CheckChanges aclsupport 45syn match BacFSOpt2 contained /ignore case/ 46syn keyword BacFS1 contained File 47syn match BacFS2 contained /Enable VSS/ 48 49" Storage { 50syn region BacSto display start="Storage {" end="}" contains=BacName,BacComment,BacString,BacSto1,BacSto2 51syn keyword BacSto1 contained Address SDPort Password Device Autochanger 52syn match BacSto2 contained /Media\s*Type/ 53 54" Director { 55syn region BacDir display start="Director {" end="}" contains=BacName,BacComment,BacString,BacDir,BacDir1,BacDir2 56syn keyword BacDir1 contained DIRport QueryFile WorkingDirectory PidDirectory Password Messages 57syn match BacDir2 contained /Maximum\s*Concurrent\s*Jobs/ 58 59" Catalog { 60syn region BacCat display start="Catalog {" end="}" contains=BacName,BacComment,BacString,BacCat1 61syn keyword BacCat1 contained dbname user password dbport 62 63" Job { 64syn region BacJob display start="Job {" end="^}" contains=BacJ1,BacJ2,BacString,BacComment,Level,BacC2,BacJ3,BacRun 65syn region BacJobDefs display start="JobDefs {" end="^}" contains=BacJ1,BacJ2,BacString,BacComment,Level,BacC2,BacJ3 66syn region Level display start="Level =" end="$" contains=LevelElt 67 68syn keyword BacJ1 contained Schedule Name Priority Client Pool JobDefs FileSet SpoolData Storage where 69syn keyword BacJ2 contained RunBeforeJob RunAfterJob Type Messages ClientRunAfterJob 70syn match BacJ3 contained /Write Bootstrap/ 71 72 73" RunScript { 74syn region BacRun contained display start="RunScript {" end="}" contains=BacR1,BacR2,BacR3,BacR4,BacRW,BacString,BacComment 75syn match BacR1 contained /Runs\s*When/ 76syn match BacR2 contained /Runs\s*On\s*Client/ 77syn match BacR3 contained /Runs\s*On\s*Failure/ 78syn keyword BacR4 contained Command 79syn keyword BacRW contained After Before Always 80 81" Schedule { 82syn region BacSched display start="Schedule {" end="^}" contains=BacSR,BacString,BacComment,BacName,BacRun 83syn keyword BacS1 contained Pool FullPool on at 84syn keyword BacS2 contained sun mon tue wed thu fri sat sunday monday tuesday wednesday thursday friday saturday 85syn keyword BacS3 contained jan feb mar apr may jun jul aug sep oct nov dec 86syn keyword BacS4 contained 1st 2nd 3rd 4th 5th first second third fourth fifth 87syn region BacSR contained display start="Run = " end="$" contains=BacS1,BacS2,BacS3,BacS4,LevelElt 88 89syn keyword BacSpecial false true yes no 90 91" Pool 92syn region BacPool display start="Pool {" end="^}" contains=BacP1,BacP2,BacP3,BacString,BacComment 93syn match BacP1 contained /Pool\s*Type/ 94syn match BacP2 contained /Volume\s*Retention/ 95syn keyword BacP3 contained Name AutoPrune Recycle 96 97syn case match 98if version >= 508 || !exists("did_screen_syn_inits") 99 if version < 508 100 let did_screen_syn_inits = 1 101 command -nargs=+ HiLink hi link <args> 102 else 103 command -nargs=+ HiLink hi def link <args> 104 endif 105 106" Define the default highlighting. 107 108HiLink BacFileSet Function 109HiLink BacFSInc Function 110HiLink BacFSExc Function 111HiLink BacFSOpt Function 112HiLink BacFSOpt1 Keyword 113HiLink BacFSOpt2 Keyword 114HiLink BacFS1 Keyword 115HiLink BacFS2 Keyword 116 117HiLink BacInclude Include 118HiLink BacComment Comment 119HiLink BacComment2 Comment 120HiLink BacTodo Todo 121HiLink LevelElt String 122HiLink BacRun Function 123 124HiLink BacCat Function 125HiLink BacCat1 Keyword 126 127HiLink BacSto Function 128HiLink BacSto1 Keyword 129HiLink BacSto2 Keyword 130 131HiLink BacDir Function 132HiLink BacDir1 keyword 133HiLink BacDir2 keyword 134 135HiLink BacJob Function 136HiLink BacJobDefs Function 137HiLink BacJ1 Keyword 138HiLink BacJ2 Keyword 139HiLink BacJ3 Keyword 140 141HiLink BacClient Function 142HiLink BacC1 Keyword 143HiLink BacC2 Keyword 144HiLink BacC3 Keyword 145HiLink BacC4 Keyword 146HiLink Level Keyword 147 148HiLink BacSched Function 149HiLink BacS1 Keyword 150HiLink BacS2 String 151HiLink BacS3 String 152HiLink BacS4 String 153 154HiLink BacR1 Keyword 155HiLink BacR2 Keyword 156HiLink BacR3 Keyword 157HiLink BacR4 Keyword 158HiLink BacRW String 159 160HiLink BacPool Function 161HiLink BacP1 Keyword 162HiLink BacP2 Keyword 163HiLink BacP3 Keyword 164 165HiLink BacName Keyword 166HiLink BacString String 167HiLink BacNumber Number 168HiLink BacCommand BacCommands 169HiLink BacCommands Keyword 170HiLink BacSpecial Boolean 171HiLink BacKey Function 172HiLink Equal Comment 173delcommand HiLink 174 175endif 176 177