[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.216.167.229: ~ $
" Vim filetype plugin file
" Language:	cobol
" Author:	Tim Pope <vimNOSPAM@tpope.info>
" $Id: cobol.vim,v 1.1 2007/05/05 17:24:38 vimboss Exp $

" Insert mode mappings: <C-T> <C-D> <Tab>
" Normal mode mappings: < > << >> [[ ]] [] ][
" Visual mode mappings: < >

if exists("b:did_ftplugin")
    finish
endif
let b:did_ftplugin = 1

let s:cpo_save = &cpo
set cpo&vim

setlocal commentstring=\ \ \ \ \ \ *%s
setlocal comments=:*
setlocal fo+=croqlt
setlocal expandtab
setlocal textwidth=72

" matchit support
if exists("loaded_matchit")
    let s:ordot = '\|\ze\.\%( \@=\|$\)'
    let b:match_ignorecase=1
    "let b:match_skip = 'getline(".") =~ "^.\\{6\\}[*/C]"'
    let b:match_words=
    \ '\$if\>:$else\>:\$endif\>,' .
    \ '[$-]\@<!\<if\>:\<\%(then\|else\)\>:\<end-if\>'.s:ordot.',' .
    \ '-\@<!\<perform\s\+\%(\d\+\s\+times\|until\|varying\|with\s\+test\)\>:\<end-perform\>'.s:ordot . ',' .
    \ '-\@<!\<\%(search\|evaluate\)\>:\<\%(when\)\>:\<end-\%(search\|evaluate\)\>' .s:ordot . ',' .
    \ '-\@<!\<\%(add\|compute\|divide\|multiply\|subtract\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+size\s\+error\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+size\s\+error\>:\<end-\%(add\|compute\|divide\|multiply\|subtract\)\>' .s:ordot . ',' .
    \ '-\@<!\<\%(string\|unstring\|accept\|display\|call\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>:\<end-\%(string\|unstring\|accept\|display\|call\)\>' .s:ordot . ',' .
    \ '-\@<!\<\%(delete\|rewrite\|start\|write\|read\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>:\<end-\%(delete\|rewrite\|start\|write\|read\)\>' .s:ordot
endif

if has("gui_win32") && !exists("b:browsefilter")
  let b:browsefilter = "COBOL Source Files (*.cbl, *.cob)\t*.cbl;*.cob;*.lib\n".
		     \ "All Files (*.*)\t*.*\n"
endif

let b:undo_ftplugin = "setlocal com< cms< fo< et< tw<" .
            \ " | unlet! b:browsefilter b:match_words b:match_ignorecase b:match_skip"
if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
    let b:undo_ftplugin = b:undo_ftplugin .
            \ " | sil! exe 'nunmap <buffer> <'" .
            \ " | sil! exe 'nunmap <buffer> >'" .
            \ " | sil! exe 'nunmap <buffer> <<'" .
            \ " | sil! exe 'nunmap <buffer> >>'" .
            \ " | sil! exe 'vunmap <buffer> <'" .
            \ " | sil! exe 'vunmap <buffer> >'" .
            \ " | sil! exe 'iunmap <buffer> <C-D>'" .
            \ " | sil! exe 'iunmap <buffer> <C-T>'" .
            \ " | sil! exe 'iunmap <buffer> <Tab>'" .
            \ " | sil! exe 'nunmap <buffer> <Plug>Traditional'" .
            \ " | sil! exe 'nunmap <buffer> <Plug>Comment'" .
            \ " | sil! exe 'nunmap <buffer> <Plug>DeComment'" .
            \ " | sil! exe 'vunmap <buffer> <Plug>VisualTraditional'" .
            \ " | sil! exe 'vunmap <buffer> <Plug>VisualComment'" .
            \ " | sil! exe 'iunmap <buffer> <Plug>VisualDeComment'" .
            \ " | sil! exe 'unmap  <buffer> [['" .
            \ " | sil! exe 'unmap  <buffer> ]]'" .
            \ " | sil! exe 'unmap  <buffer> []'" .
            \ " | sil! exe 'unmap  <buffer> ]['"
endif

if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
    if version >= 700
        nnoremap <silent> <buffer> > :set opfunc=<SID>IncreaseFunc<CR>g@
        nnoremap <silent> <buffer> < :set opfunc=<SID>DecreaseFunc<CR>g@
    endif
    nnoremap <silent> <buffer> >> :call CobolIndentBlock(1)<CR>
    nnoremap <silent> <buffer> << :call CobolIndentBlock(-1)<CR>
    vnoremap <silent> <buffer> > :call CobolIndentBlock(v:count1)<CR>
    vnoremap <silent> <buffer> < :call CobolIndentBlock(-v:count1)<CR>
    inoremap <silent> <buffer> <C-T> <C-R>=<SID>IncreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
    inoremap <silent> <buffer> <C-D> <C-R>=<SID>DecreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
    if !maparg("<Tab>","i")
        inoremap <silent> <buffer> <Tab> <C-R>=<SID>Tab()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
    endif
    noremap <silent> <buffer> [[ m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\s*\.','bW')<CR>
    noremap <silent> <buffer> ]] m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\.','W')<CR>
    noremap <silent> <buffer> [] m':call <SID>toend('b')<CR>
    noremap <silent> <buffer> ][ m':call <SID>toend('')<CR>
    " For EnhancedCommentify
    noremap <silent> <buffer> <Plug>Traditional      :call <SID>Comment('t')<CR>
    noremap <silent> <buffer> <Plug>Comment          :call <SID>Comment('c')<CR>
    noremap <silent> <buffer> <Plug>DeComment        :call <SID>Comment('u')<CR>
    noremap <silent> <buffer> <Plug>VisualTraditional :'<,'>call <SID>Comment('t')<CR>
    noremap <silent> <buffer> <Plug>VisualComment     :'<,'>call <SID>Comment('c')<CR>
    noremap <silent> <buffer> <Plug>VisualDeComment   :'<,'>call <SID>Comment('u')<CR>
endif

let &cpo = s:cpo_save
unlet s:cpo_save

if exists("g:did_cobol_ftplugin_functions")
    finish
endif
let g:did_cobol_ftplugin_functions = 1

function! s:repeat(str,count)
    let i = 0
    let ret = ""
    while i < a:count
        let ret = ret . a:str
        let i = i + 1
    endwhile
    return ret
endfunction

function! s:increase(...)
    let lnum = '.'
    let sw = &shiftwidth
    let i = a:0 ? a:1 : indent(lnum)
    if i >= 11
        return sw - (i - 11) % sw
    elseif i >= 7
        return 11-i
    elseif i == 6
        return 1
    else
        return 6-i
    endif
endfunction

function! s:decrease(...)
    let lnum = '.'
    let sw = &shiftwidth
    let i = indent(a:0 ? a:1 : lnum)
    if i >= 11 + sw
        return 1 + (i + 12) % sw
    elseif i > 11
        return i-11
    elseif i > 7
        return i-7
    elseif i == 7
        return 1
    else
        return i
    endif
endfunction

function! CobolIndentBlock(shift)
    let head = strpart(getline('.'),0,7)
    let tail = strpart(getline('.'),7)
    let indent = match(tail,'[^ ]')
    let sw = &shiftwidth
    let shift = a:shift
    if shift > 0
        if indent < 4
            let tail = s:repeat(" ",4-indent).tail
            let shift = shift - 1
        endif
        let tail = s:repeat(" ",shift*sw).tail
        let shift = 0
    elseif shift < 0
        if (indent-4) > -shift * sw
            let tail = strpart(tail,-shift * sw)
        elseif (indent-4) > (-shift-1) * sw
            let tail = strpart(tail,indent - 4)
        else
            let tail = strpart(tail,indent)
        endif
    endif
    call setline('.',head.tail)
endfunction

function! s:IncreaseFunc(type)
    '[,']call CobolIndentBlock(1)
