annotate runtime/syntax/pdf.vim @ 34:e170173ecb68 current-release

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