codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: PDF3" Maintainer: Tim Pope <vimNOSPAM@tpope.info>4" Last Change: 2007 Dec 165 6if exists("b:current_syntax")7 finish8endif9 10if !exists("main_syntax")11 let main_syntax = 'pdf'12endif13 14syn include @pdfXML syntax/xml.vim15 16syn case match17 18syn cluster pdfObjects contains=pdfBoolean,pdfConstant,pdfNumber,pdfFloat,pdfName,pdfHexString,pdfString,pdfArray,pdfHash,pdfReference,pdfComment19syn keyword pdfBoolean true false contained20syn keyword pdfConstant null contained21syn match pdfNumber "[+-]\=\<\d\+\>"22syn match pdfFloat "[+-]\=\<\%(\d\+\.\|\d*\.\d\+\)\>" contained23 24syn match pdfNameError "#\X\|#\x\X\|#00" contained containedin=pdfName25syn match pdfSpecialChar "#\x\x" contained containedin=pdfName26syn match pdfName "/[^[:space:]\[\](){}<>/]*" contained27syn match pdfHexError "[^[:space:][:xdigit:]<>]" contained28"syn match pdfHexString "<\s*\x[^<>]*\x\s*>" contained contains=pdfHexError29"syn match pdfHexString "<\s*\x\=\s*>" contained30syn region pdfHexString matchgroup=pdfDelimiter start="<<\@!" end=">" contained contains=pdfHexError31syn match pdfStringError "\\." contained containedin=pdfString32syn match pdfSpecialChar "\\\%(\o\{1,3\}\|[nrtbf()\\]\)" contained containedin=pdfString33syn region pdfString matchgroup=pdfDelimiter start="\\\@<!(" end="\\\@<!)" contains=pdfString34 35syn region pdfArray matchgroup=pdfOperator start="\[" end="\]" contains=@pdfObjects contained36syn region pdfHash matchgroup=pdfOperator start="<<" end=">>" contains=@pdfObjects contained37syn match pdfReference "\<\d\+\s\+\d\+\s\+R\>"38"syn keyword pdfOperator R contained containedin=pdfReference39 40syn region pdfObject matchgroup=pdfType start="\<obj\>" end="\<endobj\>" contains=@pdfObjects41syn region pdfObject matchgroup=pdfType start="\<obj\r\=\n" end="\<endobj\>" contains=@pdfObjects fold42 43" Do these twice. The ones with only newlines are foldable44syn region pdfStream matchgroup=pdfType start="\<stream\r\=\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject45syn region pdfXMLStream matchgroup=pdfType start="\<stream\r\=\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML46syn region pdfStream matchgroup=pdfType start="\<stream\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject fold47syn region pdfXMLStream matchgroup=pdfType start="\<stream\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML fold48 49syn region pdfPreProc start="\<xref\%(\r\|\n\|\r\n\)" end="^trailer\%(\r\|\n\|\r\n\)" skipwhite skipempty nextgroup=pdfHash contains=pdfNumber fold50syn keyword pdfPreProc startxref51syn match pdfComment "%.*\%(\r\|\n\)" contains=pdfPreProc52syn match pdfPreProc "^%\%(%EOF\|PDF-\d\.\d\)\(\r\|\n\)"53 54hi def link pdfOperator Operator55hi def link pdfNumber Number56hi def link pdfFloat Float57hi def link pdfBoolean Boolean58hi def link pdfConstant Constant59hi def link pdfName Identifier60hi def link pdfNameError pdfStringError61hi def link pdfHexString pdfString62hi def link pdfHexError pdfStringError63hi def link pdfString String64hi def link pdfStringError Error65hi def link pdfSpecialChar SpecialChar66hi def link pdfDelimiter Delimiter67hi def link pdfType Type68hi def link pdfReference Tag69hi def link pdfStream NonText70hi def link pdfPreProc PreProc71hi def link pdfComment Comment72 73let b:current_syntax = "pdf"74 