endfunction

function! s:DecreaseFunc(type)
    '[,']call CobolIndentBlock(-1)
endfunction

function! s:IncreaseIndent()
    let c = "\<C-T>"
    if exists("*InsertCtrlTWrapper")
        let key = InsertCtrlTWrapper()
        if key != c
            return key
        endif
    endif
    let interval = s:increase()
    let b:cobol_shiftwidth = &shiftwidth
    let &shiftwidth = 1
    let lastchar = strpart(getline('.'),col('.')-2,1)
    if lastchar == '0' || lastchar == '^'
        return "\<BS>".lastchar.c
    else
        return s:repeat(c,interval)
    endif
endfunction

function! s:DecreaseIndent()
    let c = "\<C-D>"
    if exists("*InsertCtrlDWrapper")
        " I hack Ctrl-D to delete when not at the end of the line.
        let key = InsertCtrlDWrapper()
        if key != c
            return key
        endif
    endif
    let interval = s:decrease()
    let b:cobol_shiftwidth = &shiftwidth
    let &shiftwidth = 1
    return s:repeat(c,interval)
endfunction

function! s:RestoreShiftwidth()
    if exists("b:cobol_shiftwidth")
        let &shiftwidth=b:cobol_shiftwidth
        unlet b:cobol_shiftwidth
    endif
    return ""
