neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

pdf.vim (3539B)


      1 " Vim syntax file
      2 " Language:	PDF
      3 " Maintainer:	Tim Pope <vimNOSPAM@tpope.info>
      4 " Last Change:	2007 Dec 16
      5 
      6 if exists("b:current_syntax")
      7    finish
      8 endif
      9 
     10 if !exists("main_syntax")
     11    let main_syntax = 'pdf'
     12 endif
     13 
     14 syn include @pdfXML syntax/xml.vim
     15 
     16 syn case match
     17 
     18 syn cluster pdfObjects contains=pdfBoolean,pdfConstant,pdfNumber,pdfFloat,pdfName,pdfHexString,pdfString,pdfArray,pdfHash,pdfReference,pdfComment
     19 syn keyword pdfBoolean  true false contained
     20 syn keyword pdfConstant null       contained
     21 syn match   pdfNumber "[+-]\=\<\d\+\>"
     22 syn match   pdfFloat   "[+-]\=\<\%(\d\+\.\|\d*\.\d\+\)\>" contained
     23 
     24 syn match   pdfNameError "#\X\|#\x\X\|#00" contained containedin=pdfName
     25 syn match   pdfSpecialChar "#\x\x" contained containedin=pdfName
     26 syn match   pdfName   "/[^[:space:]\[\](){}<>/]*"   contained
     27 syn match   pdfHexError  "[^[:space:][:xdigit:]<>]" contained
     28 "syn match   pdfHexString "<\s*\x[^<>]*\x\s*>"    contained contains=pdfHexError
     29 "syn match   pdfHexString "<\s*\x\=\s*>"          contained
     30 syn region  pdfHexString matchgroup=pdfDelimiter start="<<\@!" end=">" contained contains=pdfHexError
     31 syn match   pdfStringError "\\."      contained containedin=pdfString
     32 syn match   pdfSpecialChar "\\\%(\o\{1,3\}\|[nrtbf()\\]\)"  contained containedin=pdfString
     33 syn region  pdfString matchgroup=pdfDelimiter start="\\\@<!(" end="\\\@<!)" contains=pdfString
     34 
     35 syn region  pdfArray  matchgroup=pdfOperator start="\[" end="\]" contains=@pdfObjects contained
     36 syn region  pdfHash   matchgroup=pdfOperator start="<<" end=">>" contains=@pdfObjects contained
     37 syn match   pdfReference "\<\d\+\s\+\d\+\s\+R\>"
     38 "syn keyword pdfOperator R contained containedin=pdfReference
     39 
     40 syn region  pdfObject matchgroup=pdfType start="\<obj\>"     end="\<endobj\>" contains=@pdfObjects
     41 syn region  pdfObject matchgroup=pdfType start="\<obj\r\=\n" end="\<endobj\>" contains=@pdfObjects fold
     42 
     43 " Do these twice.  The ones with only newlines are foldable
     44 syn region  pdfStream matchgroup=pdfType start="\<stream\r\=\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject
     45 syn region  pdfXMLStream matchgroup=pdfType start="\<stream\r\=\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML
     46 syn region  pdfStream matchgroup=pdfType start="\<stream\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject fold
     47 syn region  pdfXMLStream matchgroup=pdfType start="\<stream\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML fold
     48 
     49 syn region  pdfPreProc start="\<xref\%(\r\|\n\|\r\n\)" end="^trailer\%(\r\|\n\|\r\n\)" skipwhite skipempty nextgroup=pdfHash contains=pdfNumber fold
     50 syn keyword pdfPreProc startxref
     51 syn match   pdfComment  "%.*\%(\r\|\n\)" contains=pdfPreProc
     52 syn match   pdfPreProc  "^%\%(%EOF\|PDF-\d\.\d\)\(\r\|\n\)"
     53 
     54 hi def link pdfOperator     Operator
     55 hi def link pdfNumber       Number
     56 hi def link pdfFloat        Float
     57 hi def link pdfBoolean      Boolean
     58 hi def link pdfConstant     Constant
     59 hi def link pdfName         Identifier
     60 hi def link pdfNameError    pdfStringError
     61 hi def link pdfHexString    pdfString
     62 hi def link pdfHexError     pdfStringError
     63 hi def link pdfString       String
     64 hi def link pdfStringError  Error
     65 hi def link pdfSpecialChar  SpecialChar
     66 hi def link pdfDelimiter    Delimiter
     67 hi def link pdfType         Type
     68 hi def link pdfReference    Tag
     69 hi def link pdfStream       NonText
     70 hi def link pdfPreProc      PreProc
     71 hi def link pdfComment      Comment
     72 
     73 let b:current_syntax = "pdf"