Current Path: > > usr > share > vim > vim80 > ftplugin
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
README.txt | File | 869 bytes | August 02 2022 16:56:59. | |
a2ps.vim | File | 470 bytes | August 02 2022 16:56:59. | |
aap.vim | File | 716 bytes | August 02 2022 16:56:59. | |
abap.vim | File | 800 bytes | August 02 2022 16:56:59. | |
abaqus.vim | File | 3391 bytes | August 02 2022 16:56:59. | |
ada.vim | File | 6408 bytes | August 02 2022 16:56:59. | |
alsaconf.vim | File | 438 bytes | August 02 2022 16:56:59. | |
ant.vim | File | 1341 bytes | August 02 2022 16:56:59. | |
arch.vim | File | 431 bytes | August 02 2022 16:56:59. | |
art.vim | File | 410 bytes | August 02 2022 16:56:59. | |
aspvbs.vim | File | 1916 bytes | August 02 2022 16:56:59. | |
automake.vim | File | 337 bytes | August 02 2022 16:56:59. | |
awk.vim | File | 411 bytes | August 02 2022 16:56:59. | |
bdf.vim | File | 449 bytes | August 02 2022 16:56:59. | |
bst.vim | File | 333 bytes | August 02 2022 16:56:59. | |
btm.vim | File | 316 bytes | August 02 2022 16:56:59. | |
bzl.vim | File | 3063 bytes | August 02 2022 16:56:59. | |
c.vim | File | 1967 bytes | August 02 2022 16:56:59. | |
calendar.vim | File | 462 bytes | August 02 2022 16:56:59. | |
cdrdaoconf.vim | File | 383 bytes | August 02 2022 16:56:59. | |
ch.vim | File | 472 bytes | August 02 2022 16:56:59. | |
changelog.vim | File | 8891 bytes | August 02 2022 16:56:59. | |
chicken.vim | File | 1663 bytes | August 02 2022 16:56:59. | |
clojure.vim | File | 3833 bytes | August 02 2022 16:56:59. | |
cmake.vim | File | 359 bytes | August 02 2022 16:56:59. | |
cobol.vim | File | 9458 bytes | August 02 2022 16:56:59. | |
conf.vim | File | 434 bytes | August 02 2022 16:56:59. | |
config.vim | File | 1274 bytes | August 02 2022 16:56:59. | |
context.vim | File | 4364 bytes | August 02 2022 16:56:59. | |
cpp.vim | File | 288 bytes | August 02 2022 16:56:59. | |
crm.vim | File | 414 bytes | August 02 2022 16:56:59. | |
cs.vim | File | 802 bytes | August 02 2022 16:56:59. | |
csc.vim | File | 734 bytes | August 02 2022 16:56:59. | |
csh.vim | File | 1633 bytes | August 02 2022 16:56:59. | |
css.vim | File | 528 bytes | August 02 2022 16:56:59. | |
cucumber.vim | File | 5115 bytes | August 02 2022 16:56:59. | |
cvsrc.vim | File | 399 bytes | August 02 2022 16:56:59. | |
debchangelog.vim | File | 11495 bytes | August 02 2022 16:56:59. | |
debcontrol.vim | File | 1840 bytes | August 02 2022 16:56:59. | |
denyhosts.vim | File | 383 bytes | August 02 2022 16:56:59. | |
dictconf.vim | File | 434 bytes | August 02 2022 16:56:59. | |
dictdconf.vim | File | 435 bytes | August 02 2022 16:56:59. | |
diff.vim | File | 355 bytes | August 02 2022 16:56:59. | |
dircolors.vim | File | 431 bytes | August 02 2022 16:56:59. | |
docbk.vim | File | 530 bytes | August 02 2022 16:56:59. | |
dockerfile.vim | File | 356 bytes | August 02 2022 16:56:59. | |
dosbatch.vim | File | 777 bytes | August 02 2022 16:56:59. | |
dosini.vim | File | 458 bytes | August 02 2022 16:56:59. | |
dtd.vim | File | 1123 bytes | August 02 2022 16:56:59. | |
dtrace.vim | File | 1151 bytes | August 02 2022 16:56:59. | |
eiffel.vim | File | 4088 bytes | August 02 2022 16:56:59. | |
elinks.vim | File | 436 bytes | August 02 2022 16:56:59. | |
erlang.vim | File | 1811 bytes | August 02 2022 16:56:59. | |
eruby.vim | File | 3165 bytes | August 02 2022 16:56:59. | |
eterm.vim | File | 470 bytes | August 02 2022 16:56:59. | |
falcon.vim | File | 1344 bytes | August 02 2022 16:56:59. | |
fetchmail.vim | File | 428 bytes | August 02 2022 16:56:59. | |
flexwiki.vim | File | 1876 bytes | August 02 2022 16:56:59. | |
fortran.vim | File | 4692 bytes | August 02 2022 16:56:59. | |
framescript.vim | File | 780 bytes | August 02 2022 16:56:59. | |
fvwm.vim | File | 390 bytes | August 02 2022 16:56:59. | |
gdb.vim | File | 293 bytes | August 02 2022 16:56:59. | |
git.vim | File | 1350 bytes | August 02 2022 16:56:59. | |
gitcommit.vim | File | 2236 bytes | August 02 2022 16:56:59. | |
gitconfig.vim | File | 376 bytes | August 02 2022 16:56:59. | |
gitrebase.vim | File | 1458 bytes | August 02 2022 16:56:59. | |
gitsendemail.vim | File | 157 bytes | August 02 2022 16:56:59. | |
go.vim | File | 365 bytes | August 02 2022 16:56:59. | |
gpg.vim | File | 433 bytes | August 02 2022 16:56:59. | |
gprof.vim | File | 939 bytes | August 02 2022 16:56:59. | |
groovy.vim | File | 343 bytes | August 02 2022 16:56:59. | |
group.vim | File | 425 bytes | August 02 2022 16:56:59. | |
grub.vim | File | 434 bytes | August 02 2022 16:56:59. | |
haml.vim | File | 1887 bytes | August 02 2022 16:56:59. | |
hamster.vim | File | 1920 bytes | August 02 2022 16:56:59. | |
haskell.vim | File | 445 bytes | August 02 2022 16:56:59. | |
help.vim | File | 442 bytes | August 02 2022 16:56:59. | |
hgcommit.vim | File | 363 bytes | August 02 2022 16:56:59. | |
hog.vim | File | 1394 bytes | August 02 2022 16:56:59. | |
hostconf.vim | File | 383 bytes | August 02 2022 16:56:59. | |
hostsaccess.vim | File | 436 bytes | August 02 2022 16:56:59. | |
html.vim | File | 1625 bytes | August 02 2022 16:56:59. | |
htmldjango.vim | File | 331 bytes | August 02 2022 16:56:59. | |
indent.vim | File | 454 bytes | August 02 2022 16:56:59. | |
initex.vim | File | 1005 bytes | August 02 2022 16:56:59. | |
ishd.vim | File | 1264 bytes | August 02 2022 16:56:59. | |
j.vim | File | 3394 bytes | August 02 2022 16:56:59. | |
java.vim | File | 1686 bytes | August 02 2022 16:56:59. | |
javascript.vim | File | 1047 bytes | August 02 2022 16:56:59. | |
jproperties.vim | File | 321 bytes | August 02 2022 16:56:59. | |
json.vim | File | 360 bytes | August 02 2022 16:56:59. | |
jsp.vim | File | 2011 bytes | August 02 2022 16:56:59. | |
kconfig.vim | File | 703 bytes | August 02 2022 16:56:59. | |
kwt.vim | File | 851 bytes | August 02 2022 16:56:59. | |
ld.vim | File | 470 bytes | August 02 2022 16:56:59. | |
less.vim | File | 502 bytes | August 02 2022 16:56:59. | |
lftp.vim | File | 434 bytes | August 02 2022 16:56:59. | |
libao.vim | File | 440 bytes | August 02 2022 16:56:59. | |
limits.vim | File | 436 bytes | August 02 2022 16:56:59. | |
liquid.vim | File | 1897 bytes | August 02 2022 16:56:59. | |
lisp.vim | File | 769 bytes | August 02 2022 16:56:59. | |
logcheck.vim | File | 500 bytes | August 02 2022 16:56:59. | |
loginaccess.vim | File | 442 bytes | August 02 2022 16:56:59. | |
logindefs.vim | File | 440 bytes | August 02 2022 16:56:59. | |
logtalk.dict | File | 1790 bytes | August 02 2022 16:56:59. | |
logtalk.vim | File | 401 bytes | August 02 2022 16:56:59. | |
lprolog.vim | File | 1279 bytes | August 02 2022 16:56:59. | |
lua.vim | File | 973 bytes | August 02 2022 16:56:59. | |
m4.vim | File | 426 bytes | August 02 2022 16:56:59. | |
mail.vim | File | 1107 bytes | August 02 2022 16:56:59. | |
mailaliases.vim | File | 383 bytes | August 02 2022 16:56:59. | |
mailcap.vim | File | 434 bytes | August 02 2022 16:56:59. | |
make.vim | File | 935 bytes | August 02 2022 16:56:59. | |
man.vim | File | 5646 bytes | August 02 2022 16:56:59. | |
manconf.vim | File | 444 bytes | August 02 2022 16:56:59. | |
markdown.vim | File | 1177 bytes | August 02 2022 16:56:59. | |
matlab.vim | File | 754 bytes | August 02 2022 16:56:59. | |
mf.vim | File | 3249 bytes | August 02 2022 16:56:59. | |
modconf.vim | File | 477 bytes | August 02 2022 16:56:59. | |
mp.vim | File | 3712 bytes | August 02 2022 16:56:59. | |
mplayerconf.vim | File | 472 bytes | August 02 2022 16:56:59. | |
mrxvtrc.vim | File | 798 bytes | August 02 2022 16:56:59. | |
msmessages.vim | File | 1141 bytes | August 02 2022 16:56:59. | |
muttrc.vim | File | 467 bytes | August 02 2022 16:56:59. | |
nanorc.vim | File | 447 bytes | August 02 2022 16:56:59. | |
neomuttrc.vim | File | 532 bytes | August 02 2022 16:56:59. | |
netrc.vim | File | 428 bytes | August 02 2022 16:56:59. | |
nsis.vim | File | 1323 bytes | August 02 2022 16:56:59. | |
objc.vim | File | 296 bytes | August 02 2022 16:56:59. | |
ocaml.vim | File | 23041 bytes | August 02 2022 16:56:59. | |
occam.vim | File | 1297 bytes | August 02 2022 16:56:59. | |
pamconf.vim | File | 433 bytes | August 02 2022 16:56:59. | |
pascal.vim | File | 667 bytes | August 02 2022 16:56:59. | |
passwd.vim | File | 424 bytes | August 02 2022 16:56:59. | |
pdf.vim | File | 2613 bytes | August 02 2022 16:56:59. | |
perl.vim | File | 2850 bytes | August 02 2022 16:56:59. | |
perl6.vim | File | 2529 bytes | August 02 2022 16:56:59. | |
php.vim | File | 2813 bytes | August 02 2022 16:56:59. | |
pinfo.vim | File | 435 bytes | August 02 2022 16:56:59. | |
plaintex.vim | File | 1150 bytes | August 02 2022 16:56:59. | |
postscr.vim | File | 1006 bytes | August 02 2022 16:56:59. | |
procmail.vim | File | 479 bytes | August 02 2022 16:56:59. | |
prolog.vim | File | 440 bytes | August 02 2022 16:56:59. | |
protocols.vim | File | 457 bytes | August 02 2022 16:56:59. | |
pyrex.vim | File | 766 bytes | August 02 2022 16:56:59. | |
python.vim | File | 5563 bytes | August 02 2022 16:56:59. | |
qf.vim | File | 459 bytes | August 02 2022 16:56:59. | |
quake.vim | File | 439 bytes | August 02 2022 16:56:59. | |
r.vim | File | 858 bytes | August 02 2022 16:56:59. | |
racc.vim | File | 449 bytes | August 02 2022 16:56:59. | |
readline.vim | File | 438 bytes | August 02 2022 16:56:59. | |
registry.vim | File | 740 bytes | August 02 2022 16:56:59. | |
reva.vim | File | 709 bytes | August 02 2022 16:56:59. | |
rhelp.vim | File | 738 bytes | August 02 2022 16:56:59. | |
rmd.vim | File | 1483 bytes | August 02 2022 16:56:59. | |
rnc.vim | File | 431 bytes | August 02 2022 16:56:59. | |
rnoweb.vim | File | 1037 bytes | August 02 2022 16:56:59. | |
rpl.vim | File | 620 bytes | August 02 2022 16:56:59. | |
rrst.vim | File | 1103 bytes | August 02 2022 16:56:59. | |
rst.vim | File | 456 bytes | August 02 2022 16:56:59. | |
ruby.vim | File | 17008 bytes | August 02 2022 16:56:59. | |
rust.vim | File | 6574 bytes | August 02 2022 16:56:59. | |
sass.vim | File | 607 bytes | August 02 2022 16:56:59. | |
sbt.vim | File | 347 bytes | August 02 2022 16:56:59. | |
scala.vim | File | 1151 bytes | August 02 2022 16:56:59. | |
scheme.vim | File | 1394 bytes | August 02 2022 16:56:59. | |
screen.vim | File | 436 bytes | August 02 2022 16:56:59. | |
scss.vim | File | 239 bytes | August 02 2022 16:56:59. | |
sensors.vim | File | 455 bytes | August 02 2022 16:56:59. | |
services.vim | File | 452 bytes | August 02 2022 16:56:59. | |
setserial.vim | File | 439 bytes | August 02 2022 16:56:59. | |
sgml.vim | File | 1210 bytes | August 02 2022 16:56:59. | |
sh.vim | File | 1202 bytes | August 02 2022 16:56:59. | |
sieve.vim | File | 469 bytes | August 02 2022 16:56:59. | |
slpconf.vim | File | 477 bytes | August 02 2022 16:56:59. | |
slpreg.vim | File | 476 bytes | August 02 2022 16:56:59. | |
slpspi.vim | File | 467 bytes | August 02 2022 16:56:59. | |
spec.vim | File | 5864 bytes | August 02 2022 16:56:59. | |
sql.vim | File | 21615 bytes | August 02 2022 16:56:59. | |
sshconfig.vim | File | 441 bytes | August 02 2022 16:56:59. | |
sudoers.vim | File | 438 bytes | August 02 2022 16:56:59. | |
svg.vim | File | 1200 bytes | August 02 2022 16:56:59. | |
sysctl.vim | File | 453 bytes | August 02 2022 16:56:59. | |
systemd.vim | File | 158 bytes | August 02 2022 16:56:59. | |
systemverilog.vim | File | 239 bytes | August 02 2022 16:56:59. | |
tcl.vim | File | 1002 bytes | August 02 2022 16:56:59. | |
tcsh.vim | File | 1207 bytes | August 02 2022 16:56:59. | |
terminfo.vim | File | 430 bytes | August 02 2022 16:56:59. | |
tex.vim | File | 1641 bytes | August 02 2022 16:56:59. | |
text.vim | File | 433 bytes | August 02 2022 16:56:59. | |
tmux.vim | File | 292 bytes | August 02 2022 16:56:59. | |
treetop.vim | File | 416 bytes | August 02 2022 16:56:59. | |
tt2html.vim | File | 434 bytes | August 02 2022 16:56:59. | |
udevconf.vim | File | 434 bytes | August 02 2022 16:56:59. | |
udevperm.vim | File | 432 bytes | August 02 2022 16:56:59. | |
udevrules.vim | File | 426 bytes | August 02 2022 16:56:59. | |
updatedb.vim | File | 443 bytes | August 02 2022 16:56:59. | |
vb.vim | File | 1907 bytes | August 02 2022 16:56:59. | |
verilog.vim | File | 1977 bytes | August 02 2022 16:56:59. | |
vhdl.vim | File | 3497 bytes | August 02 2022 16:56:59. | |
vim.vim | File | 3212 bytes | August 02 2022 16:56:59. | |
vroom.vim | File | 924 bytes | August 02 2022 16:56:59. | |
xdefaults.vim | File | 481 bytes | August 02 2022 16:56:59. | |
xf86conf.vim | File | 434 bytes | August 02 2022 16:56:59. | |
xhtml.vim | File | 2036 bytes | August 02 2022 16:56:59. | |
xinetd.vim | File | 476 bytes | August 02 2022 16:56:59. | |
xml.vim | File | 1911 bytes | August 02 2022 16:56:59. | |
xmodmap.vim | File | 434 bytes | August 02 2022 16:56:59. | |
xs.vim | File | 465 bytes | August 02 2022 16:56:59. | |
xsd.vim | File | 1171 bytes | August 02 2022 16:56:59. | |
xslt.vim | File | 539 bytes | August 02 2022 16:56:59. | |
yaml.vim | File | 464 bytes | August 02 2022 16:56:59. | |
zimbu.vim | File | 5389 bytes | August 02 2022 16:56:59. | |
zsh.vim | File | 818 bytes | August 02 2022 16:56:59. |
" Vim filetype plugin file (GUI menu, folding and completion) " Language: Debian Changelog " Maintainer: Debian Vim Maintainers " Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de> " Stefano Zacchiroli <zack@debian.org> " Last Change: 2018-01-06 " License: Vim License " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim " Bug completion requires apt-listbugs installed for Debian packages or " python-launchpadlib installed for Ubuntu packages if exists("b:did_ftplugin") finish endif let b:did_ftplugin=1 " {{{1 Local settings (do on every load) if exists("g:debchangelog_fold_enable") setlocal foldmethod=expr setlocal foldexpr=DebGetChangelogFold(v:lnum) setlocal foldtext=DebChangelogFoldText() endif " Debian changelogs are not supposed to have any other text width, " so the user cannot override this setting setlocal tw=78 setlocal comments=f:* " Clean unloading let b:undo_ftplugin = "setlocal tw< comments< foldmethod< foldexpr< foldtext<" " }}}1 if exists("g:did_changelog_ftplugin") finish endif " Don't load another plugin (this is global) let g:did_changelog_ftplugin = 1 " {{{1 GUI menu " Helper functions returning various data. " Returns full name, either from $DEBFULLNAME or debianfullname. " TODO Is there a way to determine name from anywhere else? function <SID>FullName() if exists("$DEBFULLNAME") return $DEBFULLNAME elseif exists("g:debianfullname") return g:debianfullname else return "Your Name" endif endfunction " Returns email address, from $DEBEMAIL, $EMAIL or debianemail. function <SID>Email() if exists("$DEBEMAIL") return $DEBEMAIL elseif exists("$EMAIL") return $EMAIL elseif exists("g:debianemail") return g:debianemail else return "your@email.address" endif endfunction " Returns date in RFC822 format. function <SID>Date() let savelang = v:lc_time execute "language time C" let dateandtime = strftime("%a, %d %b %Y %X %z") execute "language time " . savelang return dateandtime endfunction function <SID>WarnIfNotUnfinalised() if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1 echohl WarningMsg echo "The entry has not been unfinalised before editing." echohl None return 1 endif return 0 endfunction function <SID>Finalised() let savelinenum = line(".") normal 1G call search("^ -- ") if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1 let returnvalue = 1 else let returnvalue = 0 endif execute savelinenum return returnvalue endfunction " These functions implement the menus function NewVersion() " The new entry is unfinalised and shall be changed amenu disable Changelog.New\ Version amenu enable Changelog.Add\ Entry amenu enable Changelog.Close\ Bug amenu enable Changelog.Set\ Distribution amenu enable Changelog.Set\ Urgency amenu disable Changelog.Unfinalise amenu enable Changelog.Finalise call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', '')) call append(1, "") call append(2, "") call append(3, " -- ") call append(4, "") call Urgency("low") normal 1G0 call search(")") normal h normal call setline(1, substitute(getline(1), '-\$\$', '-', '')) if exists("g:debchangelog_fold_enable") foldopen endif call AddEntry() endfunction function AddEntry() normal 1G call search("^ -- ") normal kk call append(".", " * ") normal jjj let warn=<SID>WarnIfNotUnfinalised() normal kk if warn echohl MoreMsg call input("Hit ENTER") echohl None endif startinsert! endfunction function CloseBug() normal 1G call search("^ -- ") let warn=<SID>WarnIfNotUnfinalised() normal kk call append(".", " * (closes: #" . input("Bug number to close: ") . ")") normal j^ll startinsert endfunction function Distribution(dist) call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", "")) endfunction function Urgency(urg) call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, "")) endfunction function <SID>UnfinaliseMenu() " This means the entry shall be changed amenu disable Changelog.New\ Version amenu enable Changelog.Add\ Entry amenu enable Changelog.Close\ Bug amenu enable Changelog.Set\ Distribution amenu enable Changelog.Set\ Urgency amenu disable Changelog.Unfinalise amenu enable Changelog.Finalise endfunction function Unfinalise() call <SID>UnfinaliseMenu() normal 1G call search("^ -- ") call setline(".", " -- ") endfunction function <SID>FinaliseMenu() " This means the entry should not be changed anymore amenu enable Changelog.New\ Version amenu disable Changelog.Add\ Entry amenu disable Changelog.Close\ Bug amenu disable Changelog.Set\ Distribution amenu disable Changelog.Set\ Urgency amenu enable Changelog.Unfinalise amenu disable Changelog.Finalise endfunction function Finalise() call <SID>FinaliseMenu() normal 1G call search("^ -- ") call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date()) endfunction function <SID>MakeMenu() amenu &Changelog.&New\ Version :call NewVersion()<CR> amenu Changelog.&Add\ Entry :call AddEntry()<CR> amenu Changelog.&Close\ Bug :call CloseBug()<CR> menu Changelog.-sep- <nul> amenu Changelog.Set\ &Distribution.&unstable :call Distribution("unstable")<CR> amenu Changelog.Set\ Distribution.&frozen :call Distribution("frozen")<CR> amenu Changelog.Set\ Distribution.&stable :call Distribution("stable")<CR> menu Changelog.Set\ Distribution.-sep- <nul> amenu Changelog.Set\ Distribution.frozen\ unstable :call Distribution("frozen unstable")<CR> amenu Changelog.Set\ Distribution.stable\ unstable :call Distribution("stable unstable")<CR> amenu Changelog.Set\ Distribution.stable\ frozen :call Distribution("stable frozen")<CR> amenu Changelog.Set\ Distribution.stable\ frozen\ unstable :call Distribution("stable frozen unstable")<CR> amenu Changelog.Set\ &Urgency.&low :call Urgency("low")<CR> amenu Changelog.Set\ Urgency.&medium :call Urgency("medium")<CR> amenu Changelog.Set\ Urgency.&high :call Urgency("high")<CR> menu Changelog.-sep- <nul> amenu Changelog.U&nfinalise :call Unfinalise()<CR> amenu Changelog.&Finalise :call Finalise()<CR> if <SID>Finalised() call <SID>FinaliseMenu() else call <SID>UnfinaliseMenu() endif endfunction augroup changelogMenu au BufEnter * if &filetype == "debchangelog" | call <SID>MakeMenu() | endif au BufLeave * if &filetype == "debchangelog" | silent! aunmenu Changelog | endif augroup END " }}} " {{{1 folding " look for an author name in the [zonestart zoneend] lines searching backward function! s:getAuthor(zonestart, zoneend) let linepos = a:zoneend while linepos >= a:zonestart let line = getline(linepos) if line =~ '^ --' return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '') endif let linepos -= 1 endwhile return '[unknown]' endfunction " Look for a package source name searching backward from the givenline and " returns it. Return the empty string if the package name can't be found function! DebGetPkgSrcName(lineno) let lineidx = a:lineno let pkgname = '' while lineidx > 0 let curline = getline(lineidx) if curline =~ '^\S' let pkgname = matchlist(curline, '^\(\S\+\).*$')[1] break endif let lineidx = lineidx - 1 endwhile return pkgname endfunction function! DebChangelogFoldText() if v:folddashes == '-' " changelog entry fold return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' ' endif return foldtext() endfunction function! DebGetChangelogFold(lnum) let line = getline(a:lnum) if line =~ '^\w\+' return '>1' " beginning of a changelog entry endif if line =~ '^\s\+\[.*\]' return '>2' " beginning of an author-specific chunk endif if line =~ '^ --' return '1' endif return '=' endfunction if exists("g:debchangelog_fold_enable") silent! foldopen! " unfold the entry the cursor is on (usually the first one) endif " }}} " {{{1 omnicompletion for Closes: # if !exists('g:debchangelog_listbugs_severities') let g:debchangelog_listbugs_severities = 'critical,grave,serious,important,normal,minor,wishlist' endif fun! DebCompleteBugs(findstart, base) if a:findstart let line = getline('.') " try to detect whether this is closes: or lp: let g:debchangelog_complete_mode = 'debbugs' let try_colidx = col('.') - 1 let colidx = -1 " default to no-completion-possible while try_colidx > 0 && line[try_colidx - 1] =~ '\s\|\d\|#\|,\|:' let try_colidx = try_colidx - 1 if line[try_colidx] == '#' && colidx == -1 " found hash, where we complete from: let colidx = try_colidx elseif line[try_colidx] == ':' if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~ '\clp:' let g:debchangelog_complete_mode = 'lp' endif break endif endwhile return colidx else " return matches: let bug_lines = [] if g:debchangelog_complete_mode == 'lp' if ! has('python') echoerr 'vim must be built with Python support to use LP bug completion' return endif let pkgsrc = DebGetPkgSrcName(line('.')) python << EOF import vim try: from launchpadlib.launchpad import Launchpad from lazr.restfulclient.errors import HTTPError # login anonymously lp = Launchpad.login_anonymously('debchangelog.vim', 'production') ubuntu = lp.distributions['ubuntu'] try: sp = ubuntu.getSourcePackage(name=vim.eval('pkgsrc')) status = ('New', 'Incomplete', 'Confirmed', 'Triaged', 'In Progress', 'Fix Committed') tasklist = sp.searchTasks(status=status, order_by='id') liststr = '[' for task in tasklist: bug = task.bug liststr += "'#%d - %s'," % (bug.id, bug.title.replace('\'', '\'\'')) liststr += ']' vim.command('silent let bug_lines = %s' % liststr.encode('utf-8')) except HTTPError: pass except ImportError: vim.command('echoerr \'python-launchpadlib >= 1.5.4 needs to be installed to use Launchpad bug completion\'') EOF else if ! filereadable('/usr/sbin/apt-listbugs') echoerr 'apt-listbugs not found, you should install it to use Closes bug completion' return endif let pkgsrc = DebGetPkgSrcName(line('.')) let listbugs_output = system('/usr/sbin/apt-listbugs -s ' . g:debchangelog_listbugs_severities . ' list ' . pkgsrc . ' | grep "^ #" 2> /dev/null') let bug_lines = split(listbugs_output, '\n') endif let completions = [] for line in bug_lines let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$') " filter only those which match a:base: if parts[1] !~ "^" . a:base continue endif let completion = {} let completion['word'] = parts[1] let completion['menu'] = parts[2] let completion['info'] = parts[0] let completions += [completion] endfor return completions endif endfun setlocal omnifunc=DebCompleteBugs " }}} " vim: set foldmethod=marker:
SILENT KILLER Tool