]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl add first vim support for bacula-dir.conf
authorEric Bollengier <eric@eb.homelinux.org>
Mon, 12 Feb 2007 20:55:43 +0000 (20:55 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Mon, 12 Feb 2007 20:55:43 +0000 (20:55 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4173 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/scripts/bacula.vim [new file with mode: 0644]
bacula/scripts/filetype.vim [new file with mode: 0644]

diff --git a/bacula/scripts/bacula.vim b/bacula/scripts/bacula.vim
new file mode 100644 (file)
index 0000000..0db7d01
--- /dev/null
@@ -0,0 +1,176 @@
+" Vim syntax file
+" Put this file to your $HOME/.vim/syntax/ and use :syntax on
+" Language:         Bacula
+" Maintainer:       Eric Bollengier <eric@eb.homelinux.org>
+" URL:              
+" Latest Revision:  2007-02-11
+
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+
+" comments
+syn region      BacComment  display oneline start="#" end="$" keepend contains=BacTodo
+syn region     BacComment2 start="/\*"  end="\*/" 
+
+syn region      BacInclude start=/^@/ end="$"
+
+syntax region xCond start=/\w+\s*{/ms=e+1 end=/}/me=s-1
+syntax keyword BacName Name
+syn case ignore
+
+syn keyword  LevelElt  contained Full Incremental Differential
+
+" todo
+syn keyword     BacTodo       contained TODO FIXME XXX NOTE
+syn region     BacString     start=/"/ skip=/\\"/ end=/"/
+
+" Specifique Client {
+syn region    BacClient display start=/Client {/ end="^}"  contains=BacString,BacComment,BacC1,BacC2,BacC3,BacC4
+syn match     BacC1     contained /File\s*Retention/
+syn match     BacC2     contained /Maximum\s*Concurrent\s*Jobs/
+syn match     BacC3     contained /Job\s*Retention/
+syn keyword   BacC4     contained Name Password Address Catalog AutoPrune FDPort
+
+" FileSet {
+syn region    BacFileSet display start="FileSet {" end="^}" contains=BacString,BacComment,BacName,BacFSInc,BacFSExc,BacFS2
+syn region    BacFSInc   contained display start="Include {" end="}" contains=BacString,BacComment,BacFSOpt,BacFS1
+syn region    BacFSExc   contained display start="Exclude {" end="}" contains=BacString,BacComment,BacFSOpt,BacFS1
+syn region    BacFSOpt   contained display  start="Options {" end="}" contains=BacString,BacComment,BacFSOpt1,BacFSOpt2
+syn keyword   BacFSOpt1  contained verify signature onefs noatime RegexFile Exclude Wild WildDir WildFile
+syn match     BacFSOpt2  contained /ignore case/
+syn keyword   BacFS1     contained File
+syn match     BacFS2     contained /Enable VSS/
+
+" Storage {
+syn region   BacSto     display start="Storage {" end="}" contains=BacName,BacComment,BacString,BacSto1,BacSto2
+syn keyword  BacSto1   contained Address SDPort Password Device Autochanger
+syn match    BacSto2    contained /Media\s*Type/
+
+" Director {
+syn region   BacDir     display start="Director {" end="}" contains=BacName,BacComment,BacString,BacDir,BacDir1,BacDir2
+syn keyword  BacDir1    contained DIRport QueryFile WorkingDirectory PidDirectory Password Messages
+syn match    BacDir2    contained /Maximum\s*Concurrent\s*Jobs/
+
+" Catalog {
+syn region   BacCat     display start="Catalog {" end="}" contains=BacName,BacComment,BacString,BacCat1
+syn keyword  BacCat1   contained dbname user password dbport
+
+" Job {
+syn region   BacJob     display start="Job {" end="^}"     contains=BacJ1,BacJ2,BacString,BacComment,Level,BacC2,BacJ3,BacRun
+syn region   BacJobDefs display start="JobDefs {" end="^}" contains=BacJ1,BacJ2,BacString,BacComment,Level,BacC2,BacJ3
+syn region   Level      display start="Level =" end="$"    contains=LevelElt
+
+syn keyword  BacJ1      contained Schedule Name Priority Client Pool JobDefs FileSet SpoolData Storage where
+syn keyword  BacJ2      contained RunBeforeJob RunAfterJob Type Messages ClientRunAfterJob
+syn match    BacJ3      contained /Write Bootstrap/
+
+
+" RunScript {
+syn region   BacRun    contained display start="RunScript {" end="}"  contains=BacR1,BacR2,BacR3,BacR4,BacRW,BacString,BacComment
+syn match    BacR1     contained /Runs\s*When/
+syn match    BacR2     contained /Runs\s*On\s*Client/
+syn match    BacR3     contained /Runs\s*On\s*Failure/
+syn keyword  BacR4     contained Command
+syn keyword  BacRW     contained After Before Always
+
+" Schedule {
+syn region   BacSched     display start="Schedule {" end="^}" contains=BacSR,BacString,BacComment,BacName,BacRun
+syn keyword  BacS1       contained Pool FullPool on at
+syn keyword  BacS2        contained sun mon tue wed thu fri sat sunday monday tuesday wednesday thursday friday saturday
+syn keyword  BacS3        contained jan  feb  mar  apr  may  jun  jul  aug  sep  oct  nov  dec
+syn keyword  BacS4        contained 1st 2nd  3rd  4th  5th  first second  third  fourth  fifth
+syn region   BacSR        contained display start="Run = " end="$"  contains=BacS1,BacS2,BacS3,BacS4,LevelElt
+
+syn keyword  BacSpecial   false  true yes no
+
+" Pool
+syn region   BacPool      display start="Pool {" end="^}"     contains=BacP1,BacP2,BacP3,BacString,BacComment
+syn match    BacP1        contained /Pool\s*Type/
+syn match    BacP2        contained /Volume\s*Retention/
+syn keyword  BacP3        contained Name AutoPrune Recycle
+
+syn case match
+if version >= 508 || !exists("did_screen_syn_inits")
+  if version < 508
+    let did_screen_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+" Define the default highlighting.
+
+HiLink BacFileSet   Function
+HiLink BacFSInc     Function
+HiLink BacFSExc     Function
+HiLink BacFSOpt     Function
+HiLink BacFSOpt1    Keyword
+HiLink BacFSOpt2    Keyword
+HiLink BacFS1       Keyword
+HiLink BacFS2       Keyword
+
+HiLink BacInclude   Include
+HiLink BacComment   Comment
+HiLink BacComment2  Comment
+HiLink BacTodo      Todo
+HiLink LevelElt     String
+HiLink BacRun       Function
+
+HiLink BacCat       Function
+HiLink BacCat1      Keyword
+
+HiLink BacSto       Function
+HiLink BacSto1      Keyword
+HiLink BacSto2      Keyword
+
+HiLink BacDir       Function
+HiLink BacDir1      keyword
+HiLink BacDir2      keyword
+
+HiLink BacJob      Function
+HiLink BacJobDefs   Function
+HiLink BacJ1        Keyword
+HiLink BacJ2        Keyword
+HiLink BacJ3        Keyword
+
+HiLink BacClient    Function
+HiLink BacC1       Keyword
+HiLink BacC2       Keyword
+HiLink BacC3       Keyword
+HiLink BacC4       Keyword
+HiLink Level        Keyword
+
+HiLink BacSched     Function
+HiLink BacS1        Keyword
+HiLink BacS2        String
+HiLink BacS3        String
+HiLink BacS4        String
+
+HiLink BacR1        Keyword
+HiLink BacR2        Keyword
+HiLink BacR3        Keyword
+HiLink BacR4        Keyword
+HiLink BacRW        String
+
+HiLink BacPool      Function
+HiLink BacP1        Keyword
+HiLink BacP2        Keyword
+HiLink BacP3        Keyword
+
+HiLink BacName      Keyword
+HiLink BacString    String
+HiLink BacNumber    Number
+HiLink BacCommand   BacCommands
+HiLink BacCommands  Keyword
+HiLink BacSpecial   Boolean
+HiLink BacKey       Function
+HiLink Equal        Comment
+delcommand HiLink
+
+endif
+
diff --git a/bacula/scripts/filetype.vim b/bacula/scripts/filetype.vim
new file mode 100644 (file)
index 0000000..25eeacb
--- /dev/null
@@ -0,0 +1,7 @@
+" put this file to $HOME/.vim
+if exists("have_load_filetypes")
+      finish
+endif
+augroup filetypedetect
+      au! BufRead,BufNewFile bacula-dir.conf   setfiletype bacula
+augroup END