From c30a5f2e27148ea09bad51503c4bd04fce25439e Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Mon, 12 Feb 2007 20:55:43 +0000 Subject: [PATCH] ebl add first vim support for bacula-dir.conf git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4173 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/scripts/bacula.vim | 176 ++++++++++++++++++++++++++++++++++++ bacula/scripts/filetype.vim | 7 ++ 2 files changed, 183 insertions(+) create mode 100644 bacula/scripts/bacula.vim create mode 100644 bacula/scripts/filetype.vim diff --git a/bacula/scripts/bacula.vim b/bacula/scripts/bacula.vim new file mode 100644 index 0000000000..0db7d01ec2 --- /dev/null +++ b/bacula/scripts/bacula.vim @@ -0,0 +1,176 @@ +" Vim syntax file +" Put this file to your $HOME/.vim/syntax/ and use :syntax on +" Language: Bacula +" Maintainer: Eric Bollengier +" 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 + else + command -nargs=+ HiLink hi def link + 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 index 0000000000..25eeacbf5e --- /dev/null +++ b/bacula/scripts/filetype.vim @@ -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 -- 2.39.5