endfunction

function! s:Tab()
    if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta)
        return s:IncreaseIndent()
    elseif &sts == &sw && &sts != 8 && &et
        return s:repeat(" ",s:increase(col('.')-1))
    else
        return "\<Tab>"
    endif
endfunction

function! s:Comment(arg)
    " For EnhancedCommentify
    let line = getline('.')
    if (line =~ '^.\{6\}[*/C]' || a:arg == 'c') && a:arg != 'u'
        let line = substitute(line,'^.\{6\}\zs.',' ','')
    else
        let line = substitute(line,'^.\{6\}\zs.','*','')
    endif
    call setline('.',line)
endfunction

function! s:toend(direction)
    let ignore = '^\(\s*\|.\{6\}\)\%([*/]\|\s*$\)'
    let keep = line('.')
    keepjumps +
    while line('.') < line('$') && getline('.') =~ ignore
        keepjumps +
    endwhile
    let res = search('\c^\%(\s*\|.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\|section\)\s*\.',a:direction.'W')
    if a:direction != 'b' && !res
        let res = line('$')
        keepjumps $
    elseif res
        keepjumps -
    endif
    if res
        while line('.') > 1 && getline('.') =~ ignore
            keepjumps -
        endwhile
        if line('.') == 1 && getline('.') =~ ignore
            exe "keepjumps ".keep
        endif
    else
        exe "keepjumps ".keep
    endif
endfunction

Filemanager

