Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/pdf.vim @ 5:db46d51a3939
Initial revision
author | axmo |
---|---|
date | Wed, 13 Aug 2008 17:36:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
4:7d3c79a9b40a | 5:db46d51a3939 |
---|---|
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" |