Mercurial > vim
view runtime/syntax/pdf.vim @ 7627:d9ec7d22494d v7.4.1113
commit https://github.com/vim/vim/commit/4119cf80e1e534057680f9543e73edf7967c2440
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 17 14:59:01 2016 +0100
patch 7.4.1113
Problem: Using {ns} in variable name does not work. (lilydjwg)
Solution: Fix recognizing colon. Add a test.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 17 Jan 2016 15:00:05 +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"