mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
74 lines
3.5 KiB
VimL
74 lines
3.5 KiB
VimL
" 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"
|