" Vim syntax file
" Language: PDF
" Maintainer: Tim Pope
" Last Change: 2007 Dec 16
if exists("b:current_syntax")
finish
endif
if !exists("main_syntax")
let main_syntax = 'pdf'
endif
syn include @pdfXML syntax/xml.vim
syn case match
syn cluster pdfObjects contains=pdfBoolean,pdfConstant,pdfNumber,pdfFloat,pdfName,pdfHexString,pdfString,pdfArray,pdfHash,pdfReference,pdfComment
syn keyword pdfBoolean true false contained
syn keyword pdfConstant null contained
syn match pdfNumber "[+-]\=\<\d\+\>"
syn match pdfFloat "[+-]\=\<\%(\d\+\.\|\d*\.\d\+\)\>" contained
syn match pdfNameError "#\X\|#\x\X\|#00" contained containedin=pdfName
syn match pdfSpecialChar "#\x\x" contained containedin=pdfName
syn match pdfName "/[^[:space:]\[\](){}<>/]*" contained
syn match pdfHexError "[^[:space:][:xdigit:]<>]" contained
"syn match pdfHexString "<\s*\x[^<>]*\x\s*>" contained contains=pdfHexError
"syn match pdfHexString "<\s*\x\=\s*>" contained
syn region pdfHexString matchgroup=pdfDelimiter start="<<\@!" end=">" contained contains=pdfHexError
syn match pdfStringError "\\." contained containedin=pdfString
syn match pdfSpecialChar "\\\%(\o\{1,3\}\|[nrtbf()\\]\)" contained containedin=pdfString
syn region pdfString matchgroup=pdfDelimiter start="\\\@>" contains=@pdfObjects contained
syn match pdfReference "\<\d\+\s\+\d\+\s\+R\>"
"syn keyword pdfOperator R contained containedin=pdfReference
syn region pdfObject matchgroup=pdfType start="\" end="\" contains=@pdfObjects
syn region pdfObject matchgroup=pdfType start="\