b374k
m1n1 1.01
Apache/2.2.15 (CentOS)
Linux obd60-6c49958d75-2q7cw 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64
uid=48(apache) gid=48(apache) groups=48(apache)
server ip : 104.21.65.202 | your ip : 10.244.126.0
safemode OFF
 >  / usr / share / vim / vim74 / ftplugin /
Filename/usr/share/vim/vim74/ftplugin/debcontrol.vim
Size1.84 kb
Permissionrw-r--r--
Ownerapache
Create time26-May-2024 11:06
Last modified17-Jul-2019 02:20
Last accessed17-Jul-2019 02:20
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
" Vim filetype plugin file (GUI menu and folding)
" Language: Debian control files
" Maintainer: Debian Vim Maintainers <[email protected]>
" Former Maintainer: Pierre Habouzit <[email protected]>
" Last Change: 2008-03-08
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/ftplugin/debcontrol.vim

" Do these settings once per buffer
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin=1

" {{{1 Local settings (do on every load)
if exists("g:debcontrol_fold_enable")
setlocal foldmethod=expr
setlocal foldexpr=DebControlFold(v:lnum)
setlocal foldtext=DebControlFoldText()
endif
setlocal textwidth=0

" Clean unloading
let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"

" }}}1

" {{{1 folding

function! s:getField(f, lnum)
let line = getline(a:lnum)
let fwdsteps = 0
while line !~ '^'.a:f.':'
let fwdsteps += 1
let line = getline(a:lnum + fwdsteps)
if line == ''
return 'unknown'
endif
endwhile
return substitute(line, '^'.a:f.': *', '', '')
endfunction

function! DebControlFoldText()
if v:folddashes == '-' " debcontrol entry fold
let type = substitute(getline(v:foldstart), ':.*', '', '')
if type == 'Source'
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
endif
let arch = s:getField('Architecture', v:foldstart)
let ftext = substitute(foldtext(), ' *Package: *', ' [' . arch . '] ', '')
return ftext . ': ' . s:getField('Description', v:foldstart) . ' '
endif
return foldtext()
endfunction

function! DebControlFold(l)

" This is for not merging blank lines around folds to them
if getline(a:l) =~ '^Source:'
return '>1'
endif

if getline(a:l) =~ '^Package:'
return '>1'
endif

return '='
endfunction

" }}}1