mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
updated for version 7.0001
This commit is contained in:
24
runtime/ftplugin/README.txt
Normal file
24
runtime/ftplugin/README.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
The ftplugin directory is for Vim plugin scripts that are only used for a
|
||||
specific filetype.
|
||||
|
||||
All files ending in .vim in this directory and subdirectories will be sourced
|
||||
by Vim when it detects the filetype that matches the name of the file or
|
||||
subdirectory.
|
||||
For example, these are all loaded for the "c" filetype:
|
||||
|
||||
c.vim
|
||||
c_extra.vim
|
||||
c/settings.vim
|
||||
|
||||
Note that the "_" in "c_extra.vim" is required to separate the filetype name
|
||||
from the following arbitrary name.
|
||||
|
||||
The filetype plugins are only loaded when the ":filetype plugin" command has
|
||||
been used.
|
||||
|
||||
The default filetype plugin files contain settings that 95% of the users will
|
||||
want to use. They do not contain personal preferences, like the value of
|
||||
'shiftwidth'.
|
||||
|
||||
If you want to do additional settings, or overrule the default filetype
|
||||
plugin, you can create your own plugin file. See ":help ftplugin" in Vim.
|
25
runtime/ftplugin/aap.vim
Normal file
25
runtime/ftplugin/aap.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Aap recipe
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 Nov 04
|
||||
|
||||
" 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
|
||||
|
||||
" Reset 'formatoptions', 'comments' and 'expandtab' to undo this plugin.
|
||||
let b:undo_ftplugin = "setl fo< com< et<"
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=s:#\ -,m:#\ \,e:#,n:#,fb:-
|
||||
|
||||
" Expand tabs to spaces to avoid trouble.
|
||||
setlocal expandtab
|
75
runtime/ftplugin/abaqus.vim
Normal file
75
runtime/ftplugin/abaqus.vim
Normal file
@@ -0,0 +1,75 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Abaqus finite element input file (www.abaqus.com)
|
||||
" Maintainer: Carl Osterwisch <osterwischc@asme.org>
|
||||
" Last Change: 2004 May
|
||||
|
||||
" 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
|
||||
|
||||
" Save the compatibility options and temporarily switch to vim defaults
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Folding
|
||||
if version >= 600
|
||||
" Fold all lines that do not begin with *
|
||||
setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
|
||||
setlocal foldmethod=expr
|
||||
endif
|
||||
|
||||
" Set the format of the include file specification for Abaqus
|
||||
" Used in :check gf ^wf [i and other commands
|
||||
setlocal include=\\<\\cINPUT\\s*=
|
||||
|
||||
" Remove characters up to the first = when evaluating filenames
|
||||
setlocal includeexpr=substitute(v:fname,'.\\{-}=','','')
|
||||
|
||||
" Define format of comment lines (see 'formatoptions' for uses)
|
||||
setlocal comments=:**
|
||||
setlocal commentstring=**%s
|
||||
|
||||
" Definitions start with a * and assign a NAME, NSET, or ELSET
|
||||
" Used in [d ^wd and other commands
|
||||
setlocal define=^\\*\\a.*\\c\\(NAME\\\|NSET\\\|ELSET\\)\\s*=
|
||||
|
||||
" Abaqus keywords and identifiers may include a - character
|
||||
setlocal iskeyword+=-
|
||||
|
||||
" Set the file browse filter (currently only supported under Win32 gui)
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" .
|
||||
\ "Abaqus Results (*.dat)\t*.dat\n" .
|
||||
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Define keys used to move [count] sections backward or forward.
|
||||
" TODO: Make this do something intelligent in visual mode.
|
||||
nnoremap <silent> <buffer> [[ :call <SID>Abaqus_Jump('?^\*\a?')<CR>
|
||||
nnoremap <silent> <buffer> ]] :call <SID>Abaqus_Jump('/^\*\a/')<CR>
|
||||
function! <SID>Abaqus_Jump(motion) range
|
||||
let s:count = v:count1
|
||||
mark '
|
||||
while s:count > 0
|
||||
silent! execute a:motion
|
||||
let s:count = s:count - 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
" Define key to toggle commenting of the current line or range
|
||||
noremap <silent> <buffer> <m-c> :call <SID>Abaqus_ToggleComment()<CR>j
|
||||
function! <SID>Abaqus_ToggleComment() range
|
||||
if strpart(getline(a:firstline), 0, 2) == "**"
|
||||
" Un-comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^\*\*//'
|
||||
else
|
||||
" Comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^/**/'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Restore saved compatibility options
|
||||
let &cpoptions = s:cpo_save
|
226
runtime/ftplugin/ada.vim
Normal file
226
runtime/ftplugin/ada.vim
Normal file
@@ -0,0 +1,226 @@
|
||||
" Vim Ada plugin file
|
||||
" Language: Ada
|
||||
" Maintainer: Neil Bird <neil@fnxweb.com>
|
||||
" Last Change: 2003 May 11
|
||||
" Version: $Id$
|
||||
" Look for the latest version at http://vim.sourceforge.net/
|
||||
"
|
||||
" Perform Ada specific completion & tagging.
|
||||
"
|
||||
"
|
||||
" Provides mapping overrides for tag jumping that figure out the current
|
||||
" Ada object and tag jump to that, not the 'simple' vim word.
|
||||
" Similarly allows <Ctrl-N> matching of full-length ada entities from tags.
|
||||
" Exports 'AdaWord()' function to return full name of Ada entity under the
|
||||
" cursor( or at given line/column), stripping whitespace/newlines as necessary.
|
||||
|
||||
|
||||
" 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
|
||||
|
||||
" Temporarily set cpoptions to ensure the script loads OK
|
||||
let s:cpoptions = &cpoptions
|
||||
set cpo-=C
|
||||
|
||||
|
||||
" Ada comments
|
||||
setlocal comments+=O:--
|
||||
|
||||
|
||||
" Make local tag mappings for this buffer (if not already set)
|
||||
if mapcheck('<C-]>','n') == ''
|
||||
nnoremap <unique> <buffer> <C-]> :call JumpToTag_ada('')<cr>
|
||||
endif
|
||||
if mapcheck('g<C-]>','n') == ''
|
||||
nnoremap <unique> <buffer> g<C-]> :call JumpToTag_ada('','stj')<cr>
|
||||
endif
|
||||
|
||||
if mapcheck('<C-N>','i') == ''
|
||||
inoremap <unique> <buffer> <C-N> <C-R>=<SID>AdaCompletion("\<lt>C-N>")<cr>
|
||||
endif
|
||||
if mapcheck('<C-P>','i') == ''
|
||||
inoremap <unique> <buffer> <C-P> <C-R>=<SID>AdaCompletion("\<lt>C-P>")<cr>
|
||||
endif
|
||||
if mapcheck('<C-X><C-]>','i') == ''
|
||||
inoremap <unique> <buffer> <C-X><C-]> <C-R>=<SID>AdaCompletion("\<lt>C-X>\<lt>C-]>")<cr>
|
||||
endif
|
||||
if mapcheck('<bs>','i') == ''
|
||||
inoremap <silent> <unique> <buffer> <bs> <C-R>=<SID>AdaInsertBackspace()<cr>
|
||||
endif
|
||||
|
||||
|
||||
" Only do this when not done yet for this buffer & matchit is used
|
||||
if ! exists("b:match_words") && exists("loaded_matchit")
|
||||
" The following lines enable the macros/matchit.vim plugin for
|
||||
" Ada-specific extended matching with the % key.
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let b:match_words=
|
||||
\ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
|
||||
\ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
|
||||
\ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' .
|
||||
\ '\%(\<do\>\|\<begin\>\):\<exception\>:\<end\>\s*\%($\|[;A-Z]\),' .
|
||||
\ s:notend . '\<record\>:\<end\>\s\+\<record\>'
|
||||
endif
|
||||
|
||||
|
||||
" Prevent re-load of functions
|
||||
if exists('s:id')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Get this script's unique id
|
||||
map <script> <SID>?? <SID>??
|
||||
let s:id = substitute( maparg('<SID>??'), '^<SNR>\(.*\)_??$', '\1', '' )
|
||||
unmap <script> <SID>??
|
||||
|
||||
|
||||
" Extract current Ada word across multiple lines
|
||||
" AdaWord( [line, column] )\
|
||||
let s:AdaWordRegex = '\a\w*\(\_s*\.\_s*\a\w*\)*'
|
||||
let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
||||
|
||||
function! AdaWord(...)
|
||||
if a:0 > 1
|
||||
let linenr = a:1
|
||||
let colnr = a:2 - 1
|
||||
else
|
||||
let linenr = line('.')
|
||||
let colnr = col('.') - 1
|
||||
endif
|
||||
let line = substitute( getline(linenr), s:AdaComment, '', '' )
|
||||
" Cope with tag searching for items in comments; if we are, don't loop
|
||||
" backards looking for previous lines
|
||||
if colnr > strlen(line)
|
||||
" We were in a comment
|
||||
let line = getline(linenr)
|
||||
let search_prev_lines = 0
|
||||
else
|
||||
let search_prev_lines = 1
|
||||
endif
|
||||
|
||||
" Go backwards until we find a match (Ada ID) that *doesn't* include our
|
||||
" location - i.e., the previous ID. This is because the current 'correct'
|
||||
" match will toggle matching/not matching as we traverse characters
|
||||
" backwards. Thus, we have to find the previous unrelated match, exclude
|
||||
" it, then use the next full match (ours).
|
||||
" Remember to convert vim column 'colnr' [1..n] to string offset [0..(n-1)]
|
||||
" ... but start, here, one after the required char.
|
||||
let newcol = colnr + 1
|
||||
while 1
|
||||
let newcol = newcol - 1
|
||||
if newcol < 0
|
||||
" Have to include previous line from file
|
||||
let linenr = linenr - 1
|
||||
if linenr < 1 || !search_prev_lines
|
||||
" Start of file or matching in a comment
|
||||
let linenr = 1
|
||||
let newcol = 0
|
||||
let ourmatch = match( line, s:AdaWordRegex )
|
||||
break
|
||||
endif
|
||||
" Get previous line, and prepend it to our search string
|
||||
let newline = substitute( getline(linenr), s:AdaComment, '', '' )
|
||||
let newcol = strlen(newline) - 1
|
||||
let colnr = colnr + newcol
|
||||
let line = newline . line
|
||||
endif
|
||||
" Check to see if this is a match excluding 'us'
|
||||
let mend = newcol + matchend( strpart(line,newcol), s:AdaWordRegex ) - 1
|
||||
if mend >= newcol && mend < colnr
|
||||
" Yes
|
||||
let ourmatch = mend+1 + match( strpart(line,mend+1), s:AdaWordRegex )
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Got anything?
|
||||
if ourmatch < 0
|
||||
return ''
|
||||
else
|
||||
let line = strpart( line, ourmatch)
|
||||
endif
|
||||
|
||||
" Now simply add further lines until the match gets no bigger
|
||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
||||
let lastline = line('$')
|
||||
let linenr = line('.') + 1
|
||||
while linenr <= lastline
|
||||
let lastmatch = matchstr
|
||||
let line = line . substitute( getline(linenr), s:AdaComment, '', '' )
|
||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
||||
if matchstr == lastmatch
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Strip whitespace & return
|
||||
return substitute( matchstr, '\s\+', '', 'g' )
|
||||
endfunction
|
||||
|
||||
|
||||
" Word tag - include '.' and if Ada make uppercase
|
||||
" Name allows a common JumpToTag() to look for an ft specific JumpToTag_ft().
|
||||
function! JumpToTag_ada(word,...)
|
||||
if a:word == ''
|
||||
" Get current word
|
||||
let word = AdaWord()
|
||||
if word == ''
|
||||
return
|
||||
endif
|
||||
else
|
||||
let word = a:word
|
||||
endif
|
||||
if a:0 > 0
|
||||
let mode = a:1
|
||||
else
|
||||
let mode = 'tj'
|
||||
endif
|
||||
|
||||
let v:errmsg = ''
|
||||
execute 'silent!' mode word
|
||||
if v:errmsg != ''
|
||||
if v:errmsg =~ '^E426:' " Tag not found
|
||||
let ignorecase = &ignorecase
|
||||
set ignorecase
|
||||
execute mode word
|
||||
let &ignorecase = ignorecase
|
||||
else
|
||||
" Repeat to give error
|
||||
execute mode word
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
" Word completion (^N/^R/^X^]) - force '.' inclusion
|
||||
function! s:AdaCompletion(cmd)
|
||||
set iskeyword+=46
|
||||
return a:cmd . "\<C-R>=<SNR>" . s:id . "_AdaCompletionEnd()\<CR>"
|
||||
endfunction
|
||||
function! s:AdaCompletionEnd()
|
||||
set iskeyword-=46
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
|
||||
" Backspace at end of line after auto-inserted commentstring '-- ' wipes it
|
||||
function! s:AdaInsertBackspace()
|
||||
let line = getline('.')
|
||||
if col('.') > strlen(line) && match(line,'-- $') != -1 && match(&comments,'--') != -1
|
||||
return "\<bs>\<bs>\<bs>"
|
||||
else
|
||||
return "\<bs>"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
" Reset cpoptions
|
||||
let &cpoptions = s:cpoptions
|
||||
unlet s:cpoptions
|
||||
|
||||
" vim: sts=2 sw=2 :
|
43
runtime/ftplugin/ant.vim
Normal file
43
runtime/ftplugin/ant.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ant
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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 Ant-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter = "Build Files (build.xml)\tbuild.xml\n" .
|
||||
\ "Java Files (*.java)\t*.java\n" .
|
||||
\ "Properties Files (*.prop*)\t*.prop*\n" .
|
||||
\ "Manifest Files (*.mf)\t*.mf\n" .
|
||||
\ s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
16
runtime/ftplugin/art.vim
Normal file
16
runtime/ftplugin/art.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: ART-IM and ART*Enterprise
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Apr 2, 2003
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
run ftplugin/lisp.vim
|
||||
|
||||
setl lw-=if
|
||||
setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,
|
||||
\for,schema,while
|
58
runtime/ftplugin/aspvbs.vim
Normal file
58
runtime/ftplugin/aspvbs.vim
Normal file
@@ -0,0 +1,58 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: aspvbs
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "HTML Files (*.html, *.htm)\t*.htm*\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.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
|
||||
if exists("b:match_words")
|
||||
let s:match_words = b:match_words
|
||||
endif
|
||||
|
||||
" ASP: Active Server Pages (with Visual Basic Script)
|
||||
" thanks to Gontran BAERTS
|
||||
if exists("loaded_matchit")
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let b:match_words =
|
||||
\ s:notend . '\<If\>:^\s\+\<Else\>:\<ElseIf\>:\<end\s\+\<if\>,' .
|
||||
\ s:notend . '\<Select\s\+\<Case\>:\<Case\>:\<Case\s\+\<Else\>:\<End\s\+\<Select\>,' .
|
||||
\ '^\s*\<Sub\>:\<End\s\+\<Sub\>,' .
|
||||
\ '^\s*\<Function\>:\<End\s\+\<Function\>,' .
|
||||
\ '\<Class\>:\<End\s\+\<Class\>,' .
|
||||
\ '^\s*\<Do\>:\<Loop\>,' .
|
||||
\ '^\s*\<For\>:\<Next\>,' .
|
||||
\ '\<While\>:\<Wend\>,' .
|
||||
\ s:match_words
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show ASP-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="ASP Files (*.asp)\t*.asp\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "unlet! b:match_words b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
11
runtime/ftplugin/automake.vim
Normal file
11
runtime/ftplugin/automake.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim filetype plugin file
|
||||
" Langugage: Automake
|
||||
" Maintainer: Nikolai Weibull <source@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/automake/
|
||||
" Latest Revision: 2004-05-22
|
||||
" arch-tag: 3a78b0cd-27b2-410a-8e7b-51a1717c2a5b
|
||||
|
||||
" Same as makefile filetype plugin for now.
|
||||
runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim
|
||||
|
||||
" vim: set sts=2 sw=2:
|
15
runtime/ftplugin/bib.vim
Normal file
15
runtime/ftplugin/bib.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin
|
||||
" Language: BibTeX
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: May 21, 2003
|
||||
|
||||
" 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 cindent
|
52
runtime/ftplugin/c.vim
Normal file
52
runtime/ftplugin/c.vim
Normal file
@@ -0,0 +1,52 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2004 May 16
|
||||
|
||||
" 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 cpo-=C
|
||||
|
||||
let b:undo_ftplugin = "setl cin< fo< com<"
|
||||
\ . "| if has('vms') | setl isk< | endif"
|
||||
|
||||
setlocal cindent
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
" In VMS C keywords contain '$' characters.
|
||||
if has("vms")
|
||||
setlocal iskeyword+=$
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
if &ft == "cpp"
|
||||
let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
|
||||
\ "C Header Files (*.h)\t*.h\n" .
|
||||
\ "C Source Files (*.c)\t*.c\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
elseif &ft == "chscript"
|
||||
let b:browsefilter = "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" .
|
||||
\ "C Header Files (*.h)\t*.h\n" .
|
||||
\ "C Source Files (*.c)\t*.c\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
else
|
||||
let b:browsefilter = "C Source Files (*.c)\t*.c\n" .
|
||||
\ "C Header Files (*.h)\t*.h\n" .
|
||||
\ "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" .
|
||||
\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
endif
|
17
runtime/ftplugin/ch.vim
Normal file
17
runtime/ftplugin/ch.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Ch
|
||||
" Maintainer: SoftIntegration, Inc. <info@softintegration.com>
|
||||
" 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
|
256
runtime/ftplugin/changelog.vim
Normal file
256
runtime/ftplugin/changelog.vim
Normal file
@@ -0,0 +1,256 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Nikolai Weibull <source@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/changelog/
|
||||
" Latest Revision: 2004-04-25
|
||||
" arch-tag: b00e2974-c559-4477-b7b2-3ef3f4061bdb
|
||||
" Variables:
|
||||
" g:changelog_timeformat -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
" default: "%Y-%m-%d".
|
||||
" g:changelog_username -
|
||||
" description: the username to use in ChangeLog entries
|
||||
" default: try to deduce it from environment variables and system files.
|
||||
" Local Mappings:
|
||||
" <Leader>o -
|
||||
" adds a new changelog entry for the current user for the current date.
|
||||
" Global Mappings:
|
||||
" <Leader>o -
|
||||
" switches to the ChangeLog buffer opened for the current directory, or
|
||||
" opens it in a new buffer if it exists in the current directory. Then
|
||||
" it does the same as the local <Leader>o described above.
|
||||
" Notes:
|
||||
" run 'runtime ftplugin/changelog.vim' to enable the global mapping for
|
||||
" changelog files.
|
||||
" TODO:
|
||||
" should we perhaps open the ChangeLog file even if it doesn't exist already?
|
||||
" Problem is that you might end up with ChangeLog files all over the place.
|
||||
|
||||
" If 'filetype' isn't "changelog", we must have been to add ChangeLog opener
|
||||
if &filetype == "changelog"
|
||||
" 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 cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
" The format of the date-time field (should have been called dateformat)
|
||||
if !exists("g:changelog_timeformat")
|
||||
let g:changelog_timeformat = "%Y-%m-%d"
|
||||
endif
|
||||
|
||||
" Try to figure out a reasonable username of the form:
|
||||
" Full Name <user@host>
|
||||
if !exists("g:changelog_username")
|
||||
if exists("$EMAIL_ADDRESS")
|
||||
let g:changelog_username = $EMAIL_ADDRESS
|
||||
elseif exists("$EMAIL")
|
||||
let g:changelog_username = $EMAIL
|
||||
else
|
||||
" Get the users login name
|
||||
let login = system('whoami')
|
||||
if v:shell_error
|
||||
let login = 'unknown'
|
||||
else
|
||||
let newline = stridx(login, "\n")
|
||||
if newline != -1
|
||||
let login = strpart(login, 0, newline)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Try to full name from gecos field in /etc/passwd
|
||||
if filereadable('/etc/passwd')
|
||||
let name = substitute(
|
||||
\system('cat /etc/passwd | grep ^`whoami`'),
|
||||
\'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
|
||||
endif
|
||||
|
||||
" If there is no such file, or there was some other problem try
|
||||
" others
|
||||
if !filereadable('/etc/passwd') || v:shell_error
|
||||
" Maybe the environment has something of interest
|
||||
if exists("$NAME")
|
||||
let name = $NAME
|
||||
else
|
||||
" No? well, use the login name and capitalize first
|
||||
" character
|
||||
let name = toupper(login[0]) . strpart(login, 1)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Only keep stuff before the first comma
|
||||
let comma = stridx(name, ',')
|
||||
if comma != -1
|
||||
let name = strpart(name, 0, comma)
|
||||
endif
|
||||
|
||||
" And substitute & in the real name with the login of our user
|
||||
let amp = stridx(name, '&')
|
||||
if amp != -1
|
||||
let name = strpart(name, 0, amp) . toupper(login[0]) .
|
||||
\strpart(login, 1) . strpart(name, amp + 1)
|
||||
endif
|
||||
|
||||
" Get our hostname
|
||||
let hostname = system("hostname")
|
||||
if v:shell_error
|
||||
let hostname = 'unknownhost'
|
||||
else
|
||||
let newline = stridx(hostname, "\n")
|
||||
if newline != -1
|
||||
let hostname = strpart(hostname, 0, newline)
|
||||
endif
|
||||
endif
|
||||
|
||||
" And finally set the username
|
||||
let g:changelog_username = name.' <'.login.'@'.hostname.'>'
|
||||
endif
|
||||
endif
|
||||
|
||||
" Format used for new date-entries
|
||||
if !exists("g:changelog_new_date_format")
|
||||
let g:changelog_new_date_format = "%d %u\n\n\t* %c\n\n"
|
||||
endif
|
||||
|
||||
" Format used for new entries to current date-entry
|
||||
if !exists("g:changelog_new_entry_format")
|
||||
let g:changelog_new_entry_format = "\t* %c"
|
||||
endif
|
||||
|
||||
if !exists("g:changelog_date_entry_search")
|
||||
let g:changelog_date_entry_search = '^\s*%d\_s*%u'
|
||||
endif
|
||||
|
||||
" Substitutes specific items in new date-entry formats and search strings
|
||||
" Can be done with substitute of course, but unclean, and need \@! then
|
||||
function! s:substitute_items(str, date, user)
|
||||
let str = a:str
|
||||
let i = stridx(str, '%')
|
||||
while i != -1
|
||||
let char = str[i + 1]
|
||||
if char == '%'
|
||||
let middle = '%'
|
||||
elseif char == 'd'
|
||||
let middle = a:date
|
||||
elseif char == 'u'
|
||||
let middle = a:user
|
||||
elseif char == 'c'
|
||||
let middle = '{cursor}'
|
||||
else
|
||||
let middle = char
|
||||
endif
|
||||
let str = strpart(str, 0, i) . middle . strpart(str, i + 2)
|
||||
let i = stridx(str, '%')
|
||||
endwhile
|
||||
return str
|
||||
endfunction
|
||||
|
||||
function! s:position_cursor()
|
||||
if search('{cursor}') > 0
|
||||
let pos = line('.')
|
||||
let line = getline(pos)
|
||||
let cursor = stridx(line, '{cursor}')
|
||||
call setline(pos, substitute(line, '{cursor}', '', ''))
|
||||
endif
|
||||
startinsert!
|
||||
endfunction
|
||||
|
||||
" Internal function to create a new entry in the ChangeLog
|
||||
function! s:new_changelog_entry()
|
||||
" Deal with 'paste' option
|
||||
let save_paste = &paste
|
||||
let &paste = 1
|
||||
1
|
||||
" Look for an entry for today by our user
|
||||
let date = strftime(g:changelog_timeformat)
|
||||
let search = s:substitute_items(g:changelog_date_entry_search, date,
|
||||
\g:changelog_username)
|
||||
if search(search) > 0
|
||||
" Ok, now we look for the end of the date-entry, and add an entry
|
||||
let pos = nextnonblank(line('.') + 1)
|
||||
let line = getline(pos)
|
||||
while line =~ '^\s\+\S\+'
|
||||
let pos = pos + 1
|
||||
let line = getline(pos)
|
||||
endwhile
|
||||
let insert = s:substitute_items(g:changelog_new_entry_format,
|
||||
\'', '')
|
||||
execute "normal! ".(pos - 1)."Go".insert
|
||||
execute pos
|
||||
else
|
||||
" Flag for removing empty lines at end of new ChangeLogs
|
||||
let remove_empty = line('$') == 1
|
||||
|
||||
" No entry today, so create a date-user header and insert an entry
|
||||
let todays_entry = s:substitute_items(g:changelog_new_date_format,
|
||||
\date, g:changelog_username)
|
||||
" Make sure we have a cursor positioning
|
||||
if stridx(todays_entry, '{cursor}') == -1
|
||||
let todays_entry = todays_entry.'{cursor}'
|
||||
endif
|
||||
|
||||
" Now do the work
|
||||
execute "normal! i".todays_entry
|
||||
if remove_empty
|
||||
while getline('$') == ''
|
||||
$delete
|
||||
endwhile
|
||||
endif
|
||||
|
||||
1
|
||||
endif
|
||||
|
||||
call s:position_cursor()
|
||||
|
||||
" And reset 'paste' option
|
||||
let &paste = save_paste
|
||||
endfunction
|
||||
|
||||
if exists(":NewChangelogEntry") != 2
|
||||
map <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< tw< fo< et< ai<"
|
||||
|
||||
if &textwidth == 0
|
||||
setlocal textwidth=78
|
||||
endif
|
||||
setlocal comments=
|
||||
setlocal formatoptions+=t
|
||||
setlocal noexpandtab
|
||||
setlocal autoindent
|
||||
|
||||
let &cpo = cpo_save
|
||||
else
|
||||
" Add the Changelog opening mapping
|
||||
nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
|
||||
|
||||
function! s:open_changelog()
|
||||
if filereadable('ChangeLog')
|
||||
if bufloaded('ChangeLog')
|
||||
let buf = bufnr('ChangeLog')
|
||||
execute "normal! \<C-W>t"
|
||||
while winbufnr(winnr()) != buf
|
||||
execute "normal! \<C-W>w"
|
||||
endwhile
|
||||
else
|
||||
split ChangeLog
|
||||
endif
|
||||
|
||||
if exists("g:mapleader")
|
||||
execute "normal " . g:mapleader . "o"
|
||||
else
|
||||
execute "normal \\o"
|
||||
endif
|
||||
startinsert!
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
|
||||
" vim: set sts=2 sw=2:
|
41
runtime/ftplugin/config.vim
Normal file
41
runtime/ftplugin/config.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: config
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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.*)\tconfigure.*\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
|
12
runtime/ftplugin/cpp.vim
Normal file
12
runtime/ftplugin/cpp.vim
Normal file
@@ -0,0 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C++
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2001 Jan 15
|
||||
|
||||
" 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
|
26
runtime/ftplugin/cs.vim
Normal file
26
runtime/ftplugin/cs.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C#
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" 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
|
||||
|
||||
setlocal cindent
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> 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
|
26
runtime/ftplugin/csc.vim
Normal file
26
runtime/ftplugin/csc.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: csc
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=
|
||||
\ '\<fix\>:\<endfix\>,' .
|
||||
\ '\<if\>:\<else\%(if\)\=\>:\<endif\>,' .
|
||||
\ '\<!loopondimensions\>\|\<!looponselected\>:\<!endloop\>'
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:match_words"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
47
runtime/ftplugin/csh.vim
Normal file
47
runtime/ftplugin/csh.vim
Normal file
@@ -0,0 +1,47 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: csh
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=#%s
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crql
|
||||
|
||||
" Csh: thanks to Johannes Zellner
|
||||
" - Both foreach and end must appear alone on separate lines.
|
||||
" - The words else and endif must appear at the beginning of input lines;
|
||||
" the if must appear alone on its input line or after an else.
|
||||
" - Each case label and the default label must appear at the start of a
|
||||
" line.
|
||||
" - while and end must appear alone on their input lines.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words =
|
||||
\ '^\s*\<if\>.*(.*).*\<then\>:'.
|
||||
\ '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
|
||||
\ '^\s*\<endif\>,'.
|
||||
\ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
|
||||
\ '\<break\>:\<continue\>:^\s*\<end\>,'.
|
||||
\ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show csh-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
|
||||
\ " | unlet! b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
20
runtime/ftplugin/css.vim
Normal file
20
runtime/ftplugin/css.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: CSS
|
||||
" Maintainer: Nikolai Weibull <source@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/css/
|
||||
" Latest Revision: 2004-04-25
|
||||
" arch-tag: 5fa7c74f-bf1a-47c4-b06f-6efe8f48db3b
|
||||
|
||||
" 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 b:undo_ftplugin = "setl com<"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/
|
||||
|
||||
" vim: set sts=2 sw=2:
|
206
runtime/ftplugin/debchangelog.vim
Normal file
206
runtime/ftplugin/debchangelog.vim
Normal file
@@ -0,0 +1,206 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Debian Changelog
|
||||
" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Last Change: 23 March 2004
|
||||
|
||||
if exists("g:did_changelog_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin (this is global)
|
||||
let g:did_changelog_ftplugin = 1
|
||||
|
||||
" Helper functions returning various data.
|
||||
" Returns full name, either from $DEBFULLNAME or debianfullname.
|
||||
" TODO Is there a way to determine name from anywhere else?
|
||||
function <SID>FullName()
|
||||
if exists("$DEBFULLNAME")
|
||||
return $DEBFULLNAME
|
||||
elseif exists("g:debianfullname")
|
||||
return g:debianfullname
|
||||
else
|
||||
return "Your Name"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
|
||||
function <SID>Email()
|
||||
if exists("$DEBEMAIL")
|
||||
return $DEBEMAIL
|
||||
elseif exists("$EMAIL")
|
||||
return $EMAIL
|
||||
elseif exists("g:debianemail")
|
||||
return g:debianfullemail
|
||||
else
|
||||
return "your@email.address"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns date in RFC822 format.
|
||||
function <SID>Date()
|
||||
let savelang = v:lc_time
|
||||
execute "language time C"
|
||||
let dateandtime = strftime("%a, %d %b %Y %X %z")
|
||||
execute "language time " . savelang
|
||||
return dateandtime
|
||||
endfunction
|
||||
|
||||
function <SID>WarnIfNotUnfinalised()
|
||||
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
|
||||
echohl WarningMsg
|
||||
echo "The entry has not been unfinalised before editing."
|
||||
echohl None
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function <SID>Finalised()
|
||||
let savelinenum = line(".")
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
|
||||
let returnvalue = 1
|
||||
else
|
||||
let returnvalue = 0
|
||||
endif
|
||||
execute savelinenum
|
||||
return returnvalue
|
||||
endfunction
|
||||
|
||||
" These functions implement the menus
|
||||
function NewVersion()
|
||||
" The new entry is unfinalised and shall be changed
|
||||
amenu disable Changelog.New\ Version
|
||||
amenu enable Changelog.Add\ Entry
|
||||
amenu enable Changelog.Close\ Bug
|
||||
amenu enable Changelog.Set\ Distribution
|
||||
amenu enable Changelog.Set\ Urgency
|
||||
amenu disable Changelog.Unfinalise
|
||||
amenu enable Changelog.Finalise
|
||||
call append(0, substitute(getline(1),'-\([[:digit:]]\+\))', '-<2D>\1)', ''))
|
||||
call append(1, "")
|
||||
call append(2, "")
|
||||
call append(3, " -- ")
|
||||
call append(4, "")
|
||||
call Distribution("unstable")
|
||||
call Urgency("low")
|
||||
normal 1G
|
||||
call search(")")
|
||||
normal h
|
||||
normal
|
||||
call setline(1, substitute(getline(1),'-<2D>\([[:digit:]]\+\))', '-\1)', ''))
|
||||
call AddEntry()
|
||||
endfunction
|
||||
|
||||
function AddEntry()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
normal kk
|
||||
call append(".", " * ")
|
||||
normal jjj
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
normal kk
|
||||
if warn
|
||||
echohl MoreMsg
|
||||
call input("Hit ENTER")
|
||||
echohl None
|
||||
endif
|
||||
startinsert!
|
||||
endfunction
|
||||
|
||||
function CloseBug()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
normal kk
|
||||
call append(".", " * (closes: #" . input("Bug number to close: ") . ")")
|
||||
normal j^ll
|
||||
startinsert
|
||||
endfunction
|
||||
|
||||
function Distribution(dist)
|
||||
call setline(1, substitute(getline(1), ") [[:lower:] ]*;", ") " . a:dist . ";", ""))
|
||||
endfunction
|
||||
|
||||
function Urgency(urg)
|
||||
call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, ""))
|
||||
endfunction
|
||||
|
||||
function <SID>UnfinaliseMenu()
|
||||
" This means the entry shall be changed
|
||||
amenu disable Changelog.New\ Version
|
||||
amenu enable Changelog.Add\ Entry
|
||||
amenu enable Changelog.Close\ Bug
|
||||
amenu enable Changelog.Set\ Distribution
|
||||
amenu enable Changelog.Set\ Urgency
|
||||
amenu disable Changelog.Unfinalise
|
||||
amenu enable Changelog.Finalise
|
||||
endfunction
|
||||
|
||||
function Unfinalise()
|
||||
call <SID>UnfinaliseMenu()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
call setline(".", " -- ")
|
||||
endfunction
|
||||
|
||||
function <SID>FinaliseMenu()
|
||||
" This means the entry should not be changed anymore
|
||||
amenu enable Changelog.New\ Version
|
||||
amenu disable Changelog.Add\ Entry
|
||||
amenu disable Changelog.Close\ Bug
|
||||
amenu disable Changelog.Set\ Distribution
|
||||
amenu disable Changelog.Set\ Urgency
|
||||
amenu enable Changelog.Unfinalise
|
||||
amenu disable Changelog.Finalise
|
||||
endfunction
|
||||
|
||||
function Finalise()
|
||||
call <SID>FinaliseMenu()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date())
|
||||
endfunction
|
||||
|
||||
|
||||
function <SID>MakeMenu()
|
||||
amenu &Changelog.&New\ Version :call NewVersion()<CR>
|
||||
amenu Changelog.&Add\ Entry :call AddEntry()<CR>
|
||||
amenu Changelog.&Close\ Bug :call CloseBug()<CR>
|
||||
menu Changelog.-sep- <nul>
|
||||
|
||||
amenu Changelog.Set\ &Distribution.&unstable :call Distribution("unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.&frozen :call Distribution("frozen")<CR>
|
||||
amenu Changelog.Set\ Distribution.&stable :call Distribution("stable")<CR>
|
||||
menu Changelog.Set\ Distribution.-sep- <nul>
|
||||
amenu Changelog.Set\ Distribution.frozen\ unstable :call Distribution("frozen unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ unstable :call Distribution("stable unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ frozen :call Distribution("stable frozen")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ frozen\ unstable :call Distribution("stable frozen unstable")<CR>
|
||||
|
||||
amenu Changelog.Set\ &Urgency.&low :call Urgency("low")<CR>
|
||||
amenu Changelog.Set\ Urgency.&medium :call Urgency("medium")<CR>
|
||||
amenu Changelog.Set\ Urgency.&high :call Urgency("high")<CR>
|
||||
|
||||
menu Changelog.-sep- <nul>
|
||||
amenu Changelog.U&nfinalise :call Unfinalise()<CR>
|
||||
amenu Changelog.&Finalise :call Finalise()<CR>
|
||||
|
||||
if <SID>Finalised()
|
||||
call <SID>FinaliseMenu()
|
||||
else
|
||||
call <SID>UnfinaliseMenu()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
augroup changelogMenu
|
||||
au BufEnter * if &filetype == "debchangelog" | call <SID>MakeMenu() | endif
|
||||
au BufLeave * if &filetype == "debchangelog" | aunmenu Changelog | endif
|
||||
augroup END
|
||||
|
||||
" Debian changelogs are not supposed to have any other text width,
|
||||
" so the user cannot override this setting
|
||||
setlocal tw=78
|
||||
setlocal comments=f:*
|
||||
let b:undo_ftplugin = "setlocal tw< comments<"
|
21
runtime/ftplugin/dosbatch.vim
Normal file
21
runtime/ftplugin/dosbatch.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: MS-DOS .bat files
|
||||
" Maintainer: Mike Williams <mrw@eandem.co.uk>
|
||||
" Last Change: 5th February 2003
|
||||
|
||||
" 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
|
||||
|
||||
" BAT comment formatting
|
||||
setlocal comments=b:rem,b:@rem,b:REM,b:@REM,b:::
|
||||
setlocal formatoptions-=t formatoptions+=rol
|
||||
|
||||
" 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
|
33
runtime/ftplugin/dtd.vim
Normal file
33
runtime/ftplugin/dtd.vim
Normal file
@@ -0,0 +1,33 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: dtd
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=<!--%s-->
|
||||
|
||||
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<" .
|
||||
\ " | unlet! b:matchwords b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
114
runtime/ftplugin/fortran.vim
Normal file
114
runtime/ftplugin/fortran.vim
Normal file
@@ -0,0 +1,114 @@
|
||||
" Vim settings file
|
||||
" Language: Fortran90 (and Fortran95, Fortran77, F and elf90)
|
||||
" Version: 0.44
|
||||
" Last Change: 2003 May 18
|
||||
" URL: http://www.unb.ca/chem/ajit/ftplugin/fortran.vim
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
|
||||
" Usage: Do :help fortran-plugin from Vim
|
||||
|
||||
" 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
|
||||
|
||||
" Determine whether this is a fixed or free format source file
|
||||
" if this hasn't been done yet
|
||||
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
|
||||
else
|
||||
" f90 and f95 allow 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 25 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 = 25
|
||||
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[0] !~ '[Cc*!#]' && s:test !~ '^ \+[!#]' && s:test =~ '[^ 0-9\t]'
|
||||
let b:fortran_fixed_source = 0
|
||||
break
|
||||
endif
|
||||
let s:ln = s:ln + 1
|
||||
endwhile
|
||||
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 for code but 80 is more usual
|
||||
setlocal tw=80
|
||||
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 comment and text lines but allow long lines
|
||||
setlocal fo+=tcql
|
||||
|
||||
setlocal include=^#\\=\\s*include\\s\\+
|
||||
|
||||
let s:cposet=&cpoptions
|
||||
set cpoptions-=C
|
||||
|
||||
" Define patterns for the matchit plugin
|
||||
if !exists("b:match_words")
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let s:notselect = '\%(\<select\s\+\)\@<!'
|
||||
let s:notelse = '\%(\<end\s\+\|\<else\s\+\)\@<!'
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
|
||||
\ s:notelse . '\<if\s*(.\+)\s*then\>:' .
|
||||
\ '\<else\s*\%(if\s*(.\+)\s*then\)\=\>:\<end\s*if\>,'.
|
||||
\ 'do\s\+\(\d\+\):\%(^\s*\)\@<=\1\s,'.
|
||||
\ s:notend . '\<do\>:\<end\s*do\>,'.
|
||||
\ s:notelse . '\<where\>:\<elsewhere\>:\<end\s*where\>,'.
|
||||
\ s:notend . '\<type\s*[^(]:\<end\s*type\>,'.
|
||||
\ s:notend . '\<interface\>:\<end\s*interface\>,'.
|
||||
\ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
|
||||
\ s:notend . '\<function\>:\<end\s*function\>,'.
|
||||
\ s:notend . '\<module\>:\<end\s*module\>,'.
|
||||
\ s:notend . '\<program\>:\<end\s*program\>'
|
||||
endif
|
||||
|
||||
" File filters for :browse e
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Fortran Files (*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn)\t*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
let &cpoptions=s:cposet
|
||||
unlet s:cposet
|
||||
|
||||
" vim:sw=2
|
40
runtime/ftplugin/html.vim
Normal file
40
runtime/ftplugin/html.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: html
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2004 May 11
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=<!--%s-->
|
||||
|
||||
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_skip = 's:Comment'
|
||||
let b:match_words = '<:>,' .
|
||||
\ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
|
||||
\ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show HTML-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="HTML Files (*.html,*.htm)\t*.htm*\n" .
|
||||
\ "JavaScript Files (*.js)\t*.js\n" .
|
||||
\ "Cascading StyleSheets (*.css)\t*.css\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
\ " | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
30
runtime/ftplugin/ishd.vim
Normal file
30
runtime/ftplugin/ishd.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: InstallShield (ft=ishd)
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Sat, 24 May 2003 11:55:36 CEST
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal nocindent
|
||||
setlocal autoindent
|
||||
setlocal foldmethod=syntax
|
||||
|
||||
set cpo-=C
|
||||
|
||||
" matchit support
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase=0
|
||||
let b:match_words=
|
||||
\ '\%(^\s*\)\@<=\<function\>\s\+[^()]\+\s*(:\%(^\s*\)\@<=\<begin\>\s*$:\%(^\s*\)\@<=\<return\>:\%(^\s*\)\@<=\<end\>\s*;\s*$,' .
|
||||
\ '\%(^\s*\)\@<=\<repeat\>\s*$:\%(^\s*\)\@<=\<until\>\s\+.\{-}\s*;\s*$,' .
|
||||
\ '\%(^\s*\)\@<=\<switch\>\s*(.\{-}):\%(^\s*\)\@<=\<\%(case\|default\)\>:\%(^\s*\)\@<=\<endswitch\>\s*;\s*$,' .
|
||||
\ '\%(^\s*\)\@<=\<while\>\s*(.\{-}):\%(^\s*\)\@<=\<endwhile\>\s*;\s*$,' .
|
||||
\ '\%(^\s*\)\@<=\<for\>.\{-}\<\%(to\|downto\)\>:\%(^\s*\)\@<=\<endfor\>\s*;\s*$,' .
|
||||
\ '\%(^\s*\)\@<=\<if\>\s*(.\{-})\s*then:\%(^\s*\)\@<=\<else\s*if\>\s*([^)]*)\s*then:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<endif\>\s*;\s*$'
|
||||
endif
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "InstallShield Files (*.rul)\t*.rul\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
63
runtime/ftplugin/java.vim
Normal file
63
runtime/ftplugin/java.vim
Normal file
@@ -0,0 +1,63 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Java
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Change: 2004 May 16
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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
|
||||
|
||||
" Go ahead and set this to get decent indenting even if the indent files
|
||||
" aren't being used. For people who really don't want any indentation,
|
||||
" let them turn it off.
|
||||
if !exists("g:ftplugin_java_no_indent")
|
||||
setlocal cindent
|
||||
|
||||
"---------------------
|
||||
" Correctly indent anonymous classes
|
||||
" From Johannes Zellner <johannes@zellner.org>
|
||||
setlocal cinoptions+=j1
|
||||
"---------------------
|
||||
endif
|
||||
|
||||
" 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 <CR> 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 cindent< cinoptions< suffixes< suffixesadd<" .
|
||||
\ " formatoptions< comments< commentstring< path< includeexpr<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
66
runtime/ftplugin/jsp.vim
Normal file
66
runtime/ftplugin/jsp.vim
Normal file
@@ -0,0 +1,66 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: jsp
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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*.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:matchwords
|
||||
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
|
20
runtime/ftplugin/kwt.vim
Normal file
20
runtime/ftplugin/kwt.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Kimwitu++
|
||||
" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Last Change: 16 August 2001
|
||||
|
||||
" Behaves almost like C++
|
||||
runtime! ftplugin/cpp.vim ftplugin/cpp_*.vim ftplugin/cpp/*.vim
|
||||
|
||||
set cpo-=C
|
||||
|
||||
" 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
|
20
runtime/ftplugin/lisp.vim
Normal file
20
runtime/ftplugin/lisp.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Lisp
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: May 15, 2003
|
||||
|
||||
" 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 autoindent
|
||||
setl comments=:;
|
||||
setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
37
runtime/ftplugin/lprolog.vim
Normal file
37
runtime/ftplugin/lprolog.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
" Vim settings file
|
||||
" Language: LambdaProlog (Teyjus)
|
||||
" Maintainer: Markus Mottl <markus@oefai.at>
|
||||
" URL: http://www.ai.univie.ac.at/~markus/vim/ftplugin/lprolog.vim
|
||||
" Last Change: 2003 May 11
|
||||
" 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('<Plug>Comment')
|
||||
nmap <buffer> <LocalLeader>c <Plug>LUncomOn
|
||||
vmap <buffer> <LocalLeader>c <Plug>BUncomOn
|
||||
nmap <buffer> <LocalLeader>C <Plug>LUncomOff
|
||||
vmap <buffer> <LocalLeader>C <Plug>BUncomOff
|
||||
endif
|
||||
|
||||
nnoremap <buffer> <Plug>LUncomOn mz0i/* <ESC>$A */<ESC>`z
|
||||
nnoremap <buffer> <Plug>LUncomOff <ESC>:s/^\/\* \(.*\) \*\//\1/<CR>
|
||||
vnoremap <buffer> <Plug>BUncomOn <ESC>:'<,'><CR>`<O<ESC>0i/*<ESC>`>o<ESC>0i*/<ESC>`<
|
||||
vnoremap <buffer> <Plug>BUncomOff <ESC>:'<,'><CR>`<dd`>dd`<
|
||||
endif
|
36
runtime/ftplugin/lua.vim
Normal file
36
runtime/ftplugin/lua.vim
Normal file
@@ -0,0 +1,36 @@
|
||||
" Vim filetype plugin file.
|
||||
" Language: Lua 4.0+
|
||||
" Maintainer: Max Ischenko <mfi@ukr.net>
|
||||
" Last Change: 2001 Sep 17
|
||||
|
||||
" 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 <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
setlocal com=:--
|
||||
setlocal cms="--%s"
|
||||
setlocal suffixesadd=.lua
|
||||
|
||||
|
||||
" The following lines enable the macros/matchit.vim plugin for
|
||||
" extended matching with the % key.
|
||||
|
||||
set cpo-=C
|
||||
if exists("loaded_matchit")
|
||||
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<\%(do\|function\|if\)\>:' .
|
||||
\ '\<\%(return\|else\|elseif\)\>:' .
|
||||
\ '\<end\>,' .
|
||||
\ '\<repeat\>:\<until\>'
|
||||
|
||||
endif " exists("loaded_matchit")
|
34
runtime/ftplugin/mail.vim
Normal file
34
runtime/ftplugin/mail.vim
Normal file
@@ -0,0 +1,34 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Mail
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2004 Feb 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<"
|
||||
|
||||
" Don't use modelines in e-mail messages, avoid trojan horses
|
||||
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 mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
||||
" Quote text by inserting "> "
|
||||
if !hasmapto('<Plug>MailQuote')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
endif
|
||||
vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>:noh<CR>``
|
||||
nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>:noh<CR>``
|
||||
endif
|
25
runtime/ftplugin/make.vim
Normal file
25
runtime/ftplugin/make.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Make
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 May 04
|
||||
|
||||
" 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 et< fo< com< commentstring<"
|
||||
|
||||
" Make sure a hard tab is used, required for most make programs
|
||||
setlocal noexpandtab softtabstop=0
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,b:#
|
||||
|
||||
" Set 'commentstring' to put the marker after a #.
|
||||
setlocal commentstring=#\ %s
|
177
runtime/ftplugin/man.vim
Normal file
177
runtime/ftplugin/man.vim
Normal file
@@ -0,0 +1,177 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: Nam SungHyun <namsh@kldp.org>
|
||||
" Last Change: 2003 Dec 24
|
||||
|
||||
" 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
|
||||
|
||||
" allow dot and dash in manual page name.
|
||||
setlocal iskeyword+=\.,-
|
||||
|
||||
" Add mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_man_maps")
|
||||
if !hasmapto('<Plug>ManBS')
|
||||
nmap <buffer> <LocalLeader>h <Plug>ManBS
|
||||
endif
|
||||
nnoremap <buffer> <Plug>ManBS :%s/.\b//g<CR>:set nomod<CR>''
|
||||
|
||||
nnoremap <buffer> <c-]> :call <SID>PreGetPage(v:count)<CR>
|
||||
nnoremap <buffer> <c-t> :call <SID>PopPage()<CR>
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
if exists(":Man") != 2
|
||||
com -nargs=+ Man call s:GetPage(<f-args>)
|
||||
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
||||
endif
|
||||
|
||||
" Define functions only once.
|
||||
if !exists("s:man_tag_depth")
|
||||
|
||||
let s:man_tag_depth = 0
|
||||
|
||||
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"
|
||||
else
|
||||
let s:man_sect_arg = ""
|
||||
let s:man_find_arg = "-w"
|
||||
endif
|
||||
|
||||
func <SID>PreGetPage(cnt)
|
||||
if a:cnt == 0
|
||||
let old_isk = &iskeyword
|
||||
setl iskeyword+=(,)
|
||||
let str = expand("<cword>")
|
||||
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("<cword>")
|
||||
endif
|
||||
call s:GetPage(sect, page)
|
||||
endfunc
|
||||
|
||||
func <SID>GetCmdArg(sect, page)
|
||||
if a:sect == ''
|
||||
return a:page
|
||||
endif
|
||||
return s:man_sect_arg.' '.a:sect.' '.a:page
|
||||
endfunc
|
||||
|
||||
func <SID>FindPage(sect, page)
|
||||
let where = system("/usr/bin/man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
|
||||
if where !~ "^/"
|
||||
if matchstr(where, " [^ ]*$") !~ "^ /"
|
||||
return 0
|
||||
endif
|
||||
endif
|
||||
return 1
|
||||
endfunc
|
||||
|
||||
func <SID>GetPage(...)
|
||||
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 <cword>
|
||||
if page == '<cword>'
|
||||
let page = expand('<cword>')
|
||||
endif
|
||||
|
||||
if sect != "" && s:FindPage(sect, page) == 0
|
||||
let sect = ""
|
||||
endif
|
||||
if s:FindPage(sect, page) == 0
|
||||
echo "\nCannot find a '".page."'."
|
||||
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
|
||||
|
||||
" Use an existing "man" window if it exists, otherwise open a new one.
|
||||
if &filetype != "man"
|
||||
let thiswin = winnr()
|
||||
exe "norm! \<C-W>b"
|
||||
if winnr() == 1
|
||||
new
|
||||
else
|
||||
exe "norm! " . thiswin . "\<C-W>w"
|
||||
while 1
|
||||
if &filetype == "man"
|
||||
break
|
||||
endif
|
||||
exe "norm! \<C-W>w"
|
||||
if thiswin == winnr()
|
||||
new
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
endif
|
||||
endif
|
||||
silent exec "edit $HOME/".page.".".sect."~"
|
||||
" Avoid warning for editing the dummy file twice
|
||||
set buftype=nofile noswapfile
|
||||
|
||||
set ma
|
||||
silent exec "norm 1GdG"
|
||||
let $MANWIDTH = winwidth(0)
|
||||
silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b"
|
||||
" Remove blank lines from top and bottom.
|
||||
while getline(1) =~ '^\s*$'
|
||||
silent norm ggdd
|
||||
endwhile
|
||||
while getline('$') =~ '^\s*$'
|
||||
silent norm Gdd
|
||||
endwhile
|
||||
1
|
||||
setl ft=man nomod
|
||||
setl bufhidden=hide
|
||||
setl nobuflisted
|
||||
endfunc
|
||||
|
||||
func <SID>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
|
||||
|
||||
" vim: set sw=2:
|
16
runtime/ftplugin/mf.vim
Normal file
16
runtime/ftplugin/mf.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: METAFONT
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: May 27, 2003
|
||||
|
||||
" 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 com=:%
|
||||
setl fo-=t
|
7
runtime/ftplugin/mp.vim
Normal file
7
runtime/ftplugin/mp.vim
Normal file
@@ -0,0 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: MetaPost
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: May 27, 2003
|
||||
|
||||
runtime! ftplugin/mf.vim ftplugin/mf_*.vim ftplugin/mf/*.vim
|
12
runtime/ftplugin/objc.vim
Normal file
12
runtime/ftplugin/objc.vim
Normal file
@@ -0,0 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Objective C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 Jan 15
|
||||
|
||||
" 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
|
49
runtime/ftplugin/ocaml.vim
Normal file
49
runtime/ftplugin/ocaml.vim
Normal file
@@ -0,0 +1,49 @@
|
||||
" Vim settings file
|
||||
" Language: OCaml
|
||||
" Maintainers: Mike Leary <leary@nwlink.com>
|
||||
" Markus Mottl <markus@oefai.at>
|
||||
" URL: http://www.ai.univie.ac.at/~markus/vim/ftplugin/ocaml.vim
|
||||
" Last Change: 2003 May 11
|
||||
" 2001 Nov 01 - added local bindings for inserting
|
||||
" type holes using 'assert false' (MM)
|
||||
" 2001 Oct 02 - insert spaces in line comments (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
|
||||
|
||||
set cpo-=C
|
||||
|
||||
" Error formats
|
||||
setlocal efm=
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
|
||||
\%+EReference\ to\ unbound\ regexp\ name\ %m,
|
||||
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
|
||||
\%Wocamlyacc:\ w\ -\ %m,
|
||||
\%-Zmake%.%#,
|
||||
\%C%m
|
||||
|
||||
" Add mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_ocaml_maps")
|
||||
" Uncommenting
|
||||
if !hasmapto('<Plug>Comment')
|
||||
nmap <buffer> <LocalLeader>c <Plug>LUncomOn
|
||||
vmap <buffer> <LocalLeader>c <Plug>BUncomOn
|
||||
nmap <buffer> <LocalLeader>C <Plug>LUncomOff
|
||||
vmap <buffer> <LocalLeader>C <Plug>BUncomOff
|
||||
endif
|
||||
|
||||
nnoremap <buffer> <Plug>LUncomOn mz0i(* <ESC>$A *)<ESC>`z
|
||||
nnoremap <buffer> <Plug>LUncomOff <ESC>:s/^(\* \(.*\) \*)/\1/<CR>
|
||||
vnoremap <buffer> <Plug>BUncomOn <ESC>:'<,'><CR>`<O<ESC>0i(*<ESC>`>o<ESC>0i*)<ESC>`<
|
||||
vnoremap <buffer> <Plug>BUncomOff <ESC>:'<,'><CR>`<dd`>dd`<
|
||||
|
||||
if !hasmapto('<Plug>Abbrev')
|
||||
iabbrev <buffer> ASS (assert false)
|
||||
endif
|
||||
endif
|
39
runtime/ftplugin/occam.vim
Normal file
39
runtime/ftplugin/occam.vim
Normal file
@@ -0,0 +1,39 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: occam
|
||||
" Copyright: Christian Jacobsen <clj3@kent.ac.uk>, Mario Schweigler <ms44@kent.ac.uk>
|
||||
" Maintainer: Mario Schweigler <ms44@kent.ac.uk>
|
||||
" 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
|
||||
|
||||
"{{{ 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
|
||||
"}}}
|
||||
|
15
runtime/ftplugin/pascal.vim
Normal file
15
runtime/ftplugin/pascal.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: pascal
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words='\<begin\>:\<end\>'
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:match_words"
|
66
runtime/ftplugin/perl.vim
Normal file
66
runtime/ftplugin/perl.vim
Normal file
@@ -0,0 +1,66 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Change: 2004 May 16
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 formatoptions+=crq
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly Perl-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
|
||||
\ "Perl Modules (*.pm)\t*.pm\n" .
|
||||
\ "Perl Documentation Files (*.pod)\t*.pod\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Provided by Ned Konz <ned at bike-nomad dot com>
|
||||
"---------------------------------------------
|
||||
setlocal include=\\<\\(use\|require\\)\\>
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
|
||||
setlocal define=[^A-Za-z_]
|
||||
|
||||
" The following line changes a global variable but is necessary to make
|
||||
" gf and similar commands work. The change to iskeyword was incorrect.
|
||||
" Thanks to Andrew Pimlott for pointing out the problem. If this causes a
|
||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
"setlocal iskeyword=48-57,_,A-Z,a-z,:
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
if executable("perl")
|
||||
if &shellxquote != '"'
|
||||
let perlpath = system('perl -e "print join(q/,/,@INC)"')
|
||||
else
|
||||
let perlpath = system("perl -e 'print join(q/,/,@INC)'")
|
||||
endif
|
||||
let perlpath = substitute(perlpath,',.$',',,','')
|
||||
else
|
||||
" If we can't call perl to get its path, just default to using the
|
||||
" current directory and the directory of the current file.
|
||||
let perlpath = ".,,"
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path=perlpath
|
||||
"---------------------------------------------
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
62
runtime/ftplugin/php.vim
Normal file
62
runtime/ftplugin/php.vim
Normal file
@@ -0,0 +1,62 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: php
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "HTML Files (*.html, *.htm)\t*.htm*\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.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
|
||||
if exists("b:match_words")
|
||||
let s:match_words = b:match_words
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show PHP-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
" ###
|
||||
" Provided by Mikolaj Machowski <mikmach at wp dot pl>
|
||||
setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
|
||||
setlocal iskeyword+=$
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '\<switch\>:\<endswitch\>,' .
|
||||
\ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' .
|
||||
\ '\<while\>:\<endwhile\>,' .
|
||||
\ '\<do\>:\<while\>,' .
|
||||
\ '\<for\>:\<endfor\>,' .
|
||||
\ '\<foreach\>:\<endforeach\>,' .
|
||||
\ s:match_words
|
||||
endif
|
||||
" ###
|
||||
|
||||
setlocal commentstring=/*%s*/
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms< inc< isk<" .
|
||||
\ " | unlet! b:browsefilter b:match_words | " .
|
||||
\ s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
31
runtime/ftplugin/postscr.vim
Normal file
31
runtime/ftplugin/postscr.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: PostScript
|
||||
" Maintainer: Mike Williams <mrw@eandem.co.uk>
|
||||
" Last Change: 27th June 2002
|
||||
|
||||
" 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
|
||||
|
||||
" 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 = '<<:>>,\<begin\>:\<end\>,\<save\>:\<restore\>,\<gsave\>:\<grestore\>'
|
||||
endif
|
||||
|
||||
set cpo-=C
|
||||
|
||||
" 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
|
22
runtime/ftplugin/pyrex.vim
Normal file
22
runtime/ftplugin/pyrex.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Pyrex
|
||||
" Maintainer: Marco Barisione <marco.bari@people.it>
|
||||
" URL: http://marcobari.altervista.org/pyrex_vim.html
|
||||
" Last Change: 2004 May 16
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" 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
|
41
runtime/ftplugin/python.vim
Normal file
41
runtime/ftplugin/python.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: python
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal cinkeys-=0#
|
||||
setlocal indentkeys-=0#
|
||||
setlocal include=\s*\\(from\\\|import\\)
|
||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
setlocal suffixesadd=.py
|
||||
setlocal comments-=:%
|
||||
setlocal commentstring=#%s
|
||||
|
||||
set wildignore+=*.pyc
|
||||
|
||||
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
|
||||
|
||||
if exists('*<SID>Python_jump') | finish | endif
|
||||
|
||||
fun! <SID>Python_jump(motion) range
|
||||
let cnt = v:count1
|
||||
let save = @/ " save last search pattern
|
||||
mark '
|
||||
while cnt > 0
|
||||
silent! exe a:motion
|
||||
let cnt = cnt - 1
|
||||
endwhile
|
||||
call histdel('/', -1)
|
||||
let @/ = save " restore last search pattern
|
||||
endfun
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
22
runtime/ftplugin/rpl.vim
Normal file
22
runtime/ftplugin/rpl.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: RPL/2
|
||||
" Maintainer: Jo<4A>l BERTRAND <rpl2@free.fr>
|
||||
" Last Change: 2002 Feb 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
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
23
runtime/ftplugin/rst.vim
Normal file
23
runtime/ftplugin/rst.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: reStructuredText Documentation Format
|
||||
" Maintainer: Nikolai Weibull <source@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/rst/
|
||||
" Latest Revision: 2004-04-25
|
||||
" arch-tag: 618bf504-81ba-4518-bad2-43ba2b844a26
|
||||
|
||||
" 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 b:undo_ftplugin = "setl com< cms<"
|
||||
|
||||
setlocal comments=fb:..
|
||||
setlocal commentstring=..\ %s
|
||||
setlocal expandtab
|
||||
setlocal sts=2 sw=2
|
||||
|
||||
" vim: set sts=2 sw=2:
|
14
runtime/ftplugin/ruby.vim
Normal file
14
runtime/ftplugin/ruby.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Ruby
|
||||
" Maintainer: Gavin Sinclair <gsinclair@soyabean.com.au>
|
||||
" Last Change: 2002/08/12
|
||||
" URL: www.soyabean.com.au/gavin/vim/index.html
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" There are no known setting particularly appropriate for Ruby. Please
|
||||
" contact the maintainer if you think of some.
|
7
runtime/ftplugin/scheme.vim
Normal file
7
runtime/ftplugin/scheme.vim
Normal file
@@ -0,0 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Scheme
|
||||
" Maintainer: Dorai Sitaram <ds26@gte.com>
|
||||
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Apr 2, 2003
|
||||
|
||||
run ftplugin/lisp.vim
|
39
runtime/ftplugin/sgml.vim
Normal file
39
runtime/ftplugin/sgml.vim
Normal file
@@ -0,0 +1,39 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: sgml
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 30
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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 xml-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="SGML Files (*.sgml,*.sgm)\t*.sgm*\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
38
runtime/ftplugin/sh.vim
Normal file
38
runtime/ftplugin/sh.vim
Normal file
@@ -0,0 +1,38 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: sh
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=#%s
|
||||
|
||||
" Shell: thanks to Johannes Zellner
|
||||
if exists("loaded_matchit")
|
||||
let s:sol = '\%(;\s*\|^\s*\)\@<=' " start of line
|
||||
let b:match_words =
|
||||
\ s:sol.'if\>:' . s:sol.'elif\>:' . s:sol.'else\>:' . s:sol. 'fi\>,' .
|
||||
\ s:sol.'\%(for\|while\)\>:' . s:sol. 'done\>,' .
|
||||
\ s:sol.'case\>:' . s:sol. 'esac\>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show shell-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="Bourne Shell Scripts (*.sh)\t*.sh\n" .
|
||||
\ "Korn Shell Scripts (*.ksh)\t*.ksh\n" .
|
||||
\ "Bash Shell Scripts (*.bash)\t*.bash\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms< | unlet! b:browsefilter b:match_words"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
168
runtime/ftplugin/spec.vim
Normal file
168
runtime/ftplugin/spec.vim
Normal file
@@ -0,0 +1,168 @@
|
||||
" Plugin to update the %changelog section of RPM spec files
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com>
|
||||
" Last Change: Wed, 10 Apr 2002 16:28:52 -0300
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_spec_maps")
|
||||
if !hasmapto("<Plug>SpecChangelog")
|
||||
map <buffer> <LocalLeader>c <Plug>SpecChangelog
|
||||
endif
|
||||
endif
|
||||
|
||||
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
|
||||
|
||||
if !exists("*s:SpecChangelog")
|
||||
function s:SpecChangelog(format)
|
||||
if strlen(a:format) == 0
|
||||
if !exists("g:spec_chglog_format")
|
||||
let email = input("Email address: ")
|
||||
let g:spec_chglog_format = "%a %b %d %Y " . l:email
|
||||
echo "\r"
|
||||
endif
|
||||
let format = g:spec_chglog_format
|
||||
else
|
||||
if !exists("g:spec_chglog_format")
|
||||
let g:spec_chglog_format = a:format
|
||||
endif
|
||||
let format = a:format
|
||||
endif
|
||||
let line = 0
|
||||
let name = ""
|
||||
let ver = ""
|
||||
let rel = ""
|
||||
let nameline = -1
|
||||
let verline = -1
|
||||
let relline = -1
|
||||
let chgline = -1
|
||||
while (line <= line("$"))
|
||||
let linestr = getline(line)
|
||||
if (name == "" && linestr =~? '^Name:')
|
||||
let nameline = line
|
||||
let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif (ver == "" && linestr =~? '^Version:')
|
||||
let verline = line
|
||||
let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif (rel == "" && linestr =~? '^Release:')
|
||||
let relline = line
|
||||
let rel = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif (linestr =~? '^%changelog')
|
||||
let chgline = line
|
||||
execute line
|
||||
break
|
||||
endif
|
||||
let line = line+1
|
||||
endwhile
|
||||
if (nameline != -1 && verline != -1 && relline != -1)
|
||||
let include_release_info = exists("g:spec_chglog_release_info")
|
||||
let name = s:ParseRpmVars(name, nameline)
|
||||
let ver = s:ParseRpmVars(ver, verline)
|
||||
let rel = s:ParseRpmVars(rel, relline)
|
||||
else
|
||||
let include_release_info = 0
|
||||
endif
|
||||
if (chgline == -1)
|
||||
let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3)
|
||||
if (option == 1)
|
||||
call append(line("$"),"")
|
||||
call append(line("$"),"%changelog")
|
||||
execute line("$")
|
||||
let chgline = line(".")
|
||||
elseif (option == 2)
|
||||
call append(line("."),"%changelog")
|
||||
normal j
|
||||
chgline = line(".")
|
||||
endif
|
||||
endif
|
||||
if (chgline != -1)
|
||||
let parsed_format = "* ".strftime(format)
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
let wrong_format = 0
|
||||
let wrong_release = 0
|
||||
let insert_line = 0
|
||||
if (getline(chgline+1) != parsed_format)
|
||||
let wrong_format = 1
|
||||
endif
|
||||
if (include_release_info && getline(chgline+2) != release_info)
|
||||
let wrong_release = 1
|
||||
endif
|
||||
if (wrong_format || wrong_release)
|
||||
if (include_release_info && !wrong_release && !exists("g:spec_chglog_never_increase_release"))
|
||||
let option = confirm("Increase release? ","&Yes\n&No",1)
|
||||
if (option == 1)
|
||||
execute relline
|
||||
normal
|
||||
let rel = substitute(strpart(getline(relline),8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
endif
|
||||
endif
|
||||
let n = 0
|
||||
call append(chgline+n, parsed_format)
|
||||
if include_release_info
|
||||
let n = n + 1
|
||||
call append(chgline+n, release_info)
|
||||
endif
|
||||
let n = n + 1
|
||||
call append(chgline+n,"- ")
|
||||
let n = n + 1
|
||||
call append(chgline+n,"")
|
||||
let insert_line = chgline+n
|
||||
else
|
||||
let line = chgline
|
||||
if !exists("g:spec_chglog_prepend")
|
||||
while !(getline(line+2) =~ '^\( *\|\*.*\)$')
|
||||
let line = line+1
|
||||
endwhile
|
||||
endif
|
||||
call append(line+1,"- ")
|
||||
let insert_line = line+2
|
||||
endif
|
||||
execute insert_line
|
||||
startinsert!
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
|
||||
if !exists("*s:ParseRpmVars")
|
||||
function s:ParseRpmVars(str, strline)
|
||||
let end = -1
|
||||
let ret = ""
|
||||
while (1)
|
||||
let start = match(a:str, "\%{", end+1)
|
||||
if (start == -1)
|
||||
let ret = ret . strpart(a:str, end+1)
|
||||
break
|
||||
endif
|
||||
let ret = ret . strpart(a:str, end+1, start-(end+1))
|
||||
let end = match(a:str, "}", start)
|
||||
if (end == -1)
|
||||
let ret = ret . strpart(a:str, start)
|
||||
break
|
||||
endif
|
||||
let varname = strpart(a:str, start+2, end-(start+2))
|
||||
execute a:strline
|
||||
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
|
||||
let linenum = search(definestr, "bW")
|
||||
if (linenum != -1)
|
||||
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
|
||||
else
|
||||
let ret = ret . strpart(str, start, end+1-start)
|
||||
endif
|
||||
endwhile
|
||||
return ret
|
||||
endfunction
|
||||
endif
|
||||
|
||||
" The following lines, along with the macros/matchit.vim plugin,
|
||||
" make it easy to navigate the different sections of a spec file
|
||||
" with the % key (thanks to Max Ischenko).
|
||||
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '^Name:^%description:^%clean:^%setup:^%build:^%install:^%files:' .
|
||||
\ '^%package:^%preun:^%postun:^%changelog'
|
||||
|
35
runtime/ftplugin/sql.vim
Normal file
35
runtime/ftplugin/sql.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
||||
" Version: 0.02
|
||||
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||
" Last Change: Tue May 27 2003 09:33:31
|
||||
|
||||
" This file should only contain values that are common to all SQL languages
|
||||
" Oracle, Microsoft SQL Server, Sybase ASA/ASE, MySQL, and so on
|
||||
" If additional features are required create:
|
||||
" vimfiles/after/ftplugin/sql.vim
|
||||
" to override and add any of your own settings
|
||||
|
||||
" 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
|
||||
|
||||
" Define patterns for the matchit macro
|
||||
if !exists("b:match_words")
|
||||
" SQL is generally case insensitive
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ '\<begin\>:\<end\>\(;\)\?$,'.
|
||||
\ '\<if\>:\<elsif\>:\<elseif\>:\<else\>:'.
|
||||
\ '\%(\<end\s\+\)\@<!' . '\<if\>:\<end\s\+if\>,'.
|
||||
\ '\<loop\>:\<break\>:\<continue\>:'.
|
||||
\ '\%(\<end\s\+\)\@<!' . '\<loop\>:\<end\s\+loop\>,'.
|
||||
\ '\<for\>:\<break\>:\<continue\>:'.
|
||||
\ '\%(\<end\s\+\)\@<!' . '\<for\>:\<end\s\+for\>,'.
|
||||
\ '\<case\>:\<when\>:\<default\>:'.
|
||||
\ '\%(\<end\s\+\)\@<!' . '\<case\>:\<end\s\+case\>'
|
||||
endif
|
39
runtime/ftplugin/svg.vim
Normal file
39
runtime/ftplugin/svg.vim
Normal file
@@ -0,0 +1,39 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: svg
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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 xml-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="SVG Files (*.svg)\t*.svg\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
39
runtime/ftplugin/tcsh.vim
Normal file
39
runtime/ftplugin/tcsh.vim
Normal file
@@ -0,0 +1,39 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: tcsh
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "csh Files (*.csh)\t*.csh\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
runtime! ftplugin/csh.vim ftplugin/csh_*.vim ftplugin/csh/*.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 tcsh-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="tcsh Scripts (*.tcsh)\t*.tcsh\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
112
runtime/ftplugin/tex.vim
Normal file
112
runtime/ftplugin/tex.vim
Normal file
@@ -0,0 +1,112 @@
|
||||
" LaTeX filetype plugin
|
||||
" Language: LaTeX (ft=tex)
|
||||
" Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org>
|
||||
" Version: 1.2
|
||||
" Last Change: Tue 11 May 2004 04:49:20 PM EDT
|
||||
" URL: http://www.vim.org/script.php?script_id=411
|
||||
|
||||
" 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:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" This may be used to set b:tex_flavor. A more complete version can be found
|
||||
" in foo.vim (see http://www.vim.org/script.php?script_id=72).
|
||||
if !exists("*s:GetModelines")
|
||||
fun! s:GetModelines(pat, ...)
|
||||
" Long but simple: set start line and finish line.
|
||||
let EOF = line("$")
|
||||
if a:0 > 1
|
||||
let start = a:1 | let finish = a:2
|
||||
elseif a:0 == 1
|
||||
if a:1 > 0
|
||||
let finish = a:1
|
||||
else
|
||||
let start = EOF + a:1 + 1
|
||||
endif
|
||||
endif
|
||||
if !exists("start") || start < 1
|
||||
let start = 1
|
||||
endif
|
||||
if !exists("finish") || finish > EOF
|
||||
let finish = EOF
|
||||
endif
|
||||
let n = 0
|
||||
silent! execute start .",". finish
|
||||
\ 'g/' . escape(a:pat, "/") . "/let n=line('.')"
|
||||
if n
|
||||
execute "normal!\<C-O>"
|
||||
endif
|
||||
return n . ":"
|
||||
endfun
|
||||
endif " !exists("*GetModelines")
|
||||
|
||||
" Define the buffer-local variable b:tex_flavor to "tex" (for plain) or
|
||||
" "latex".
|
||||
" 1. Check the first line of the file for "%&<format>".
|
||||
" 2. Check the first 1000 lines for "\begin{document}".
|
||||
" 3. Check for a global variable g:tex_flavor, can be set in user's vimrc.
|
||||
" 4. Default to "latex".
|
||||
" 5. Strip "pdf" and change "plain" to "tex".
|
||||
if getline(1) =~ '^%&\s*\k\+'
|
||||
let b:tex_flavor = matchstr(getline(1), '%&\s*\zs\k\+')
|
||||
elseif s:GetModelines('\\begin\s*{\s*document\s*}', 1000) != "0:"
|
||||
let b:tex_flavor = "latex"
|
||||
elseif exists("g:tex_flavor")
|
||||
let b:tex_flavor = g:tex_flavor
|
||||
else
|
||||
let b:tex_flavor = "latex"
|
||||
endif
|
||||
let b:tex_flavor = substitute(b:tex_flavor, 'pdf', '', '')
|
||||
if b:tex_flavor == "plain"
|
||||
let b:tex_flavor = "tex"
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
|
||||
|
||||
" Set 'commentstring' to recognize the % comment character:
|
||||
" (Thanks to Ajit Thakkar.)
|
||||
setlocal cms=%%s
|
||||
|
||||
" Allow "[d" to be used to find a macro definition:
|
||||
" Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand .
|
||||
" I may as well add the AMS-LaTeX DeclareMathOperator as well.
|
||||
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\)'
|
||||
\ . '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font'
|
||||
\ . '\|if\|length\|savebox\|theorem\(style\)\=\)\s*\*\=\s*{\='
|
||||
\ . '\|DeclareMathOperator\s*{\=\s*'
|
||||
|
||||
" Tell Vim how to recognize LaTeX \include{foo} and plain \input bar :
|
||||
setlocal include=\\\\input\\\\|\\\\include{
|
||||
setlocal suffixesadd=.tex
|
||||
" On some file systems, "{" and "}" are inluded in 'isfname'. In case the
|
||||
" TeX file has \include{fname} (LaTeX only), strip everything except "fname".
|
||||
let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"
|
||||
" fun! TexIncludeExpr()
|
||||
" let fname = substitute(v:fname, '}.*', '', '')
|
||||
" return fname
|
||||
" endfun
|
||||
|
||||
" The following lines enable the macros/matchit.vim plugin for
|
||||
" extended matching with the % key.
|
||||
" TODO: Customize this based on b:tex_flavor .
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
\ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
|
||||
\ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
|
||||
\ '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
|
||||
endif " exists("loaded_matchit")
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
" vim:sts=2:sw=2:
|
47
runtime/ftplugin/vb.vim
Normal file
47
runtime/ftplugin/vb.vim
Normal file
@@ -0,0 +1,47 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: VisualBasic (ft=vb)
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Thu, 22 Nov 2001 12:56:14 W. Europe Standard Time
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal nocindent
|
||||
setlocal autoindent
|
||||
setlocal com=sr:'\ -,mb:'\ \ ,el:'\ \ ,:'
|
||||
|
||||
" we need this wrapper, as call doesn't allow a count
|
||||
fun! <SID>VbSearch(pattern, flags)
|
||||
let cnt = v:count1
|
||||
while cnt > 0
|
||||
call search(a:pattern, a:flags)
|
||||
let cnt = cnt - 1
|
||||
endwhile
|
||||
endfun
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" NOTE the double escaping \\|
|
||||
nnoremap <buffer> <silent> [[ :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'bW')<cr>
|
||||
nnoremap <buffer> <silent> ]] :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'W')<cr>
|
||||
nnoremap <buffer> <silent> [] :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'bW')<cr>
|
||||
nnoremap <buffer> <silent> ][ :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'W')<cr>
|
||||
|
||||
" matchit support
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase=1
|
||||
let b:match_words=
|
||||
\ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*$:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' .
|
||||
\ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' .
|
||||
\ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' .
|
||||
\ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' .
|
||||
\ '\%(^\s*\)\@<=\<select\>\s\+\<case\>:\%(^\s*\)\@<=\<case\>:\%(^\s*\)\@<=\<end\>\s\+\<select\>,' .
|
||||
\ '\%(^\s*\)\@<=\<enum\>:\%(^\s*\)\@<=\<end\>\s\<enum\>,' .
|
||||
\ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' .
|
||||
\ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' .
|
||||
\ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
45
runtime/ftplugin/verilog.vim
Normal file
45
runtime/ftplugin/verilog.vim
Normal file
@@ -0,0 +1,45 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Verilog HDL
|
||||
" Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
|
||||
" Last Change: Wed Oct 31 16:16:19 CST 2001
|
||||
" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
|
||||
|
||||
" 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 <CR> or using "o".
|
||||
setlocal fo-=t fo+=croqlm1
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
" Format comments to be up to 78 characters long
|
||||
setlocal tw=75
|
||||
|
||||
set cpo-=C
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Let the matchit plugin know what items can be matched.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase=0
|
||||
let b:match_words=
|
||||
\ '\<begin\>:\<end\>,' .
|
||||
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
||||
\ '\<module\>:\<endmodule\>,' .
|
||||
\ '\<if\>:\<else\>,' .
|
||||
\ '\<function\>:\<endfunction\>,' .
|
||||
\ '`ifdef\>:`else\>:`endif\>,' .
|
||||
\ '\<task\>:\<endtask\>,' .
|
||||
\ '\<specify\>:\<endspecify\>'
|
||||
endif
|
61
runtime/ftplugin/vim.vim
Normal file
61
runtime/ftplugin/vim.vim
Normal file
@@ -0,0 +1,61 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2004 Feb 20
|
||||
|
||||
" 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 cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< commentstring<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
|
||||
" Format comments to be up to 78 characters long
|
||||
if &tw == 0
|
||||
setlocal tw=78
|
||||
endif
|
||||
|
||||
" Comments start with a double quote
|
||||
setlocal commentstring=\"%s
|
||||
|
||||
" Move around functions.
|
||||
noremap <silent><buffer> [[ :call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
noremap <silent><buffer> ]] :call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
noremap <silent><buffer> [] :call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
noremap <silent><buffer> ][ :call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
|
||||
" Move around comments
|
||||
noremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
noremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
|
||||
" Let the matchit plugin know what items can be matched.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' .
|
||||
\ '\<wh\%[ile]\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endw\%[hile]\>,' .
|
||||
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
|
||||
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
|
||||
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .
|
||||
\ '(:)'
|
||||
" Ignore ":syntax region" commands, the 'end' argument clobbers if-endif
|
||||
let b:match_skip = 'getline(".") =~ "^\\s*sy\\%[ntax]\\s\\+region" ||
|
||||
\ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
|
||||
endif
|
||||
|
||||
let &cpo = cpo_save
|
||||
setlocal cpo+=M " makes \%( match \)
|
66
runtime/ftplugin/xhtml.vim
Normal file
66
runtime/ftplugin/xhtml.vim
Normal file
@@ -0,0 +1,66 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xhtml
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2004 May 11
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "HTML Files (*.html, *.htm)\t*.htm*\n" .
|
||||
\ "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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/html.vim ftplugin/html_*.vim ftplugin/html/*.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 tcsh-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter=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
|
47
runtime/ftplugin/xml.vim
Normal file
47
runtime/ftplugin/xml.vim
Normal file
@@ -0,0 +1,47 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xml
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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=<!--%s-->
|
||||
|
||||
" XML: thanks to Johannes Zellner and Akbar Ibrahim
|
||||
" - case sensitive
|
||||
" - don't match empty tags <fred/>
|
||||
" - match <!--, --> style comments (but not --, --)
|
||||
" - match <!, > inlined dtd's. This is not perfect, as it
|
||||
" gets confused for example by
|
||||
" <!ENTITY gt ">">
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase=0
|
||||
let b:match_words =
|
||||
\ '<:>,' .
|
||||
\ '<\@<=!\[CDATA\[:]]>,'.
|
||||
\ '<\@<=!--:-->,'.
|
||||
\ '<\@<=?\k\+:?>,'.
|
||||
\ '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,'.
|
||||
\ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show xml-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="XML Files (*.xml)\t*.xml\n" .
|
||||
\ "DTD Files (*.dtd)\t*.dtd\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms<" .
|
||||
\ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
12
runtime/ftplugin/xs.vim
Normal file
12
runtime/ftplugin/xs.vim
Normal file
@@ -0,0 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2001 Sep 18
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Just use the C plugin for now.
|
||||
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
|
38
runtime/ftplugin/xsd.vim
Normal file
38
runtime/ftplugin/xsd.vim
Normal file
@@ -0,0 +1,38 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xsd
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2003 Sep 29
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/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 = "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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 xsd-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="XSD Files (*.xsd)\t*.xsd\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
16
runtime/ftplugin/xslt.vim
Normal file
16
runtime/ftplugin/xslt.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xslt
|
||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||
" Last Changed: 2002 Nov 26
|
||||
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Change the :browse e filter to primarily show xsd-related files.
|
||||
if has("gui_win32") && exists("b:browsefilter")
|
||||
let b:browsefilter="XSLT Files (*.xsl,*.xslt)\t*.xsl,*.xslt\n" . b:browsefilter
|
||||
endif
|
Reference in New Issue
Block a user