golden hour
/usr/share/vim/vim82/ftplugin
⬆️ Go Up
Upload
File/Folder
Size
Actions
8th.vim
733 B
Del
OK
README.txt
869 B
Del
OK
a2ps.vim
470 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.35 KB
Del
OK
alsaconf.vim
438 B
Del
OK
ant.vim
1.31 KB
Del
OK
arch.vim
431 B
Del
OK
art.vim
410 B
Del
OK
asm.vim
271 B
Del
OK
aspvbs.vim
1.87 KB
Del
OK
automake.vim
337 B
Del
OK
awk.vim
1.47 KB
Del
OK
bash.vim
474 B
Del
OK
basic.vim
625 B
Del
OK
bdf.vim
449 B
Del
OK
bst.vim
333 B
Del
OK
btm.vim
316 B
Del
OK
bzl.vim
3.03 KB
Del
OK
c.vim
2.06 KB
Del
OK
calendar.vim
462 B
Del
OK
cdrdaoconf.vim
383 B
Del
OK
cfg.vim
388 B
Del
OK
ch.vim
472 B
Del
OK
changelog.vim
8.68 KB
Del
OK
chicken.vim
1.62 KB
Del
OK
clojure.vim
3.32 KB
Del
OK
cmake.vim
867 B
Del
OK
cobol.vim
9.35 KB
Del
OK
conf.vim
434 B
Del
OK
config.vim
1.24 KB
Del
OK
context.vim
4.26 KB
Del
OK
cpp.vim
468 B
Del
OK
crm.vim
414 B
Del
OK
cs.vim
802 B
Del
OK
csc.vim
734 B
Del
OK
csh.vim
1.59 KB
Del
OK
css.vim
586 B
Del
OK
cucumber.vim
5 KB
Del
OK
cvsrc.vim
399 B
Del
OK
debchangelog.vim
11.18 KB
Del
OK
debcontrol.vim
1.8 KB
Del
OK
denyhosts.vim
383 B
Del
OK
dictconf.vim
434 B
Del
OK
dictdconf.vim
435 B
Del
OK
diff.vim
426 B
Del
OK
dircolors.vim
431 B
Del
OK
docbk.vim
530 B
Del
OK
dockerfile.vim
356 B
Del
OK
dosbatch.vim
1011 B
Del
OK
dosini.vim
458 B
Del
OK
dtd.vim
1.1 KB
Del
OK
dtrace.vim
1.12 KB
Del
OK
dune.vim
502 B
Del
OK
eiffel.vim
3.99 KB
Del
OK
elinks.vim
436 B
Del
OK
elm.vim
329 B
Del
OK
erlang.vim
2.03 KB
Del
OK
eruby.vim
4.6 KB
Del
OK
eterm.vim
470 B
Del
OK
falcon.vim
1.32 KB
Del
OK
fetchmail.vim
428 B
Del
OK
flexwiki.vim
1.83 KB
Del
OK
fortran.vim
4.74 KB
Del
OK
framescript.vim
780 B
Del
OK
freebasic.vim
234 B
Del
OK
fstab.vim
426 B
Del
OK
fvwm.vim
390 B
Del
OK
gdb.vim
293 B
Del
OK
git.vim
1.34 KB
Del
OK
gitcommit.vim
2.26 KB
Del
OK
gitconfig.vim
376 B
Del
OK
gitrebase.vim
1.9 KB
Del
OK
gitsendemail.vim
157 B
Del
OK
go.vim
365 B
Del
OK
gpg.vim
433 B
Del
OK
gprof.vim
939 B
Del
OK
groovy.vim
343 B
Del
OK
group.vim
425 B
Del
OK
grub.vim
434 B
Del
OK
haml.vim
1.94 KB
Del
OK
hamster.vim
1.92 KB
Del
OK
haskell.vim
551 B
Del
OK
help.vim
471 B
Del
OK
hgcommit.vim
363 B
Del
OK
hog.vim
1.36 KB
Del
OK
hostconf.vim
383 B
Del
OK
hostsaccess.vim
436 B
Del
OK
html.vim
1.59 KB
Del
OK
htmldjango.vim
331 B
Del
OK
indent.vim
454 B
Del
OK
initex.vim
1005 B
Del
OK
ishd.vim
1.23 KB
Del
OK
j.vim
3.31 KB
Del
OK
java.vim
1.65 KB
Del
OK
javascript.vim
2.54 KB
Del
OK
javascriptreact.vim
244 B
Del
OK
jproperties.vim
292 B
Del
OK
json.vim
360 B
Del
OK
jsp.vim
1.96 KB
Del
OK
kconfig.vim
703 B
Del
OK
kwt.vim
851 B
Del
OK
ld.vim
470 B
Del
OK
less.vim
502 B
Del
OK
lftp.vim
434 B
Del
OK
libao.vim
440 B
Del
OK
limits.vim
436 B
Del
OK
liquid.vim
1.85 KB
Del
OK
lisp.vim
759 B
Del
OK
logcheck.vim
453 B
Del
OK
loginaccess.vim
442 B
Del
OK
logindefs.vim
440 B
Del
OK
logtalk.dict
3.02 KB
Del
OK
logtalk.vim
416 B
Del
OK
lprolog.vim
1.25 KB
Del
OK
lua.vim
973 B
Del
OK
m4.vim
426 B
Del
OK
mail.vim
1.08 KB
Del
OK
mailaliases.vim
383 B
Del
OK
mailcap.vim
434 B
Del
OK
make.vim
1.03 KB
Del
OK
man.vim
6.42 KB
Del
OK
manconf.vim
444 B
Del
OK
markdown.vim
1.92 KB
Del
OK
masm.vim
390 B
Del
OK
matlab.vim
798 B
Del
OK
meson.vim
404 B
Del
OK
mf.vim
3.17 KB
Del
OK
mma.vim
366 B
Del
OK
modconf.vim
477 B
Del
OK
mp.vim
3.63 KB
Del
OK
mplayerconf.vim
472 B
Del
OK
mrxvtrc.vim
798 B
Del
OK
msmessages.vim
1.11 KB
Del
OK
muttrc.vim
467 B
Del
OK
nanorc.vim
447 B
Del
OK
neomuttrc.vim
532 B
Del
OK
netrc.vim
428 B
Del
OK
nroff.vim
424 B
Del
OK
nsis.vim
1.29 KB
Del
OK
objc.vim
296 B
Del
OK
ocaml.vim
23.2 KB
Del
OK
occam.vim
1.27 KB
Del
OK
pamconf.vim
433 B
Del
OK
pascal.vim
667 B
Del
OK
passwd.vim
424 B
Del
OK
pbtxt.vim
438 B
Del
OK
pdf.vim
2.55 KB
Del
OK
perl.vim
2.79 KB
Del
OK
perl6.vim
2.47 KB
Del
OK
php.vim
2.75 KB
Del
OK
pinfo.vim
435 B
Del
OK
plaintex.vim
1.12 KB
Del
OK
poke.vim
744 B
Del
OK
postscr.vim
1006 B
Del
OK
procmail.vim
479 B
Del
OK
prolog.vim
440 B
Del
OK
protocols.vim
457 B
Del
OK
pyrex.vim
766 B
Del
OK
python.vim
7.78 KB
Del
OK
qf.vim
508 B
Del
OK
quake.vim
439 B
Del
OK
r.vim
858 B
Del
OK
racc.vim
449 B
Del
OK
readline.vim
438 B
Del
OK
registry.vim
740 B
Del
OK
reva.vim
709 B
Del
OK
rhelp.vim
738 B
Del
OK
rmd.vim
1.77 KB
Del
OK
rnc.vim
431 B
Del
OK
rnoweb.vim
1.01 KB
Del
OK
rpl.vim
621 B
Del
OK
rrst.vim
1.54 KB
Del
OK
rst.vim
1.37 KB
Del
OK
ruby.vim
16.87 KB
Del
OK
rust.vim
6.42 KB
Del
OK
sass.vim
977 B
Del
OK
sbt.vim
347 B
Del
OK
scala.vim
1.12 KB
Del
OK
scheme.vim
1.36 KB
Del
OK
screen.vim
436 B
Del
OK
scss.vim
239 B
Del
OK
sensors.vim
455 B
Del
OK
services.vim
452 B
Del
OK
setserial.vim
439 B
Del
OK
sexplib.vim
348 B
Del
OK
sgml.vim
1.18 KB
Del
OK
sh.vim
1.17 KB
Del
OK
sieve.vim
469 B
Del
OK
slpconf.vim
477 B
Del
OK
slpreg.vim
476 B
Del
OK
slpspi.vim
467 B
Del
OK
spec.vim
5.64 KB
Del
OK
sql.vim
21.11 KB
Del
OK
sshconfig.vim
441 B
Del
OK
sudoers.vim
438 B
Del
OK
svg.vim
1.17 KB
Del
OK
swift.vim
733 B
Del
OK
swiftgyb.vim
421 B
Del
OK
sysctl.vim
453 B
Del
OK
systemd.vim
1.23 KB
Del
OK
systemverilog.vim
239 B
Del
OK
tcl.vim
1002 B
Del
OK
tcsh.vim
1.18 KB
Del
OK
terminfo.vim
430 B
Del
OK
tex.vim
1.6 KB
Del
OK
text.vim
498 B
Del
OK
tidy.vim
861 B
Del
OK
tmux.vim
292 B
Del
OK
treetop.vim
416 B
Del
OK
tt2html.vim
434 B
Del
OK
typescript.vim
1.18 KB
Del
OK
typescriptreact.vim
787 B
Del
OK
udevconf.vim
434 B
Del
OK
udevperm.vim
432 B
Del
OK
udevrules.vim
426 B
Del
OK
updatedb.vim
443 B
Del
OK
vb.vim
1.86 KB
Del
OK
verilog.vim
1.93 KB
Del
OK
vhdl.vim
3.42 KB
Del
OK
vim.vim
4.18 KB
Del
OK
vroom.vim
924 B
Del
OK
wast.vim
470 B
Del
OK
xdefaults.vim
481 B
Del
OK
xf86conf.vim
434 B
Del
OK
xhtml.vim
1.99 KB
Del
OK
xinetd.vim
476 B
Del
OK
xml.vim
2.2 KB
Del
OK
xmodmap.vim
434 B
Del
OK
xs.vim
465 B
Del
OK
xsd.vim
1.14 KB
Del
OK
xslt.vim
539 B
Del
OK
yaml.vim
628 B
Del
OK
zimbu.vim
5.26 KB
Del
OK
zsh.vim
1.39 KB
Del
OK
Edit: debchangelog.vim
" 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-28 " 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('.') 1 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() 1 call search('^ -- ') .-2 call append('.', ' * ') .+3 let warn=<SID>WarnIfNotUnfinalised() .-2 if warn echohl MoreMsg call input('Hit ENTER') echohl None endif startinsert! endfunction function CloseBug() 1 call search('^ -- ') let warn=<SID>WarnIfNotUnfinalised() .-2 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() 1 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() 1 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