diff options
Diffstat (limited to 'ftplugin/pdf.vim')
| -rw-r--r-- | ftplugin/pdf.vim | 93 | 
1 files changed, 0 insertions, 93 deletions
| diff --git a/ftplugin/pdf.vim b/ftplugin/pdf.vim deleted file mode 100644 index ae3083a5..00000000 --- a/ftplugin/pdf.vim +++ /dev/null @@ -1,93 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim filetype plugin file -" Language:	PDF -" Maintainer:	Tim Pope <vimNOSPAM@tpope.info> -" Last Change:	2007 Dec 16 - -if exists("b:did_ftplugin") -    finish -endif -let b:did_ftplugin = 1 - -setlocal commentstring=%%s -setlocal comments=:% -let b:undo_ftplugin = "setlocal cms< com< | unlet! b:match_words" - -if exists("g:loaded_matchit") -    let b:match_words = '\<\%(\d\+\s\+\d\+\s\+\)obj\>:\<endobj\>,\<stream$:\<endstream\>,\<xref\>:\<trailer\>,<<:>>' -endif - -if exists("g:no_plugin_maps") || exists("g:no_pdf_maps") || v:version < 700 -    finish -endif - -if !exists("b:pdf_tagstack") -    let b:pdf_tagstack = [] -endif - -let b:undo_ftplugin .= " | silent! nunmap <buffer> <C-]> | silent! nunmap <buffer> <C-T>" -nnoremap <silent><buffer> <C-]> :call <SID>Tag()<CR> -" Inline, so the error from an empty tag stack will be simple. -nnoremap <silent><buffer> <C-T> :if len(b:pdf_tagstack) > 0 <Bar> call setpos('.',remove(b:pdf_tagstack, -1)) <Bar> else <Bar> exe "norm! \<Lt>C-T>" <Bar> endif<CR> - -function! s:Tag() -    call add(b:pdf_tagstack,getpos('.')) -    if getline('.') =~ '^\d\+$' && getline(line('.')-1) == 'startxref' -	return s:dodigits(getline('.')) -    elseif getline('.') =~ '/Prev\s\+\d\+\>\%(\s\+\d\)\@!' && expand("<cword>") =~ '^\d\+$' -	return s:dodigits(expand("<cword>")) -    elseif getline('.') =~ '^\d\{10\} \d\{5\} ' -	return s:dodigits(matchstr(getline('.'),'^\d\+')) -    else -	let line = getline(".") -	let lastend = 0 -	let pat = '\<\d\+\s\+\d\+\s\+R\>' -	while lastend >= 0 -	    let beg = match(line,'\C'.pat,lastend) -	    let end = matchend(line,'\C'.pat,lastend) -	    if beg < col(".") && end >= col(".") -		return s:doobject(matchstr(line,'\C'.pat,lastend)) -	    endif -	    let lastend = end -	endwhile -	return s:notag() -    endif -endfunction - -function! s:doobject(string) -    let first = matchstr(a:string,'^\s*\zs\d\+') -    let second = matchstr(a:string,'^\s*\d\+\s\+\zs\d\+') -    norm! m' -    if first != '' && second != '' -	let oldline = line('.') -	let oldcol = col('.') -	1 -	if !search('^\s*'.first.'\s\+'.second.'\s\+obj\>') -	    exe oldline -	    exe 'norm! '.oldcol.'|' -	    return s:notag() -	endif -    endif -endfunction - -function! s:dodigits(digits) -    let digits = 0 + substitute(a:digits,'^0*','','') -    norm! m' -    if digits <= 0 -	norm! 1go -    else -	" Go one character before the destination and advance.  This method -	" lands us after a newline rather than before, if that is our target. -	exe "goto ".(digits)."|norm! 1 " -    endif -endfunction - -function! s:notag() -    silent! call remove(b:pdf_tagstack,-1) -    echohl ErrorMsg -    echo "E426: tag not found" -    echohl NONE -endfunction - -endif | 
