From bc9757916ed09763d96283ee62dbed58bd713a11 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Tue, 6 Oct 2020 18:54:19 +0200 Subject: Add all vim filetypes --- ftplugin/bdf.vim | 24 +++ ftplugin/bst.vim | 19 +++ ftplugin/calendar.vim | 24 +++ ftplugin/cdrdaoconf.vim | 22 +++ ftplugin/cfg.vim | 23 +++ ftplugin/ch.vim | 21 +++ ftplugin/cobol.vim | 273 ++++++++++++++++++++++++++++++++ ftplugin/config.vim | 46 ++++++ ftplugin/context.vim | 106 +++++++++++++ ftplugin/crm.vim | 23 +++ ftplugin/cs.vim | 33 ++++ ftplugin/csc.vim | 31 ++++ ftplugin/css.vim | 28 ++++ ftplugin/cvsrc.vim | 23 +++ ftplugin/debchangelog.vim | 387 +++++++++++++++++++++++++++++++++++++++++++++ ftplugin/debcontrol.vim | 74 +++++++++ ftplugin/denyhosts.vim | 22 +++ ftplugin/dictconf.vim | 23 +++ ftplugin/dictdconf.vim | 23 +++ ftplugin/diff.vim | 22 +++ ftplugin/dircolors.vim | 23 +++ ftplugin/dosbatch.vim | 44 ++++++ ftplugin/dtd.vim | 44 ++++++ ftplugin/elinks.vim | 23 +++ ftplugin/eterm.vim | 24 +++ ftplugin/falcon.vim | 52 ++++++ ftplugin/fetchmail.vim | 23 +++ ftplugin/fortran.vim | 137 ++++++++++++++++ ftplugin/framescript.vim | 34 ++++ ftplugin/fvwm.vim | 18 +++ ftplugin/gdb.vim | 16 ++ ftplugin/gpg.vim | 23 +++ ftplugin/group.vim | 23 +++ ftplugin/hgcommit.vim | 20 +++ ftplugin/hog.vim | 43 +++++ ftplugin/hostconf.vim | 22 +++ ftplugin/hostsaccess.vim | 23 +++ ftplugin/indent.vim | 24 +++ ftplugin/j.vim | 85 ++++++++++ ftplugin/java.vim | 55 +++++++ ftplugin/jproperties.vim | 19 +++ ftplugin/jsp.vim | 71 +++++++++ ftplugin/kconfig.vim | 31 ++++ ftplugin/kwt.vim | 36 +++++ ftplugin/ld.vim | 24 +++ ftplugin/lftp.vim | 23 +++ ftplugin/libao.vim | 23 +++ ftplugin/limits.vim | 23 +++ ftplugin/liquid.vim | 65 ++++++++ ftplugin/lisp.vim | 30 ++++ ftplugin/logcheck.vim | 21 +++ ftplugin/loginaccess.vim | 23 +++ ftplugin/logindefs.vim | 23 +++ ftplugin/logtalk.vim | 23 +++ ftplugin/lprolog.vim | 41 +++++ ftplugin/mail.vim | 42 +++++ ftplugin/mailaliases.vim | 22 +++ ftplugin/mailcap.vim | 23 +++ ftplugin/man.vim | 254 +++++++++++++++++++++++++++++ ftplugin/manconf.vim | 23 +++ ftplugin/mf.vim | 74 +++++++++ ftplugin/modconf.vim | 24 +++ ftplugin/mp.vim | 86 ++++++++++ ftplugin/mplayerconf.vim | 24 +++ ftplugin/mrxvtrc.vim | 26 +++ ftplugin/muttrc.vim | 26 +++ ftplugin/nanorc.vim | 23 +++ ftplugin/neomuttrc.vim | 27 ++++ ftplugin/netrc.vim | 23 +++ ftplugin/nroff.vim | 15 ++ ftplugin/nsis.vim | 47 ++++++ ftplugin/occam.vim | 53 +++++++ ftplugin/pamconf.vim | 23 +++ ftplugin/pascal.vim | 24 +++ ftplugin/passwd.vim | 23 +++ ftplugin/pdf.vim | 93 +++++++++++ ftplugin/pinfo.vim | 23 +++ ftplugin/postscr.vim | 42 +++++ ftplugin/procmail.vim | 25 +++ ftplugin/protocols.vim | 23 +++ ftplugin/pyrex.vim | 31 ++++ ftplugin/quake.vim | 23 +++ ftplugin/readline.vim | 23 +++ ftplugin/reva.vim | 29 ++++ ftplugin/rmd.vim | 67 ++++++++ ftplugin/rnc.vim | 23 +++ ftplugin/rnoweb.vim | 45 ++++++ ftplugin/rpl.vim | 26 +++ ftplugin/rrst.vim | 58 +++++++ ftplugin/sass.vim | 41 +++++ ftplugin/scheme.vim | 61 +++++++ ftplugin/screen.vim | 23 +++ ftplugin/sensors.vim | 23 +++ ftplugin/services.vim | 23 +++ ftplugin/setserial.vim | 23 +++ ftplugin/sieve.vim | 24 +++ ftplugin/slpconf.vim | 24 +++ ftplugin/slpreg.vim | 24 +++ ftplugin/slpspi.vim | 24 +++ ftplugin/spec.vim | 212 +++++++++++++++++++++++++ ftplugin/sshconfig.vim | 23 +++ ftplugin/sudoers.vim | 23 +++ ftplugin/swiftgyb.vim | 15 ++ ftplugin/sysctl.vim | 24 +++ ftplugin/systemverilog.vim | 15 ++ ftplugin/tcl.vim | 41 +++++ ftplugin/terminfo.vim | 23 +++ ftplugin/tex.vim | 50 ++++++ ftplugin/text.vim | 22 +++ ftplugin/treetop.vim | 23 +++ ftplugin/udevconf.vim | 23 +++ ftplugin/udevperm.vim | 23 +++ ftplugin/updatedb.vim | 23 +++ ftplugin/verilog.vim | 70 ++++++++ ftplugin/vhdl.vim | 92 +++++++++++ ftplugin/vim.vim | 109 +++++++++++++ ftplugin/vroom.vim | 39 +++++ ftplugin/wast.vim | 21 +++ ftplugin/xdefaults.vim | 24 +++ ftplugin/xhtml.vim | 71 +++++++++ ftplugin/xinetd.vim | 24 +++ ftplugin/xmodmap.vim | 23 +++ ftplugin/xsd.vim | 43 +++++ ftplugin/xslt.vim | 20 +++ ftplugin/yaml.vim | 29 ---- ftplugin/zimbu.vim | 157 ++++++++++++++++++ 126 files changed, 5415 insertions(+), 29 deletions(-) create mode 100644 ftplugin/bdf.vim create mode 100644 ftplugin/bst.vim create mode 100644 ftplugin/calendar.vim create mode 100644 ftplugin/cdrdaoconf.vim create mode 100644 ftplugin/cfg.vim create mode 100644 ftplugin/ch.vim create mode 100644 ftplugin/cobol.vim create mode 100644 ftplugin/config.vim create mode 100644 ftplugin/context.vim create mode 100644 ftplugin/crm.vim create mode 100644 ftplugin/cs.vim create mode 100644 ftplugin/csc.vim create mode 100644 ftplugin/css.vim create mode 100644 ftplugin/cvsrc.vim create mode 100644 ftplugin/debchangelog.vim create mode 100644 ftplugin/debcontrol.vim create mode 100644 ftplugin/denyhosts.vim create mode 100644 ftplugin/dictconf.vim create mode 100644 ftplugin/dictdconf.vim create mode 100644 ftplugin/diff.vim create mode 100644 ftplugin/dircolors.vim create mode 100644 ftplugin/dosbatch.vim create mode 100644 ftplugin/dtd.vim create mode 100644 ftplugin/elinks.vim create mode 100644 ftplugin/eterm.vim create mode 100644 ftplugin/falcon.vim create mode 100644 ftplugin/fetchmail.vim create mode 100644 ftplugin/fortran.vim create mode 100644 ftplugin/framescript.vim create mode 100644 ftplugin/fvwm.vim create mode 100644 ftplugin/gdb.vim create mode 100644 ftplugin/gpg.vim create mode 100644 ftplugin/group.vim create mode 100644 ftplugin/hgcommit.vim create mode 100644 ftplugin/hog.vim create mode 100644 ftplugin/hostconf.vim create mode 100644 ftplugin/hostsaccess.vim create mode 100644 ftplugin/indent.vim create mode 100644 ftplugin/j.vim create mode 100644 ftplugin/java.vim create mode 100644 ftplugin/jproperties.vim create mode 100644 ftplugin/jsp.vim create mode 100644 ftplugin/kconfig.vim create mode 100644 ftplugin/kwt.vim create mode 100644 ftplugin/ld.vim create mode 100644 ftplugin/lftp.vim create mode 100644 ftplugin/libao.vim create mode 100644 ftplugin/limits.vim create mode 100644 ftplugin/liquid.vim create mode 100644 ftplugin/lisp.vim create mode 100644 ftplugin/logcheck.vim create mode 100644 ftplugin/loginaccess.vim create mode 100644 ftplugin/logindefs.vim create mode 100644 ftplugin/logtalk.vim create mode 100644 ftplugin/lprolog.vim create mode 100644 ftplugin/mail.vim create mode 100644 ftplugin/mailaliases.vim create mode 100644 ftplugin/mailcap.vim create mode 100644 ftplugin/man.vim create mode 100644 ftplugin/manconf.vim create mode 100644 ftplugin/mf.vim create mode 100644 ftplugin/modconf.vim create mode 100644 ftplugin/mp.vim create mode 100644 ftplugin/mplayerconf.vim create mode 100644 ftplugin/mrxvtrc.vim create mode 100644 ftplugin/muttrc.vim create mode 100644 ftplugin/nanorc.vim create mode 100644 ftplugin/neomuttrc.vim create mode 100644 ftplugin/netrc.vim create mode 100644 ftplugin/nroff.vim create mode 100644 ftplugin/nsis.vim create mode 100644 ftplugin/occam.vim create mode 100644 ftplugin/pamconf.vim create mode 100644 ftplugin/pascal.vim create mode 100644 ftplugin/passwd.vim create mode 100644 ftplugin/pdf.vim create mode 100644 ftplugin/pinfo.vim create mode 100644 ftplugin/postscr.vim create mode 100644 ftplugin/procmail.vim create mode 100644 ftplugin/protocols.vim create mode 100644 ftplugin/pyrex.vim create mode 100644 ftplugin/quake.vim create mode 100644 ftplugin/readline.vim create mode 100644 ftplugin/reva.vim create mode 100644 ftplugin/rmd.vim create mode 100644 ftplugin/rnc.vim create mode 100644 ftplugin/rnoweb.vim create mode 100644 ftplugin/rpl.vim create mode 100644 ftplugin/rrst.vim create mode 100644 ftplugin/sass.vim create mode 100644 ftplugin/scheme.vim create mode 100644 ftplugin/screen.vim create mode 100644 ftplugin/sensors.vim create mode 100644 ftplugin/services.vim create mode 100644 ftplugin/setserial.vim create mode 100644 ftplugin/sieve.vim create mode 100644 ftplugin/slpconf.vim create mode 100644 ftplugin/slpreg.vim create mode 100644 ftplugin/slpspi.vim create mode 100644 ftplugin/spec.vim create mode 100644 ftplugin/sshconfig.vim create mode 100644 ftplugin/sudoers.vim create mode 100644 ftplugin/swiftgyb.vim create mode 100644 ftplugin/sysctl.vim create mode 100644 ftplugin/systemverilog.vim create mode 100644 ftplugin/tcl.vim create mode 100644 ftplugin/terminfo.vim create mode 100644 ftplugin/tex.vim create mode 100644 ftplugin/text.vim create mode 100644 ftplugin/treetop.vim create mode 100644 ftplugin/udevconf.vim create mode 100644 ftplugin/udevperm.vim create mode 100644 ftplugin/updatedb.vim create mode 100644 ftplugin/verilog.vim create mode 100644 ftplugin/vhdl.vim create mode 100644 ftplugin/vim.vim create mode 100644 ftplugin/vroom.vim create mode 100644 ftplugin/wast.vim create mode 100644 ftplugin/xdefaults.vim create mode 100644 ftplugin/xhtml.vim create mode 100644 ftplugin/xinetd.vim create mode 100644 ftplugin/xmodmap.vim create mode 100644 ftplugin/xsd.vim create mode 100644 ftplugin/xslt.vim delete mode 100644 ftplugin/yaml.vim create mode 100644 ftplugin/zimbu.vim (limited to 'ftplugin') diff --git a/ftplugin/bdf.vim b/ftplugin/bdf.vim new file mode 100644 index 00000000..e18c493c --- /dev/null +++ b/ftplugin/bdf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bdf') == -1 + +" Vim filetype plugin file +" Language: BDF font definition +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=b:COMMENT commentstring=COMMENT\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/bst.vim b/ftplugin/bst.vim new file mode 100644 index 00000000..e4445546 --- /dev/null +++ b/ftplugin/bst.vim @@ -0,0 +1,19 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bst') == -1 + +" Vim filetype plugin file +" Language: bst +" Author: Tim Pope +" $Id: bst.vim,v 1.1 2007/05/05 17:37:57 vimboss Exp $ + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=%\ %s +setlocal comments=:% +setlocal fo-=t fo+=croql + +let b:undo_ftplugin = "setlocal com< cms< fo<" + +endif diff --git a/ftplugin/calendar.vim b/ftplugin/calendar.vim new file mode 100644 index 00000000..1ce0e41d --- /dev/null +++ b/ftplugin/calendar.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'calendar') == -1 + +" Vim filetype plugin file +" Language: calendar(1) input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include& +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cdrdaoconf.vim b/ftplugin/cdrdaoconf.vim new file mode 100644 index 00000000..8b114fcb --- /dev/null +++ b/ftplugin/cdrdaoconf.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cdrdaoconf') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cfg.vim b/ftplugin/cfg.vim new file mode 100644 index 00000000..6b4fb062 --- /dev/null +++ b/ftplugin/cfg.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cfg') == -1 + +" Vim filetype plugin file +" Language: Configuration File +" Maintainer: Christian Brabandt +" Latest Revision: 2018-12-24 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl cms< fo<" + +setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/ch.vim b/ftplugin/ch.vim new file mode 100644 index 00000000..71f4870b --- /dev/null +++ b/ftplugin/ch.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ch') == -1 + +" Vim filetype plugin file +" Language: Ch +" Maintainer: SoftIntegration, Inc. +" URL: http://www.softintegration.com/download/vim/ftplugin/ch.vim +" Last change: 2004 May 16 +" Created based on cpp.vim +" +" Ch is a C/C++ interpreter with many high level extensions +" + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Behaves just like C +runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim + +endif diff --git a/ftplugin/cobol.vim b/ftplugin/cobol.vim new file mode 100644 index 00000000..45050de2 --- /dev/null +++ b/ftplugin/cobol.vim @@ -0,0 +1,273 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cobol') == -1 + +" Vim filetype plugin file +" Language: cobol +" Maintainer: Ankit Jain +" (formerly Tim Pope ) +" Last Update: By Ankit Jain (add gtk support) on 15.08.2020 + +" Insert mode mappings: +" 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\>,' . + \ '[$-]\@:\<\%(then\|else\)\>:\'.s:ordot.',' . + \ '-\@:\'.s:ordot . ',' . + \ '-\@:\<\%(when\)\>:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+size\s\+error\>\)\)\@=:\%(\:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>\)\)\@=:\%(\:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\:\' .s:ordot +endif + +" add gtk support +if (has("gui_win32") || has("gui_gtk")) && !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 <'" . + \ " | sil! exe 'nunmap >'" . + \ " | sil! exe 'nunmap <<'" . + \ " | sil! exe 'nunmap >>'" . + \ " | sil! exe 'vunmap <'" . + \ " | sil! exe 'vunmap >'" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'nunmap Traditional'" . + \ " | sil! exe 'nunmap Comment'" . + \ " | sil! exe 'nunmap DeComment'" . + \ " | sil! exe 'vunmap VisualTraditional'" . + \ " | sil! exe 'vunmap VisualComment'" . + \ " | sil! exe 'iunmap VisualDeComment'" . + \ " | sil! exe 'unmap [['" . + \ " | sil! exe 'unmap ]]'" . + \ " | sil! exe 'unmap []'" . + \ " | sil! exe 'unmap ]['" +endif + +if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps") + if version >= 700 + nnoremap > :set opfunc=IncreaseFuncg@ + nnoremap < :set opfunc=DecreaseFuncg@ + endif + nnoremap >> :call CobolIndentBlock(1) + nnoremap << :call CobolIndentBlock(-1) + vnoremap > :call CobolIndentBlock(v:count1) + vnoremap < :call CobolIndentBlock(-v:count1) + inoremap =IncreaseIndent()=RestoreShiftwidth() + inoremap =DecreaseIndent()=RestoreShiftwidth() + if !maparg("","i") + inoremap =Tab()=RestoreShiftwidth() + endif + noremap [[ m':call search('\c^\%(\s*\.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\section\)\s*\.','bW') + noremap ]] m':call search('\c^\%(\s*\.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\section\)\.','W') + noremap [] m':call toend('b') + noremap ][ m':call toend('') + " For EnhancedCommentify + noremap Traditional :call Comment('t') + noremap Comment :call Comment('c') + noremap DeComment :call Comment('u') + noremap VisualTraditional :'<,'>call Comment('t') + noremap VisualComment :'<,'>call Comment('c') + noremap VisualDeComment :'<,'>call Comment('u') +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 = "\" + 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 "\".lastchar.c + else + return s:repeat(c,interval) + endif +endfunction + +function! s:DecreaseIndent() + let c = "\" + 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() + " &softtabstop < 0: &softtabstop follows &shiftwidth + elseif (&sts < 0 || &sts == shiftwidth()) && &sts != 8 && &et + return s:repeat(" ",s:increase(col('.')-1)) + else + return "\" + 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 + +endif diff --git a/ftplugin/config.vim b/ftplugin/config.vim new file mode 100644 index 00000000..d6a4281b --- /dev/null +++ b/ftplugin/config.vim @@ -0,0 +1,46 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'config') == -1 + +" Vim filetype plugin file +" Language: config +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" Define some defaults in case the included ftplugins don't set them. +let s:undo_ftplugin = "" +let s:browsefilter = "Bourne Shell Files (*.sh)\t*.sh\n" . + \ "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim +let b:did_ftplugin = 1 + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter +endif + +" Change the :browse e filter to primarily show configure-related files. +if has("gui_win32") + let b:browsefilter="Configure Scripts (configure.*, config.*)\tconfigure*;config.*\n" . + \ s:browsefilter +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:browsefilter | " . b:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/context.vim b/ftplugin/context.vim new file mode 100644 index 00000000..2e68ecfc --- /dev/null +++ b/ftplugin/context.vim @@ -0,0 +1,106 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'context') == -1 + +" Vim filetype plugin file +" Language: ConTeXt typesetting engine +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 30 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +if !exists('current_compiler') + compiler context +endif + +let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2 +if get(b:, 'context_metapost', get(g:, 'context_metapost', 1)) + setlocal omnifunc=contextcomplete#Complete + let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+' + let g:omni_syntax_group_exclude_context = 'mfTodoComment' +endif + +let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\=' + \ . 'def\|\\font\|\\\%(future\)\=let' + \ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write' + \ . '\|fam\|insert\|if\)' + +let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)' + +setlocal suffixesadd=.tex + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_skip = 'r:\\\@', + \ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>', + \ 'beginblock' : '\\\%(start\|setup\|define\)', + \ 'endblock' : '\\\%(stop\|setup\|define\)' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)') +endfunction + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +" Other useful mappings +if get(g:, 'context_mappings', 1) + let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)' + + fun! s:tp() + call cursor(search(s:tp_regex, 'bcW') + 1, 1) + normal! V + call cursor(search(s:tp_regex, 'W') - 1, 1) + endf + + " Reflow paragraphs with commands like gqtp ("gq TeX paragraph") + onoremap tp :call tp() + " Select TeX paragraph + vnoremap tp :call tp() + + " $...$ text object + onoremap i$ :normal! T$vt$ + onoremap a$ :normal! F$vf$ + vnoremap i$ T$ot$ + vnoremap a$ F$of$ +endif + +" Commands for asynchronous typesetting +command! -buffer -nargs=? -complete=file ConTeXt call context#typeset() +command! -nargs=0 ConTeXtJobStatus call context#job_status() +command! -nargs=0 ConTeXtStopJobs call context#stop_jobs() + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/crm.vim b/ftplugin/crm.vim new file mode 100644 index 00000000..f5a6268d --- /dev/null +++ b/ftplugin/crm.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crm') == -1 + +" Vim filetype plugin file +" Language: CRM114 +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cs.vim b/ftplugin/cs.vim new file mode 100644 index 00000000..46d26f55 --- /dev/null +++ b/ftplugin/cs.vim @@ -0,0 +1,33 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cs') == -1 + +" Vim filetype plugin file +" Language: C# +" Maintainer: Johannes Zellner +" Last Change: Tue, 09 Mar 2004 14:09:33 CET + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set 'comments' to format dashed lists in comments. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "C# Source Files (*.cs)\t*.cs\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/csc.vim b/ftplugin/csc.vim new file mode 100644 index 00000000..e992f438 --- /dev/null +++ b/ftplugin/csc.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'csc') == -1 + +" Vim filetype plugin file +" Language: csc +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +if exists("loaded_matchit") + let b:match_words= + \ '\:\,' . + \ '\:\:\,' . + \ '\\|\:\' +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:match_words" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/css.vim b/ftplugin/css.vim new file mode 100644 index 00000000..47db09cd --- /dev/null +++ b/ftplugin/css.vim @@ -0,0 +1,28 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'css') == -1 + +" Vim filetype plugin file +" Language: CSS +" Maintainer: Doug Kearns +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo< ofu<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& +setlocal formatoptions-=t formatoptions+=croql +setlocal omnifunc=csscomplete#CompleteCSS + +let &l:include = '^\s*@import\s\+\%(url(\)\=' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cvsrc.vim b/ftplugin/cvsrc.vim new file mode 100644 index 00000000..b408fdb1 --- /dev/null +++ b/ftplugin/cvsrc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cvsrc') == -1 + +" Vim filetype plugin file +" Language: cvs(1) RC file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/debchangelog.vim b/ftplugin/debchangelog.vim new file mode 100644 index 00000000..261af91c --- /dev/null +++ b/ftplugin/debchangelog.vim @@ -0,0 +1,387 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debchangelog') == -1 + +" Vim filetype plugin file (GUI menu, folding and completion) +" Language: Debian Changelog +" Maintainer: Debian Vim Maintainers +" Former Maintainers: Michael Piefel +" Stefano Zacchiroli +" 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 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 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 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 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 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=WarnIfNotUnfinalised() + .-2 + if warn + echohl MoreMsg + call input('Hit ENTER') + echohl None + endif + startinsert! +endfunction + +function CloseBug() + 1 + call search('^ -- ') + let warn=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 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 UnfinaliseMenu() + 1 + call search('^ -- ') + call setline('.', ' -- ') +endfunction + +function 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 FinaliseMenu() + 1 + call search('^ -- ') + call setline('.', ' -- ' . FullName() . ' <' . Email() . '> ' . Date()) +endfunction + + +function MakeMenu() + amenu &Changelog.&New\ Version :call NewVersion() + amenu Changelog.&Add\ Entry :call AddEntry() + amenu Changelog.&Close\ Bug :call CloseBug() + menu Changelog.-sep- + + amenu Changelog.Set\ &Distribution.&unstable :call Distribution("unstable") + amenu Changelog.Set\ Distribution.&frozen :call Distribution("frozen") + amenu Changelog.Set\ Distribution.&stable :call Distribution("stable") + menu Changelog.Set\ Distribution.-sep- + amenu Changelog.Set\ Distribution.frozen\ unstable :call Distribution("frozen unstable") + amenu Changelog.Set\ Distribution.stable\ unstable :call Distribution("stable unstable") + amenu Changelog.Set\ Distribution.stable\ frozen :call Distribution("stable frozen") + amenu Changelog.Set\ Distribution.stable\ frozen\ unstable :call Distribution("stable frozen unstable") + + amenu Changelog.Set\ &Urgency.&low :call Urgency("low") + amenu Changelog.Set\ Urgency.&medium :call Urgency("medium") + amenu Changelog.Set\ Urgency.&high :call Urgency("high") + + menu Changelog.-sep- + amenu Changelog.U&nfinalise :call Unfinalise() + amenu Changelog.&Finalise :call Finalise() + + if Finalised() + call FinaliseMenu() + else + call UnfinaliseMenu() + endif +endfunction + +augroup changelogMenu +au BufEnter * if &filetype == "debchangelog" | call 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: + +endif diff --git a/ftplugin/debcontrol.vim b/ftplugin/debcontrol.vim new file mode 100644 index 00000000..47128050 --- /dev/null +++ b/ftplugin/debcontrol.vim @@ -0,0 +1,74 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debcontrol') == -1 + +" Vim filetype plugin file (GUI menu and folding) +" Language: Debian control files +" Maintainer: Debian Vim Maintainers +" Former Maintainer: Pierre Habouzit +" Last Change: 2018-01-28 +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/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 + +endif diff --git a/ftplugin/denyhosts.vim b/ftplugin/denyhosts.vim new file mode 100644 index 00000000..9b5cbba3 --- /dev/null +++ b/ftplugin/denyhosts.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'denyhosts') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dictconf.vim b/ftplugin/dictconf.vim new file mode 100644 index 00000000..0ac9a9f4 --- /dev/null +++ b/ftplugin/dictconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictconf') == -1 + +" Vim filetype plugin file +" Language: dict(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dictdconf.vim b/ftplugin/dictdconf.vim new file mode 100644 index 00000000..df6226c3 --- /dev/null +++ b/ftplugin/dictdconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictdconf') == -1 + +" Vim filetype plugin file +" Language: dictd(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/diff.vim b/ftplugin/diff.vim new file mode 100644 index 00000000..8b7d0551 --- /dev/null +++ b/ftplugin/diff.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'diff') == -1 + +" Vim filetype plugin file +" Language: Diff +" Maintainer: Bram Moolenaar +" Last Change: 2020 Jul 18 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl modeline<" + +" Don't use modelines in a diff, they apply to the diffed file +setlocal nomodeline + +" If there are comments they start with # +let &commentstring = "# %s" + +endif diff --git a/ftplugin/dircolors.vim b/ftplugin/dircolors.vim new file mode 100644 index 00000000..9e2ef46a --- /dev/null +++ b/ftplugin/dircolors.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dircolors') == -1 + +" Vim filetype plugin file +" Language: dircolors(1) input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dosbatch.vim b/ftplugin/dosbatch.vim new file mode 100644 index 00000000..b846f4f5 --- /dev/null +++ b/ftplugin/dosbatch.vim @@ -0,0 +1,44 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dosbatch') == -1 + +" Vim filetype plugin file +" Language: MS-DOS .bat files +" Maintainer: Mike Williams +" Last Change: 7th May 2020 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +" BAT comment formatting +setlocal comments=b:rem,b:@rem,b:REM,b:@REM,::: +setlocal commentstring=::\ %s +setlocal formatoptions-=t formatoptions+=rol + +" Lookup DOS keywords using Windows command help. +if executable('help.exe') + if has('terminal') + setlocal keywordprg=:term\ help.exe + else + setlocal keywordprg=help.exe + endif +endif + +" Define patterns for the browse file filter +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dtd.vim b/ftplugin/dtd.vim new file mode 100644 index 00000000..d2c4876e --- /dev/null +++ b/ftplugin/dtd.vim @@ -0,0 +1,44 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dtd') == -1 + +" Vim filetype plugin file +" Language: dtd +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +setlocal commentstring= +setlocal comments=s: + +setlocal formatoptions-=t +if !exists("g:ft_dtd_autocomment") || (g:ft_dtd_autocomment == 1) + setlocal formatoptions+=croql +endif + +if exists("loaded_matchit") + let b:match_words = ',' +endif + +" Change the :browse e filter to primarily show Java-related files. +if has("gui_win32") + let b:browsefilter="DTD Files (*.dtd)\t*.dtd\n" . + \ "XML Files (*.xml)\t*.xml\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" . + \ " | unlet! b:matchwords b:browsefilter" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/elinks.vim b/ftplugin/elinks.vim new file mode 100644 index 00000000..8e2611dc --- /dev/null +++ b/ftplugin/elinks.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elinks') == -1 + +" Vim filetype plugin file +" Language: elinks(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/eterm.vim b/ftplugin/eterm.vim new file mode 100644 index 00000000..3211c867 --- /dev/null +++ b/ftplugin/eterm.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'eterm') == -1 + +" Vim filetype plugin file +" Language: eterm(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/falcon.vim b/ftplugin/falcon.vim new file mode 100644 index 00000000..f0735dd5 --- /dev/null +++ b/ftplugin/falcon.vim @@ -0,0 +1,52 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'falcon') == -1 + +" Vim filetype plugin file +" Language: Falcon +" Author: Steven Oliver +" Copyright: Copyright (c) 2009-2013 Steven Oliver +" License: You may redistribute this under the same terms as Vim itself +" -------------------------------------------------------------------------- + +" Only do this when not done yet for this buffer +if (exists("b:did_ftplugin")) + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal softtabstop=4 shiftwidth=4 fileencoding=utf-8 +setlocal suffixesadd=.fal,.ftd + +" Matchit support +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_ignorecase = 0 + + let b:match_words = + \ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' . + \ ':' . + \ '\<\%(else\|elsif\|when\)\>' . + \ ':' . + \ '\' . + \ ',{:},\[:\],(:)' +endif + +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// + +" Windows allows you to filter the open file dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Falcon Source Files (*.fal *.ftd)\t*.fal;*.ftd\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal tabstop< shiftwidth< expandtab< fileencoding<" + \ . " suffixesadd< comments<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: set sw=4 sts=4 et tw=80 : + +endif diff --git a/ftplugin/fetchmail.vim b/ftplugin/fetchmail.vim new file mode 100644 index 00000000..2001caad --- /dev/null +++ b/ftplugin/fetchmail.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fetchmail') == -1 + +" Vim filetype plugin file +" Language: fetchmail(1) RC File +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/fortran.vim b/ftplugin/fortran.vim new file mode 100644 index 00000000..7b8a1fb1 --- /dev/null +++ b/ftplugin/fortran.vim @@ -0,0 +1,137 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1 + +" Vim settings file +" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) +" Version: 0.50 +" Last Change: 2020 Apr 20 +" Patched By: Eisuke Kawashima +" Maintainer: Ajit J. Thakkar ; +" Usage: For instructions, do :help fortran-plugin from Vim +" Credits: +" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben +" Fritz, and David Barnett. + +" Only do these settings when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +let s:cposet=&cpoptions +set cpoptions&vim + +" Don't do other file type settings for this buffer +let b:did_ftplugin = 1 + +" Determine whether this is a fixed or free format source file +" if this hasn't been done yet using the priority: +" buffer-local value +" > global value +" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers +if !exists("b:fortran_fixed_source") + if exists("fortran_free_source") + " User guarantees free source form + let b:fortran_fixed_source = 0 + elseif exists("fortran_fixed_source") + " User guarantees fixed source form + let b:fortran_fixed_source = 1 + elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$' + " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers + let b:fortran_fixed_source = 0 + elseif expand("%:e") =~? '^\%(f\|f77\|for\)$' + " Fixed-form file extension defaults + let b:fortran_fixed_source = 1 + else + " Modern fortran still allows both fixed and free source form + " Assume fixed source form unless signs of free source form + " are detected in the first five columns of the first s:lmax lines. + " Detection becomes more accurate and time-consuming if more lines + " are checked. Increase the limit below if you keep lots of comments at + " the very top of each file and you have a fast computer. + let s:lmax = 500 + if ( s:lmax > line("$") ) + let s:lmax = line("$") + endif + let b:fortran_fixed_source = 1 + let s:ln=1 + while s:ln <= s:lmax + let s:test = strpart(getline(s:ln),0,5) + if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t' + let b:fortran_fixed_source = 0 + break + endif + let s:ln = s:ln + 1 + endwhile + unlet! s:lmax s:ln s:test + endif +endif + +" Set comments and textwidth according to source type +if (b:fortran_fixed_source == 1) + setlocal comments=:!,:*,:C + " Fixed format requires a textwidth of 72 for code + setlocal tw=72 + " If you need to add "&" on continued lines so that the code is + " compatible with both free and fixed format, then you should do so + " in column 73 and uncomment the next line + " setlocal tw=73 +else + setlocal comments=:! + " Free format allows a textwidth of 132 + setlocal tw=132 +endif + +" Set commentstring for foldmethod=marker +setlocal cms=!%s + +" Tabs are not a good idea in Fortran so the default is to expand tabs +if !exists("fortran_have_tabs") + setlocal expandtab +endif + +" Set 'formatoptions' to break text lines +setlocal fo+=t + +setlocal include=^\\c#\\=\\s*include\\s\\+ +setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp + +" Define patterns for the matchit plugin +if !exists("b:match_words") + let s:notend = '\%(\:' . s:notselect. '\:\,' . + \ s:notelse . '\:' . + \ '\:\,'. + \ 'do\s\+\(\d\+\):\%(^\s*\)\@<=\1\s,'. + \ s:notend . '\:\,'. + \ s:notelse . '\:\:\,'. + \ s:notend . '\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\' . s:notprocedure . ':\,'. + \ s:notend . '\:\' +endif + +" File filters for :browse e +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<" + \ . "| unlet! b:match_ignorecase b:match_words b:browsefilter" + +let &cpoptions=s:cposet +unlet s:cposet + +" vim:sw=2 + +endif diff --git a/ftplugin/framescript.vim b/ftplugin/framescript.vim new file mode 100644 index 00000000..aa56a7b7 --- /dev/null +++ b/ftplugin/framescript.vim @@ -0,0 +1,34 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'framescript') == -1 + +" Vim ftplugin file +" Language: FrameScript +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-19 + +let s:cpo_save = &cpo +set cpo&vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords" + +setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */ +setlocal formatoptions-=t formatoptions+=croql +setlocal include=^\\s*<#Include + +if exists("loaded_matchit") + let s:not_end = '\c\%(\:\c\:\c\:\c\,' . + \ s:not_end . '\:\c\' . + \ s:not_end . '\:\c\' + unlet s:not_end +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/fvwm.vim b/ftplugin/fvwm.vim new file mode 100644 index 00000000..76ba9196 --- /dev/null +++ b/ftplugin/fvwm.vim @@ -0,0 +1,18 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fvwm') == -1 + +" Created : Tue 09 May 2006 02:07:31 PM CDT +" Modified : Tue 09 May 2006 02:07:31 PM CDT +" Author : Gautam Iyer +" Description : ftplugin for fvwm config files + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +endif diff --git a/ftplugin/gdb.vim b/ftplugin/gdb.vim new file mode 100644 index 00000000..abfa3208 --- /dev/null +++ b/ftplugin/gdb.vim @@ -0,0 +1,16 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gdb') == -1 + +" Vim filetype plugin file +" Language: gdb +" Maintainer: Michaël Peeters +" Last Changed: 26 Oct 2017 + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +setlocal commentstring=#%s + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal cms<" + +endif diff --git a/ftplugin/gpg.vim b/ftplugin/gpg.vim new file mode 100644 index 00000000..d7519924 --- /dev/null +++ b/ftplugin/gpg.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gpg') == -1 + +" Vim filetype plugin file +" Language: gpg(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/group.vim b/ftplugin/group.vim new file mode 100644 index 00000000..5f0b4d90 --- /dev/null +++ b/ftplugin/group.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'group') == -1 + +" Vim filetype plugin file +" Language: group(5) user group file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hgcommit.vim b/ftplugin/hgcommit.vim new file mode 100644 index 00000000..16c92796 --- /dev/null +++ b/ftplugin/hgcommit.vim @@ -0,0 +1,20 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hgcommit') == -1 + +" Vim filetype plugin file +" Language: hg (Mercurial) commit file +" Maintainer: Ken Takata +" Last Change: 2016 Jan 6 +" Filenames: hg-editor-*.txt +" License: VIM License +" URL: https://github.com/k-takata/hg-vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal nomodeline + +let b:undo_ftplugin = 'setl modeline<' + +endif diff --git a/ftplugin/hog.vim b/ftplugin/hog.vim new file mode 100644 index 00000000..b0541a39 --- /dev/null +++ b/ftplugin/hog.vim @@ -0,0 +1,43 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hog') == -1 + +" Vim filetype plugin +" Language: hog (snort.conf) +" Maintainer: . Victor Roemer, . +" Last Change: Mar 1, 2013 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:undo_ftplugin = "setl fo< com< cms< def< inc<" + +let s:cpo_save = &cpo +set cpo&vim + +setlocal formatoptions=croq +setlocal comments=:# +setlocal commentstring=\c#\ %s +setlocal define=\c^\s\{-}var +setlocal include=\c^\s\{-}include + +" Move around configurations +let s:hog_keyword_match = '\c^\s*\<\(preprocessor\\|config\\|output\\|include\\|ipvar\\|portvar\\|var\\|dynamicpreprocessor\\|' . + \ 'dynamicengine\\|dynamicdetection\\|activate\\|alert\\|drop\\|block\\|dynamic\\|log\\|pass\\|reject\\|sdrop\\|sblock\)\>' + +exec "nnoremap ]] :call search('" . s:hog_keyword_match . "', 'W' )" +exec "nnoremap [[ :call search('" . s:hog_keyword_match . "', 'bW' )" + +if exists("loaded_matchit") + let b:match_words = + \ '^\s*\<\%(preprocessor\|config\|output\|include\|ipvar\|portvar' . + \ '\|var\|dynamicpreprocessor\|dynamicengine\|dynamicdetection' . + \ '\|activate\|alert\|drop\|block\|dynamic\|log\|pass\|reject' . + \ '\|sdrop\|sblock\>\):$,\::\,:;' + let b:match_skip = 'r:\\.\{-}$\|^\s*#.\{-}$\|^\s*$' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hostconf.vim b/ftplugin/hostconf.vim new file mode 100644 index 00000000..a6a9a840 --- /dev/null +++ b/ftplugin/hostconf.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostconf') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hostsaccess.vim b/ftplugin/hostsaccess.vim new file mode 100644 index 00000000..36a67e90 --- /dev/null +++ b/ftplugin/hostsaccess.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostsaccess') == -1 + +" Vim filetype plugin file +" Language: hosts_access(5) control file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/indent.vim b/ftplugin/indent.vim new file mode 100644 index 00000000..c4c1ab4a --- /dev/null +++ b/ftplugin/indent.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'indent') == -1 + +" Vim filetype plugin file +" Language: indent(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/j.vim b/ftplugin/j.vim new file mode 100644 index 00000000..0d8ef152 --- /dev/null +++ b/ftplugin/j.vim @@ -0,0 +1,85 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'j') == -1 + +" Vim filetype plugin +" Language: J +" Maintainer: David Bürgin +" URL: https://gitlab.com/glts/vim-j +" Last Change: 2015-10-27 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo&vim + +setlocal iskeyword=48-57,A-Z,a-z,_ +setlocal comments=:NB. +setlocal commentstring=NB.\ %s +setlocal formatoptions-=t +setlocal matchpairs=(:) +setlocal path-=/usr/include + +" Includes. To make the shorthand form "require 'web/cgi'" work, double the +" last path component. Also strip off leading folder names like "~addons/". +setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze' +setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','') +setlocal suffixesadd=.ijs + +let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpairs< formatoptions< commentstring< comments< iskeyword<' + +" Section movement with ]] ][ [[ []. The start/end patterns below are amended +" inside the function in order to avoid matching on the current cursor line. +let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*' +let s:sectionend = '\s*)\s*' + +function! s:SearchSection(end, backwards, visualmode) abort + if a:visualmode !=# '' + normal! gv + endif + let l:flags = a:backwards ? 'bsW' : 'sW' + if a:end + call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags) + else + call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags) + endif +endfunction + +noremap ]] :call SearchSection(0, 0, '') +xnoremap ]] :call SearchSection(0, 0, visualmode()) +sunmap ]] +noremap ][ :call SearchSection(1, 0, '') +xnoremap ][ :call SearchSection(1, 0, visualmode()) +sunmap ][ +noremap [[ :call SearchSection(0, 1, '') +xnoremap [[ :call SearchSection(0, 1, visualmode()) +sunmap [[ +noremap [] :call SearchSection(1, 1, '') +xnoremap [] :call SearchSection(1, 1, visualmode()) +sunmap [] + +let b:undo_ftplugin .= ' | silent! execute "unmap ]]"' + \ . ' | silent! execute "unmap ]["' + \ . ' | silent! execute "unmap [["' + \ . ' | silent! execute "unmap []"' + +" Browse dialog filter on Windows (see ":help browsefilter") +if has('gui_win32') && !exists('b:browsefilter') + let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n" + \ . "All Files (*.*)\t*.*\n" + let b:undo_ftplugin .= ' | unlet! b:browsefilter' +endif + +" Enhanced "%" matching (see ":help matchit") +if exists('loaded_matchit') && !exists('b:match_words') + let b:match_ignorecase = 0 + let b:match_words = '^\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>:^\s*\:\s*$:^\s*)\s*$' + \ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\ +" Last Change: 2012 Mar 11 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" For filename completion, prefer the .java extension over the .class +" extension. +set suffixes+=.class + +" Enable gf on import statements. Convert . in the package +" name to / and append .java to the name, then search the path. +setlocal includeexpr=substitute(v:fname,'\\.','/','g') +setlocal suffixesadd=.java +if exists("g:ftplugin_java_source_path") + let &l:path=g:ftplugin_java_source_path . ',' . &l:path +endif + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal formatoptions-=t formatoptions+=croql + +" Set 'comments' to format dashed lists in comments. Behaves just like C. +setlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/ + +setlocal commentstring=//%s + +" Change the :browse e filter to primarily show Java-related files. +if has("gui_win32") + let b:browsefilter="Java Files (*.java)\t*.java\n" . + \ "Properties Files (*.prop*)\t*.prop*\n" . + \ "Manifest Files (*.mf)\t*.mf\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal suffixes< suffixesadd<" . + \ " formatoptions< comments< commentstring< path< includeexpr<" . + \ " | unlet! b:browsefilter" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/jproperties.vim b/ftplugin/jproperties.vim new file mode 100644 index 00000000..a9cf4e62 --- /dev/null +++ b/ftplugin/jproperties.vim @@ -0,0 +1,19 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jproperties') == -1 + +" Vim filetype plugin +" Language: Java properties file +" Maintainer: None +" Last Change: 2019 Dec 01 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal formatoptions-=t +setlocal comments=:#,:! +setlocal commentstring=#\ %s + +let b:undo_ftplugin = "setl cms< com< fo<" + +endif diff --git a/ftplugin/jsp.vim b/ftplugin/jsp.vim new file mode 100644 index 00000000..091e359a --- /dev/null +++ b/ftplugin/jsp.vim @@ -0,0 +1,71 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsp') == -1 + +" Vim filetype plugin file +" Language: jsp +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" Define some defaults in case the included ftplugins don't set them. +let s:undo_ftplugin = "" +let s:browsefilter = "Java Files (*.java)\t*.java\n" . + \ "HTML Files (*.html, *.htm)\t*.html;*.htm\n" . + \ "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +unlet b:did_ftplugin + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin + unlet b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter + unlet b:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words + unlet b:match_words +endif + +runtime! ftplugin/java.vim ftplugin/java_*.vim ftplugin/java/*.vim +let b:did_ftplugin = 1 + +" Combine the new set of values with those previously included. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin +endif +if exists ("b:browsefilter") + let s:browsefilter = b:browsefilter . s:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words . ',' . s:match_words +endif + +" Load the combined list of match_words for matchit.vim +if exists("loaded_matchit") + let b:match_words = s:match_words +endif + +" Change the :browse e filter to primarily show JSP-related files. +if has("gui_win32") + let b:browsefilter="JSP Files (*.jsp)\t*.jsp\n" . s:browsefilter +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:browsefilter b:match_words | " . s:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/kconfig.vim b/ftplugin/kconfig.vim new file mode 100644 index 00000000..b106b3d9 --- /dev/null +++ b/ftplugin/kconfig.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kconfig') == -1 + +" Vim filetype plugin file +" Vim syntax file +" Maintainer: Christian Brabandt +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2015-05-29 +" License: Vim (see :h license) +" Repository: https://github.com/chrisbra/vim-kconfig + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +" For matchit.vim +if exists("loaded_matchit") + let b:match_words = '^\:\,^\:\,^\:\' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/kwt.vim b/ftplugin/kwt.vim new file mode 100644 index 00000000..5bc89215 --- /dev/null +++ b/ftplugin/kwt.vim @@ -0,0 +1,36 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kwt') == -1 + +" Vim filetype plugin file +" Language: Kimwitu++ +" Maintainer: Michael Piefel +" Last Change: 10 March 2012 + +" Behaves almost like C++ +runtime! ftplugin/cpp.vim ftplugin/cpp_*.vim ftplugin/cpp/*.vim + +let s:cpo_save = &cpo +set cpo&vim + +" Limit the browser to related files +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Kimwitu/Kimwitu++ Files (*.k)\t*.k\n" . + \ "Lex/Flex Files (*.l)\t*.l\n" . + \ "Yacc/Bison Files (*.y)\t*.y\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Set the errorformat for the Kimwitu++ compiler +set efm+=kc%.%#:\ error\ at\ %f:%l:\ %m + +if exists("b:undo_ftplugin") + let b:undo_ftplugin = b:undo_ftplugin . " | setlocal efm<" + \ . "| unlet! b:browsefiler" +else + let b:undo_ftplugin = "setlocal efm<" + \ . "| unlet! b:browsefiler" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/ld.vim b/ftplugin/ld.vim new file mode 100644 index 00000000..bd9723f4 --- /dev/null +++ b/ftplugin/ld.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ld') == -1 + +" Vim filetype plugin file +" Language: ld(1) script +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/lftp.vim b/ftplugin/lftp.vim new file mode 100644 index 00000000..f9e0be86 --- /dev/null +++ b/ftplugin/lftp.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lftp') == -1 + +" Vim filetype plugin file +" Language: lftp(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/libao.vim b/ftplugin/libao.vim new file mode 100644 index 00000000..d6d6e660 --- /dev/null +++ b/ftplugin/libao.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'libao') == -1 + +" Vim filetype plugin file +" Language: libao.conf(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/limits.vim b/ftplugin/limits.vim new file mode 100644 index 00000000..873f9341 --- /dev/null +++ b/ftplugin/limits.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'limits') == -1 + +" Vim filetype plugin file +" Language: limits(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/liquid.vim b/ftplugin/liquid.vim new file mode 100644 index 00000000..5ffbade6 --- /dev/null +++ b/ftplugin/liquid.vim @@ -0,0 +1,65 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1 + +" Vim filetype plugin +" Language: Liquid +" Maintainer: Tim Pope +" Last Change: 2010 May 21 + +if exists('b:did_ftplugin') + finish +endif + +if !exists('g:liquid_default_subtype') + let g:liquid_default_subtype = 'html' +endif + +if !exists('b:liquid_subtype') + let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") + let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+') + if b:liquid_subtype == '' + let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+') + endif + if b:liquid_subtype == '' + let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$') + endif + if b:liquid_subtype == '' + let b:liquid_subtype = g:liquid_default_subtype + endif +endif + +if exists('b:liquid_subtype') && b:liquid_subtype != '' + exe 'runtime! ftplugin/'.b:liquid_subtype.'.vim ftplugin/'.b:liquid_subtype.'_*.vim ftplugin/'.b:liquid_subtype.'/*.vim' +else + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +endif +let b:did_ftplugin = 1 + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= '|' +else + let b:undo_ftplugin = '' +endif +if exists('b:browsefilter') + let b:browsefilter = "\n".b:browsefilter +else + let b:browsefilter = '' +endif +if exists('b:match_words') + let b:match_words .= ',' +elseif exists('loaded_matchit') + let b:match_words = '' +endif + +if has('gui_win32') + let b:browsefilter="Liquid Files (*.liquid)\t*.liquid" . b:browsefilter +endif + +if exists('loaded_matchit') + let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\,<\(capture\|comment\|highlight\)\>:\' +endif + +setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %} + +let b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words' + +endif diff --git a/ftplugin/lisp.vim b/ftplugin/lisp.vim new file mode 100644 index 00000000..eaae2795 --- /dev/null +++ b/ftplugin/lisp.vim @@ -0,0 +1,30 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lisp') == -1 + +" Vim filetype plugin +" Language: Lisp +" Maintainer: Sergey Khorev +" URL: http://sites.google.com/site/khorser/opensource/vim +" Original author: Dorai Sitaram +" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html +" Last Change: Oct 23, 2013 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +setl comments=:; +setl define=^\\s*(def\\k* +setl formatoptions-=t +setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94 +setl lisp +setl commentstring=;%s + +setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|# + +let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<" + +endif diff --git a/ftplugin/logcheck.vim b/ftplugin/logcheck.vim new file mode 100644 index 00000000..1c1d8510 --- /dev/null +++ b/ftplugin/logcheck.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logcheck') == -1 + +" Vim filetype plugin file +" Language: Logcheck +" Maintainer: Debian Vim Maintainers +" Last Change: 2018 Dec 27 +" License: Vim License +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/logcheck.vim + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = 'setl fo<' + +" Do not hard-wrap non-comment lines since each line is a self-contained +" regular expression +setlocal formatoptions-=t + +endif diff --git a/ftplugin/loginaccess.vim b/ftplugin/loginaccess.vim new file mode 100644 index 00000000..e19e9d8d --- /dev/null +++ b/ftplugin/loginaccess.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'loginaccess') == -1 + +" Vim filetype plugin file +" Language: login.access(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/logindefs.vim b/ftplugin/logindefs.vim new file mode 100644 index 00000000..be22441f --- /dev/null +++ b/ftplugin/logindefs.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logindefs') == -1 + +" Vim filetype plugin file +" Language: login.defs(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/logtalk.vim b/ftplugin/logtalk.vim new file mode 100644 index 00000000..2b79723f --- /dev/null +++ b/ftplugin/logtalk.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logtalk') == -1 + +" Logtalk filetype plugin file +" Language: Logtalk +" Maintainer: Paulo Moura +" Latest Revision: 2018-08-03 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl ts< sw< fdm< fdc< ai< dict<" + +setlocal ts=4 +setlocal sw=4 +setlocal fdm=syntax +setlocal fdn=10 +setlocal fdc=2 +setlocal autoindent +setlocal dict=$VIMRUNTIME/ftplugin/logtalk.dict + +endif diff --git a/ftplugin/lprolog.vim b/ftplugin/lprolog.vim new file mode 100644 index 00000000..8f465460 --- /dev/null +++ b/ftplugin/lprolog.vim @@ -0,0 +1,41 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lprolog') == -1 + +" Vim settings file +" Language: LambdaProlog (Teyjus) +" Maintainer: Markus Mottl +" URL: http://www.ocaml.info/vim/ftplugin/lprolog.vim +" Last Change: 2006 Feb 05 +" 2001 Sep 16 - fixed 'no_mail_maps'-bug (MM) +" 2001 Sep 02 - initial release (MM) + +" Only do these settings when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't do other file type settings for this buffer +let b:did_ftplugin = 1 + +" Error format +setlocal efm=%+A./%f:%l.%c:\ %m formatprg=fmt\ -w75\ -p\\% + +" Formatting of comments +setlocal formatprg=fmt\ -w75\ -p\\% + +" Add mappings, unless the user didn't want this. +if !exists("no_plugin_maps") && !exists("no_lprolog_maps") + " Uncommenting + if !hasmapto('Comment') + nmap c LUncomOn + vmap c BUncomOn + nmap C LUncomOff + vmap C BUncomOff + endif + + nnoremap LUncomOn mz0i/* $A */`z + nnoremap LUncomOff :s/^\/\* \(.*\) \*\//\1/ + vnoremap BUncomOn :'<,'>`0i/*`>o0i*/`< + vnoremap BUncomOff :'<,'>`dd`< +endif + +endif diff --git a/ftplugin/mail.vim b/ftplugin/mail.vim new file mode 100644 index 00000000..b3d7f5b9 --- /dev/null +++ b/ftplugin/mail.vim @@ -0,0 +1,42 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mail') == -1 + +" Vim filetype plugin file +" Language: Mail +" Maintainer: Bram Moolenaar +" Last Change: 2012 Nov 20 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl modeline< tw< fo< comments<" + +" Don't use modelines in e-mail messages, avoid trojan horses and nasty +" "jokes" (e.g., setting 'textwidth' to 5). +setlocal nomodeline + +" many people recommend keeping e-mail messages 72 chars wide +if &tw == 0 + setlocal tw=72 +endif + +" Set 'formatoptions' to break text lines and keep the comment leader ">". +setlocal fo+=tcql + +" Add n:> to 'comments, in case it was removed elsewhere +setlocal comments+=n:> + +" Add mappings, unless the user doesn't want this. +if !exists("no_plugin_maps") && !exists("no_mail_maps") + " Quote text by inserting "> " + if !hasmapto('MailQuote') + vmap q MailQuote + nmap q MailQuote + endif + vnoremap MailQuote :s/^/> /:noh`` + nnoremap MailQuote :.,$s/^/> /:noh`` +endif + +endif diff --git a/ftplugin/mailaliases.vim b/ftplugin/mailaliases.vim new file mode 100644 index 00000000..ac7466cc --- /dev/null +++ b/ftplugin/mailaliases.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mailaliases') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mailcap.vim b/ftplugin/mailcap.vim new file mode 100644 index 00000000..fca0215b --- /dev/null +++ b/ftplugin/mailcap.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mailcap') == -1 + +" Vim filetype plugin file +" Language: Mailcap configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/man.vim b/ftplugin/man.vim new file mode 100644 index 00000000..300129c2 --- /dev/null +++ b/ftplugin/man.vim @@ -0,0 +1,254 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'man') == -1 + +" Vim filetype plugin file +" Language: man +" Maintainer: Jason Franklin +" Maintainer: SungHyun Nam +" Last Change: 2020 Jun 01 + +" To make the ":Man" command available before editing a manual page, source +" this script from your startup vimrc file. + +" If 'filetype' isn't "man", we must have been called to only define ":Man". +if &filetype == "man" + + " Only do this when not done yet for this buffer + if exists("b:did_ftplugin") + finish + endif + let b:did_ftplugin = 1 +endif + +let s:cpo_save = &cpo +set cpo-=C + +if &filetype == "man" + " allow dot and dash in manual page name. + setlocal iskeyword+=\.,- + let b:undo_ftplugin = "setlocal iskeyword<" + + " Add mappings, unless the user didn't want this. + if !exists("no_plugin_maps") && !exists("no_man_maps") + if !hasmapto('ManBS') + nmap h ManBS + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! nunmap h' + endif + nnoremap ManBS :%s/.\b//g:setl nomod'' + + nnoremap :call PreGetPage(v:count) + nnoremap :call PopPage() + nnoremap q :q + + " Add undo commands for the maps + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! nunmap ManBS' + \ . '|silent! nunmap ' + \ . '|silent! nunmap ' + \ . '|silent! nunmap q' + endif + + if exists('g:ft_man_folding_enable') && (g:ft_man_folding_enable == 1) + setlocal foldmethod=indent foldnestmax=1 foldenable + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! setl fdm< fdn< fen<' + endif + +endif + +if exists(":Man") != 2 + com -nargs=+ -complete=shellcmd Man call s:GetPage(, ) + nmap K :call PreGetPage(0) + nmap ManPreGetPage :call PreGetPage(0) +endif + +" Define functions only once. +if !exists("s:man_tag_depth") + +let s:man_tag_depth = 0 + +let s:man_sect_arg = "" +let s:man_find_arg = "-w" +try + if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5" + let s:man_sect_arg = "-s" + let s:man_find_arg = "-l" + endif +catch /E145:/ + " Ignore the error in restricted mode +endtry + +func PreGetPage(cnt) + if a:cnt == 0 + let old_isk = &iskeyword + if &ft == 'man' + setl iskeyword+=(,) + endif + let str = expand("") + let &l:iskeyword = old_isk + let page = substitute(str, '(*\(\k\+\).*', '\1', '') + let sect = substitute(str, '\(\k\+\)(\([^()]*\)).*', '\2', '') + if match(sect, '^[0-9 ]\+$') == -1 + let sect = "" + endif + if sect == page + let sect = "" + endif + else + let sect = a:cnt + let page = expand("") + endif + call s:GetPage('', sect, page) +endfunc + +func GetCmdArg(sect, page) + if a:sect == '' + return a:page + endif + return s:man_sect_arg.' '.a:sect.' '.a:page +endfunc + +func FindPage(sect, page) + let where = system("man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page)) + if where !~ "^/" + if matchstr(where, " [^ ]*$") !~ "^ /" + return 0 + endif + endif + return 1 +endfunc + +func GetPage(cmdmods, ...) + if a:0 >= 2 + let sect = a:1 + let page = a:2 + elseif a:0 >= 1 + let sect = "" + let page = a:1 + else + return + endif + + " To support: nmap K :Man + if page == '' + let page = expand('') + endif + + if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0) + if sect != "" && s:FindPage(sect, page) == 0 + let sect = "" + endif + endif + if s:FindPage(sect, page) == 0 + let msg = 'man.vim: no manual entry for "' . page . '"' + if !empty(sect) + let msg .= ' in section ' . sect + endif + echomsg msg + return + endif + exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%") + exec "let s:man_tag_lin_".s:man_tag_depth." = ".line(".") + exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".") + let s:man_tag_depth = s:man_tag_depth + 1 + + let open_cmd = 'edit' + + " Use an existing "man" window if it exists, otherwise open a new one. + if &filetype != "man" + let thiswin = winnr() + exe "norm! \b" + if winnr() > 1 + exe "norm! " . thiswin . "\w" + while 1 + if &filetype == "man" + break + endif + exe "norm! \w" + if thiswin == winnr() + break + endif + endwhile + endif + if &filetype != "man" + if exists("g:ft_man_open_mode") + if g:ft_man_open_mode == 'vert' + let open_cmd = 'vsplit' + elseif g:ft_man_open_mode == 'tab' + let open_cmd = 'tabedit' + else + let open_cmd = 'split' + endif + else + let open_cmd = a:cmdmods . ' split' + endif + endif + endif + + silent execute open_cmd . " $HOME/" . page . '.' . sect . '~' + + " Avoid warning for editing the dummy file twice + setl buftype=nofile noswapfile + + setl fdc=0 ma nofen nonu nornu + %delete _ + let unsetwidth = 0 + if empty($MANWIDTH) + let $MANWIDTH = winwidth(0) + let unsetwidth = 1 + endif + + " Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[ + " on a man page reference by unsetting MANPAGER. + " Some versions of env(1) do not support the '-u' option, and in such case + " we set MANPAGER=cat. + if !exists('s:env_has_u') + call system('env -u x true') + let s:env_has_u = (v:shell_error == 0) + endif + let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat' + let env_cmd .= ' GROFF_NO_SGR=1' + let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b' + silent exec "r !" . man_cmd + + if unsetwidth + let $MANWIDTH = '' + endif + " Remove blank lines from top and bottom. + while line('$') > 1 && getline(1) =~ '^\s*$' + 1delete _ + endwhile + while line('$') > 1 && getline('$') =~ '^\s*$' + $delete _ + endwhile + 1 + setl ft=man nomod + setl bufhidden=hide + setl nobuflisted + setl noma +endfunc + +func PopPage() + if s:man_tag_depth > 0 + let s:man_tag_depth = s:man_tag_depth - 1 + exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth + exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth + exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth + exec s:man_tag_buf."b" + exec s:man_tag_lin + exec "norm! ".s:man_tag_col."|" + exec "unlet s:man_tag_buf_".s:man_tag_depth + exec "unlet s:man_tag_lin_".s:man_tag_depth + exec "unlet s:man_tag_col_".s:man_tag_depth + unlet s:man_tag_buf s:man_tag_lin s:man_tag_col + endif +endfunc + +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: set sw=2 ts=8 noet: + +endif diff --git a/ftplugin/manconf.vim b/ftplugin/manconf.vim new file mode 100644 index 00000000..cfe01594 --- /dev/null +++ b/ftplugin/manconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'manconf') == -1 + +" Vim filetype plugin file +" Language: man.conf(5) - man configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mf.vim b/ftplugin/mf.vim new file mode 100644 index 00000000..1a005d66 --- /dev/null +++ b/ftplugin/mf.vim @@ -0,0 +1,74 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mf') == -1 + +" Vim filetype plugin file +" Language: METAFONT +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 2 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2 +setlocal suffixesadd=.mf +let &l:include = '\' +let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+' +setlocal omnifunc=syntaxcomplete#Complete +let g:omni_syntax_group_include_mf = 'mf\w\+' +let g:omni_syntax_group_exclude_mf = 'mfTodoComment' + +let s:mp_regex = { + \ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>', + \ 'endsection' : '^\s*\%(enddef\|endchar\)\>', + \ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>', + \ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)') +endfunction + + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_words = + \ '\:\:\,' . + \ '\:\:\,' . + \ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\,' . + \ '\:\,' . + \ '\:\' + " Ignore comments and strings + let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") + \ =~# "mf\\(Comment\\|String\\)$"' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/modconf.vim b/ftplugin/modconf.vim new file mode 100644 index 00000000..07ea1669 --- /dev/null +++ b/ftplugin/modconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'modconf') == -1 + +" Vim filetype plugin file +" Language: modules.conf(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mp.vim b/ftplugin/mp.vim new file mode 100644 index 00000000..a13f5cff --- /dev/null +++ b/ftplugin/mp.vim @@ -0,0 +1,86 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mp') == -1 + +" Vim filetype plugin file +" Language: MetaPost +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 2 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2 +setlocal suffixesadd=.mp,.mpiv +let &l:include = '\<\%(input\|loadmodule\)\>' " loadmodule is in MetaFun +let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+' +setlocal omnifunc=syntaxcomplete#Complete +let g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+' +let g:omni_syntax_group_exclude_mp = 'mfTodoComment' + +if exists(":FixBeginfigs") != 2 + command -nargs=0 FixBeginfigs call s:fix_beginfigs() + + function! s:fix_beginfigs() + let i = 1 + g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1 + endfunction +endif + +let s:mp_regex = { + \ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>', + \ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|glyph\|graph\)\)\>', + \ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>', + \ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)') +endfunction + + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_words = + \ '\:\:\,' . + \ '\:\:\,' . + \ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\' + " Ignore comments and strings + let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") + \ =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mplayerconf.vim b/ftplugin/mplayerconf.vim new file mode 100644 index 00000000..b3587bdc --- /dev/null +++ b/ftplugin/mplayerconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mplayerconf') == -1 + +" Vim filetype plugin file +" Language: mplayer(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mrxvtrc.vim b/ftplugin/mrxvtrc.vim new file mode 100644 index 00000000..bf73b0e4 --- /dev/null +++ b/ftplugin/mrxvtrc.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mrxvtrc') == -1 + +" Created : Wed 26 Apr 2006 01:20:53 AM CDT +" Modified : Fri 28 Apr 2006 03:24:01 AM CDT +" Author : Gautam Iyer +" Description : ftplugin for mrxvtrc + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo<" + +" Really any line that does not match an option is a comment. But use '!' for +" compatibility with x-defaults files, and "#" (preferred) for compatibility +" with all other config files. +" +" Comments beginning with "#" are preferred because Vim will not flag the +" first word as a spelling error if it is not capitalised. The '!' used as +" comment leaders makes Vim think that every comment line is a new sentence. + +setlocal comments=:!,:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +endif diff --git a/ftplugin/muttrc.vim b/ftplugin/muttrc.vim new file mode 100644 index 00000000..1d77a63f --- /dev/null +++ b/ftplugin/muttrc.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'muttrc') == -1 + +" Vim filetype plugin file +" Language: mutt RC File +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*source\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/nanorc.vim b/ftplugin/nanorc.vim new file mode 100644 index 00000000..a116e318 --- /dev/null +++ b/ftplugin/nanorc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nanorc') == -1 + +" Vim filetype plugin file +" Language: nanorc(5) - GNU nano configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/neomuttrc.vim b/ftplugin/neomuttrc.vim new file mode 100644 index 00000000..660931d0 --- /dev/null +++ b/ftplugin/neomuttrc.vim @@ -0,0 +1,27 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'neomuttrc') == -1 + +" Vim filetype plugin file +" Language: NeoMutt RC File +" Previous Maintainer: Guillaume Brogi +" Latest Revision: 2017-09-17 +" Original version copied from ftplugin/muttrc.vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*source\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/netrc.vim b/ftplugin/netrc.vim new file mode 100644 index 00000000..75f5ff7f --- /dev/null +++ b/ftplugin/netrc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'netrc') == -1 + +" Vim filetype plugin file +" Language: netrc(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/nroff.vim b/ftplugin/nroff.vim new file mode 100644 index 00000000..2d040e3a --- /dev/null +++ b/ftplugin/nroff.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nroff') == -1 + +" Vim filetype plugin +" Language: roff(7) +" Maintainer: Chris Spiegel +" Last Change: 2019 Apr 24 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=.\\\"%s + +endif diff --git a/ftplugin/nsis.vim b/ftplugin/nsis.vim new file mode 100644 index 00000000..8820f066 --- /dev/null +++ b/ftplugin/nsis.vim @@ -0,0 +1,47 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nsis') == -1 + +" Vim ftplugin file +" Language: NSIS script +" Maintainer: Ken Takata +" URL: https://github.com/k-takata/vim-nsis +" Previous Maintainer: Nikolai Weibull +" Last Change: 2018-01-26 + +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< def< inc<" + \ " | unlet! b:match_ignorecase b:match_words" + +setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s +setlocal formatoptions-=t formatoptions+=croql +setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\= +setlocal include=^\\s*!include\\%(/NONFATAL\\)\\= + +if exists("loaded_matchit") + let b:match_ignorecase = 1 + let b:match_words = + \ '\${\%(If\|IfNot\|Unless\)}:\${\%(Else\|ElseIf\|ElseIfNot\|ElseUnless\)}:\${\%(EndIf\|EndUnless\)},' . + \ '\${Select}:\${EndSelect},' . + \ '\${Switch}:\${EndSwitch},' . + \ '\${\%(Do\|DoWhile\|DoUntil\)}:\${\%(Loop\|LoopWhile\|LoopUntil\)},' . + \ '\${\%(For\|ForEach\)}:\${Next},' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\${MementoSection}:\${MementoSectionEnd},' . + \ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' . + \ '!macro\>:!macroend\>' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/occam.vim b/ftplugin/occam.vim new file mode 100644 index 00000000..c428c13b --- /dev/null +++ b/ftplugin/occam.vim @@ -0,0 +1,53 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'occam') == -1 + +" Vim filetype plugin file +" Language: occam +" Copyright: Christian Jacobsen , Mario Schweigler +" Maintainer: Mario Schweigler +" Last Change: 23 April 2003 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim + +"{{{ Indent settings +" Set shift width for indent +setlocal shiftwidth=2 +" Set the tab key size to two spaces +setlocal softtabstop=2 +" Let tab keys always be expanded to spaces +setlocal expandtab +"}}} + +"{{{ Formatting +" Break comment lines and insert comment leader in this case +setlocal formatoptions-=t formatoptions+=cql +setlocal comments+=:-- +" Maximum length of comments is 78 +setlocal textwidth=78 +"}}} + +"{{{ File browsing filters +" Win32 can filter files in the browse dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "All Occam Files (*.occ *.inc)\t*.occ;*.inc\n" . + \ "Occam Include Files (*.inc)\t*.inc\n" . + \ "Occam Source Files (*.occ)\t*.occ\n" . + \ "All Files (*.*)\t*.*\n" +endif +"}}} + +"{{{ Undo settings +let b:undo_ftplugin = "setlocal shiftwidth< softtabstop< expandtab<" + \ . " formatoptions< comments< textwidth<" + \ . "| unlet! b:browsefiler" +"}}} + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/pamconf.vim b/ftplugin/pamconf.vim new file mode 100644 index 00000000..e8925de4 --- /dev/null +++ b/ftplugin/pamconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pamconf') == -1 + +" Vim filetype plugin file +" Language: pam(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pascal.vim b/ftplugin/pascal.vim new file mode 100644 index 00000000..f026da08 --- /dev/null +++ b/ftplugin/pascal.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pascal') == -1 + +" Vim filetype plugin file +" Language: pascal +" Maintainer: Dan Sharp +" Last Changed: 11 Apr 2011 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +if exists("loaded_matchit") + let b:match_ignorecase = 1 " (pascal is case-insensitive) + + let b:match_words = '\<\%(begin\|case\|record\|object\|try\)\>' + let b:match_words .= ':\<^\s*\%(except\|finally\)\>:\' + let b:match_words .= ',\:\' + let b:match_words .= ',\:\' +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:match_words" + +endif diff --git a/ftplugin/passwd.vim b/ftplugin/passwd.vim new file mode 100644 index 00000000..d1375872 --- /dev/null +++ b/ftplugin/passwd.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'passwd') == -1 + +" Vim filetype plugin file +" Language: passwd(5) password file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pdf.vim b/ftplugin/pdf.vim new file mode 100644 index 00000000..12dbc603 --- /dev/null +++ b/ftplugin/pdf.vim @@ -0,0 +1,93 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pdf') == -1 + +" Vim filetype plugin file +" Language: PDF +" Maintainer: Tim Pope +" Last Change: 2007 Dec 16 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=%%s +setlocal comments=:% +let b:undo_ftplugin = "setlocal cms< com< | unlet! b:match_words" + +if exists("g:loaded_matchit") + let b:match_words = '\<\%(\d\+\s\+\d\+\s\+\)obj\>:\,\,\:\,<<:>>' +endif + +if exists("g:no_plugin_maps") || exists("g:no_pdf_maps") || v:version < 700 + finish +endif + +if !exists("b:pdf_tagstack") + let b:pdf_tagstack = [] +endif + +let b:undo_ftplugin .= " | silent! nunmap | silent! nunmap " +nnoremap :call Tag() +" Inline, so the error from an empty tag stack will be simple. +nnoremap :if len(b:pdf_tagstack) > 0 call setpos('.',remove(b:pdf_tagstack, -1)) else exe "norm! \C-T>" endif + +function! s:Tag() + call add(b:pdf_tagstack,getpos('.')) + if getline('.') =~ '^\d\+$' && getline(line('.')-1) == 'startxref' + return s:dodigits(getline('.')) + elseif getline('.') =~ '/Prev\s\+\d\+\>\%(\s\+\d\)\@!' && expand("") =~ '^\d\+$' + return s:dodigits(expand("")) + elseif getline('.') =~ '^\d\{10\} \d\{5\} ' + return s:dodigits(matchstr(getline('.'),'^\d\+')) + else + let line = getline(".") + let lastend = 0 + let pat = '\<\d\+\s\+\d\+\s\+R\>' + while lastend >= 0 + let beg = match(line,'\C'.pat,lastend) + let end = matchend(line,'\C'.pat,lastend) + if beg < col(".") && end >= col(".") + return s:doobject(matchstr(line,'\C'.pat,lastend)) + endif + let lastend = end + endwhile + return s:notag() + endif +endfunction + +function! s:doobject(string) + let first = matchstr(a:string,'^\s*\zs\d\+') + let second = matchstr(a:string,'^\s*\d\+\s\+\zs\d\+') + norm! m' + if first != '' && second != '' + let oldline = line('.') + let oldcol = col('.') + 1 + if !search('^\s*'.first.'\s\+'.second.'\s\+obj\>') + exe oldline + exe 'norm! '.oldcol.'|' + return s:notag() + endif + endif +endfunction + +function! s:dodigits(digits) + let digits = 0 + substitute(a:digits,'^0*','','') + norm! m' + if digits <= 0 + norm! 1go + else + " Go one character before the destination and advance. This method + " lands us after a newline rather than before, if that is our target. + exe "goto ".(digits)."|norm! 1 " + endif +endfunction + +function! s:notag() + silent! call remove(b:pdf_tagstack,-1) + echohl ErrorMsg + echo "E426: tag not found" + echohl NONE +endfunction + +endif diff --git a/ftplugin/pinfo.vim b/ftplugin/pinfo.vim new file mode 100644 index 00000000..1fbcab16 --- /dev/null +++ b/ftplugin/pinfo.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pinfo') == -1 + +" Vim filetype plugin file +" Language: pinfo(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/postscr.vim b/ftplugin/postscr.vim new file mode 100644 index 00000000..7730cdc8 --- /dev/null +++ b/ftplugin/postscr.vim @@ -0,0 +1,42 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'postscr') == -1 + +" Vim filetype plugin file +" Language: PostScript +" Maintainer: Mike Williams +" Last Change: 24th April 2012 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +" PS comment formatting +setlocal comments=b:% +setlocal formatoptions-=t formatoptions+=rol + +" Define patterns for the matchit macro +if !exists("b:match_words") + let b:match_ignorecase = 0 + let b:match_words = '<<:>>,\:\,\:\,\:\' +endif + +" Define patterns for the browse file filter +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "PostScript Files (*.ps)\t*.ps\n" . + \ "EPS Files (*.eps)\t*.eps\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal comments< formatoptions<" + \ . "| unlet! b:browsefiler b:match_ignorecase b:match_words" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/procmail.vim b/ftplugin/procmail.vim new file mode 100644 index 00000000..7bc335d7 --- /dev/null +++ b/ftplugin/procmail.vim @@ -0,0 +1,25 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'procmail') == -1 + +" Vim filetype plugin file +" Language: procmail(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*INCLUDERC\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/protocols.vim b/ftplugin/protocols.vim new file mode 100644 index 00000000..293bc6c2 --- /dev/null +++ b/ftplugin/protocols.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'protocols') == -1 + +" Vim filetype plugin file +" Language: protocols(5) - Internet protocols definition file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pyrex.vim b/ftplugin/pyrex.vim new file mode 100644 index 00000000..62b8e2ae --- /dev/null +++ b/ftplugin/pyrex.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pyrex') == -1 + +" Vim filetype plugin file +" Language: Pyrex +" Maintainer: Marco Barisione +" URL: http://marcobari.altervista.org/pyrex_vim.html +" Last Change: 2012 May 18 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +" Behaves just like Python +runtime! ftplugin/python.vim ftplugin/python_*.vim ftplugin/python/*.vim + +if has("gui_win32") && exists("b:browsefilter") + let b:browsefilter = "Pyrex files (*.pyx,*.pxd)\t*.pyx;*.pxd\n" . + \ "Python Files (*.py)\t*.py\n" . + \ "C Source Files (*.c)\t*.c\n" . + \ "C Header Files (*.h)\t*.h\n" . + \ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/quake.vim b/ftplugin/quake.vim new file mode 100644 index 00000000..bab3eca1 --- /dev/null +++ b/ftplugin/quake.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'quake') == -1 + +" Vim filetype plugin file +" Language: Quake[1-3] configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:// commentstring=//\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/readline.vim b/ftplugin/readline.vim new file mode 100644 index 00000000..042f4b6b --- /dev/null +++ b/ftplugin/readline.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'readline') == -1 + +" Vim filetype plugin file +" Language: readline(3) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/reva.vim b/ftplugin/reva.vim new file mode 100644 index 00000000..5fe5f59f --- /dev/null +++ b/ftplugin/reva.vim @@ -0,0 +1,29 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'reva') == -1 + +" Vim ftplugin file +" Language: Reva Forth +" Version: 7.1 +" Last Change: 2008/01/11 +" Maintainer: Ron Aaron +" URL: http://ronware.org/reva/ +" Filetypes: *.rf *.frt +" NOTE: Forth allows any non-whitespace in a name, so you need to do: +" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 +" +" This goes with the syntax/reva.vim file. + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +setlocal sts=4 sw=4 +setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\ +setlocal fo=tcrqol +setlocal matchpairs+=\::; +setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 + +endif diff --git a/ftplugin/rmd.vim b/ftplugin/rmd.vim new file mode 100644 index 00000000..32fcc961 --- /dev/null +++ b/ftplugin/rmd.vim @@ -0,0 +1,67 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rmd') == -1 + +" Vim filetype plugin file +" Language: R Markdown file +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Sun Jul 22, 2018 06:51PM +" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann) + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +if exists('g:rmd_include_html') && g:rmd_include_html + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +endif + +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s +setlocal formatoptions+=tcqln +setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ +setlocal iskeyword=@,48-57,_,. + +let s:cpo_save = &cpo +set cpo&vim + +function! FormatRmd() + if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rmd_dynamic_comments = 0 +if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1) + setlocal formatexpr=FormatRmd() +endif + + +" Enables pandoc if it is installed +unlet! b:did_ftplugin +runtime ftplugin/pandoc.vim + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/rnc.vim b/ftplugin/rnc.vim new file mode 100644 index 00000000..78f30817 --- /dev/null +++ b/ftplugin/rnc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rnc') == -1 + +" Vim filetype plugin file +" Language: Relax NG compact syntax +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/rnoweb.vim b/ftplugin/rnoweb.vim new file mode 100644 index 00000000..1253c451 --- /dev/null +++ b/ftplugin/rnoweb.vim @@ -0,0 +1,45 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rnoweb') == -1 + +" Vim filetype plugin file +" Language: Rnoweb +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Tue Apr 07, 2015 04:37PM + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +runtime! ftplugin/tex.vim + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Enables Vim-Latex-Suite, LaTeX-Box if installed +runtime ftplugin/tex_*.vim + +setlocal iskeyword=@,48-57,_,. +setlocal suffixesadd=.bib,.tex +setlocal comments=b:%,b:#,b:##,b:###,b:#' + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl isk< sua< com< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/rpl.vim b/ftplugin/rpl.vim new file mode 100644 index 00000000..cc24fffd --- /dev/null +++ b/ftplugin/rpl.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rpl') == -1 + +" Vim filetype plugin file +" Language: RPL/2 +" Maintainer: Joël BERTRAND +" Last Change: 2012 Mar 07 +" Version: 0.1 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set 'comments' to format dashed lists in comments. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// + +let b:undo_ftplugin = "setlocal fo< comments<" + +endif diff --git a/ftplugin/rrst.vim b/ftplugin/rrst.vim new file mode 100644 index 00000000..7ddc0fc7 --- /dev/null +++ b/ftplugin/rrst.vim @@ -0,0 +1,58 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rrst') == -1 + +" Vim filetype plugin file +" Language: reStructuredText documentation format with R code +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Wed Nov 01, 2017 10:47PM +" Original work by Alex Zvoleff + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s +setlocal formatoptions+=tcqln +setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ +setlocal iskeyword=@,48-57,_,. + +function! FormatRrst() + if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rrst_dynamic_comments = 0 +if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1) + setlocal formatexpr=FormatRrst() +endif + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/sass.vim b/ftplugin/sass.vim new file mode 100644 index 00000000..d13a9e18 --- /dev/null +++ b/ftplugin/sass.vim @@ -0,0 +1,41 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sass') == -1 + +" Vim filetype plugin +" Language: Sass +" Maintainer: Tim Pope +" Last Change: 2019 Dec 05 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<" + +setlocal comments=:// +setlocal commentstring=//\ %s +setlocal includeexpr=SassIncludeExpr(v:fname) +setlocal omnifunc=csscomplete#CompleteCSS +setlocal suffixesadd=.sass,.scss,.css +if &filetype =~# '\' + setlocal iskeyword+=- + setlocal iskeyword+=$ + setlocal iskeyword+=% + let b:undo_ftplugin .= ' isk<' +endif + +let &l:define = '^\C\v\s*%(\@function|\@mixin|\=)|^\s*%(\$[[:alnum:]-]+:|[%.][:alnum:]-]+\s*%(\{|$))@=' +let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' + +function! SassIncludeExpr(file) abort + let partial = substitute(a:file, '\%(.*/\|^\)\zs', '_', '') + if !empty(findfile(partial)) + return partial + endif + return a:file +endfunction + +" vim:set sw=2: + +endif diff --git a/ftplugin/scheme.vim b/ftplugin/scheme.vim new file mode 100644 index 00000000..e79efe7e --- /dev/null +++ b/ftplugin/scheme.vim @@ -0,0 +1,61 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scheme') == -1 + +" Vim filetype plugin file +" Language: Scheme (R7RS) +" Last Change: 2019 Nov 18 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Previous Maintainer: Sergey Khorev +" URL: https://foldling.org/vim/ftplugin/scheme.vim + +if exists('b:did_ftplugin') + finish +endif + +let s:cpo = &cpo +set cpo&vim + +setl lisp +setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|# +setl commentstring=;%s +setl define=^\\s*(def\\k* +setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126 + +let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<' + +setl lispwords+=case +setl lispwords+=define +setl lispwords+=define-record-type +setl lispwords+=define-syntax +setl lispwords+=define-values +setl lispwords+=do +setl lispwords+=guard +setl lispwords+=lambda +setl lispwords+=let +setl lispwords+=let* +setl lispwords+=let*-values +setl lispwords+=let-syntax +setl lispwords+=let-values +setl lispwords+=letrec +setl lispwords+=letrec* +setl lispwords+=letrec-syntax +setl lispwords+=parameterize +setl lispwords+=set! +setl lispwords+=syntax-rules +setl lispwords+=unless +setl lispwords+=when + +let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<' + +let b:did_scheme_ftplugin = 1 + +if exists('b:is_chicken') || exists('g:is_chicken') + exe 'ru! ftplugin/chicken.vim' +endif + +unlet b:did_scheme_ftplugin +let b:did_ftplugin = 1 +let &cpo = s:cpo +unlet s:cpo + +endif diff --git a/ftplugin/screen.vim b/ftplugin/screen.vim new file mode 100644 index 00000000..ecd1f5ac --- /dev/null +++ b/ftplugin/screen.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'screen') == -1 + +" Vim filetype plugin file +" Language: screen(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/sensors.vim b/ftplugin/sensors.vim new file mode 100644 index 00000000..bdf1ea91 --- /dev/null +++ b/ftplugin/sensors.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sensors') == -1 + +" Vim filetype plugin file +" Language: sensors.conf(5) - libsensors configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/services.vim b/ftplugin/services.vim new file mode 100644 index 00000000..c676b8a7 --- /dev/null +++ b/ftplugin/services.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'services') == -1 + +" Vim filetype plugin file +" Language: services(5) - Internet network services list +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/setserial.vim b/ftplugin/setserial.vim new file mode 100644 index 00000000..270f2e0f --- /dev/null +++ b/ftplugin/setserial.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'setserial') == -1 + +" Vim filetype plugin file +" Language: setserial(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/sieve.vim b/ftplugin/sieve.vim new file mode 100644 index 00000000..e14eadf4 --- /dev/null +++ b/ftplugin/sieve.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sieve') == -1 + +" Vim filetype plugin file +" Language: Sieve filtering language input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpconf.vim b/ftplugin/slpconf.vim new file mode 100644 index 00000000..c03df0c1 --- /dev/null +++ b/ftplugin/slpconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpconf') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpreg.vim b/ftplugin/slpreg.vim new file mode 100644 index 00000000..5e6bcfeb --- /dev/null +++ b/ftplugin/slpreg.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpreg') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location registration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpspi.vim b/ftplugin/slpspi.vim new file mode 100644 index 00000000..1e253e1f --- /dev/null +++ b/ftplugin/slpspi.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpspi') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location SPI file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/spec.vim b/ftplugin/spec.vim new file mode 100644 index 00000000..cf93a223 --- /dev/null +++ b/ftplugin/spec.vim @@ -0,0 +1,212 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'spec') == -1 + +" Plugin to update the %changelog section of RPM spec files +" Filename: spec.vim +" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com +" Former Maintainer: Gustavo Niemeyer (until March 2014) +" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +if !exists("no_plugin_maps") && !exists("no_spec_maps") + if !hasmapto("SpecChangelog") + map c SpecChangelog + endif +endif + +if !hasmapto("call SpecChangelog(\"\")") + noremap