Mercurial > vim
view runtime/syntax/pdf.vim @ 32174:f84e5db372ea v9.0.1418
patch 9.0.1418: the included xdiff code is a bit outdated
Commit: https://github.com/vim/vim/commit/5fedb8a5ab7addb584728c89e809be190de992bf
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Mon Mar 20 17:30:52 2023 +0000
patch 9.0.1418: the included xdiff code is a bit outdated
Problem: The included xdiff code is a bit outdated.
Solution: Sync with the latest git xdiff code. (Yee Cheng Chin,
closes #12181)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 20 Mar 2023 18:45:04 +0100 |
parents | b9740fb41986 |
children |
line wrap: on
line source
" Vim syntax file " Language: PDF " Maintainer: Tim Pope <vimNOSPAM@tpope.info> " 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="\\\@<!(" end="\\\@<!)" contains=pdfString syn region pdfArray matchgroup=pdfOperator start="\[" end="\]" contains=@pdfObjects contained syn region pdfHash matchgroup=pdfOperator start="<<" end=">>" contains=@pdfObjects contained syn match pdfReference "\<\d\+\s\+\d\+\s\+R\>" "syn keyword pdfOperator R contained containedin=pdfReference syn region pdfObject matchgroup=pdfType start="\<obj\>" end="\<endobj\>" contains=@pdfObjects syn region pdfObject matchgroup=pdfType start="\<obj\r\=\n" end="\<endobj\>" contains=@pdfObjects fold " Do these twice. The ones with only newlines are foldable syn region pdfStream matchgroup=pdfType start="\<stream\r\=\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject syn region pdfXMLStream matchgroup=pdfType start="\<stream\r\=\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML syn region pdfStream matchgroup=pdfType start="\<stream\n" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject fold syn region pdfXMLStream matchgroup=pdfType start="\<stream\n\_s*\%(<?\)\@=" end="endstream\s*\%(\r\|\n\|\r\n\)" contained containedin=pdfObject contains=@pdfXML fold syn region pdfPreProc start="\<xref\%(\r\|\n\|\r\n\)" end="^trailer\%(\r\|\n\|\r\n\)" skipwhite skipempty nextgroup=pdfHash contains=pdfNumber fold syn keyword pdfPreProc startxref syn match pdfComment "%.*\%(\r\|\n\)" contains=pdfPreProc syn match pdfPreProc "^%\%(%EOF\|PDF-\d\.\d\)\(\r\|\n\)" hi def link pdfOperator Operator hi def link pdfNumber Number hi def link pdfFloat Float hi def link pdfBoolean Boolean hi def link pdfConstant Constant hi def link pdfName Identifier hi def link pdfNameError pdfStringError hi def link pdfHexString pdfString hi def link pdfHexError pdfStringError hi def link pdfString String hi def link pdfStringError Error hi def link pdfSpecialChar SpecialChar hi def link pdfDelimiter Delimiter hi def link pdfType Type hi def link pdfReference Tag hi def link pdfStream NonText hi def link pdfPreProc PreProc hi def link pdfComment Comment let b:current_syntax = "pdf"