Name Type Size Permission Actions
README.txt File 869 B 0644
a2ps.vim File 458 B 0644
aap.vim File 716 B 0644
abap.vim File 800 B 0644
abaqus.vim File 3.31 KB 0644
ada.vim File 6.26 KB 0644
alsaconf.vim File 426 B 0644
ant.vim File 1.31 KB 0644
arch.vim File 419 B 0644
art.vim File 410 B 0644
aspvbs.vim File 1.87 KB 0644
automake.vim File 325 B 0644
bdf.vim File 437 B 0644
bst.vim File 333 B 0644
btm.vim File 316 B 0644
c.vim File 1.92 KB 0644
calendar.vim File 450 B 0644
cdrdaoconf.vim File 375 B 0644
ch.vim File 472 B 0644
changelog.vim File 8.54 KB 0644
clojure.vim File 2.78 KB 0644
cobol.vim File 9.17 KB 0644
conf.vim File 422 B 0644
config.vim File 1.24 KB 0644
context.vim File 955 B 0644
cpp.vim File 288 B 0644
crm.vim File 402 B 0644
cs.vim File 802 B 0644
csc.vim File 734 B 0644
csh.vim File 1.59 KB 0644
css.vim File 516 B 0644
cucumber.vim File 5.2 KB 0644
cvsrc.vim File 387 B 0644
debchangelog.vim File 11.26 KB 0644
debcontrol.vim File 1.84 KB 0644
denyhosts.vim File 375 B 0644
dictconf.vim File 422 B 0644
dictdconf.vim File 423 B 0644
diff.vim File 355 B 0644
dircolors.vim File 419 B 0644
docbk.vim File 530 B 0644
dosbatch.vim File 777 B 0644
dosini.vim File 446 B 0644
dtd.vim File 1.1 KB 0644
dtrace.vim File 1.12 KB 0644
elinks.vim File 424 B 0644
erlang.vim File 1.77 KB 0644
eruby.vim File 3.08 KB 0644
eterm.vim File 458 B 0644
falcon.vim File 1.31 KB 0644
fetchmail.vim File 416 B 0644
flexwiki.vim File 1.83 KB 0644
fortran.vim File 4.16 KB 0644
framescript.vim File 768 B 0644
fvwm.vim File 390 B 0644
git.vim File 1.19 KB 0644
gitcommit.vim File 2.16 KB 0644
gitconfig.vim File 376 B 0644
gitrebase.vim File 1.4 KB 0644
gitsendemail.vim File 157 B 0644
gpg.vim File 421 B 0644
gprof.vim File 939 B 0644
group.vim File 413 B 0644
grub.vim File 422 B 0644
haml.vim File 1.84 KB 0644
hamster.vim File 1.88 KB 0644
haskell.vim File 433 B 0644
help.vim File 430 B 0644
hostconf.vim File 375 B 0644
hostsaccess.vim File 424 B 0644
html.vim File 2.87 KB 0644
htmldjango.vim File 331 B 0644
indent.vim File 442 B 0644
initex.vim File 1005 B 0644
ishd.vim File 1.23 KB 0644
java.vim File 1.65 KB 0644
javascript.vim File 1.02 KB 0644
jsp.vim File 1.96 KB 0644
kconfig.vim File 375 B 0644
kwt.vim File 851 B 0644
ld.vim File 458 B 0644
lftp.vim File 422 B 0644
libao.vim File 428 B 0644
limits.vim File 424 B 0644
liquid.vim File 1.85 KB 0644
lisp.vim File 911 B 0644
logcheck.vim File 500 B 0644
loginaccess.vim File 430 B 0644
logindefs.vim File 428 B 0644
logtalk.dict File 1.75 KB 0644
logtalk.vim File 401 B 0644
lprolog.vim File 1.25 KB 0644
lua.vim File 973 B 0644
m4.vim File 414 B 0644
mail.vim File 1.08 KB 0644
mailaliases.vim File 375 B 0644
mailcap.vim File 422 B 0644
make.vim File 935 B 0644
man.vim File 4.6 KB 0644
manconf.vim File 432 B 0644
markdown.vim File 572 B 0644
matlab.vim File 649 B 0644
mf.vim File 404 B 0644
modconf.vim File 465 B 0644
mp.vim File 621 B 0644
mplayerconf.vim File 460 B 0644
mrxvtrc.vim File 798 B 0644
msmessages.vim File 1.11 KB 0644
muttrc.vim File 455 B 0644
nanorc.vim File 435 B 0644
netrc.vim File 416 B 0644
nsis.vim File 553 B 0644
objc.vim File 296 B 0644
ocaml.vim File 22.5 KB 0644
occam.vim File 1.27 KB 0644
pamconf.vim File 421 B 0644
pascal.vim File 667 B 0644
passwd.vim File 412 B 0644
pdf.vim File 2.55 KB 0644
perl.vim File 2.77 KB 0644
perl6.vim File 2.47 KB 0644
php.vim File 2.75 KB 0644
pinfo.vim File 423 B 0644
plaintex.vim File 1.12 KB 0644
postscr.vim File 1006 B 0644
procmail.vim File 467 B 0644
prolog.vim File 428 B 0644
protocols.vim File 445 B 0644
pyrex.vim File 766 B 0644
python.vim File 1.33 KB 0644
qf.vim File 459 B 0644
quake.vim File 427 B 0644
racc.vim File 437 B 0644
readline.vim File 426 B 0644
reva.vim File 709 B 0644
rnc.vim File 419 B 0644
rpl.vim File 620 B 0644
rst.vim File 444 B 0644
ruby.vim File 15.48 KB 0644
sass.vim File 580 B 0644
scheme.vim File 1.71 KB 0644
screen.vim File 424 B 0644
scss.vim File 200 B 0644
sensors.vim File 443 B 0644
services.vim File 440 B 0644
setserial.vim File 427 B 0644
sgml.vim File 1.18 KB 0644
sh.vim File 1.17 KB 0644
sieve.vim File 457 B 0644
slpconf.vim File 465 B 0644
slpreg.vim File 464 B 0644
slpspi.vim File 455 B 0644
spec.vim File 5.21 KB 0644
sql.vim File 20.08 KB 0644
sshconfig.vim File 429 B 0644
sudoers.vim File 426 B 0644
svg.vim File 1.17 KB 0644
sysctl.vim File 441 B 0644
tcl.vim File 1002 B 0644
tcsh.vim File 1.18 KB 0644
terminfo.vim File 418 B 0644
tex.vim File 1.6 KB 0644
treetop.vim File 404 B 0644
tt2html.vim File 434 B 0644
udevconf.vim File 422 B 0644
udevperm.vim File 420 B 0644
udevrules.vim File 414 B 0644
updatedb.vim File 431 B 0644
vb.vim File 1.86 KB 0644
verilog.vim File 1.64 KB 0644
vhdl.vim File 3.42 KB 0644
vim.vim File 2.88 KB 0644
xdefaults.vim File 469 B 0644
xf86conf.vim File 422 B 0644
xhtml.vim File 1.99 KB 0644
xinetd.vim File 464 B 0644
xml.vim File 1.87 KB 0644
xmodmap.vim File 422 B 0644
xs.vim File 465 B 0644
xsd.vim File 1.14 KB 0644
xslt.vim File 539 B 0644
yaml.vim File 452 B 0644
zimbu.vim File 5.2 KB 0644
zsh.vim File 674 B 0644