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