0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

Update runtime files.

This commit is contained in:
Bram Moolenaar
2010-01-06 20:54:52 +01:00
parent 8f3f58f2c3
commit 5c73622a90
227 changed files with 11423 additions and 4067 deletions

View File

@@ -1,15 +1,15 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Perform Ada specific completion & tagging. " Description: Perform Ada specific completion & tagging.
" Language: Ada (2005) " Language: Ada (2005)
" $Id$ " $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" Taylor Venable <taylor@metasyntax.net> " Taylor Venable <taylor@metasyntax.net>
" Neil Bird <neil@fnxweb.com> " Neil Bird <neil@fnxweb.com>
" Ned Okie <nokie@radford.edu> " Ned Okie <nokie@radford.edu>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword. " 26.05.2006 MK ' should not be in iskeyword.

View File

@@ -1,12 +1,12 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada omnicompletion file " Description: Vim Ada omnicompletion file
" Language: Ada (2005) " Language: Ada (2005)
" $Id$ " $Id: adacomplete.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik " Maintainer: Martin Krischik
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK improved search for begin of word. " 26.05.2006 MK improved search for begin of word.

View File

@@ -1,13 +1,13 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file " Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada) " Language: Ada (Dec Ada)
" $Id$ " $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik " Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
" History: 21.07.2006 MK New Dec Ada " History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration " 15.10.2006 MK Bram's suggestion for runtime integration

View File

@@ -1,8 +1,8 @@
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" getscript.vim " getscript.vim
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Date: Jul 10, 2008 " Date: Dec 28, 2009
" Version: 31 " Version: 32
" Installing: :help glvs-install " Installing: :help glvs-install
" Usage: :help glvs " Usage: :help glvs
" "
@@ -12,19 +12,24 @@
" Initialization: {{{1 " Initialization: {{{1
" if you're sourcing this file, surely you can't be " if you're sourcing this file, surely you can't be
" expecting vim to be in its vi-compatible mode! " expecting vim to be in its vi-compatible mode!
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v32"
if &cp if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)" echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish finish
endif endif
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of getscript needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
"DechoTabOn "DechoTabOn
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v31"
" --------------------------- " ---------------------------
" Global Variables: {{{1 " Global Variables: {{{1
" --------------------------- " ---------------------------
@@ -40,25 +45,6 @@ if !exists("g:getscript_cygwin")
let g:getscript_cygwin= 0 let g:getscript_cygwin= 0
endif endif
endif endif
" shell quoting character {{{2
if exists("g:netrw_shq") && !exists("g:getscript_shq")
let g:getscript_shq= g:netrw_shq
elseif !exists("g:getscript_shq")
if exists("&shq") && &shq != ""
let g:getscript_shq= &shq
elseif exists("&sxq") && &sxq != ""
let g:getscript_shq= &sxq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if g:getscript_cygwin
let g:getscript_shq= "'"
else
let g:getscript_shq= '"'
endif
else
let g:getscript_shq= "'"
endif
" call Decho("g:getscript_shq<".g:getscript_shq.">")
endif
" wget vs curl {{{2 " wget vs curl {{{2
if !exists("g:GetLatestVimScripts_wget") if !exists("g:GetLatestVimScripts_wget")
@@ -112,7 +98,9 @@ if g:GetLatestVimScripts_allowautoinstall
endif endif
endif endif
if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim) if exists("g:GetLatestVimScripts_autoinstalldir") && isdirectory(g:GetLatestVimScripts_autoinstalldir)
let s:autoinstall= g:GetLatestVimScripts_autoinstalldir"
elseif exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
let s:autoinstall= $HOME."/".s:dotvim let s:autoinstall= $HOME."/".s:dotvim
endif endif
" call Decho("s:autoinstall<".s:autoinstall.">") " call Decho("s:autoinstall<".s:autoinstall.">")
@@ -165,7 +153,6 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory") " call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory")
return return
endif endif
if filewritable(datadir) != 2 if filewritable(datadir) != 2
echoerr "(getLatestVimScripts) Your ".datadir." isn't writable" echoerr "(getLatestVimScripts) Your ".datadir." isn't writable"
" call Dret("GetLatestVimScripts : non-writable directory<".datadir.">") " call Dret("GetLatestVimScripts : non-writable directory<".datadir.">")
@@ -182,21 +169,29 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">") " call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">")
return return
endif endif
" --------------------
" Passed sanity checks
" --------------------
" call Decho("datadir <".datadir.">") " call Decho("datadir <".datadir.">")
" call Decho("datafile <".datafile.">") " call Decho("datafile <".datafile.">")
" don't let any events interfere (like winmanager's, taglist's, etc) " don't let any event handlers interfere (like winmanager's, taglist's, etc)
let eikeep= &ei let eikeep = &ei
let hlskeep= &hls let hlskeep = &hls
set ei=all hls&vim let acdkeep = &acd
set ei=all hls&vim noacd
" record current directory, change to datadir, open split window with " Edit the datafile (ie. GetLatestVimScripts.dat):
" datafile " 1. record current directory (origdir),
" 2. change directory to datadir,
" 3. split window
" 4. edit datafile
let origdir= getcwd() let origdir= getcwd()
" call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge'))) " call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge')))
exe "cd ".fnameescape(substitute(datadir,'\','/','ge')) exe "cd ".fnameescape(substitute(datadir,'\','/','ge'))
split split
" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge'))) " call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge')))
exe "e ".fnameescape(substitute(datafile,'\','/','ge')) exe "e ".fnameescape(substitute(datafile,'\','/','ge'))
res 1000 res 1000
let s:downloads = 0 let s:downloads = 0
@@ -207,69 +202,68 @@ fun! getscript#GetLatestVimScripts()
" call Decho("searching plugins for GetLatestVimScripts dependencies") " call Decho("searching plugins for GetLatestVimScripts dependencies")
let lastline = line("$") let lastline = line("$")
" call Decho("lastline#".lastline) " call Decho("lastline#".lastline)
let plugins = split(globpath(&rtp,"plugin/*.vim"),'\n') let firstdir = substitute(&rtp,',.*$','','')
let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n')
let foundscript = 0 let foundscript = 0
let firstdir= ""
" this loop updates the GetLatestVimScripts.dat file
" with dependencies explicitly mentioned in the plugins
" via GetLatestVimScripts: ... lines
" It reads the plugin script at the end of the GetLatestVimScripts.dat
" file, examines it, and then removes it.
for plugin in plugins for plugin in plugins
" call Decho(" ")
" call Decho("plugin<".plugin.">") " call Decho("plugin<".plugin.">")
" don't process plugins in system directories
if firstdir == ""
let firstdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("setting firstdir<".firstdir.">")
else
let curdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("curdir<".curdir.">")
if curdir != firstdir
" call Decho("skipping subsequent plugins: curdir<".curdir."> != firstdir<".firstdir.">")
break
endif
endif
" read plugin in " read plugin in
" evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it " evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it
$ $
" call Decho(" ")
" call Decho(".dependency checking<".plugin."> line$=".line("$")) " call Decho(".dependency checking<".plugin."> line$=".line("$"))
" call Decho("exe silent r ".fnameescape(plugin)) " call Decho("..exe silent r ".fnameescape(plugin))
exe "silent r ".fnameescape(plugin) exe "silent r ".fnameescape(plugin)
exe "silent bwipe ".bufnr("#") exe "silent bwipe ".bufnr("#")
while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0 while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0
let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e') let depscript = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
let llp1 = lastline+1 let depscriptid = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\(\d\+\)\s\+.*$','\1','')
" call Decho("..newscript<".newscript.">") let llp1 = lastline+1
" call Decho("..depscript<".depscript.">")
" don't process ""GetLatestVimScripts lines -- those that have been doubly-commented out " found a "GetLatestVimScripts: # #" line in the script;
if newscript !~ '^"' " check if its already in the datafile by searching backwards from llp1,
" found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile " the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
let curline = line(".") " for the script-id with no wrapping allowed.
let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e') let curline = line(".")
exe llp1 let noai_script = substitute(depscript,'\s*:AutoInstall:\s*','','e')
let srchline = search('\<'.noai_script.'\>','bW') exe llp1
" call Decho("..noai_script<".noai_script."> srch=".srchline."curline#".line(".")." lastline#".lastline) let srchline = search('^\s*'.depscriptid.'\s\+\d\+\s\+.*$','bW')
if srchline == 0
if srchline == 0 " this second search is taken when, for example, a 0 0 scriptname is to be skipped over
" found a new script to permanently include in the datafile let srchline= search('\<'.noai_script.'\>','bW')
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
exe lastline."put a"
echomsg "Appending <".@a."> to ".datafile." for ".newscript
" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat")
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
endif endif
" call Decho("..noai_script<".noai_script."> depscriptid#".depscriptid." srchline#".srchline." curline#".line(".")." lastline#".lastline)
if srchline == 0
" found a new script to permanently include in the datafile
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
echomsg "Appending <".@a."> to ".datafile." for ".depscript
" call Decho("..Appending <".@a."> to ".datafile." for ".depscript)
exe lastline."put a"
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
endwhile endwhile
" llp1: last line plus one
let llp1= lastline + 1 let llp1= lastline + 1
" call Decho(".deleting lines: ".llp1.",$d") " call Decho(".deleting lines: ".llp1.",$d")
exe "silent! ".llp1.",$d" exe "silent! ".llp1.",$d"
@@ -282,7 +276,9 @@ fun! getscript#GetLatestVimScripts()
setlocal nomod setlocal nomod
endif endif
" --------------------------------------------------------------------
" Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat " Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat
" --------------------------------------------------------------------
" call Decho("begin: checking out-of-date scripts using datafile<".datafile.">") " call Decho("begin: checking out-of-date scripts using datafile<".datafile.">")
setlocal lz setlocal lz
1 1
@@ -322,8 +318,9 @@ fun! getscript#GetLatestVimScripts()
" restore events and current directory " restore events and current directory
exe "cd ".fnameescape(substitute(origdir,'\','/','ge')) exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
let &ei= eikeep let &ei = eikeep
let &hls= hlskeep let &hls = hlskeep
let &acd = acdkeep
setlocal nolz setlocal nolz
" call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!") " call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!")
" call Dret("GetLatestVimScripts : did ".s:downloads." downloads") " call Dret("GetLatestVimScripts : did ".s:downloads." downloads")
@@ -333,7 +330,7 @@ endfun
" GetOneScript: (Get Latest Vim Script) this function operates {{{1 " GetOneScript: (Get Latest Vim Script) this function operates {{{1
" on the current line, interpreting two numbers and text as " on the current line, interpreting two numbers and text as
" ScriptID, SourceID, and Filename. " ScriptID, SourceID, and Filename.
" It downloads any scripts that have newer versions from vim.sf.net. " It downloads any scripts that have newer versions from vim.sourceforge.net.
fun! s:GetOneScript(...) fun! s:GetOneScript(...)
" call Dfunc("GetOneScript()") " call Dfunc("GetOneScript()")
@@ -391,6 +388,7 @@ fun! s:GetOneScript(...)
" call Decho("fname <".fname.">") " call Decho("fname <".fname.">")
endif endif
" plugin author protection from downloading his/her own scripts atop their latest work
if scriptid == 0 || srcid == 0 if scriptid == 0 || srcid == 0
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname " When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
let @a= rega let @a= rega
@@ -416,21 +414,21 @@ fun! s:GetOneScript(...)
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid) " call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
" grab a copy of the plugin's vim.sf.net webpage " grab a copy of the plugin's vim.sourceforge.net webpage
let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
let tmpfile = tempname() let tmpfile = tempname()
let v:errmsg = "" let v:errmsg = ""
" make up to three tries at downloading the description " make up to three tries at downloading the description
let itry= 1 let itry= 1
while itry <= 3 while itry <= 3
" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr) " call Decho(".try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
if has("win32") || has("win16") || has("win95") if has("win32") || has("win16") || has("win95")
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)."|bw!") " call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)."|bw!")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)|bw! new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)|bw!
else else
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr)) " call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr) exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr)
endif endif
if itry == 1 if itry == 1
exe "silent vsplit ".fnameescape(tmpfile) exe "silent vsplit ".fnameescape(tmpfile)
@@ -495,8 +493,7 @@ fun! s:GetOneScript(...)
let latestsrcid = latestsrcid + 0 let latestsrcid = latestsrcid + 0
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">") " call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">")
" has the plugin's most-recent srcid increased, which indicates " has the plugin's most-recent srcid increased, which indicates that it has been updated
" that it has been updated
if latestsrcid > srcid if latestsrcid > srcid
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">") " call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">")
@@ -506,65 +503,103 @@ fun! s:GetOneScript(...)
let sname= "NEW_".sname let sname= "NEW_".sname
endif endif
" -----------------------------------------------------------------------------
" the plugin has been updated since we last obtained it, so download a new copy " the plugin has been updated since we last obtained it, so download a new copy
" call Decho("...downloading new <".sname.">") " -----------------------------------------------------------------------------
echomsg "...downloading new <".sname.">" " call Decho(".downloading new <".sname.">")
echomsg ".downloading new <".sname.">"
if has("win32") || has("win16") || has("win95") if has("win32") || has("win16") || has("win95")
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)."|q") " call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)|q new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q
else else
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=')) " call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=').latestsrcid exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid
endif endif
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself " AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
if doautoinstall if doautoinstall
" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname)) " call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
if filereadable(sname) if filereadable(sname)
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall)) " call Decho("<".sname."> is readable")
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall) " call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #") let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
let installdir= curdir."/Installed" let installdir= curdir."/Installed"
if !isdirectory(installdir) if !isdirectory(installdir)
call mkdir(installdir) call mkdir(installdir)
endif endif
" call Decho("exe cd ".fnameescape(s:autoinstall)) " call Decho("curdir<".curdir."> installdir<".installdir.">")
" call Decho("exe cd ".fnameescape(s:autoinstall))
exe "cd ".fnameescape(s:autoinstall) exe "cd ".fnameescape(s:autoinstall)
" determine target directory for moves
let firstdir= substitute(&rtp,',.*$','','')
let pname = substitute(sname,'\..*','.vim','')
" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?")
if filereadable(firstdir.'/AsNeeded/'.pname)
let tgtdir= "AsNeeded"
else
let tgtdir= "plugin"
endif
" call Decho("tgtdir<".tgtdir."> pname<".pname.">")
" decompress " decompress
if sname =~ '\.bz2$' if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname) " call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".s:Escape(sname) exe "silent !bunzip2 ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','') let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2") " call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$' elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname) " call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".s:Escape(sname) exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','') let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip") " call Decho("decompress: new sname<".sname."> after gunzip")
else
" call Decho("no decompression needed")
endif endif
" distribute archive(.zip, .tar, .vba) contents " distribute archive(.zip, .tar, .vba) contents
if sname =~ '\.zip$' if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname) " call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".s:Escape(sname) exe "silent !unzip -o ".shellescape(sname)
elseif sname =~ '\.tar$' elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname) " call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".s:Escape(sname) exe "silent !tar -xvf ".shellescape(sname)
elseif sname =~ '\.vba$' elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname) " call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split silent 1split
if exists("g:vimball_home")
let oldvimballhome= g:vimball_home
endif
let g:vimball_home= s:autoinstall
exe "silent e ".fnameescape(sname) exe "silent e ".fnameescape(sname)
silent so % silent so %
silent q silent q
if exists("oldvimballhome")
let g:vimball_home= oldvimballhome
else
unlet g:vimball_home
endif
else
" call Decho("no dearchiving needed")
endif endif
" ---------------------------------------------
" move plugin to plugin/ or AsNeeded/ directory
" ---------------------------------------------
if sname =~ '.vim$' if sname =~ '.vim$'
" call Decho("dearchive: attempt to simply move ".sname." to plugin") " call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." plugin" exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir
else else
" call Decho("dearchive: move <".sname."> to installdir<".installdir.">") " call Decho("dearchive: move <".sname."> to installdir<".installdir.">")
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".installdir exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
endif
if tgtdir != "plugin"
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
endif endif
" helptags step " helptags step
@@ -599,20 +634,6 @@ fun! s:GetOneScript(...)
" call Dret("GetOneScript") " call Dret("GetOneScript")
endfun endfun
" ---------------------------------------------------------------------
" s:Escape: makes a string safe&suitable for the shell {{{2
fun! s:Escape(name)
" call Dfunc("s:Escape(name<".a:name.">)")
if exists("*shellescape")
" shellescape() was added by patch 7.0.111
let name= shellescape(a:name)
else
let name= g:getscript_shq . a:name . g:getscript_shq
endif
" call Dret("s:Escape ".name)
return name
endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Restore Options: {{{1 " Restore Options: {{{1
let &cpo= s:keepcpo let &cpo= s:keepcpo

View File

@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file " Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT) " Language: Ada (GNAT)
" $Id$ " $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik " Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k " Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu> " Ned Okie <nokie@radford.edu>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball " 16.07.2006 MK Ada-Mode as vim-ball

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
" netrwFileHandlers: contains various extension-based file handlers for " netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher") " netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Date: May 30, 2006 " Date: Sep 30, 2008
" Version: 9 " Version: 10
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free, " notice is copied with it. Like anything else that's free,
@@ -20,9 +20,15 @@
if exists("g:loaded_netrwFileHandlers") || &cp if exists("g:loaded_netrwFileHandlers") || &cp
finish finish
endif endif
let g:loaded_netrwFileHandlers= "v10"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo let s:keepcpo= &cpo
set cpo&vim set cpo&vim
let g:loaded_netrwFileHandlers= "v9"
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1 " netrwFileHandlers#Invoke: {{{1
@@ -73,10 +79,10 @@ fun! s:NFH_html(pagefile)
if executable("mozilla") if executable("mozilla")
" call Decho("executing !mozilla ".page) " call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq exe "!mozilla ".shellescape(page,1)
elseif executable("netscape") elseif executable("netscape")
" call Decho("executing !netscape ".page) " call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq..page.g:netrw_shq exe "!netscape ".shellescape(page,1)
else else
" call Dret("s:NFH_html 0") " call Dret("s:NFH_html 0")
return 0 return 0
@@ -96,10 +102,10 @@ fun! s:NFH_htm(pagefile)
if executable("mozilla") if executable("mozilla")
" call Decho("executing !mozilla ".page) " call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq exe "!mozilla ".shellescape(page,1)
elseif executable("netscape") elseif executable("netscape")
" call Decho("executing !netscape ".page) " call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq.page.g:netrw_shq exe "!netscape ".shellescape(page,1)
else else
" call Dret("s:NFH_htm 0") " call Dret("s:NFH_htm 0")
return 0 return 0
@@ -115,10 +121,10 @@ fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)") " call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp") if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'")) " call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else else
" call Dret("s:NFH_jpg 0") " call Dret("s:NFH_jpg 0")
return 0 return 0
@@ -134,9 +140,9 @@ fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)") " call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp") if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else else
" call Dret("s:NFH_gif 0") " call Dret("s:NFH_gif 0")
return 0 return 0
@@ -152,9 +158,9 @@ fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)") " call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp") if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else else
" call Dret("s:NFH_png 0") " call Dret("s:NFH_png 0")
return 0 return 0
@@ -170,9 +176,9 @@ fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)") " call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp") if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else else
" call Dret("s:NFH_pnm 0") " call Dret("s:NFH_pnm 0")
return 0 return 0
@@ -190,7 +196,7 @@ fun! s:NFH_bmp(bmpfile)
if executable("gimp") if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else else
" call Dret("s:NFH_bmp 0") " call Dret("s:NFH_bmp 0")
return 0 return 0
@@ -205,9 +211,9 @@ endfun
fun! s:NFH_pdf(pdf) fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)") " call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs") if executable("gs")
exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext") elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else else
" call Dret("s:NFH_pdf 0") " call Dret("s:NFH_pdf 0")
return 0 return 0
@@ -223,7 +229,7 @@ fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)") " call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter") if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw! redraw!
else else
" call Dret("s:NFH_doc 0") " call Dret("s:NFH_doc 0")
@@ -240,7 +246,7 @@ fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)") " call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter") if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw! redraw!
else else
" call Dret("s:NFH_sxw 0") " call Dret("s:NFH_sxw 0")
@@ -257,7 +263,7 @@ fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)") " call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc") if executable("oocalc")
exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw! redraw!
else else
" call Dret("s:NFH_xls 0") " call Dret("s:NFH_xls 0")
@@ -274,15 +280,15 @@ fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)") " call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs") if executable("gs")
" call Decho("exe silent! !gs ".a:ps) " call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq exe "silent! !gs ".shellescape(a:ps,1)
redraw! redraw!
elseif executable("ghostscript") elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps) " call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw! redraw!
elseif executable("gswin32") elseif executable("gswin32")
" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq) " call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw! redraw!
else else
" call Dret("s:NFH_ps 0") " call Dret("s:NFH_ps 0")
@@ -298,16 +304,16 @@ endfun
fun! s:NFH_eps(eps) fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()") " call Dfunc("s:NFH_eps()")
if executable("gs") if executable("gs")
exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq exe "silent! !gs ".shellescape(a:eps,1)
redraw! redraw!
elseif executable("ghostscript") elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw! redraw!
elseif executable("ghostscript") elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw! redraw!
elseif executable("gswin32") elseif executable("gswin32")
exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw! redraw!
else else
" call Dret("s:NFH_eps 0") " call Dret("s:NFH_eps 0")

View File

@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler " netrwSettings.vim: makes netrw settings simpler
" Date: Jul 02, 2008 " Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 12 " Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
@@ -19,7 +19,13 @@
if exists("g:loaded_netrwSettings") || &cp if exists("g:loaded_netrwSettings") || &cp
finish finish
endif endif
let g:loaded_netrwSettings = "v12" let g:loaded_netrwSettings = "v13"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
echohl Normal
finish
endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" NetrwSettings: {{{1 " NetrwSettings: {{{1
@@ -100,6 +106,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_browsex_viewer = (not defined)' put = 'let g:netrw_browsex_viewer = (not defined)'
endif endif
put = 'let g:netrw_compress = '.g:netrw_compress put = 'let g:netrw_compress = '.g:netrw_compress
put = 'let g:netrw_cursorline = '.g:netrw_cursorline
let decompressline= line("$") let decompressline= line("$")
put ='let g:netrw_decompress...' put ='let g:netrw_decompress...'
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
@@ -138,6 +145,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_scpport = '.g:netrw_scpport put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$") let tmpfileescline= line("$")

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: Ruby " Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info> " Maintainer: Mark Guzman <segfault@hasno.info>
" Info: $Id$ " Info: $Id: rubycomplete.vim,v 1.41 2008/06/30 06:50:45 segy Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,6 +1,6 @@
" Vim script to download a missing spell file " Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jun 27 " Last Change: 2008 Nov 29
if !exists('g:spellfile_URL') if !exists('g:spellfile_URL')
" Prefer using http:// when netrw should be able to use it, since " Prefer using http:// when netrw should be able to use it, since
@@ -39,19 +39,22 @@ function! spellfile#LoadFile(lang)
let s:donedict[a:lang . &enc] = 1 let s:donedict[a:lang . &enc] = 1
" Find spell directories we can write in. " Find spell directories we can write in.
let dirlist = [] let [dirlist, dirchoices] = spellfile#GetDirChoices()
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
if len(dirlist) == 0 if len(dirlist) == 0
if &verbose let dir_to_create = spellfile#WritableSpellDir()
if &verbose || dir_to_create != ''
echomsg 'spellfile#LoadFile(): There is no writable spell directory.' echomsg 'spellfile#LoadFile(): There is no writable spell directory.'
endif endif
return if dir_to_create != ''
if confirm("Shall I create " . dir_to_create, "&Yes\n&No", 2) == 1
" After creating the directory it should show up in the list.
call mkdir(dir_to_create, "p")
let [dirlist, dirchoices] = spellfile#GetDirChoices()
endif
endif
if len(dirlist) == 0
return
endif
endif endif
let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
@@ -177,3 +180,29 @@ function! spellfile#Nread(fname)
unlet g:netrw_use_errorwindow unlet g:netrw_use_errorwindow
endif endif
endfunc endfunc
" Get a list of writable spell directories and choices for confirm().
function! spellfile#GetDirChoices()
let dirlist = []
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
return [dirlist, dirchoices]
endfunc
function! spellfile#WritableSpellDir()
if has("unix")
" For Unix always use the $HOME/.vim directory
return $HOME . "/.vim/spell"
endif
for dir in split(&rtp, ',')
if filewritable(dir) == 2
return dir . "/spell"
endif
endfor
return ''
endfunction

View File

@@ -1,13 +1,19 @@
" Vim OMNI completion script for SQL " Vim OMNI completion script for SQL
" Language: SQL " Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com> " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 6.0 " Version: 7.0
" Last Change: Thu 03 Apr 2008 10:37:54 PM Eastern Daylight Time " Last Change: 2009 Jan 04
" Usage: For detailed help " Usage: For detailed help
" ":help sql.txt" " ":help sql.txt"
" or ":help ft-sql-omni" " or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt " or read $VIMRUNTIME/doc/sql.txt
" History
" Version 7.0
" Better handling of object names
" Version 6.0
" Supports object names with spaces "my table name"
"
" Set completion with CTRL-X CTRL-O to autoloaded function. " Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is " This check is in place in case this script is
" sourced directly instead of using the autoload feature. " sourced directly instead of using the autoload feature.
@@ -22,7 +28,7 @@ endif
if exists('g:loaded_sql_completion') if exists('g:loaded_sql_completion')
finish finish
endif endif
let g:loaded_sql_completion = 50 let g:loaded_sql_completion = 70
" Maintains filename of dictionary " Maintains filename of dictionary
let s:sql_file_table = "" let s:sql_file_table = ""
@@ -106,10 +112,23 @@ function! sqlcomplete#Complete(findstart, base)
let begindot = 1 let begindot = 1
endif endif
while start > 0 while start > 0
if line[start - 1] =~ '\(\w\|\s\+\)' " Additional code was required to handle objects which
" can contain spaces like "my table name".
if line[start - 1] !~ '\(\w\|\.\)'
" If the previous character is not a period or word character
break
" elseif line[start - 1] =~ '\(\w\|\s\+\)'
" let start -= 1
elseif line[start - 1] =~ '\w'
" If the previous character is word character continue back
let start -= 1 let start -= 1
elseif line[start - 1] =~ '\.' && elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure' \ compl_type =~ 'column\|table\|view\|procedure'
" If the previous character is a period and we are completing
" an object which can be specified with a period like this:
" table_name.column_name
" owner_name.table_name
" If lastword has already been set for column completion " If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup " break from the loop, since we do not also want to pickup
" a table name if it was also supplied. " a table name if it was also supplied.
@@ -184,9 +203,10 @@ function! sqlcomplete#Complete(findstart, base)
endif endif
let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '') let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '')
if s:sql_file_{compl_type} == "" " Same call below, no need to do it twice
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc) " if s:sql_file_{compl_type} == ""
endif " let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
" endif
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc) let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
if s:sql_file_{compl_type} != "" if s:sql_file_{compl_type} != ""
if filereadable(s:sql_file_{compl_type}) if filereadable(s:sql_file_{compl_type})
@@ -312,9 +332,16 @@ function! sqlcomplete#Complete(findstart, base)
endif endif
if base != '' if base != ''
" Filter the list based on the first few characters the user " Filter the list based on the first few characters the user entered.
" entered " Check if the text matches at the beginning
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"' " or
" Match to a owner.table or alias.column type match
" or
" Handle names with spaces "my table name"
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr) let compl_list = filter(deepcopy(compl_list), expr)
endif endif

View File

@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles " tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: Aug 08, 2008 " Date: Dec 28, 2009
" Version: 23 + modifications by Bram " Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license) " License: Vim License (see vim's :help license)
" "
" Contains many ideas from Michael Toren's <tar.vim> " Contains many ideas from Michael Toren's <tar.vim>
" "
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free, " notice is copied with it. Like anything else that's free,
@@ -16,19 +16,22 @@
" By using this plugin, you agree that in no event will the " By using this plugin, you agree that in no event will the
" copyright holder be liable for any damages resulting from " copyright holder be liable for any damages resulting from
" the use of this software. " the use of this software.
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Load Once: {{{1 " Load Once: {{{1
let s:keepcpo= &cpo if &cp || exists("g:loaded_tar")
set cpo&vim
if &cp || exists("g:loaded_tar") || v:version < 700
finish finish
endif endif
let g:loaded_tar= "v23b" let g:loaded_tar= "v24"
"call Decho("loading autoload/tar.vim") if v:version < 702
if v:version < 701 || (v:version == 701 && !has("patch299")) echohl WarningMsg
echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299" echo "***warning*** this version of tar needs vim 7.2"
echohl Normal
finish
endif endif
let s:keepcpo= &cpo
set cpo&vim
"call Decho("loading autoload/tar.vim")
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Default Settings: {{{1 " Default Settings: {{{1
@@ -44,7 +47,22 @@ endif
if !exists("g:tar_writeoptions") if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf" let g:tar_writeoptions= "uf"
endif endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= "copy"
endif
elseif has("unix") || has("macunix")
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= ""
endif
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
if !exists("g:netrw_cygwin") if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16") if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$' if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
@@ -56,6 +74,9 @@ if !exists("g:netrw_cygwin")
let g:netrw_cygwin= 0 let g:netrw_cygwin= 0
endif endif
endif endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
" set up shell quoting character " set up shell quoting character
if !exists("g:tar_shq") if !exists("g:tar_shq")
@@ -88,7 +109,6 @@ fun! tar#Browse(tarfile)
if !executable(g:tar_cmd) if !executable(g:tar_cmd)
redraw! redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep let &report= repkeep
" call Dret("tar#Browse") " call Dret("tar#Browse")
return return
@@ -99,7 +119,6 @@ fun! tar#Browse(tarfile)
" if its an url, don't complain, let url-handlers such as vim do its thing " if its an url, don't complain, let url-handlers such as vim do its thing
redraw! redraw!
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif endif
let &report= repkeep let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable") " call Dret("tar#Browse : file<".a:tarfile."> not readable")
@@ -130,37 +149,38 @@ fun! tar#Browse(tarfile)
let tarfile= a:tarfile let tarfile= a:tarfile
if has("win32") && executable("cygpath") if has("win32") && executable("cygpath")
" assuming cygwin " assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif endif
let curlast= line("$") let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$' if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") " call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp' elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ") " call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$' elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") " call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else else
if tarfile =~ '^\s*-' if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that. " A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '') let tarfile = substitute(tarfile, '-', './-', '')
endif endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1)) " call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1) exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif endif
if v:shell_error != 0 if v:shell_error != 0
redraw! redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">" echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">") " call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return return
endif endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)') if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw! redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d silent %d
let eikeep= &ei let eikeep= &ei
set ei=BufReadCmd,FileReadCmd set ei=BufReadCmd,FileReadCmd
@@ -189,7 +209,7 @@ fun! s:TarBrowseSelect()
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-' if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
redraw! redraw!
echohl WarningMsg | echo '***error*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"; See :help tar-options' echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"') " call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
return return
endif endif
@@ -206,7 +226,7 @@ fun! s:TarBrowseSelect()
let curfile= expand("%") let curfile= expand("%")
if has("win32") && executable("cygpath") if has("win32") && executable("cygpath")
" assuming cygwin " assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif endif
new new
@@ -231,21 +251,24 @@ fun! tar#Read(fname,mode)
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','') let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath") if has("win32") && executable("cygpath")
" assuming cygwin " assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif endif
" call Decho("tarfile<".tarfile.">") " call Decho("tarfile<".tarfile.">")
" call Decho("fname<".fname.">") " call Decho("fname<".fname.">")
if fname =~ '\.gz$' && executable("zcat") if fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
elseif fname =~ '\.gz$' && executable("zcat")
let decmp= "|zcat" let decmp= "|zcat"
let doro = 1 let doro = 1
elseif fname =~ '\.bz2$' && executable("bzcat") elseif fname =~ '\.lzma$' && executable("lzcat")
let decmp= "|bzcat" let decmp= "|lzcat"
let doro = 1 let doro = 1
else else
let decmp="" let decmp=""
let doro = 0 let doro = 0
if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$' if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.zip$\|\.Z$'
setlocal bin setlocal bin
endif endif
endif endif
@@ -255,22 +278,25 @@ fun! tar#Read(fname,mode)
else else
let tar_secure= " " let tar_secure= " "
endif endif
if tarfile =~# '\.\(gz\|tgz\)$' if tarfile =~# '\.bz2$'
" call Decho("5: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.s:Escape(fname,1)) " call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$' elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp) " call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! cat -- ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.bz2$' elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! bzip2 -d -c ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp) " call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else else
if tarfile =~ '^\s*-' if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that. " A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '') let tarfile = substitute(tarfile, '-', './-', '')
endif endif
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions." "s:Escape(tarfile,1).tar_secure..s:Escape(fname,1).decmp) " call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".s:Escape(tarfile,1).tar_secure.s:Escape(fname,1).decmp exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
endif endif
if doro if doro
@@ -298,7 +324,7 @@ fun! tar#Write(fname)
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-' if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
redraw! redraw!
echohl WarningMsg | echo '***error*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"; See :help tar-options' echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"'
" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"') " call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"')
return return
endif endif
@@ -307,7 +333,6 @@ fun! tar#Write(fname)
if !executable(g:tar_cmd) if !executable(g:tar_cmd)
redraw! redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep let &report= repkeep
" call Dret("tar#Write") " call Dret("tar#Write")
return return
@@ -315,7 +340,6 @@ fun! tar#Write(fname)
if !exists("*mkdir") if !exists("*mkdir")
redraw! redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep let &report= repkeep
" call Dret("tar#Write") " call Dret("tar#Write")
return return
@@ -336,7 +360,6 @@ fun! tar#Write(fname)
catch /^Vim\%((\a\+)\)\=:E344/ catch /^Vim\%((\a\+)\)\=:E344/
redraw! redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep let &report= repkeep
" call Dret("tar#Write") " call Dret("tar#Write")
return return
@@ -355,21 +378,26 @@ fun! tar#Write(fname)
let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives " handle compressed archives
if tarfile =~# '\.gz' if tarfile =~# '\.bz2'
call system("gzip -d -- ".s:Escape(tarfile,0)) call system("bzip2 -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.gz'
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e') let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".s:Escape(tarfile,0) let compress= "gzip -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.lzma'
call system("lzma -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.lzma','','e')
let compress= "lzma -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">") " call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz' elseif tarfile =~# '\.tgz'
call system("gzip -d -- ".s:Escape(tarfile,0)) call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e') let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".s:Escape(tarfile,0) let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1 let tgz = 1
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.bz2'
call system("bzip2 -d -- ".s:Escape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 -- ".s:Escape(tarfile,0)
" call Decho("compress<".compress.">") " call Decho("compress<".compress.">")
endif endif
" call Decho("tarfile<".tarfile.">") " call Decho("tarfile<".tarfile.">")
@@ -377,7 +405,6 @@ fun! tar#Write(fname)
if v:shell_error != 0 if v:shell_error != 0
redraw! redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else else
" call Decho("tarfile<".tarfile."> fname<".fname.">") " call Decho("tarfile<".tarfile."> fname<".fname.">")
@@ -385,7 +412,7 @@ fun! tar#Write(fname)
if fname =~ '/' if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e') let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath") if executable("cygpath")
let dirpath = substitute(system("cygpath ".s:Escape(dirpath, 0)),'\n','','e') let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
endif endif
call mkdir(dirpath,"p") call mkdir(dirpath,"p")
endif endif
@@ -405,25 +432,23 @@ fun! tar#Write(fname)
endif endif
exe "w! ".fnameescape(fname) exe "w! ".fnameescape(fname)
if executable("cygpath") if executable("cygpath")
let tarfile = substitute(system("cygpath ".s:Escape(tarfile,0)),'\n','','e') let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
endif endif
" delete old file from tarfile " delete old file from tarfile
" call Decho("system(".g:tar_cmd." --delete -f ".s:Escape(tarfile,0)." -- ".s:Escape(fname,0).")") " call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
call system(g:tar_cmd." --delete -f ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0 if v:shell_error != 0
redraw! redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else else
" update tarfile with new file " update tarfile with new file
" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) " call Decho(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
call system(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0 if v:shell_error != 0
redraw! redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
elseif exists("compress") elseif exists("compress")
" call Decho("call system(".compress.")") " call Decho("call system(".compress.")")
call system(compress) call system(compress)
@@ -439,13 +464,13 @@ fun! tar#Write(fname)
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">") " call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
let tblfile= s:tblfile_{winnr()} let tblfile= s:tblfile_{winnr()}
1split|enew 1split|enew
let binkeep= &binary let binkeep= &l:binary
let eikeep = &ei let eikeep = &ei
set binary ei=all set binary ei=all
exe "e! ".fnameescape(tarfile) exe "e! ".fnameescape(tarfile)
call netrw#NetWrite(tblfile) call netrw#NetWrite(tblfile)
let &ei = eikeep let &ei = eikeep
let &binary = binkeep let &l:binary = binkeep
q! q!
unlet s:tblfile_{winnr()} unlet s:tblfile_{winnr()}
endif endif
@@ -462,38 +487,98 @@ fun! tar#Write(fname)
endfun endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Rmdir: {{{2 " s:Rmdir: {{{2
fun! s:Rmdir(fname) fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)") " call Dfunc("Rmdir(fname<".a:fname.">)")
if has("unix") if has("unix")
call system("/bin/rm -rf -- ".s:Escape(a:fname,0)) call system("/bin/rm -rf -- ".shellescape(a:fname,0))
elseif has("win32") || has("win95") || has("win64") || has("win16") elseif has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~? "sh$" if &shell =~? "sh$"
call system("/bin/rm -rf -- ".s:Escape(a:fname,0)) call system("/bin/rm -rf -- ".shellescape(a:fname,0))
else else
call system("del /S ".s:Escape(a:fname,0)) call system("del /S ".shellescape(a:fname,0))
endif endif
endif endif
" call Dret("Rmdir") " call Dret("Rmdir")
endfun endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" s:Escape: {{{2 " tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2
fun s:Escape(name,isfilt) fun! tar#Vimuntar(...)
" shellescape() was added by patch 7.0.111 " call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">")
if exists("*shellescape") let tarball = expand("%")
if a:isfilt " call Decho("tarball<".tarball.">")
let qnameq= shellescape(a:name,1) let tarbase = substitute(tarball,'\..*$','','')
" call Decho("tarbase<".tarbase.">")
let tarhome = expand("%:p")
if has("win32") || has("win95") || has("win64") || has("win16")
let tarhome= substitute(tarhome,'\\','/','g')
endif
let tarhome= substitute(tarhome,'/[^/]*$','','')
" call Decho("tarhome<".tarhome.">")
let tartail = expand("%:t")
" call Decho("tartail<".tartail.">")
let curdir = getcwd()
" call Decho("curdir <".curdir.">")
" set up vimhome
if a:0 > 0 && a:1 != ""
let vimhome= a:1
else
let vimhome= vimball#VimballHome()
endif
" call Decho("vimhome<".vimhome.">")
" call Decho("curdir<".curdir."> vimhome<".vimhome.">")
if simplify(curdir) != simplify(vimhome)
" copy (possibly compressed) tarball to .vim/vimfiles
" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
" call Decho("exe cd ".fnameescape(vimhome))
exe "cd ".fnameescape(vimhome)
endif
" call Decho("getcwd<".getcwd().">")
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
if executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
else else
let qnameq= shellescape(a:name) echoerr "unable to decompress<".tartail."> on this sytem"
if simplify(curdir) != simplify(tarhome)
" remove decompressed tarball, restore directory
" call Decho("delete(".tartail.".tar)")
call delete(tartail.".tar")
" call Decho("exe cd ".fnameescape(curdir))
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
return
endif endif
else else
let qnameq= g:tar_shq . a:name . g:tar_shq call vimball#Decompress(tartail,0)
endif endif
return qnameq let extractcmd= netrw#WinPath(g:tar_extractcmd)
" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")")
call system(extractcmd." ".shellescape(tarbase.".tar"))
" set up help
if filereadable("doc/".tarbase.".txt")
" call Decho("exe helptags ".getcwd()."/doc")
exe "helptags ".getcwd()."/doc"
endif
if simplify(tarhome) != simplify(vimhome)
" remove decompressed tarball, restore directory
call delete(vimhome."/".tarbase.".tar")
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
endfun endfun
" --------------------------------------------------------------------- " =====================================================================
" Modelines And Restoration: {{{1 " Modelines And Restoration: {{{1
let &cpo= s:keepcpo let &cpo= s:keepcpo
unlet s:keepcpo unlet s:keepcpo

View File

@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files " vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Date: Jul 30, 2008 " Date: Dec 28, 2009
" Version: 29 " Version: 30
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. " Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt " The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim". " (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied. " No warranty, express or implied.
@@ -11,11 +11,17 @@
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Load Once: {{{1 " Load Once: {{{1
if &cp || exists("g:loaded_vimball") || v:version < 700 if &cp || exists("g:loaded_vimball")
finish finish
endif endif
let s:keepcpo = &cpo let g:loaded_vimball = "v30"
let g:loaded_vimball = "v29" if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim set cpo&vim
"DechoTabOn "DechoTabOn
@@ -52,30 +58,6 @@ if !exists("s:USAGE")
call vimball#ShowMesg(s:WARNING,"(vimball) g:vimball_mkdir undefined") call vimball#ShowMesg(s:WARNING,"(vimball) g:vimball_mkdir undefined")
endif endif
endif endif
" set up shell quoting character
if exists("g:vimball_shq") && !exists("g:netrw_shq")
let g:netrw_shq= g:vimball_shq
endif
if !exists("g:netrw_shq")
if exists("&shq") && &shq != ""
let g:netrw_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
let g:netrw_shq= "'"
else
let g:netrw_shq= '"'
endif
else
let g:netrw_shq= "'"
endif
" call Decho("g:netrw_shq<".g:netrw_shq.">")
endif
" set up escape string (used to protect paths)
if !exists("g:vimball_path_escape")
let g:vimball_path_escape= ' ;#%'
endif
endif endif
" ===================================================================== " =====================================================================
@@ -106,8 +88,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let vbname= vbname.'.vba' let vbname= vbname.'.vba'
endif endif
" call Decho("vbname<".vbname.">") " call Decho("vbname<".vbname.">")
if a:1 =~ '[\/]' if !a:writelevel && a:1 =~ '[\/]'
call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes") call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes; use ! to insist")
" call Dret("MkVimball : vimball name<".a:1."> should not include slashes") " call Dret("MkVimball : vimball name<".a:1."> should not include slashes")
return return
endif endif
@@ -125,7 +107,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let home= expand(a:2) let home= expand(a:2)
else else
" use first existing directory from rtp " use first existing directory from rtp
let home= s:VimballHome() let home= vimball#VimballHome()
endif endif
" save current directory " save current directory
@@ -218,7 +200,7 @@ fun! vimball#Vimball(really,...)
return return
endif endif
if getline(1) !~ '^" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.$' if getline(1) !~ '^" Vimball Archiver'
echoerr "(Vimball) The current file does not appear to be a Vimball!" echoerr "(Vimball) The current file does not appear to be a Vimball!"
" call Dret("vimball#Vimball") " call Dret("vimball#Vimball")
return return
@@ -240,7 +222,7 @@ fun! vimball#Vimball(really,...)
if a:0 > 0 if a:0 > 0
let home= expand(a:1) let home= expand(a:1)
else else
let home= s:VimballHome() let home= vimball#VimballHome()
endif endif
" call Decho("home<".home.">") " call Decho("home<".home.">")
@@ -272,7 +254,9 @@ fun! vimball#Vimball(really,...)
while 1 < linenr && linenr < line("$") while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','') let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g') let fname = substitute(fname,'\\','/','g')
let fsize = getline(linenr+1)+0 " let fsize = getline(linenr+1)+0
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\+\)$','\1','')
let filecnt = filecnt + 1 let filecnt = filecnt + 1
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt) " call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
@@ -307,7 +291,7 @@ fun! vimball#Vimball(really,...)
if !isdirectory(dirname) if !isdirectory(dirname)
" call Decho("making <".dirname.">") " call Decho("making <".dirname.">")
if exists("g:vimball_mkdir") if exists("g:vimball_mkdir")
call system(g:vimball_mkdir." ".s:Escape(dirname)) call system(g:vimball_mkdir." ".shellescape(dirname))
else else
call mkdir(dirname) call mkdir(dirname)
endif endif
@@ -337,9 +321,13 @@ fun! vimball#Vimball(really,...)
if a:really if a:really
let fnamepath= home."/".fname let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath)) " call Decho("exe w! ".fnameescape(fnamepath))
exe "silent w! ".fnameescape(fnamepath) if fenc != ""
echo "wrote ".fnamepath exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnameescape(fnamepath)."')") else
exe "silent w! ".fnameescape(fnamepath)
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
endif endif
" return to tab with vimball " return to tab with vimball
@@ -418,7 +406,7 @@ fun! vimball#RmVimball(...)
if a:0 >= 2 if a:0 >= 2
let home= expand(a:2) let home= expand(a:2)
else else
let home= s:VimballHome() let home= vimball#VimballHome()
endif endif
let curdir = getcwd() let curdir = getcwd()
" call Decho("home <".home.">") " call Decho("home <".home.">")
@@ -432,19 +420,20 @@ fun! vimball#RmVimball(...)
keepalt keepjumps 1split keepalt keepjumps 1split
silent! keepalt keepjumps e .VimballRecord silent! keepalt keepjumps e .VimballRecord
let keepsrch= @/ let keepsrch= @/
" call Decho("search for ^".curfile.".vba:") " call Decho('search for ^\M'.curfile.'.\m: ')
" call Decho("search for ^".curfile."[-0-9.]*.vba:") " call Decho('search for ^\M'.curfile.'.\mvba: ')
if search('^'.curfile.": ".'cw') " call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.vba: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1 let foundit= 1
elseif search('^'.curfile.".vba: ",'cw') elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1 let foundit= 1
elseif search('^'.curfile.'[-0-9.]*.vba: ','cw') elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
let foundit= 1 let foundit= 1
else else
let foundit = 0 let foundit = 0
endif endif
if foundit if foundit
let exestring = substitute(getline("."),'^'.curfile.'\S\{-}\.vba: ','','') let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
let s:VBRstring= substitute(exestring,'call delete(','','g') let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g') let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring) " call Decho("exe ".exestring)
@@ -472,62 +461,62 @@ endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" vimball#Decompress: attempts to automatically decompress vimballs {{{2 " vimball#Decompress: attempts to automatically decompress vimballs {{{2
fun! vimball#Decompress(fname) fun! vimball#Decompress(fname,...)
" call Dfunc("Decompress(fname<".a:fname.">)") " call Dfunc("Decompress(fname<".a:fname.">) a:0=".a:0)
" decompression: " decompression:
if expand("%") =~ '.*\.gz' && executable("gunzip") if expand("%") =~ '.*\.gz' && executable("gunzip")
" handle *.gz with gunzip " handle *.gz with gunzip
silent exe "!gunzip ".s:Escape(a:fname) silent exe "!gunzip ".shellescape(a:fname)
if v:shell_error != 0 if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">") call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">")
endif endif
let fname= substitute(a:fname,'\.gz$','','') let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \') exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.gz' && executable("gzip") elseif expand("%") =~ '.*\.gz' && executable("gzip")
" handle *.gz with gzip -d " handle *.gz with gzip -d
silent exe "!gzip -d ".s:Escape(a:fname) silent exe "!gzip -d ".shellescape(a:fname)
if v:shell_error != 0 if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">") call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">")
endif endif
let fname= substitute(a:fname,'\.gz$','','') let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \') exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2") elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
" handle *.bz2 with bunzip2 " handle *.bz2 with bunzip2
silent exe "!bunzip2 ".s:Escape(a:fname) silent exe "!bunzip2 ".shellescape(a:fname)
if v:shell_error != 0 if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">") call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">")
endif endif
let fname= substitute(a:fname,'\.bz2$','','') let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \') exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bzip2") elseif expand("%") =~ '.*\.bz2' && executable("bzip2")
" handle *.bz2 with bzip2 -d " handle *.bz2 with bzip2 -d
silent exe "!bzip2 -d ".s:Escape(a:fname) silent exe "!bzip2 -d ".shellescape(a:fname)
if v:shell_error != 0 if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">") call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">")
endif endif
let fname= substitute(a:fname,'\.bz2$','','') let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \') exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.zip' && executable("unzip") elseif expand("%") =~ '.*\.zip' && executable("unzip")
" handle *.zip with unzip " handle *.zip with unzip
silent exe "!unzip ".s:Escape(a:fname) silent exe "!unzip ".shellescape(a:fname)
if v:shell_error != 0 if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">") call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">")
endif endif
let fname= substitute(a:fname,'\.zip$','','') let fname= substitute(a:fname,'\.zip$','','')
exe "e ".escape(fname,' \') exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
endif endif
set noma bt=nofile fmr=[[[,]]] fdm=marker if a:0 == 0| setlocal noma bt=nofile fmr=[[[,]]] fdm=marker | endif
" call Dret("Decompress") " call Dret("Decompress")
endfun endfun
@@ -536,20 +525,21 @@ endfun
" vimball#ShowMesg: {{{2 " vimball#ShowMesg: {{{2
fun! vimball#ShowMesg(level,msg) fun! vimball#ShowMesg(level,msg)
" call Dfunc("vimball#ShowMesg(level=".a:level." msg<".a:msg.">)") " call Dfunc("vimball#ShowMesg(level=".a:level." msg<".a:msg.">)")
let rulerkeep = &ruler let rulerkeep = &ruler
let showcmdkeep = &showcmd let showcmdkeep = &showcmd
set noruler noshowcmd set noruler noshowcmd
redraw! redraw!
if &fo =~ '[ta]' if &fo =~ '[ta]'
echomsg "***vimball*** " a:msg echomsg "***vimball*** ".a:msg
else else
if a:level == s:WARNING || a:level == s:USAGE if a:level == s:WARNING || a:level == s:USAGE
echohl WarningMsg echohl WarningMsg
elseif a:level == s:ERROR elseif a:level == s:ERROR
echohl Error echohl Error
endif endif
echomsg "***vimball*** " a:msg echomsg "***vimball*** ".a:msg
echohl None echohl None
endif endif
@@ -646,9 +636,9 @@ fun! s:RecordInFile(home)
endfun endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" s:VimballHome: determine/get home directory path (usually from rtp) {{{2 " vimball#VimballHome: determine/get home directory path (usually from rtp) {{{2
fun! s:VimballHome() fun! vimball#VimballHome()
" call Dfunc("VimballHome()") " call Dfunc("vimball#VimballHome()")
if exists("g:vimball_home") if exists("g:vimball_home")
let home= g:vimball_home let home= g:vimball_home
else else
@@ -674,14 +664,14 @@ fun! s:VimballHome()
if !isdirectory(home) if !isdirectory(home)
if exists("g:vimball_mkdir") if exists("g:vimball_mkdir")
" call Decho("home<".home."> isn't a directory -- making it now with g:vimball_mkdir<".g:vimball_mkdir.">") " call Decho("home<".home."> isn't a directory -- making it now with g:vimball_mkdir<".g:vimball_mkdir.">")
" call Decho("system(".g:vimball_mkdir." ".s:Escape(home).")") " call Decho("system(".g:vimball_mkdir." ".shellescape(home).")")
call system(g:vimball_mkdir." ".s:Escape(home)) call system(g:vimball_mkdir." ".shellescape(home))
else else
" call Decho("home<".home."> isn't a directory -- making it now with mkdir()") " call Decho("home<".home."> isn't a directory -- making it now with mkdir()")
call mkdir(home) call mkdir(home)
endif endif
endif endif
" call Dret("VimballHome <".home.">") " call Dret("vimball#VimballHome <".home.">")
return home return home
endfun endfun
@@ -742,21 +732,6 @@ fun! vimball#RestoreSettings()
" call Dret("RestoreSettings") " call Dret("RestoreSettings")
endfun endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun s:Escape(name)
" shellescape() was added by patch 7.0.111
if exists("*shellescape")
return shellescape(a:name)
endif
return g:netrw_shq . a:name . g:netrw_shq
endfun
" ---------------------------------------------------------------------
" Restore:
let &cpo= s:keepcpo
unlet s:keepcpo
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Modelines: {{{1 " Modelines: {{{1
" vim: fdm=marker " vim: fdm=marker

View File

@@ -1,9 +1,9 @@
" Vim color file " Vim color file
" Maintainer: Hans Fugal <hans@fugal.net> " Maintainer: Hans Fugal <hans@fugal.net>
" Last Change: $Date$ " Last Change: $Date: 2004/06/13 19:30:30 $
" Last Change: $Date$ " Last Change: $Date: 2004/06/13 19:30:30 $
" URL: http://hans.fugal.net/vim/colors/desert.vim " URL: http://hans.fugal.net/vim/colors/desert.vim
" Version: $Id$ " Version: $Id: desert.vim,v 1.1 2004/06/13 19:30:30 vimboss Exp $
" cool help screens " cool help screens
" :he group-name " :he group-name

View File

@@ -1,13 +1,13 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file " Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada) " Language: Ada (Dec Ada)
" $Id$ " $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik " Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
" History: 21.07.2006 MK New Dec Ada " History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration " 15.10.2006 MK Bram's suggestion for runtime integration

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Language: eRuby " Language: eRuby
" Maintainer: Doug Kearns <dougkearns@gmail.com> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$ " Info: $Id: eruby.vim,v 1.7 2008/06/29 04:18:42 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,8 +1,8 @@
" Vim compiler file " Vim compiler file
" Compiler: g77 (GNU Fortran) " Compiler: g77 (GNU Fortran)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> " Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Last Change: $Date$ " Last Change: $Date: 2004/06/13 18:17:36 $
" $Revision$ " $Revision: 1.1 $
if exists("current_compiler") if exists("current_compiler")
finish finish

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Compiler: GNU C Compiler " Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Latest Revision: 2009-05-01
if exists("current_compiler") if exists("current_compiler")
finish finish
@@ -12,10 +12,13 @@ let s:cpo_save = &cpo
set cpo-=C set cpo-=C
CompilerSet errorformat= CompilerSet errorformat=
\%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
\%*[^\"]\"%f\"%*\\D%l:\ %m, \%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:%c:\ %m,
\\"%f\"%*\\D%l:\ %m, \\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once, \%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.), \%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:%c:\ %m,
\%f:%l:\ %m, \%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m, \\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f', \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',

View File

@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file " Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT) " Language: Ada (GNAT)
" $Id$ " $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik " Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k " Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu> " Ned Okie <nokie@radford.edu>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball " 16.07.2006 MK Ada-Mode as vim-ball

View File

@@ -1,8 +1,8 @@
" Vim Compiler File " Vim Compiler File
" Compiler: Jikes " Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 2004 Mar 27 " Last Change: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/compiler " URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler") if exists("current_compiler")
finish finish

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Language: RSpec " Language: RSpec
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Info: $Id$ " Info: $Id: rspec.vim,v 1.2 2008/06/29 04:18:42 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -2,7 +2,7 @@
" Language: Ruby " Language: Ruby
" Function: Syntax check and/or error reporting " Function: Syntax check and/or error reporting
" Maintainer: Tim Hammerquist <timh at rubyforge.org> " Maintainer: Tim Hammerquist <timh at rubyforge.org>
" Info: $Id$ " Info: $Id: ruby.vim,v 1.13 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim compiler file " Vim compiler file
" Language: Test::Unit - Ruby Unit Testing Framework " Language: Test::Unit - Ruby Unit Testing Framework
" Maintainer: Doug Kearns <dougkearns@gmail.com> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$ " Info: $Id: rubyunit.vim,v 1.12 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -3,7 +3,7 @@
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> " Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/ " Splint Home: http://www.splint.org/
" Last Change: 2005 Apr 21 " Last Change: 2005 Apr 21
" $Revision$ " $Revision: 1.3 $
if exists("current_compiler") if exists("current_compiler")
finish finish

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Aug 03 " Last Change: 2009 Dec 24
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@@ -110,12 +110,15 @@ au BufNewFile,BufRead build.xml setf ant
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" Apache config file " Apache config file
au BufNewFile,BufRead .htaccess setf apache au BufNewFile,BufRead .htaccess,/etc/httpd/*.conf setf apache
au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf* call s:StarSetf('apache') au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" XA65 MOS6510 cross assembler " XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65 au BufNewFile,BufRead *.a65 setf a65
" Applescript
au BufNewFile,BufRead *.scpt setf applescript
" Applix ELF " Applix ELF
au BufNewFile,BufRead *.am au BufNewFile,BufRead *.am
\ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif \ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
@@ -350,10 +353,9 @@ au BufNewFile,BufRead *.cpp
\ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif \ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif
" C++ " C++
au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.ipp,*.moc,*.tcc,*.inl setf cpp
if has("fname_case") if has("fname_case")
au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp au BufNewFile,BufRead *.C,*.H setf cpp
else
au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
endif endif
" .h files can be C, Ch C++, ObjC or ObjC++. " .h files can be C, Ch C++, ObjC or ObjC++.
@@ -364,9 +366,9 @@ au BufNewFile,BufRead *.h call s:FTheader()
func! s:FTheader() func! s:FTheader()
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1 if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
setf objc setf objc
elseif exists("c_syntax_for_h") elseif exists("g:c_syntax_for_h")
setf c setf c
elseif exists("ch_syntax_for_h") elseif exists("g:ch_syntax_for_h")
setf ch setf ch
else else
setf cpp setf cpp
@@ -669,8 +671,9 @@ au BufNewFile,BufRead *.factor setf factor
" Fetchmail RC file " Fetchmail RC file
au BufNewFile,BufRead .fetchmailrc setf fetchmail au BufNewFile,BufRead .fetchmailrc setf fetchmail
" FlexWiki " FlexWiki - disabled, because it has side effects when a .wiki file
au BufNewFile,BufRead *.wiki setf flexwiki " is not actually FlexWiki
"au BufNewFile,BufRead *.wiki setf flexwiki
" Focus Executable " Focus Executable
au BufNewFile,BufRead *.fex,*.focexec setf focexec au BufNewFile,BufRead *.fex,*.focexec setf focexec
@@ -704,12 +707,12 @@ au BufNewFile,BufRead .gdbinit setf gdb
au BufNewFile,BufRead *.mo,*.gdmo setf gdmo au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
" Gedcom " Gedcom
au BufNewFile,BufRead *.ged setf gedcom au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git " Git
autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
autocmd BufNewFile,BufRead .msg.[0-9]* autocmd BufNewFile,BufRead .msg.[0-9]*
\ if getline(1) =~ '^From.*# This line is ignored.$' | \ if getline(1) =~ '^From.*# This line is ignored.$' |
\ setf gitsendemail | \ setf gitsendemail |
@@ -896,7 +899,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript " JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es setf javascript au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
" Java Server Pages " Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp au BufNewFile,BufRead *.jsp setf jsp
@@ -1043,7 +1046,7 @@ func! s:FTm()
let n = 1 let n = 1
while n < 10 while n < 10
let line = getline(n) let line = getline(n)
if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)' if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\|//\)'
setf objc setf objc
return return
endif endif
@@ -1070,6 +1073,9 @@ au BufNewFile,BufRead *.nb setf mma
" Maya Extension Language " Maya Extension Language
au BufNewFile,BufRead *.mel setf mel au BufNewFile,BufRead *.mel setf mel
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
" Messages " Messages
au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
@@ -1260,7 +1266,7 @@ if has("fname_case")
else else
au BufNewFile,BufRead *.pl call s:FTpl() au BufNewFile,BufRead *.pl call s:FTpl()
endif endif
au BufNewFile,BufRead *.plx setf perl au BufNewFile,BufRead *.plx,*.al setf perl
func! s:FTpl() func! s:FTpl()
if exists("g:filetype_pl") if exists("g:filetype_pl")
@@ -1552,6 +1558,7 @@ endfunc
" Remind " Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind') au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
au BufNewFile,BufRead *.remind,*.rem setf remind
" Resolv.conf " Resolv.conf
au BufNewFile,BufRead resolv.conf setf resolv au BufNewFile,BufRead resolv.conf setf resolv
@@ -1586,7 +1593,7 @@ au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby
" Rantfile and Rakefile is like Ruby " Rantfile and Rakefile is like Ruby
au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
" S-lang (or shader language!) " S-lang (or shader language, or SmallLisp)
au BufNewFile,BufRead *.sl setf slang au BufNewFile,BufRead *.sl setf slang
" Samba config " Samba config
@@ -1685,7 +1692,15 @@ func! SetFileTypeSH(name)
if expand("<amatch>") =~ g:ft_ignore_pat if expand("<amatch>") =~ g:ft_ignore_pat
return return
endif endif
if a:name =~ '\<ksh\>' if a:name =~ '\<csh\>'
" Some .sh scripts contain #!/bin/csh.
call SetFileTypeShell("csh")
return
elseif a:name =~ '\<tcsh\>'
" Some .sh scripts contain #!/bin/tcsh.
call SetFileTypeShell("tcsh")
return
elseif a:name =~ '\<ksh\>'
let b:is_kornshell = 1 let b:is_kornshell = 1
if exists("b:is_bash") if exists("b:is_bash")
unlet b:is_bash unlet b:is_bash
@@ -1823,10 +1838,15 @@ au BufNewFile,BufRead *.rules call s:FTRules()
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*' let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func! s:FTRules() func! s:FTRules()
if expand('<amatch>:p') =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$' let path = expand('<amatch>:p')
if path =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$'
setf udevrules setf udevrules
return return
endif endif
if path =~ '^/etc/ufw/'
setf conf " Better than hog
return
endif
try try
let config_lines = readfile('/etc/udev/udev.conf') let config_lines = readfile('/etc/udev/udev.conf')
catch /^Vim\%((\a\+)\)\=:E484/ catch /^Vim\%((\a\+)\)\=:E484/
@@ -1909,6 +1929,9 @@ au BufNewFile,BufRead *.cm setf voscm
" Sysctl " Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc
" Sudoers " Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
@@ -1944,6 +1967,10 @@ au BufNewFile,BufRead tags setf tags
" TAK " TAK
au BufNewFile,BufRead *.tak setf tak au BufNewFile,BufRead *.tak setf tak
" Task
au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too) " Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
@@ -2079,8 +2106,13 @@ au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim
" Viminfo file " Viminfo file
au BufNewFile,BufRead .viminfo,_viminfo setf viminfo au BufNewFile,BufRead .viminfo,_viminfo setf viminfo
" Virata Config Script File " Virata Config Script File or Drupal module
au BufRead,BufNewFile *.hw,*.module,*.pkg setf virata au BufRead,BufNewFile *.hw,*.module,*.pkg
\ if getline(1) =~ '<?php' |
\ setf php |
\ else |
\ setf virata |
\ endif
" Visual Basic (also uses *.bas) or FORM " Visual Basic (also uses *.bas) or FORM
au BufNewFile,BufRead *.frm call s:FTVB("form") au BufNewFile,BufRead *.frm call s:FTVB("form")
@@ -2325,6 +2357,9 @@ au BufNewFile,BufRead *fvwm2rc*
\| let b:fvwm_version = 2 | call s:StarSetf('fvwm') \| let b:fvwm_version = 2 | call s:StarSetf('fvwm')
\|endif \|endif
" Gedcom
au BufNewFile,BufRead /tmp/lltmp* call s:StarSetf('gedcom')
" GTK RC " GTK RC
au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc') au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc')

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com) " Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org> " Maintainer: Carl Osterwisch <osterwischc@asme.org>
" Last Change: 2004 Jul 06 " Last Change: 2008 Oct 5
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
@@ -13,13 +13,6 @@ let b:did_ftplugin = 1
let s:cpo_save = &cpoptions let s:cpo_save = &cpoptions
set cpoptions&vim 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 " Set the format of the include file specification for Abaqus
" Used in :check gf ^wf [i and other commands " Used in :check gf ^wf [i and other commands
setlocal include=\\<\\cINPUT\\s*= setlocal include=\\<\\cINPUT\\s*=
@@ -42,29 +35,43 @@ setlocal define=^\\*\\a.*\\c\\(NAME\\\|NSET\\\|ELSET\\)\\s*=
" Abaqus keywords and identifiers may include a - character " Abaqus keywords and identifiers may include a - character
setlocal iskeyword+=- setlocal iskeyword+=-
let b:undo_ftplugin = "setlocal include< includeexpr< isfname<"
\ . " comments< commentstring< define< iskeyword<"
if has("folding")
" Fold all lines that do not begin with *
setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
setlocal foldmethod=expr
let b:undo_ftplugin .= " foldexpr< foldmethod<"
endif
" Set the file browse filter (currently only supported under Win32 gui) " Set the file browse filter (currently only supported under Win32 gui)
if has("gui_win32") && !exists("b:browsefilter") if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" . let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" .
\ "Abaqus Results (*.dat)\t*.dat\n" . \ "Abaqus Results (*.dat)\t*.dat\n" .
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" . \ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
\ "All Files (*.*)\t*.*\n" \ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= "|unlet b:browsefilter"
endif endif
" Define keys used to move [count] sections backward or forward. " Define patterns for the matchit plugin
" TODO: Make this do something intelligent in visual mode. if exists("loaded_matchit") && !exists("b:match_words")
nnoremap <silent> <buffer> [[ :call <SID>Abaqus_Jump('?^\*\a?')<CR> let b:match_ignorecase = 1
nnoremap <silent> <buffer> ]] :call <SID>Abaqus_Jump('/^\*\a/')<CR> let b:match_words =
function! <SID>Abaqus_Jump(motion) range \ '\*part:\*end\s*part,' .
let s:count = v:count1 \ '\*assembly:\*end\s*assembly,' .
mark ' \ '\*instance:\*end\s*instance,' .
while s:count > 0 \ '\*step:\*end\s*step'
silent! execute a:motion let b:undo_ftplugin .= "|unlet b:match_ignorecase b:match_words"
let s:count = s:count - 1 endif
endwhile
endfunction " Define keys used to move [count] keywords backward or forward.
noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR>
noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR>
" Define key to toggle commenting of the current line or range " Define key to toggle commenting of the current line or range
noremap <silent> <buffer> <m-c> :call <SID>Abaqus_ToggleComment()<CR>j noremap <silent><buffer> <LocalLeader><LocalLeader>
\ :call <SID>Abaqus_ToggleComment()<CR>j
function! <SID>Abaqus_ToggleComment() range function! <SID>Abaqus_ToggleComment() range
if strpart(getline(a:firstline), 0, 2) == "**" if strpart(getline(a:firstline), 0, 2) == "**"
" Un-comment all lines in range " Un-comment all lines in range
@@ -75,5 +82,8 @@ function! <SID>Abaqus_ToggleComment() range
endif endif
endfunction endfunction
let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
\ . "|unmap <buffer> <LocalLeader><LocalLeader>"
" Restore saved compatibility options " Restore saved compatibility options
let &cpoptions = s:cpo_save let &cpoptions = s:cpo_save

View File

@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Perform Ada specific completion & tagging. " Description: Perform Ada specific completion & tagging.
" Language: Ada (2005) " Language: Ada (2005)
" $Id$ " $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" Taylor Venable <taylor@metasyntax.net> " Taylor Venable <taylor@metasyntax.net>
" Neil Bird <neil@fnxweb.com> " Neil Bird <neil@fnxweb.com>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword. " 26.05.2006 MK ' should not be in iskeyword.

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: ant " Language: ant
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: aspvbs " Language: aspvbs
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2004 Jun 28 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: bst " Language: bst
" Author: Tim Pope <vimNOSPAM@tpope.info> " Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$ " $Id: bst.vim,v 1.1 2007/05/05 17:37:57 vimboss Exp $
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: generic Changelog file " Language: generic Changelog file
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-05-21 " Latest Revision: 2009-05-25
" Variables: " Variables:
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) - " g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
" description: the timeformat used in ChangeLog entries. " description: the timeformat used in ChangeLog entries.
@@ -46,73 +46,78 @@ if &filetype == 'changelog'
endif endif
endif endif
" Try to figure out a reasonable username of the form: function! s:username()
" Full Name <user@host>. if exists('g:changelog_username')
if !exists('g:changelog_username') return g:changelog_username
if exists('$EMAIL') && $EMAIL != '' elseif $EMAIL != ""
let g:changelog_username = $EMAIL return $EMAIL
elseif exists('$EMAIL_ADDRESS') && $EMAIL_ADDRESS != '' elseif $EMAIL_ADDRESS != ""
" This is some Debian junk if I remember correctly. return $EMAIL_ADDRESS
let g:changelog_username = $EMAIL_ADDRESS
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 get the full name from gecos field in /etc/passwd.
if filereadable('/etc/passwd')
for line in readfile('/etc/passwd')
if line =~ '^' . login
let name = substitute(line,'^\%([^:]*:\)\{4}\([^:]*\):.*$','\1','')
" 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
endif
endfor
endif
" If we haven't found a name, try to gather it from other places.
if !exists('name')
" 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
" Get our hostname.
let hostname = system('hostname')
if v:shell_error
let hostname = 'localhost'
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
endif
let login = s:login()
return printf('%s <%s@%s>', s:name(login), login, s:hostname())
endfunction
function! s:login()
return s:trimmed_system_with_default('whoami', 'unknown')
endfunction
function! s:trimmed_system_with_default(command, default)
return s:first_line(s:system_with_default(a:command, a:default))
endfunction
function! s:system_with_default(command, default)
let output = system(a:command)
if v:shell_error
return default
endif
return output
endfunction
function! s:first_line(string)
return substitute(a:string, '\n.*$', "", "")
endfunction
function! s:name(login)
for name in [s:gecos_name(a:login), $NAME, s:capitalize(a:login)]
if name != ""
return name
endif
endfor
endfunction
function! s:gecos_name(login)
for line in s:try_reading_file('/etc/passwd')
if line =~ '^' . a:login . ':'
return substitute(s:passwd_field(line, 5), '&', s:capitalize(a:login), "")
endif
endfor
return ""
endfunction
function! s:try_reading_file(path)
try
return readfile(a:path)
endtry
return []
endfunction
function! s:passwd_field(line, field)
let fields = split(a:line, ':', 1)
if len(fields) < field
return ""
endif
return fields[field - 1]
endfunction
function! s:capitalize(word)
return toupper(a:word[0]) . strpart(a:word, 1)
endfunction
function! s:hostname()
return s:trimmed_system_with_default('hostname', 'localhost')
endfunction
" Format used for new date entries. " Format used for new date entries.
if !exists('g:changelog_new_date_format') if !exists('g:changelog_new_date_format')
@@ -178,7 +183,7 @@ if &filetype == 'changelog'
" Ok, now we look for the end of the date entry, and add an entry. " Ok, now we look for the end of the date entry, and add an entry.
call cursor(nextnonblank(line('.') + 1), 1) call cursor(nextnonblank(line('.') + 1), 1)
if search(g:changelog_date_end_entry_search, 'W') > 0 if search(g:changelog_date_end_entry_search, 'W') > 0
let p = line('.') - 1 let p = (line('.') == line('$')) ? line('.') : line('.') - 1
else else
let p = line('.') let p = line('.')
endif endif
@@ -217,7 +222,7 @@ if &filetype == 'changelog'
endfunction endfunction
if exists(":NewChangelogEntry") != 2 if exists(":NewChangelogEntry") != 2
map <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR> noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry() command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
endif endif
@@ -236,14 +241,48 @@ if &filetype == 'changelog'
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
else else
let s:cpo_save = &cpo
set cpo&vim
" Add the Changelog opening mapping " Add the Changelog opening mapping
nmap <silent> <Leader>o :call <SID>open_changelog()<CR> nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
function! s:open_changelog() function! s:open_changelog()
if !filereadable('ChangeLog') let path = expand('%:p:h')
if exists('b:changelog_path')
let changelog = b:changelog_path
else
if exists('b:changelog_name')
let name = b:changelog_name
else
let name = 'ChangeLog'
endif
while isdirectory(path)
let changelog = path . '/' . name
if filereadable(changelog)
break
endif
let parent = substitute(path, '/\+[^/]*$', "", "")
if path == parent
break
endif
let path = parent
endwhile
endif
if !filereadable(changelog)
return return
endif endif
let buf = bufnr('ChangeLog')
if exists('b:changelog_entry_prefix')
let prefix = call(b:changelog_entry_prefix, [])
else
let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") . ':'
endif
if !empty(prefix)
let prefix = ' ' . prefix
endif
let buf = bufnr(changelog)
if buf != -1 if buf != -1
if bufwinnr(buf) != -1 if bufwinnr(buf) != -1
execute bufwinnr(buf) . 'wincmd w' execute bufwinnr(buf) . 'wincmd w'
@@ -251,9 +290,12 @@ else
execute 'sbuffer' buf execute 'sbuffer' buf
endif endif
else else
split ChangeLog execute 'split' fnameescape(changelog)
endif endif
call s:new_changelog_entry() call s:new_changelog_entry(prefix)
endfunction endfunction
let &cpo = s:cpo_save
unlet s:cpo_save
endif endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: cobol " Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info> " Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$ " $Id: cobol.vim,v 1.1 2007/05/05 17:24:38 vimboss Exp $
" Insert mode mappings: <C-T> <C-D> <Tab> " Insert mode mappings: <C-T> <C-D> <Tab>
" Normal mode mappings: < > << >> [[ ]] [] ][ " Normal mode mappings: < > << >> [[ ]] [] ][

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: config " Language: config
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2004 Jul 08 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: csc " Language: csc
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: csh " Language: csh
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: MS-DOS .bat files " Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk> " Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 5th February 2003 " Last Change: 27th May 2009
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -12,10 +12,10 @@ endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
" BAT comment formatting " BAT comment formatting
setlocal comments=b:rem,b:@rem,b:REM,b:@REM,b::: setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal formatoptions-=t formatoptions+=rol setlocal formatoptions-=t formatoptions+=rol
" Define patterns for the browse file filter " Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter") if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "DOS Batch Files (*.bat, *.btm, *.cmd)\t*.bat;*.btm;*.cmd\nAll Files (*.*)\t*.*\n" let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: dtd " Language: dtd
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 30 Jun 2008 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: eRuby " Language: eRuby
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Info: $Id$ " Info: $Id: eruby.vim,v 1.12 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: generic git output " Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2008 Jul 30 " Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))
@@ -29,6 +29,9 @@ if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
else else
setlocal keywordprg=git\ show setlocal keywordprg=git\ show
endif endif
if has('gui_running')
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
endif
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','') setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<" let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: git config file " Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2008 Jun 04 " Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: git config file " Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2007 Dec 16 " Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: git rebase --interactive " Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2008 Apr 16 " Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))
@@ -22,12 +22,13 @@ function! s:choose(word)
endfunction endfunction
function! s:cycle() function! s:cycle()
call s:choose(get({'s':'edit','p':'squash'},getline('.')[0],'pick')) call s:choose(get({'s':'edit','p':'squash','e':'reword'},getline('.')[0],'pick'))
endfunction endfunction
command! -buffer -bar Pick :call s:choose('pick') command! -buffer -bar Pick :call s:choose('pick')
command! -buffer -bar Squash :call s:choose('squash') command! -buffer -bar Squash :call s:choose('squash')
command! -buffer -bar Edit :call s:choose('edit') command! -buffer -bar Edit :call s:choose('edit')
command! -buffer -bar Reword :call s:choose('reword')
command! -buffer -bar Cycle :call s:cycle() command! -buffer -bar Cycle :call s:cycle()
" The above are more useful when they are mapped; for example: " The above are more useful when they are mapped; for example:
"nnoremap <buffer> <silent> S :Cycle<CR> "nnoremap <buffer> <silent> S :Cycle<CR>

View File

@@ -1,6 +1,6 @@
" Vim filetype plugin " Vim filetype plugin
" Language: git send-email message " Language: git send-email message
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2007 Dec 16 " Last Change: 2009 Dec 24
runtime! ftplugin/mail.vim runtime! ftplugin/mail.vim

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: html " Language: html
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2007 Nov 20 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Java " Language: Java
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Change: 2005 Mar 28 " Last Change: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: jsp " Language: jsp
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2005 Oct 10 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Mail " Language: Mail
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 Apr 30 " Last Change: 2009 Jun 03
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -23,7 +23,7 @@ endif
" Set 'formatoptions' to break text lines and keep the comment leader ">". " Set 'formatoptions' to break text lines and keep the comment leader ">".
setlocal fo+=tcql setlocal fo+=tcql
" Add mappings, unless the user didn't want this. " Add mappings, unless the user doesn't want this.
if !exists("no_plugin_maps") && !exists("no_mail_maps") if !exists("no_plugin_maps") && !exists("no_mail_maps")
" Quote text by inserting "> " " Quote text by inserting "> "
if !hasmapto('<Plug>MailQuote') if !hasmapto('<Plug>MailQuote')

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: man " Language: man
" Maintainer: Nam SungHyun <namsh@kldp.org> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2007 Nov 30 " Last Change: 2008 Sep 17
" To make the ":Man" command available before editing a manual page, source " To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file. " this script from your startup vimrc file.

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: pascal " Language: pascal
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2005 Sep 05 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Perl " Language: Perl
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Change: 17 Jul 2008 " Last Change: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: php " Language: php
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2007 Nov 10 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Ruby " Language: Ruby
" Maintainer: Gavin Sinclair <gsinclair at gmail.com> " Maintainer: Gavin Sinclair <gsinclair at gmail.com>
" Info: $Id$ " Info: $Id: ruby.vim,v 1.40 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: sgml " Language: sgml
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 30 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: sh " Language: sh
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" SQL filetype plugin file " SQL filetype plugin file
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase) " Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
" Version: 4.0 " Version: 6.0
" Maintainer: David Fishburn <fishburn at ianywhere dot com> " Maintainer: David Fishburn <fishburn at ianywhere dot com>
" Last Change: Wed 27 Feb 2008 04:35:21 PM Eastern Standard Time " Last Change: 2009 Aug 04
" Download: http://vim.sourceforge.net/script.php?script_id=454 " Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use: " For more details please use:
@@ -29,6 +29,27 @@
" "
" To change the default dialect, add the following to your vimrc: " To change the default dialect, add the following to your vimrc:
" let g:sql_type_default = 'sqlanywhere' " let g:sql_type_default = 'sqlanywhere'
"
" This file also creates a command, SQLGetType, which allows you to
" determine what the current dialect is in use.
" :SQLGetType
"
" History
"
" Version 6.0
"
" NF: Adds the command SQLGetType
"
" Version 5.0
"
" NF: Adds the ability to choose the keys to control SQL completion, just add
" the following to your .vimrc:
" let g:ftplugin_sql_omni_key = '<C-C>'
" let g:ftplugin_sql_omni_key_right = '<Right>'
" let g:ftplugin_sql_omni_key_left = '<Left>'
"
" BF: format-options - Auto-wrap comments using textwidth was turned off
" by mistake.
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
@@ -44,7 +65,7 @@ set cpo=
" c Auto-wrap comments using textwidth, inserting the current comment " c Auto-wrap comments using textwidth, inserting the current comment
" leader automatically. " leader automatically.
setlocal formatoptions-=t setlocal formatoptions-=t
setlocal formatoptions-=c setlocal formatoptions+=c
" Functions/Commands to allow the user to change SQL syntax dialects " Functions/Commands to allow the user to change SQL syntax dialects
" through the use of :SQLSetType <tab> for completion. " through the use of :SQLSetType <tab> for completion.
@@ -154,6 +175,20 @@ if !exists("*SQL_SetType")
endif endif
" Functions/Commands to allow the user determine current SQL syntax dialect
" This works with both Vim 6 and 7.
if !exists("*SQL_GetType")
function SQL_GetType()
if exists('b:sql_type_override')
echomsg "Current SQL dialect in use:".b:sql_type_override
else
echomsg "Current SQL dialect in use:".g:sql_type_default
endif
endfunction
command! -nargs=0 SQLGetType :call SQL_GetType()
endif
if exists("b:sql_type_override") if exists("b:sql_type_override")
" echo 'sourcing buffer ftplugin/'.b:sql_type_override.'.vim' " echo 'sourcing buffer ftplugin/'.b:sql_type_override.'.vim'
if globpath(&runtimepath, 'ftplugin/'.b:sql_type_override.'.vim') != '' if globpath(&runtimepath, 'ftplugin/'.b:sql_type_override.'.vim') != ''
@@ -311,6 +346,19 @@ if !exists('g:ftplugin_sql_objects')
\ ',index,subscription,synchronization,view,variable' \ ',index,subscription,synchronization,view,variable'
endif endif
" Key to trigger SQL completion
if !exists('g:ftplugin_sql_omni_key')
let g:ftplugin_sql_omni_key = '<C-C>'
endif
" Key to trigger drill into column list
if !exists('g:ftplugin_sql_omni_key_right')
let g:ftplugin_sql_omni_key_right = '<Right>'
endif
" Key to trigger drill out of column list
if !exists('g:ftplugin_sql_omni_key_left')
let g:ftplugin_sql_omni_key_left = '<Left>'
endif
" Replace all ,'s with bars, except ones with numbers after them. " Replace all ,'s with bars, except ones with numbers after them.
" This will most likely be a \{,1} string. " This will most likely be a \{,1} string.
let s:ftplugin_sql_objects = let s:ftplugin_sql_objects =
@@ -382,32 +430,32 @@ if exists('&omnifunc')
if !exists('g:omni_sql_no_default_maps') if !exists('g:omni_sql_no_default_maps')
" Static maps which use populate the completion list " Static maps which use populate the completion list
" using Vim's syntax highlighting rules " using Vim's syntax highlighting rules
imap <buffer> <c-c>a <C-\><C-O>:call sqlcomplete#Map('syntax')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
imap <buffer> <c-c>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
imap <buffer> <c-c>f <C-\><C-O>:call sqlcomplete#Map('sqlFunction')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
imap <buffer> <c-c>o <C-\><C-O>:call sqlcomplete#Map('sqlOption')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
imap <buffer> <c-c>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
imap <buffer> <c-c>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
" Dynamic maps which use populate the completion list " Dynamic maps which use populate the completion list
" using the dbext.vim plugin " using the dbext.vim plugin
imap <buffer> <c-c>t <C-\><C-O>:call sqlcomplete#Map('table')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
imap <buffer> <c-c>p <C-\><C-O>:call sqlcomplete#Map('procedure')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'p <C-\><C-O>:call sqlcomplete#Map("procedure")<CR><C-X><C-O>'
imap <buffer> <c-c>v <C-\><C-O>:call sqlcomplete#Map('view')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'v <C-\><C-O>:call sqlcomplete#Map("view")<CR><C-X><C-O>'
imap <buffer> <c-c>c <C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'c <C-\><C-O>:call sqlcomplete#Map("column")<CR><C-X><C-O>'
imap <buffer> <c-c>l <C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'l <C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" The next 3 maps are only to be used while the completion window is " The next 3 maps are only to be used while the completion window is
" active due to the <CR> at the beginning of the map " active due to the <CR> at the beginning of the map
imap <buffer> <c-c>L <C-Y><C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'L <C-Y><C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" <C-Right> is not recognized on most Unix systems, so only create " <C-Right> is not recognized on most Unix systems, so only create
" these additional maps on the Windows platform. " these additional maps on the Windows platform.
" If you would like to use these maps, choose a different key and make " If you would like to use these maps, choose a different key and make
" the same map in your vimrc. " the same map in your vimrc.
if has('win32') " if has('win32')
imap <buffer> <c-right> <C-R>=sqlcomplete#DrillIntoTable()<CR> exec 'imap <buffer> '.g:ftplugin_sql_omni_key_right.' <C-R>=sqlcomplete#DrillIntoTable()<CR>'
imap <buffer> <c-left> <C-R>=sqlcomplete#DrillOutOfColumns()<CR> exec 'imap <buffer> '.g:ftplugin_sql_omni_key_left.' <C-R>=sqlcomplete#DrillOutOfColumns()<CR>'
endif " endif
" Remove any cached items useful for schema changes " Remove any cached items useful for schema changes
imap <buffer> <c-c>R <C-\><C-O>:call sqlcomplete#Map('resetCache')<CR><C-X><C-O> exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'R <C-\><C-O>:call sqlcomplete#Map("resetCache")<CR><C-X><C-O>'
endif endif
if b:sql_compl_savefunc != "" if b:sql_compl_savefunc != ""

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: svg " Language: svg
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

36
runtime/ftplugin/tcl.vim Normal file
View File

@@ -0,0 +1,36 @@
" Vim filetype plugin file
" Language: Tcl
" Maintainer: Robert L Hicks <sigzero@gmail.com>
" Latest Revision: 2009-05-01
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:cpo_save = &cpo
set cpo-=C
setlocal comments=:#
setlocal commentstring=#%s
setlocal formatoptions+=croql
" Change the browse dialog on Windows to show mainly Tcl-related files
if has("gui_win32")
let b:browsefilter = "Tcl Source Files (.tcl)\t*.tcl\n" .
\ "Tcl Test Files (.test)\t*.test\n" .
\ "All Files (*.*)\t*.*\n"
endif
"-----------------------------------------------------------------------------
" Undo the stuff we changed.
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp<" .
\ " | unlet! b:browsefilter"
" Restore the saved compatibility options.
let &cpo = s:cpo_save
" vim: set et ts=4 sw=4 tw=78:

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: tcsh " Language: tcsh
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Verilog HDL " Language: Verilog HDL
" Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw> " Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
" Last Change: Mon Sep 5 11:05:54 CST 2005 and 2006 April 30 " Last Change: Wed Sep 3 15:24:49 CST 2008
" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim " URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
@@ -12,6 +12,10 @@ endif
" Don't load another plugin for this buffer " Don't load another plugin for this buffer
let b:did_ftplugin = 1 let b:did_ftplugin = 1
" Set 'cpoptions' to allow line continuations
let s:cpo_save = &cpo
set cpo&vim
" Undo the plugin effect " Undo the plugin effect
let b:undo_ftplugin = "setlocal fo< com< tw<" let b:undo_ftplugin = "setlocal fo< com< tw<"
\ . "| unlet! b:browsefilter b:match_ignorecase b:match_words" \ . "| unlet! b:browsefilter b:match_ignorecase b:match_words"
@@ -28,8 +32,6 @@ if &textwidth == 0
setlocal tw=78 setlocal tw=78
endif endif
set cpo-=C
" Win32 can filter files in the browse dialog " Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter") if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" . let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" .
@@ -49,3 +51,7 @@ if exists("loaded_matchit")
\ '\<task\>:\<endtask\>,' . \ '\<task\>:\<endtask\>,' .
\ '\<specify\>:\<endspecify\>' \ '\<specify\>:\<endspecify\>'
endif endif
" Reset 'cpoptions' back to the user's setting
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Vim " Language: Vim
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Feb 27 " Last Change: 2009 Jan 22
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -11,16 +11,20 @@ endif
" Don't load another plugin for this buffer " Don't load another plugin for this buffer
let b:did_ftplugin = 1 let b:did_ftplugin = 1
let cpo_save = &cpo let s:cpo_save = &cpo
set cpo-=C set cpo-=C
let b:undo_ftplugin = "setl fo< com< tw< commentstring<" let b:undo_ftplugin = "setl fo< isk< com< tw< commentstring<"
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip" \ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
" Set 'formatoptions' to break comment lines but not other lines, " Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o". " and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql setlocal fo-=t fo+=croql
" To allow tag lookup via CTRL-] for autoload functions, '#' must be a
" keyword character. E.g., for netrw#Nread().
setlocal isk+=#
" Set 'comments' to format dashed lists in comments " Set 'comments' to format dashed lists in comments
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\" setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
@@ -53,8 +57,7 @@ if exists("loaded_matchit")
let b:match_ignorecase = 0 let b:match_ignorecase = 0
let b:match_words = let b:match_words =
\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' . \ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' .
\ '\<wh\%[ile]\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endw\%[hile]\>,' . \ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
\ '\<for\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endfo\%[r]\>,' .
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' . \ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' . \ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' . \ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .
@@ -64,7 +67,8 @@ if exists("loaded_matchit")
\ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"' \ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
endif endif
let &cpo = cpo_save let &cpo = s:cpo_save
unlet s:cpo_save
" removed this, because 'cpoptions' is a global option. " removed this, because 'cpoptions' is a global option.
" setlocal cpo+=M " makes \%( match \) " setlocal cpo+=M " makes \%( match \)

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: xhtml " Language: xhtml
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2004 Jul 08 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: xml " Language: xml
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 30 Jun 2008 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: xsd " Language: xsd
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2003 Sep 29 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,8 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: xslt " Language: xslt
" Maintainer: Dan Sharp <dwsharp at hotmail dot com> " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 2004 Jul 08 " Last Changed: 20 Jan 2009
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif

View File

@@ -1,15 +1,15 @@
"------------------------------------------------------------------------------ "------------------------------------------------------------------------------
" Description: Vim Ada indent file " Description: Vim Ada indent file
" Language: Ada (2005) " Language: Ada (2005)
" $Id$ " $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik " Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik <krischik@users.sourceforge.net> " Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" Neil Bird <neil@fnxweb.com> " Neil Bird <neil@fnxweb.com>
" Ned Okie <nokie@radford.edu> " Ned Okie <nokie@radford.edu>
" $Author$ " $Author: krischik $
" $Date$ " $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6 " Version: 4.6
" $Revision$ " $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/indent/ada.vim $ " $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/indent/ada.vim $
" History: 24.05.2006 MK Unified Headers " History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball " 16.07.2006 MK Ada-Mode as vim-ball

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: bst " Language: bst
" Author: Tim Pope <vimNOSPAM@tpope.info> " Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$ " $Id: bst.vim,v 1.1 2007/05/05 18:11:12 vimboss Exp $
if exists("b:did_indent") if exists("b:did_indent")
finish finish

View File

@@ -1,10 +1,10 @@
" ============================================================================= " =============================================================================
" "
" Program: CMake - Cross-Platform Makefile Generator " Program: CMake - Cross-Platform Makefile Generator
" Module: $RCSfile$ " Module: $RCSfile: cmake-indent.vim,v $
" Language: VIM " Language: VIM
" Date: $Date$ " Date: $Date: 2006/09/23 21:09:08 $
" Version: $Revision$ " Version: $Revision: 1.7 $
" "
" ============================================================================= " =============================================================================
@@ -12,8 +12,8 @@
" Language: CMake (ft=cmake) " Language: CMake (ft=cmake)
" Author: Andy Cedilnik <andy.cedilnik@kitware.com> " Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com> " Maintainer: Andy Cedilnik <andy.cedilnik@kitware.com>
" Last Change: $Date$ " Last Change: $Date: 2006/09/23 21:09:08 $
" Version: $Revision$ " Version: $Revision: 1.7 $
" "
" Licence: The CMake license applies to this file. See " Licence: The CMake license applies to this file. See
" http://www.cmake.org/HTML/Copyright.html " http://www.cmake.org/HTML/Copyright.html

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: cobol " Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info> " Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id$ " $Id: cobol.vim,v 1.1 2007/05/05 18:08:19 vimboss Exp $
if exists("b:did_indent") if exists("b:did_indent")
finish finish

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: C++ " Language: C++
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 Jun 12 " Last Change: 2008 Nov 29
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -11,3 +11,5 @@ let b:did_indent = 1
" C++ indenting is built-in, thus this is very simple " C++ indenting is built-in, thus this is very simple
setlocal cindent setlocal cindent
let b:undo_indent = "setl cin<"

15
runtime/indent/cuda.vim Normal file
View File

@@ -0,0 +1,15 @@
" Vim indent file
" Language: CUDA
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Nov 29
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
" It's just like C indenting
setlocal cindent
let b:undo_indent = "setl cin<"

View File

@@ -2,8 +2,8 @@
" Language: Eiffel " Language: Eiffel
" Maintainer: Jocelyn Fiat <eiffel@djoce.net> " Maintainer: Jocelyn Fiat <eiffel@djoce.net>
" Previous-Maintainer: David Clarke <gadicath@dishevelled.net> " Previous-Maintainer: David Clarke <gadicath@dishevelled.net>
" $Date$ " $Date: 2004/12/09 21:33:52 $
" $Revision$ " $Revision: 1.3 $
" URL: http://www.djoce.net/page/vim/ " URL: http://www.djoce.net/page/vim/
" Last Change: 2004 Sept 14 : removed specific value for tab (sw) " Last Change: 2004 Sept 14 : removed specific value for tab (sw)

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: eRuby " Language: eRuby
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Info: $Id$ " Info: $Id: eruby.vim,v 1.16 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: git config file " Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.info> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2008 Jun 04 " Last Change: 2009 Dec 24
if exists("b:did_indent") if exists("b:did_indent")
finish finish

13
runtime/indent/mail.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim indent file
" Language: Mail
" Maintainer: Bram Moolenaar
" Last Change: 2009 Jun 03
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
" What works best is auto-indenting, disable other indenting.
" For formatting see the ftplugin.
setlocal autoindent nosmartindent nocindent indentexpr=

View File

@@ -2,17 +2,10 @@
" Language: PHP " Language: PHP
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr> " Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim " URL: http://www.2072productions.com/vim/indent/php.vim
" Last Change: 2008 June 7th " Last Change: 2008 November 22nd
" Newsletter: http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php " Newsletter: http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
" Version: 1.28 " Version: 1.30
" "
" If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr
" with an example of code that breaks the algorithm.
"
" ---> The change log and all the comments have been removed from this file.
"
" For a complete change log and fully commented code, download the script on
" 2072productions.com at the URI provided above.
" "
" If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr " If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr
" with an example of code that breaks the algorithm. " with an example of code that breaks the algorithm.
@@ -24,7 +17,7 @@
" NOTE: This script must be used with PHP syntax ON and with the php syntax " NOTE: This script must be used with PHP syntax ON and with the php syntax
" script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the " script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the
" script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 ) " script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 )
" the later is bunbdled by default with vim 7. " the later is bunbdled by default with Vim 7.
" "
" "
" In the case you have syntax errors in your script such as HereDoc end " In the case you have syntax errors in your script such as HereDoc end
@@ -33,50 +26,19 @@
" they are followed by a ';'). " they are followed by a ';').
" "
" "
" NOTE: If you are editing file in Unix file format and that (by accident) " NOTE: If you are editing files in Unix file format and that (by accident)
" there are '\r' before new lines, this script won't be able to proceed " there are '\r' before new lines, this script won't be able to proceed
" correctly and will make many mistakes because it won't be able to match " correctly and will make many mistakes because it won't be able to match
" '\s*$' correctly. " '\s*$' correctly.
" So you have to remove those useless characters first with a command like: " So you have to remove those useless characters first with a command like:
" "
" :%s /\r$//g " :%s /\r$//g
" "
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will " or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
" silently remove them when VIM load this script (at each bufread). " silently remove them when VIM load this script (at each bufread).
"
"
" Options: PHP_autoformatcomment = 0 to not enable autoformating of comment by
" default, if set to 0, this script will let the 'formatoptions' setting intact.
"
" Options: PHP_default_indenting = # of sw (default is 0), # of sw will be
" added to the indent of each line of PHP code.
"
" Options: PHP_removeCRwhenUnix = 1 to make the script automatically remove CR
" at end of lines (by default this option is unset), NOTE that you
" MUST remove CR when the fileformat is UNIX else the indentation
" won't be correct!
"
" Options: PHP_BracesAtCodeLevel = 1 to indent the '{' and '}' at the same
" level than the code they contain.
" Exemple:
" Instead of:
" if ($foo)
" {
" foo();
" }
"
" You will write:
" if ($foo)
" {
" foo();
" }
"
" NOTE: The script will be a bit slower if you use this option because
" some optimizations won't be available.
"
" Options: PHP_vintage_case_default_indent = 1 (defaults to 0) to add a meaningless indent
" befaore 'case:' and 'default":' statement in switch block
" "
" Options: See :help php-indent for available options.
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -145,6 +107,7 @@ if &fileformat == "unix" && exists("PHP_removeCRwhenUnix") && PHP_removeCRwhenUn
endif endif
if exists("*GetPhpIndent") if exists("*GetPhpIndent")
call ResetPhpOptions()
finish " XXX finish " XXX
endif endif
@@ -317,14 +280,13 @@ endfunction " }}}
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|else\)' let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|else\)'
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)' let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
let s:autorestoptions = 0 let s:autoresetoptions = 0
if ! s:autorestoptions if ! s:autoresetoptions
au BufWinEnter,Syntax *.php,*.php3,*.php4,*.php5 call ResetOptions() let s:autoresetoptions = 1
let s:autorestoptions = 1
endif endif
function! ResetOptions() function! ResetPhpOptions()
if ! b:optionsset if ! b:optionsset && &filetype == "php"
if b:PHP_autoformatcomment if b:PHP_autoformatcomment
setlocal comments=s1:/*,mb:*,ex:*/,://,:# setlocal comments=s1:/*,mb:*,ex:*/,://,:#
@@ -341,6 +303,8 @@ function! ResetOptions()
endif endif
endfunc endfunc
call ResetPhpOptions()
function! GetPhpIndent() function! GetPhpIndent()
let b:GetLastRealCodeLNum_ADD = 0 let b:GetLastRealCodeLNum_ADD = 0
@@ -360,7 +324,7 @@ function! GetPhpIndent()
if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast
if b:PHP_indentbeforelast if b:PHP_indentbeforelast
let b:PHP_indentinghuge = 1 let b:PHP_indentinghuge = 1
echom 'Large indenting detected, speed optimizations engaged (v1.28)' echom 'Large indenting detected, speed optimizations engaged (v1.30)'
endif endif
let b:PHP_indentbeforelast = b:PHP_lastindented let b:PHP_indentbeforelast = b:PHP_lastindented
endif endif
@@ -693,6 +657,7 @@ function! GetPhpIndent()
if !LastLineClosed if !LastLineClosed
if last_line =~# '[{(]'.endline || last_line =~? '\h\w*\s*(.*,$' && pline !~ '[,(]'.endline if last_line =~# '[{(]'.endline || last_line =~? '\h\w*\s*(.*,$' && pline !~ '[,(]'.endline
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{' if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
@@ -715,11 +680,11 @@ function! GetPhpIndent()
elseif last_line =~ '^\s*'.s:blockstart elseif last_line =~ '^\s*'.s:blockstart
let ind = ind + &sw let ind = ind + &sw
elseif last_line =~# defaultORcase elseif last_line =~# defaultORcase && cline !~# defaultORcase
let ind = ind + &sw let ind = ind + &sw
elseif pline =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . defaultORcase elseif pline =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . defaultORcase && cline !~# defaultORcase
let ind = ind + &sw let ind = ind + &sw
endif endif

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Ruby " Language: Ruby
" Maintainer: Nikolai Weibull <now at bitwi.se> " Maintainer: Nikolai Weibull <now at bitwi.se>
" Info: $Id$ " Info: $Id: ruby.vim,v 1.47 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Shell Script " Language: Shell Script
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19 " Latest Revision: 2010-01-06
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@@ -9,8 +9,10 @@ endif
let b:did_indent = 1 let b:did_indent = 1
setlocal indentexpr=GetShIndent() setlocal indentexpr=GetShIndent()
setlocal indentkeys+==then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,),0=;;,0=;&
setlocal indentkeys+=0=fin,0=fil,0=fip,0=fir,0=fix
setlocal indentkeys-=:,0# setlocal indentkeys-=:,0#
setlocal nosmartindent
if exists("*GetShIndent") if exists("*GetShIndent")
finish finish
@@ -19,34 +21,138 @@ endif
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo&vim set cpo&vim
function GetShIndent() function s:buffer_shiftwidth()
return &shiftwidth
endfunction
let s:sh_indent_defaults = {
\ 'default': function('s:buffer_shiftwidth'),
\ 'continuation-line': function('s:buffer_shiftwidth'),
\ 'case-labels': function('s:buffer_shiftwidth'),
\ 'case-statements': function('s:buffer_shiftwidth'),
\ 'case-breaks': 0 }
function! s:indent_value(option)
let Value = exists('b:sh_indent_options')
\ && has_key(b:sh_indent_options, a:option) ?
\ b:sh_indent_options[a:option] :
\ s:sh_indent_defaults[a:option]
if type(Value) == type(function('type'))
return Value()
endif
return Value
endfunction
function! GetShIndent()
let lnum = prevnonblank(v:lnum - 1) let lnum = prevnonblank(v:lnum - 1)
if lnum == 0 if lnum == 0
return 0 return 0
endif endif
" Add a 'shiftwidth' after if, while, else, case, until, for, function() let pnum = prevnonblank(lnum - 1)
" Skip if the line also contains the closure for the above
let ind = indent(lnum) let ind = indent(lnum)
let line = getline(lnum) let line = getline(lnum)
if line =~ '^\s*\(if\|then\|do\|else\|elif\|case\|while\|until\|for\)\>' if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\)\>'
\ || line =~ '^\s*\<\k\+\>\s*()\s*{' if line !~ '\<\%(fi\|esac\|done\)\>\s*\%(#.*\)\=$'
\ || line =~ '^\s*{' let ind += s:indent_value('default')
if line !~ '\(esac\|fi\|done\)\>\s*$' && line !~ '}\s*$'
let ind = ind + &sw
endif endif
elseif s:is_case_label(line, pnum)
if !s:is_case_ended(line)
let ind += s:indent_value('case-statements')
endif
elseif line =~ '^\s*\<\k\+\>\s*()\s*{' || line =~ '^\s*{'
if line !~ '}\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
elseif s:is_continuation_line(line)
if pnum == 0 || !s:is_continuation_line(getline(pnum))
let ind += s:indent_value('continuation-line')
endif
elseif pnum != 0 && s:is_continuation_line(getline(pnum))
let ind = indent(s:find_continued_lnum(pnum))
endif endif
" Subtract a 'shiftwidth' on a then, do, else, esac, fi, done let pine = line
" Retain the indentation level if line matches fin (for find)
let line = getline(v:lnum) let line = getline(v:lnum)
if (line =~ '^\s*\(then\|do\|else\|elif\|esac\|fi\|done\)\>' || line =~ '^\s*}') if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\)\>' || line =~ '^\s*}'
\ && line !~ '^\s*fi[ln]\>' let ind -= s:indent_value('default')
let ind = ind - &sw elseif line =~ '^\s*esac\>'
let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
\ 0 : s:indent_value('case-statements')) +
\ s:indent_value('case-labels')
if s:is_case_break(pine)
let ind += s:indent_value('case-breaks')
endif
elseif s:is_case_label(line, lnum)
if s:is_case(pine)
let ind = indent(lnum) + s:indent_value('case-labels')
else
let ind -= s:indent_value('case-statements') - s:indent_value('case-breaks')
endif
elseif s:is_case_break(line)
let ind -= s:indent_value('case-breaks')
endif endif
return ind return ind
endfunction endfunction
function! s:is_continuation_line(line)
return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\)$'
endfunction
function! s:find_continued_lnum(lnum)
let i = a:lnum
while i > 1 && s:is_continuation_line(getline(i - 1))
let i -= 1
endwhile
return i
endfunction
function! s:is_case_label(line, pnum)
if a:line !~ '^\s*(\=.*)'
return 0
endif
if a:pnum > 0
let pine = getline(a:pnum)
if !(s:is_case(pine) || s:is_case_ended(pine))
return 0
endif
endif
let suffix = substitute(a:line, '^\s*(\=', "", "")
let nesting = 0
let i = 0
let n = strlen(suffix)
while i < n
let c = suffix[i]
let i += 1
if c == '\\'
let i += 1
elseif c == '('
let nesting += 1
elseif c == ')'
if nesting == 0
return 1
endif
let nesting -= 1
endif
endwhile
return 0
endfunction
function! s:is_case(line)
return a:line =~ '^\s*case\>'
endfunction
function! s:is_case_break(line)
return a:line =~ '^\s*;[;&]'
endfunction
function! s:is_case_ended(line)
return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
endfunction
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save

View File

@@ -1,10 +1,11 @@
" Language: xml " Language: xml
" Maintainer: Johannes Zellner <johannes@zellner.org> " Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST " Last Change: 2009-05-26 00:17:25
" Notes: 1) does not indent pure non-xml code (e.g. embedded scripts) " Notes: 1) does not indent pure non-xml code (e.g. embedded scripts)
" 2) will be confused by unbalanced tags in comments " 2) will be confused by unbalanced tags in comments
" or CDATA sections. " or CDATA sections.
" TODO: implement pre-like tags, see xml_indent_open / xml_indent_close " 2009-05-26 patch by Nikolai Weibull
" TODO: implement pre-like tags, see xml_indent_open / xml_indent_close
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -46,6 +47,9 @@ fun! <SID>XmlIndentSynCheck(lnum)
if '' != syn1 && syn1 !~ 'xml' && '' != syn2 && syn2 !~ 'xml' if '' != syn1 && syn1 !~ 'xml' && '' != syn2 && syn2 !~ 'xml'
" don't indent pure non-xml code " don't indent pure non-xml code
return 0 return 0
elseif syn1 =~ '^xmlComment' && syn2 =~ '^xmlComment'
" indent comments specially
return -1
endif endif
endif endif
return 1 return 1
@@ -74,8 +78,12 @@ fun! XmlIndentGet(lnum, use_syntax_check)
endif endif
if a:use_syntax_check if a:use_syntax_check
if 0 == <SID>XmlIndentSynCheck(lnum) || 0 == <SID>XmlIndentSynCheck(a:lnum) let check_lnum = <SID>XmlIndentSynCheck(lnum)
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
if 0 == check_lnum || 0 == check_alnum
return indent(a:lnum) return indent(a:lnum)
elseif -1 == check_lnum || -1 == check_alnum
return -1
endif endif
endif endif

82
runtime/keymap/dvorak.vim Normal file
View File

@@ -0,0 +1,82 @@
" Maintainer: Ashish SHUKLA <wahjava@members.fsf.org>
" Last Changed: 2009 Jul 04
"
" All characters are ASCII, conversion to another encoding (e.g., UTF-8)
" should work.
let b:keymap_name = "en-dv"
loadkeymap
q '
w ,
e .
r p
t y
y f
u g
i c
o r
p l
[ /
] =
\\ \\
a a
s o
d e
f u
g i
h d
j h
k t
l n
; s
' -
z ;
x q
c j
v k
b x
n b
m m
, w
. v
/ z
Z :
X Q
C J
V K
B X
N B
M M
< W
> V
? Z
A A
S O
D E
F U
G I
H D
J H
K T
L N
: S
\" _
Q "
W <
E >
R P
T Y
Y F
U G
I C
O R
P L
{ ?
} +
| |
- [
_ {
= ]
+ }

View File

@@ -1,8 +1,8 @@
" Menu Translations: Czech for ISO-8859-2 " Menu Translations: Czech for ISO-8859-2
" Maintainer: Jiri Brezina <brzj@seznam.cz> " Maintainer: Jiri Brezina <brzj@seznam.cz>
" vim:set foldmethod=marker: " vim:set foldmethod=marker:
" $Revision$ " $Revision: 1.3 $
" $Date$ " $Date: 2005/12/19 22:08:24 $
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")

View File

@@ -1,8 +1,8 @@
" Menu Translations: Czech for MS-Windows " Menu Translations: Czech for MS-Windows
" Maintainer: Jiri Brezina <brzj@seznam.cz> " Maintainer: Jiri Brezina <brzj@seznam.cz>
" vim:set foldmethod=marker: " vim:set foldmethod=marker:
" $Revision$ " $Revision: 1.3 $
" $Date$ " $Date: 2005/12/19 22:13:30 $
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")

View File

@@ -1,8 +1,8 @@
" Menu Translations: Czech for systems without localization " Menu Translations: Czech for systems without localization
" Maintainer: Jiri Brezina <brzj@seznam.cz> " Maintainer: Jiri Brezina <brzj@seznam.cz>
" vim:set foldmethod=marker: " vim:set foldmethod=marker:
" $Revision$ " $Revision: 1.3 $
" $Date$ " $Date: 2005/12/19 22:06:56 $
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")

View File

@@ -1,7 +1,8 @@
" Menu Translations: Espa<70>ol " Menu Translations: Espa<70>ol
" Maintainer: Alejandro L<>pez-Valencia <dradul@users.sourceforge.net> " Previous translator: Alejandro L<>pez-Valencia <dradul@users.sourceforge.net>
" Version: 6.4.p0-1 " Last translator: Omar Campagne Polaino <ocampagne@gmail.com>
" Last Change: 2005 Dec 01 " Version: 7.2.245
" Last Change: 2009 Sep 03
" "
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
@@ -28,13 +29,14 @@ menutrans O&rphans Ayude\ a\ los\ ni
menutrans Co&pying &T<EFBFBD>rminos\ de\ Licencia menutrans Co&pying &T<EFBFBD>rminos\ de\ Licencia
menutrans Sponsor/Register Benefactor/Reg<EFBFBD>strese menutrans Sponsor/Register Benefactor/Reg<EFBFBD>strese
menutrans &Version &Versi<EFBFBD>n\ e\ \informaci<EFBFBD>n\ de\ configuraci<EFBFBD>n menutrans &Version &Versi<EFBFBD>n\ e\ \informaci<EFBFBD>n\ de\ configuraci<EFBFBD>n
menutrans &About &Acerca\ de\ Vim. menutrans &About &Acerca\ de\ Vim
" File menu " File menu
menutrans &File &Archivo menutrans &File &Archivo
menutrans &Open\.\.\.<Tab>:e &Abrir\.\.\.<Tab>:e menutrans &Open\.\.\.<Tab>:e &Abrir\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp A&brir\ en\ otra\ ventana\.\.\.<Tab>:sp menutrans Sp&lit-Open\.\.\.<Tab>:sp A&brir\ en\ otra\ ventana\.\.\.<Tab>:sp
menutrans &New<Tab>:enew &Nuevo<Tab>:enew menutrans &New<Tab>:enew &Nuevo<Tab>:enew
menutrans Open\ Tab\.\.\.<Tab>:tabnew Abrir\ pes&ta<EFBFBD>a\.\.\.<Tab>:tabnew
menutrans &Close<Tab>:close &Cerrar<Tab>:close menutrans &Close<Tab>:close &Cerrar<Tab>:close
menutrans &Save<Tab>:w &Guardar<Tab>:w menutrans &Save<Tab>:w &Guardar<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Guardar\ &como\.\.\.<Tab>:sav menutrans Save\ &As\.\.\.<Tab>:sav Guardar\ &como\.\.\.<Tab>:sav
@@ -65,11 +67,12 @@ menutrans Find\ and\ Rep&lace<Tab>:%s Buscar\ y\ R&eemplazar<Tab>:%s
menutrans Find\ and\ Rep&lace Buscar\ y\ R&eemplazar menutrans Find\ and\ Rep&lace Buscar\ y\ R&eemplazar
menutrans Find\ and\ Rep&lace<Tab>:s Buscar\ y\ R&eemplazar<Tab>:s menutrans Find\ and\ Rep&lace<Tab>:s Buscar\ y\ R&eemplazar<Tab>:s
menutrans Settings\ &Window &Ventana\ de\ opciones menutrans Settings\ &Window &Ventana\ de\ opciones
menutrans Startup\ &Settings Opciones\ de\ arranque
" Edit/Global Settings " Edit/Global Settings
menutrans &Global\ Settings Opciones\ &globales menutrans &Global\ Settings Opciones\ &globales
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Activar/Desactivar\ &realzado\ de\ sintaxis<Tab>:set\ hls! menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Activar/Desactivar\ &resaltado\ de\ sintaxis<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Activar/Desactivar\ &ignorar\ may<EFBFBD>sculas\ y\ min<EFBFBD>sculas<Tab>:set\ ic! menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Activar/Desactivar\ &ignorar\ may<EFBFBD>sculas\ y\ min<EFBFBD>sculas<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Activar/Desactivar\ &mostrar\ coincidencias<Tab>:set\ sm! menutrans Toggle\ &Showmatch<Tab>:set\ sm! Activar/Desactivar\ &mostrar\ coincidencias<Tab>:set\ sm!
@@ -95,11 +98,11 @@ menutrans Toggle\ &Bottom\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\
menutrans Toggle\ &Left\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ i&zquierda menutrans Toggle\ &Left\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ i&zquierda
menutrans Toggle\ &Right\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ &derecha menutrans Toggle\ &Right\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ &derecha
let g:menutrans_path_dialog = "Introduzca la ruta de b<>squeda para los ficheros.\nSepare los nombres de los directorios con una coma." let g:menutrans_path_dialog = "Introduzca la ruta de b<>squeda para los archivos.\nSepare los nombres de los directorios con una coma."
let g:menutrans_tags_dialog = "Introduzca los nombres de los fichero de tags.\nSepare los nombres con una coma." let g:menutrans_tags_dialog = "Introduzca los nombres de los archivos de tags.\nSepare los nombres con una coma."
" Edit/File Settings " Edit/File Settings
menutrans F&ile\ Settings Opciones\ del\ &fichero menutrans F&ile\ Settings Opciones\ del\ &archivo
" Boolean options " Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numeraci<EFBFBD>n\ de\ l<EFBFBD>neas<Tab>:set\ nu! menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numeraci<EFBFBD>n\ de\ l<EFBFBD>neas<Tab>:set\ nu!
@@ -118,8 +121,8 @@ menutrans Soft\ &Tabstop &Tabulado\
menutrans Te&xt\ Width\.\.\. Anchura\ del\ te&xto\.\.\. menutrans Te&xt\ Width\.\.\. Anchura\ del\ te&xto\.\.\.
let g:menutrans_textwidth_dialog = "Introduzca el nuevo ancho del texto (0 para desactivar el quiebre de l<>nea): " let g:menutrans_textwidth_dialog = "Introduzca el nuevo ancho del texto (0 para desactivar el quiebre de l<>nea): "
menutrans &File\ Format\.\.\. &Formato\ del\ fichero\.\.\. menutrans &File\ Format\.\.\. &Formato\ del\ archivo\.\.\.
let g:menutrans_fileformat_dialog = "Seleccione el formato para escribir el fichero" let g:menutrans_fileformat_dialog = "Seleccione el formato para escribir el archivo"
menutrans C&olor\ Scheme Esquema\ de\ c&olores menutrans C&olor\ Scheme Esquema\ de\ c&olores
menutrans blue azul menutrans blue azul
@@ -154,7 +157,7 @@ menutrans slovak eslovaco
menutrans &Tools &Herramientas menutrans &Tools &Herramientas
menutrans &Jump\ to\ this\ tag<Tab>g^] &Saltar\ a\ este\ etiqueta<Tab>g^] menutrans &Jump\ to\ this\ tag<Tab>g^] &Saltar\ a\ este\ etiqueta<Tab>g^]
menutrans Jump\ &back<Tab>^T Saltar\ &atr<EFBFBD>s<Tab>^T menutrans Jump\ &back<Tab>^T Saltar\ &atr<EFBFBD>s<Tab>^T
menutrans Build\ &Tags\ File Crear\ fichero\ de\ &etiquetas\ menutrans Build\ &Tags\ File Crear\ archivo\ de\ &etiquetas\
menutrans &Diff Modo\ de\ &diferencias menutrans &Diff Modo\ de\ &diferencias
menutrans &Folding &Plegado menutrans &Folding &Plegado
menutrans &Make<Tab>:make Ejecutar\ <20>&Make<EFBFBD><Tab>:make menutrans &Make<Tab>:make Ejecutar\ <20>&Make<EFBFBD><Tab>:make
@@ -169,6 +172,24 @@ menutrans &Set\ Compiler Esco&ger\ el\ compilador\ a\ usar
menutrans &Convert\ to\ HEX<Tab>:%!xxd Convertir\ a\ formato\ &hexadecimal<Tab>:%!xxd menutrans &Convert\ to\ HEX<Tab>:%!xxd Convertir\ a\ formato\ &hexadecimal<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r &Convertir\ al\ formato\ original<Tab>:%!xxd\ -r menutrans Conve&rt\ back<Tab>:%!xxd\ -r &Convertir\ al\ formato\ original<Tab>:%!xxd\ -r
" Tools.Spelling Menu
menutrans &Spelling Correcci<EFBFBD>n\ ortogr<EFBFBD>fica
menutrans &Spell\ Check\ On &Activar\ correcci<EFBFBD>n\ ortogr<EFBFBD>fica
menutrans Spell\ Check\ &Off &Desactivar\ correcci<EFBFBD>n\ ortogr<EFBFBD>fica
menutrans To\ &Next\ error<Tab>]s &Siguiente\ error<Tab>]s
menutrans To\ &Previous\ error<Tab>[s Error\ &precedente<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= Sugerir\ &correcci<EFBFBD>n<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall &Repetir\ correcci<EFBFBD>n<Tab>:spellrepall
an 40.335.205 &Tools.&Spelling.Castellano\ (es) :set spl=es spell<CR>
menutrans Set\ language\ to\ "en" Ingl<EFBFBD>s
menutrans Set\ language\ to\ "en_au" Ingl<EFBFBD>s\ (en_au)
menutrans Set\ language\ to\ "en_ca" Ingl<EFBFBD>s\ (en_ca)
menutrans Set\ language\ to\ "en_gb" Ingl<EFBFBD>s\ (en_gb)
menutrans Set\ language\ to\ "en_nz" Ingl<EFBFBD>s\ (en_nz)
menutrans Set\ language\ to\ "en_us" Ingl<EFBFBD>s\ (en_us)
menutrans &Find\ More\ Languages &Buscar\ otras\ lenguas
" Tools.Fold Menu " Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi &Activar/Desactivar\ pliegues<Tab>zi menutrans &Enable/Disable\ folds<Tab>zi &Activar/Desactivar\ pliegues<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Ver\ l<EFBFBD>nea\ del\ cursor<Tab>zv menutrans &View\ Cursor\ Line<Tab>zv &Ver\ l<EFBFBD>nea\ del\ cursor<Tab>zv
@@ -182,7 +203,7 @@ menutrans Fold\ Met&hod &M
" create and delete folds " create and delete folds
menutrans Create\ &Fold<Tab>zf Crear\ &pliegue<Tab>zf menutrans Create\ &Fold<Tab>zf Crear\ &pliegue<Tab>zf
menutrans &Delete\ Fold<Tab>zd &Suprimir\ pliegue<Tab>zd menutrans &Delete\ Fold<Tab>zd &Suprimir\ pliegue<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Suprimir\ &todos\ los\ pligues<Tab>zD menutrans Delete\ &All\ Folds<Tab>zD Suprimir\ &todos\ los\ pliegues<Tab>zD
" moving around in folds " moving around in folds
menutrans Fold\ col&umn\ width A&nchura\ de\ columna\ del\ pliegue menutrans Fold\ col&umn\ width A&nchura\ de\ columna\ del\ pliegue
@@ -203,7 +224,7 @@ menutrans &Delete &Suprimir
menutrans &Alternate &Alternar menutrans &Alternate &Alternar
menutrans &Next Si&guiente menutrans &Next Si&guiente
menutrans &Previous &Previo menutrans &Previous &Previo
let g:menutrans_no_file = "[Sin fichero]" let g:menutrans_no_file = "[Sin archivo]"
" Window menu " Window menu
menutrans &Window &Ventana menutrans &Window &Ventana
@@ -211,7 +232,7 @@ menutrans &New<Tab>^Wn Ventana\ &nueva<Tab>^Wn
menutrans S&plit<Tab>^Ws &Dividir\ la\ ventana<Tab>^Ws menutrans S&plit<Tab>^Ws &Dividir\ la\ ventana<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ D&ividir\ en\ el\ marcador\ (#)<Tab>^W^^ menutrans Sp&lit\ To\ #<Tab>^W^^ D&ividir\ en\ el\ marcador\ (#)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Dividir\ &verticalmente<Tab>^Wv menutrans Split\ &Vertically<Tab>^Wv Dividir\ &verticalmente<Tab>^Wv
menutrans Split\ File\ E&xplorer &Abrir\ el\ <20>Explorador\ de\ ficheros<EFBFBD> menutrans Split\ File\ E&xplorer &Abrir\ el\ <20>Explorador\ de\ archivos<EFBFBD>
menutrans &Close<Tab>^Wc &Cerrar\ esta\ ventana<Tab>^Wc menutrans &Close<Tab>^Wc &Cerrar\ esta\ ventana<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Cerrar\ &otra(s)\ ventana(s)<Tab>^Wo menutrans Close\ &Other(s)<Tab>^Wo Cerrar\ &otra(s)\ ventana(s)<Tab>^Wo
menutrans Move\ &To Mov&er\ a menutrans Move\ &To Mov&er\ a
@@ -245,9 +266,9 @@ if has("toolbar")
delfun Do_toolbar_tmenu delfun Do_toolbar_tmenu
endif endif
fun Do_toolbar_tmenu() fun Do_toolbar_tmenu()
tmenu ToolBar.Open Abrir fichero tmenu ToolBar.Open Abrir archivo
tmenu ToolBar.Save Guardar fichero tmenu ToolBar.Save Guardar archivo
tmenu ToolBar.SaveAll Guardar todos los ficheros tmenu ToolBar.SaveAll Guardar todos los archivos
tmenu ToolBar.Print Imprimir tmenu ToolBar.Print Imprimir
tmenu ToolBar.Undo Deshacer tmenu ToolBar.Undo Deshacer
tmenu ToolBar.Redo Rehacer tmenu ToolBar.Redo Rehacer
@@ -273,7 +294,7 @@ if has("toolbar")
tmenu ToolBar.RunScript Ejecutar un archivo de <20>rdenes tmenu ToolBar.RunScript Ejecutar un archivo de <20>rdenes
tmenu ToolBar.Make Ejecutar <20>Make<EFBFBD> tmenu ToolBar.Make Ejecutar <20>Make<EFBFBD>
tmenu ToolBar.Shell Abrir un int<EFBFBD>rprete de comandos tmenu ToolBar.Shell Abrir un int<EFBFBD>rprete de comandos
tmenu ToolBar.RunCtags Generar un fichero de etiquetas tmenu ToolBar.RunCtags Generar un archivo de etiquetas
tmenu ToolBar.TagJump Saltar a una etiqueta tmenu ToolBar.TagJump Saltar a una etiqueta
tmenu ToolBar.Help Ayuda tmenu ToolBar.Help Ayuda
tmenu ToolBar.FindHelp Buscar en la ayuda... tmenu ToolBar.FindHelp Buscar en la ayuda...
@@ -282,15 +303,15 @@ endif
" Syntax menu " Syntax menu
menutrans &Syntax &Sintaxis menutrans &Syntax &Sintaxis
menutrans &Show\ filetypes\ in\ menu &Mostrar\ listas\ de\ <20>tipo\ de\ fichero<EFBFBD> menutrans &Show\ filetypes\ in\ menu &Mostrar\ listas\ de\ <20>tipo\ de\ archivo<EFBFBD>
menutrans Set\ '&syntax'\ only Activar\ s<EFBFBD>lo\ sintaxis menutrans Set\ '&syntax'\ only Activar\ s<EFBFBD>lo\ sintaxis
menutrans Set\ '&filetype'\ too Activar\ tambi<EFBFBD>n\ <20>tipo\ de\ fichero<EFBFBD> menutrans Set\ '&filetype'\ too Activar\ tambi<EFBFBD>n\ <20>tipo\ de\ archivo<EFBFBD>
menutrans &Off &Desactivar\ sintaxis menutrans &Off &Desactivar\ sintaxis
menutrans &Manual sintaxis\ &manual menutrans &Manual Sintaxis\ &manual
menutrans A&utomatic sintaxis\ a&utom<EFBFBD>tica menutrans A&utomatic Sintaxis\ a&utom<EFBFBD>tica
menutrans on/off\ for\ &This\ file Activar/Desactivar\ en\ es&te\ fichero menutrans on/off\ for\ &This\ file Activar/Desactivar\ en\ es&te\ archivo
menutrans Co&lor\ test &Prueba\ de\ colores menutrans Co&lor\ test &Prueba\ de\ colores
menutrans &Highlight\ test Prueba\ de\ &realzado menutrans &Highlight\ test Prueba\ de\ &resaltado
menutrans &Convert\ to\ HTML &Convertir\ a\ HTML menutrans &Convert\ to\ HTML &Convertir\ a\ HTML
" Find Help dialog text " Find Help dialog text

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean " Menu Translations: Korean
" Maintainer: Nam SungHyun <namsh@kldp.org> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2003 Apr 25 " Last Change: 2008 Sep 17
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean " Menu Translations: Korean
" Maintainer: Nam SungHyun <namsh@kldp.org> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2003 Apr 25 " Last Change: 2008 Sep 17
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")

View File

@@ -1,5 +1,5 @@
" Menu Translations: Korean " Menu Translations: Korean
" Translated By: Nam SungHyun <namsh@kldp.org> " Translated By: SungHyun Nam <goweol@gmail.com>
" Last Change: 2003 Feb 24 " Last Change: 2008 Sep 17
source <sfile>:p:h/menu_ko_kr.euckr.vim source <sfile>:p:h/menu_ko_kr.euckr.vim

View File

@@ -3,7 +3,7 @@
" Last Change: 26 Apr 2004 " Last Change: 26 Apr 2004
" URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim " URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim
" "
" $Id$ " $Id: menu_ru_ru.koi8-r.vim,v 1.2 2004/06/16 11:19:21 vimboss Exp $
" "
" Adopted for RuVim project by Vassily Ragosin. " Adopted for RuVim project by Vassily Ragosin.
" First translation: Tim Alexeevsky <realtim [at] mail.ru>, " First translation: Tim Alexeevsky <realtim [at] mail.ru>,

View File

@@ -3,7 +3,7 @@
" Last Change: 26 Apr 2004 " Last Change: 26 Apr 2004
" URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim " URL: cvs://cvs.sf.net:/cvsroot/ruvim/extras/menu/menu_ru_ru.vim
" "
" $Id$ " $Id: menu_ru_ru.vim,v 1.1 2004/06/13 16:09:10 vimboss Exp $
" "
" Adopted for RuVim project by Vassily Ragosin. " Adopted for RuVim project by Vassily Ragosin.
" First translation: Tim Alexeevsky <realtim [at] mail.ru>, " First translation: Tim Alexeevsky <realtim [at] mail.ru>,

View File

@@ -357,7 +357,7 @@ fun! s:InsertRefs(groupBR, prefix, group, suffix, matchline)
execute s:Ref(ini, d, "start", "len") execute s:Ref(ini, d, "start", "len")
let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len) let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len)
let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d, let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d,
\ escape(backref, '\\'), 'g') \ escape(backref, '\\&'), 'g')
endif endif
let d = d-1 let d = d-1
endwhile endwhile

View File

@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus. " You can also use this as a start for your own set of menus.
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jun 30 " Last Change: 2009 Feb 26
" Note that ":an" (short for ":anoremenu") is often used to make a menu work " Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user. " in all modes and avoid side effects from mappings defined by the user.
@@ -138,6 +138,7 @@ endfunc
func! s:FnameEscape(fname) func! s:FnameEscape(fname)
if exists('*fnameescape') if exists('*fnameescape')
return fnameescape(a:fname) return fnameescape(a:fname)
endif
return escape(a:fname, " \t\n*?[{`$\\%#'\"|!<") return escape(a:fname, " \t\n*?[{`$\\%#'\"|!<")
endfunc endfunc
@@ -1016,10 +1017,9 @@ else
tmenu ToolBar.Copy Copy to clipboard tmenu ToolBar.Copy Copy to clipboard
tmenu ToolBar.Paste Paste from Clipboard tmenu ToolBar.Paste Paste from Clipboard
if !has("gui_athena") if !has("gui_athena")
tmenu ToolBar.Find Find... tmenu ToolBar.Replace Find / Replace...
tmenu ToolBar.FindNext Find Next tmenu ToolBar.FindNext Find Next
tmenu ToolBar.FindPrev Find Previous tmenu ToolBar.FindPrev Find Previous
tmenu ToolBar.Replace Find / Replace...
endif endif
tmenu ToolBar.LoadSesn Choose a session to load tmenu ToolBar.LoadSesn Choose a session to load
tmenu ToolBar.SaveSesn Save current session tmenu ToolBar.SaveSesn Save current session

View File

@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
endif endif
finish finish
endif endif
let g:loaded_getscriptPlugin = "v31" let g:loaded_getscriptPlugin = "v32"
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim

View File

@@ -1,6 +1,6 @@
" Vim plugin for editing compressed files. " Vim plugin for editing compressed files.
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 26 " Last Change: 2009 Jul 01
" Exit quickly when: " Exit quickly when:
" - this plugin was already loaded " - this plugin was already loaded
@@ -20,17 +20,21 @@ augroup gzip
" "
" Set binary mode before reading the file. " Set binary mode before reading the file.
" Use "gzip -d", gunzip isn't always available. " Use "gzip -d", gunzip isn't always available.
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z setlocal bin autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma setlocal bin
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d")
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
autocmd FileAppendPre *.Z call gzip#appre("uncompress") autocmd FileAppendPre *.Z call gzip#appre("uncompress")
autocmd FileAppendPre *.lzma call gzip#appre("lzma -d")
autocmd FileAppendPost *.gz call gzip#write("gzip") autocmd FileAppendPost *.gz call gzip#write("gzip")
autocmd FileAppendPost *.bz2 call gzip#write("bzip2") autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
autocmd FileAppendPost *.Z call gzip#write("compress -f") autocmd FileAppendPost *.Z call gzip#write("compress -f")
autocmd FileAppendPost *.lzma call gzip#write("lzma -z")
augroup END augroup END

View File

@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens " Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Feb 27 " Last Change: 2008 Sep 03
" Exit quickly when: " Exit quickly when:
" - this plugin was already loaded (or disabled) " - this plugin was already loaded (or disabled)
@@ -21,7 +21,7 @@ if exists("*s:Highlight_Matching_Pair")
finish finish
endif endif
let cpo_save = &cpo let s:cpo_save = &cpo
set cpo-=C set cpo-=C
" The function that is invoked (very often) to define a ":match" highlighting " The function that is invoked (very often) to define a ":match" highlighting
@@ -147,4 +147,5 @@ command! NoMatchParen windo 3match none | unlet! g:loaded_matchparen |
\ au! matchparen \ au! matchparen
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
let &cpo = cpo_save let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION " PLUGIN SECTION
" Date: Aug 01, 2008 " Date: Aug 10, 2008
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -16,19 +16,16 @@
" But be doers of the Word, and not only hearers, deluding your own selves {{{1 " But be doers of the Word, and not only hearers, deluding your own selves {{{1
" (James 1:22 RSV) " (James 1:22 RSV)
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
" ---------------------------------------------------------------------
" Load Once: {{{1 " Load Once: {{{1
if &cp || exists("g:loaded_netrwPlugin") if &cp || exists("g:loaded_netrwPlugin")
finish finish
endif endif
let g:loaded_netrwPlugin = "v132" let g:loaded_netrwPlugin = "v136"
let s:keepcpo = &cpo if v:version < 702
if v:version < 700 echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 for this version of netrw" | echohl None
finish finish
endif endif
let s:keepcpo= &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
@@ -52,8 +49,8 @@ augroup Network
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>"))) au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>"))) au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
endif endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|exe '2Nread '.fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>")) au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|exe 'Nread '.fnameescape(expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>")) au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>")) au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>")) au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
try try
@@ -155,24 +152,6 @@ fun! NetUserPass(...)
" call Dret("NetUserPass") " call Dret("NetUserPass")
endfun endfun
" ------------------------------------------------------------------------
" NetReadFixup: this sort of function is typically written by the user {{{1
" to handle extra junk that their system's ftp dumps
" into the transfer. This function is provided as an
" example and as a fix for a Windows 95 problem: in my
" experience, win95's ftp always dumped four blank lines
" at the end of the transfer.
if has("win95") && exists("g:netrw_win95ftp") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
silent fourblanklines.",".line2."g/^\s*/d"
endif
" call Dret("NetReadFixup")
endfun
endif
" ------------------------------------------------------------------------ " ------------------------------------------------------------------------
" Modelines And Restoration: {{{1 " Modelines And Restoration: {{{1
let &cpo= s:keepcpo let &cpo= s:keepcpo

View File

@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_tarPlugin") if &cp || exists("g:loaded_tarPlugin")
finish finish
endif endif
let g:loaded_tarPlugin = "v23" let g:loaded_tarPlugin = "v24"
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
@@ -34,13 +34,15 @@ augroup tar
au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>")) au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
endif endif
au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar call tar#Browse(expand("<amatch>"))
au BufReadCmd *.lrp call tar#Browse(expand("<amatch>")) au BufReadCmd *.lrp call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.Z call tar#Browse(expand("<amatch>")) au BufReadCmd *.tar.Z call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tgz call tar#Browse(expand("<amatch>")) au BufReadCmd *.tgz call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.lzma call tar#Browse(expand("<amatch>"))
augroup END augroup END
com! -nargs=? -complete=file Vimuntar call tar#Vimuntar(<q-args>)
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Restoration And Modelines: {{{1 " Restoration And Modelines: {{{1

View File

@@ -1,6 +1,6 @@
" vimballPlugin : construct a file containing both paths and files " vimballPlugin : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Copyright: (c) 2004-2007 by Charles E. Campbell, Jr. " Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt " The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim". " (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied. " No warranty, express or implied.
@@ -16,18 +16,18 @@
if &cp || exists("g:loaded_vimballPlugin") if &cp || exists("g:loaded_vimballPlugin")
finish finish
endif endif
let g:loaded_vimballPlugin = "v29" let g:loaded_vimballPlugin = "v30"
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
" ------------------------------------------------------------------------------ " ------------------------------------------------------------------------------
" Public Interface: {{{1 " Public Interface: {{{1
com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>) com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>) com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
com! -na=0 VimballList call vimball#Vimball(0) com! -na=0 VimballList call vimball#Vimball(0)
com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings() com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
au BufEnter *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>")) au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>"))|call vimball#Vimball(1)
au BufEnter *.vba setlocal ff=unix noma bt=nofile fmr=[[[,]]] fdm=marker|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)") au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'| setlocal ff=unix|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
" ===================================================================== " =====================================================================
" Restoration And Modelines: {{{1 " Restoration And Modelines: {{{1

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types in scripts " Vim support file to detect file types in scripts
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2008 Aug 09 " Last change: 2009 Dec 24
" This file is called by an autocommand for every file that has just been " This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by " loaded into a buffer. It checks if the type of file can be recognized by
@@ -318,30 +318,31 @@ else
set ft=scheme set ft=scheme
" Git output " Git output
elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}$\|^tag \S\+$' elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
set ft=git set ft=git
" CVS diff " CVS diff
else else
let lnum = 1 let s:lnum = 1
while getline(lnum) =~ "^? " && lnum < line("$") while getline(s:lnum) =~ "^? " && s:lnum < line("$")
let lnum = lnum + 1 let s:lnum += 1
endwhile endwhile
if getline(lnum) =~ '^Index:\s\+\f\+$' if getline(s:lnum) =~ '^Index:\s\+\f\+$'
set ft=diff set ft=diff
" locale input files: Formal Definitions of Cultural Conventions " locale input files: Formal Definitions of Cultural Conventions
" filename must be like en_US, fr_FR@euro or en_US.UTF-8 " filename must be like en_US, fr_FR@euro or en_US.UTF-8
elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_' elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
let lnum = 1 let s:lnum = 1
while lnum < 100 && lnum < line("$") while s:lnum < 100 && s:lnum < line("$")
if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$' if getline(s:lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
setf fdcc setf fdcc
break break
endif endif
let lnum = lnum + 1 let s:lnum += 1
endwhile endwhile
endif endif
unlet s:lnum
endif endif

View File

@@ -72,7 +72,7 @@ This procedure should work well:
change too much, the OpenOffice people are not stupid. However, you may change too much, the OpenOffice people are not stupid. However, you may
want to remove obvious mistakes. And remove single-letter words that want to remove obvious mistakes. And remove single-letter words that
aren't really words, they mess up the suggestions (English has this aren't really words, they mess up the suggestions (English has this
problem). You can use the "fixdup" Vim script to find duplicate words. problem). You can use the "fixdup.vim" Vim script to find duplicate words.
3. Make the diff file. "aap diff" will do this for you. If a diff would be 3. Make the diff file. "aap diff" will do this for you. If a diff would be
too big you might consider writing a Vim script to do systematic changes. too big you might consider writing a Vim script to do systematic changes.

27
runtime/spell/fixdup.vim Normal file
View File

@@ -0,0 +1,27 @@
" Vim script to fix duplicate words in a .dic file vim: set ft=vim:
"
" Usage: Edit the .dic file and source this script.
let deleted = 0
" Start below the word count.
let lnum = 2
while lnum <= line('$')
let word = getline(lnum)
if word !~ '/'
if search('^' . word . '/', 'w') != 0
let deleted += 1
exe lnum . "d"
continue " don't increment lnum, it's already at the next word
endif
endif
let lnum += 1
endwhile
if deleted == 0
echomsg "No duplicate words found"
elseif deleted == 1
echomsg "Deleted 1 duplicate word"
else
echomsg printf("Deleted %d duplicate words", deleted)
endif

View File

@@ -1,13 +1,18 @@
" Vim syntax support file " Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jul 17 " Last Change: 2009 Jul 14
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>) " (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>) " (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
" (made w3 compliant by Edd Barrett <vext01@gmail.com>) " (made w3 compliant by Edd Barrett <vext01@gmail.com>)
" (added html_font. Edd Barrett <vext01@gmail.com>) " (added html_font. Edd Barrett <vext01@gmail.com>)
" (dynamic folding by Ben Fritz <fritzophrenic@gmail.com>)
" Transform a file into HTML, using the current syntax highlighting. " Transform a file into HTML, using the current syntax highlighting.
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo-=C
" Number lines when explicitely requested or when `number' is set " Number lines when explicitely requested or when `number' is set
if exists("html_number_lines") if exists("html_number_lines")
let s:numblines = html_number_lines let s:numblines = html_number_lines
@@ -22,6 +27,37 @@ else
let s:htmlfont = "monospace" let s:htmlfont = "monospace"
endif endif
" make copies of the user-defined settings that we may overrule
if exists("html_dynamic_folds")
let s:html_dynamic_folds = 1
endif
if exists("html_hover_unfold")
let s:html_hover_unfold = 1
endif
if exists("html_use_css")
let s:html_use_css = 1
endif
" hover opening implies dynamic folding
if exists("s:html_hover_unfold")
let s:html_dynamic_folds = 1
endif
" dynamic folding with no foldcolumn implies hover opens
if exists("s:html_dynamic_folds") && exists("html_no_foldcolumn")
let s:html_hover_unfold = 1
endif
" ignore folding overrides dynamic folding
if exists("html_ignore_folding") && exists("s:html_dynamic_folds")
unlet s:html_dynamic_folds
endif
" dynamic folding implies css
if exists("s:html_dynamic_folds")
let s:html_use_css = 1
endif
" When not in gui we can only guess the colors. " When not in gui we can only guess the colors.
if has("gui_running") if has("gui_running")
let s:whatterm = "gui" let s:whatterm = "gui"
@@ -62,7 +98,7 @@ else
endfun endfun
endif endif
if !exists("html_use_css") if !exists("s:html_use_css")
" Return opening HTML tag for given highlight id " Return opening HTML tag for given highlight id
function! s:HtmlOpening(id) function! s:HtmlOpening(id)
let a = "" let a = ""
@@ -150,6 +186,26 @@ function! s:CSS1(id)
return a return a
endfun endfun
if exists("s:html_dynamic_folds")
" compares two folds as stored in our list of folds
" A fold is "less" than another if it starts at an earlier line number,
" or ends at a later line number, ties broken by fold level
function! s:FoldCompare(f1, f2)
if a:f1.firstline != a:f2.firstline
" put it before if it starts earlier
return a:f1.firstline - a:f2.firstline
elseif a:f1.lastline != a:f2.lastline
" put it before if it ends later
return a:f2.lastline - a:f1.lastline
else
" if folds begin and end on the same lines, put lowest fold level first
return a:f1.level - a:f2.level
endif
endfunction
endif
" Figure out proper MIME charset from the 'encoding' option. " Figure out proper MIME charset from the 'encoding' option.
if exists("html_use_encoding") if exists("html_use_encoding")
let s:html_encoding = html_use_encoding let s:html_encoding = html_use_encoding
@@ -223,13 +279,13 @@ else
let s:tag_close = '>' let s:tag_close = '>'
endif endif
" Cache html_no_pre incase we have to turn it on for non-css mode " Cache html_no_pre in case we have to turn it on for non-css mode
if exists("html_no_pre") if exists("html_no_pre")
let s:old_html_no_pre = html_no_pre let s:old_html_no_pre = html_no_pre
endif endif
if !exists("html_use_css") if !exists("s:html_use_css")
" Cant put font tags in <pre> " Can't put font tags in <pre>
let html_no_pre=1 let html_no_pre=1
endif endif
@@ -251,9 +307,86 @@ if s:html_encoding != ""
exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . s:tag_close . "\n\e" exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . s:tag_close . "\n\e"
endif endif
if exists("html_use_css") if exists("s:html_use_css")
exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e" if exists("s:html_dynamic_folds")
if exists("s:html_hover_unfold")
" if we are doing hover_unfold, use css 2 with css 1 fallback for IE6
exe "normal! a".
\ "<style type=\"text/css\">\n<!--\n".
\ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
\ "body * { margin: 0; padding: 0; }\n".
\ "\n".
\ ".open-fold > .Folded { display: none; }\n".
\ ".open-fold > .fulltext { display: inline; }\n".
\ ".closed-fold > .fulltext { display: none; }\n".
\ ".closed-fold > .Folded { display: inline; }\n".
\ "\n".
\ ".open-fold > .toggle-open { display: none; }\n".
\ ".open-fold > .toggle-closed { display: inline; }\n".
\ ".closed-fold > .toggle-open { display: inline; }\n".
\ ".closed-fold > .toggle-closed { display: none; }\n"
exe "normal! a\n/* opening a fold while hovering won't be supported by IE6 and other\n".
\ "similar browsers, but it should fail gracefully. */\n".
\ ".closed-fold:hover > .fulltext { display: inline; }\n".
\ ".closed-fold:hover > .toggle-filler { display: none; }\n".
\ ".closed-fold:hover > .Folded { display: none; }\n"
exe "normal! a-->\n</style>\n"
exe "normal! a<!--[if lt IE 7]>".
\ "<style type=\"text/css\">\n".
\ ".open-fold .Folded { display: none; }\n".
\ ".open-fold .fulltext { display: inline; }\n".
\ ".open-fold .toggle-open { display: none; }\n".
\ ".closed-fold .toggle-closed { display: inline; }\n".
\ "\n".
\ ".closed-fold .fulltext { display: none; }\n".
\ ".closed-fold .Folded { display: inline; }\n".
\ ".closed-fold .toggle-open { display: inline; }\n".
\ ".closed-fold .toggle-closed { display: none; }\n".
\ "</style>\n".
\ "<![endif]-->\n"
else
" if we aren't doing hover_unfold, use CSS 1 only
exe "normal! a<style type=\"text/css\">\n<!--\n".
\ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
\ ".open-fold .Folded { display: none; }\n".
\ ".open-fold .fulltext { display: inline; }\n".
\ ".open-fold .toggle-open { display: none; }\n".
\ ".closed-fold .toggle-closed { display: inline; }\n".
\ "\n".
\ ".closed-fold .fulltext { display: none; }\n".
\ ".closed-fold .Folded { display: inline; }\n".
\ ".closed-fold .toggle-open { display: inline; }\n".
\ ".closed-fold .toggle-closed { display: none; }\n".
\ "-->\n</style>\n"
endif
else
" if we aren't doing any dynamic folding, no need for any special rules
exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
endif
endif endif
" insert javascript to toggle folds open and closed
if exists("s:html_dynamic_folds")
exe "normal! a\n".
\ "<script type='text/javascript'>\n".
\ "<!--\n".
\ "function toggleFold(objID)\n".
\ "{\n".
\ " var fold;\n".
\ " fold = document.getElementById(objID);\n".
\ " if(fold.className == 'closed-fold')\n".
\ " {\n".
\ " fold.className = 'open-fold';\n".
\ " }\n".
\ " else if (fold.className == 'open-fold')\n".
\ " {\n".
\ " fold.className = 'closed-fold';\n".
\ " }\n".
\ "}\n".
\ "-->\n".
\ "</script>\n\e"
endif
if exists("html_no_pre") if exists("html_no_pre")
exe "normal! a</head>\n<body>\n\e" exe "normal! a</head>\n<body>\n\e"
else else
@@ -265,7 +398,81 @@ exe s:orgwin . "wincmd w"
" List of all id's " List of all id's
let s:idlist = "," let s:idlist = ","
" Loop over all lines in the original text. " First do some preprocessing for dynamic folding. Do this for the entire file
" so we don't accidentally start within a closed fold or something.
let s:allfolds = []
if exists("s:html_dynamic_folds")
let s:lnum = 1
let s:end = line('$')
" save the fold text and set it to the default so we can find fold levels
let s:foldtext_save = &foldtext
set foldtext&
" we will set the foldcolumn in the html to the greater of the maximum fold
" level and the current foldcolumn setting
let s:foldcolumn = &foldcolumn
" get all info needed to describe currently closed folds
while s:lnum < s:end
if foldclosed(s:lnum) == s:lnum
" default fold text has '+-' and then a number of dashes equal to fold
" level, so subtract 2 from index of first non-dash after the dashes
" in order to get the fold level of the current fold
let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
if s:level+1 > s:foldcolumn
let s:foldcolumn = s:level+1
endif
" store fold info for later use
let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
call add(s:allfolds, s:newfold)
" open the fold so we can find any contained folds
execute s:lnum."foldopen"
else
let s:lnum = s:lnum + 1
endif
endwhile
" close all folds to get info for originally open folds
silent! %foldclose!
let s:lnum = 1
" the originally open folds will be all folds we encounter that aren't
" already in the list of closed folds
while s:lnum < s:end
if foldclosed(s:lnum) == s:lnum
" default fold text has '+-' and then a number of dashes equal to fold
" level, so subtract 2 from index of first non-dash after the dashes
" in order to get the fold level of the current fold
let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
if s:level+1 > s:foldcolumn
let s:foldcolumn = s:level+1
endif
let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
" only add the fold if we don't already have it
if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
let s:newfold.type = "open-fold"
call add(s:allfolds, s:newfold)
endif
" open the fold so we can find any contained folds
execute s:lnum."foldopen"
else
let s:lnum = s:lnum + 1
endif
endwhile
" sort the folds so that we only ever need to look at the first item in the
" list of folds
call sort(s:allfolds, "s:FoldCompare")
let &foldtext = s:foldtext_save
unlet s:foldtext_save
" close all folds again so we can get the fold text as we go
silent! %foldclose!
endif
" Now loop over all lines in the original text to convert to html.
" Use html_start_line and html_end_line if they are set. " Use html_start_line and html_end_line if they are set.
if exists("html_start_line") if exists("html_start_line")
let s:lnum = html_start_line let s:lnum = html_start_line
@@ -284,6 +491,15 @@ else
let s:end = line("$") let s:end = line("$")
endif endif
" stack to keep track of all the folds containing the current line
let s:foldstack = []
if s:numblines
let s:margin = strlen(s:end) + 1
else
let s:margin = 0
endif
if has('folding') && !exists('html_ignore_folding') if has('folding') && !exists('html_ignore_folding')
let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')] let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
if s:foldfillchar == '' if s:foldfillchar == ''
@@ -295,6 +511,7 @@ if s:difffillchar == ''
let s:difffillchar = '-' let s:difffillchar = '-'
endif endif
let s:foldId = 0
while s:lnum <= s:end while s:lnum <= s:end
@@ -303,12 +520,7 @@ while s:lnum <= s:end
if s:filler > 0 if s:filler > 0
let s:n = s:filler let s:n = s:filler
while s:n > 0 while s:n > 0
if s:numblines let s:new = repeat(s:difffillchar, 3)
" Indent if line numbering is on
let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
else
let s:new = repeat(s:difffillchar, 3)
endif
if s:n > 2 && s:n < s:filler && !exists("html_whole_filler") if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
let s:new = s:new . " " . s:filler . " inserted lines " let s:new = s:new . " " . s:filler . " inserted lines "
@@ -317,10 +529,16 @@ while s:lnum <= s:end
if !exists("html_no_pre") if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin " HTML line wrapping is off--go ahead and fill to the margin
let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new)) let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new) - s:margin)
else
let s:new = s:new . repeat(s:difffillchar, 3)
endif endif
let s:new = s:HtmlFormat(s:new, "DiffDelete") let s:new = s:HtmlFormat(s:new, "DiffDelete")
if s:numblines
" Indent if line numbering is on; must be after escaping.
let s:new = repeat(s:LeadingSpace, s:margin) . s:new
endif
exe s:newwin . "wincmd w" exe s:newwin . "wincmd w"
exe "normal! a" . s:new . s:HtmlEndline . "\n\e" exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
exe s:orgwin . "wincmd w" exe s:orgwin . "wincmd w"
@@ -333,16 +551,18 @@ while s:lnum <= s:end
" Start the line with the line number. " Start the line with the line number.
if s:numblines if s:numblines
let s:new = repeat(' ', strlen(s:end) - strlen(s:lnum)) . s:lnum . ' ' let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) . s:lnum . ' '
else else
let s:new = "" let s:numcol = ""
endif endif
if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1 let s:new = ""
if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1 && !exists('s:html_dynamic_folds')
" "
" This is the beginning of a folded block " This is the beginning of a folded block (with no dynamic folding)
" "
let s:new = s:new . foldtextresult(s:lnum) let s:new = s:numcol . foldtextresult(s:lnum)
if !exists("html_no_pre") if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin " HTML line wrapping is off--go ahead and fill to the margin
let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new)) let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
@@ -355,14 +575,96 @@ while s:lnum <= s:end
else else
" "
" A line that is not folded. " A line that is not folded, or doing dynamic folding.
" "
let s:line = getline(s:lnum) let s:line = getline(s:lnum)
let s:len = strlen(s:line) let s:len = strlen(s:line)
if exists("s:html_dynamic_folds")
" First insert a closing for any open folds that end on this line
while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
let s:new = s:new."</span></span>"
call remove(s:foldstack, 0)
endwhile
" Now insert an opening any new folds that start on this line
let s:firstfold = 1
while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
let s:foldId = s:foldId + 1
let s:new = s:new . "<span id='fold".s:foldId."' class='".s:allfolds[0].type."'>"
" Unless disabled, add a fold column for the opening line of a fold.
"
" Note that dynamic folds require using css so we just use css to take
" care of the leading spaces rather than using &nbsp; in the case of
" html_no_pre to make it easier
if !exists("html_no_foldcolumn")
" add fold column that can open the new fold
if s:allfolds[0].level > 1 && s:firstfold
let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
let s:new = s:new . repeat('|', s:allfolds[0].level - 1) . "</a>"
endif
let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>+</a>"
let s:new = s:new . "<a class='toggle-open "
" If this is not the last fold we're opening on this line, we need
" to keep the filler spaces hidden if the fold is opened by mouse
" hover. If it is the last fold to open in the line, we shouldn't hide
" them, so don't apply the toggle-filler class.
if get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum
let s:new = s:new . "toggle-filler "
endif
let s:new = s:new . "FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level) . "</a>"
" add fold column that can close the new fold
let s:new = s:new . "<a class='toggle-closed FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
if s:firstfold
let s:new = s:new . repeat('|', s:allfolds[0].level - 1)
endif
let s:new = s:new . "-"
" only add spaces if we aren't opening another fold on the same line
if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level)
endif
let s:new = s:new . "</a>"
let s:firstfold = 0
endif
" add fold text, moving the span ending to the next line so collapsing
" of folds works correctly
let s:new = s:new . substitute(s:HtmlFormat(s:numcol . foldtextresult(s:lnum), "Folded"), '</span>', s:HtmlEndline.'\r\0', '')
let s:new = s:new . "<span class='fulltext'>"
" open the fold now that we have the fold text to allow retrieval of
" fold text for subsequent folds
execute s:lnum."foldopen"
call insert(s:foldstack, remove(s:allfolds,0))
let s:foldstack[0].id = s:foldId
endwhile
" Unless disabled, add a fold column for other lines.
"
" Note that dynamic folds require using css so we just use css to take
" care of the leading spaces rather than using &nbsp; in the case of
" html_no_pre to make it easier
if !exists("html_no_foldcolumn")
if empty(s:foldstack)
" add the empty foldcolumn for unfolded lines
let s:new = s:new . s:HtmlFormat(repeat(' ', s:foldcolumn), "FoldColumn")
else
" add the fold column for folds not on the opening line
if get(s:foldstack, 0).firstline < s:lnum
let s:new = s:new . "<a class='FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
let s:new = s:new . repeat('|', s:foldstack[0].level)
let s:new = s:new . repeat(' ', s:foldcolumn - s:foldstack[0].level) . "</a>"
endif
endif
endif
endif
" Now continue with the unfolded line text
if s:numblines if s:numblines
let s:new = s:HtmlFormat(s:new, "lnr") let s:new = s:new . s:HtmlFormat(s:numcol, "lnr")
endif endif
" Get the diff attribute, if any. " Get the diff attribute, if any.
@@ -380,7 +682,7 @@ while s:lnum <= s:end
while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
if s:len < &columns && !exists("html_no_pre") if s:len < &columns && !exists("html_no_pre")
" Add spaces at the end to mark the changed line. " Add spaces at the end to mark the changed line.
let s:line = s:line . repeat(' ', &columns - s:len) let s:line = s:line . repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
let s:len = &columns let s:len = &columns
endif endif
else else
@@ -393,11 +695,27 @@ while s:lnum <= s:end
" Expand tabs " Expand tabs
let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol) let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
let idx = stridx(s:expandedtab, "\t") let s:offset = 0
while idx >= 0 let s:idx = stridx(s:expandedtab, "\t")
let i = &ts - ((idx + s:startcol - 1) % &ts) while s:idx >= 0
let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '') if has("multi_byte_encoding")
let idx = stridx(s:expandedtab, "\t") if s:startcol + s:idx == 1
let s:i = &ts
else
if s:idx == 0
let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
else
let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
endif
let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
let s:i = &ts - (s:vcol % &ts)
endif
let s:offset -= s:i - 1
else
let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
endif
let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
let s:idx = stridx(s:expandedtab, "\t")
endwhile endwhile
" Output the text with the same synID, with class set to {s:id_name} " Output the text with the same synID, with class set to {s:id_name}
@@ -415,8 +733,22 @@ endwhile
" Finish with the last line " Finish with the last line
exe s:newwin . "wincmd w" exe s:newwin . "wincmd w"
if exists("s:html_dynamic_folds")
" finish off any open folds
while !empty(s:foldstack)
exe "normal! a</span></span>"
call remove(s:foldstack, 0)
endwhile
" add fold column to the style list if not already there
let s:id = hlID('FoldColumn')
if stridx(s:idlist, "," . s:id . ",") == -1
let s:idlist = s:idlist . s:id . ","
endif
endif
" Close off the font tag that encapsulates the whole <body> " Close off the font tag that encapsulates the whole <body>
if !exists("html_use_css") if !exists("s:html_use_css")
exe "normal! a</font>\e" exe "normal! a</font>\e"
endif endif
@@ -428,7 +760,7 @@ endif
" Now, when we finally know which, we define the colors and styles " Now, when we finally know which, we define the colors and styles
if exists("html_use_css") if exists("s:html_use_css")
1;/<style type="text/+1 1;/<style type="text/+1
endif endif
@@ -445,7 +777,7 @@ endif
" Normal/global attributes " Normal/global attributes
" For Netscape 4, set <body> attributes too, though, strictly speaking, it's " For Netscape 4, set <body> attributes too, though, strictly speaking, it's
" incorrect. " incorrect.
if exists("html_use_css") if exists("s:html_use_css")
if exists("html_no_pre") if exists("html_no_pre")
execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e" execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e"
else else
@@ -455,12 +787,12 @@ if exists("html_use_css")
execute "normal! ^cwbody\e" execute "normal! ^cwbody\e"
endif endif
else else
execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">' execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">'
endif endif
" Line numbering attributes " Line numbering attributes
if s:numblines if s:numblines
if exists("html_use_css") if exists("s:html_use_css")
execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e" execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
else else
execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g' execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
@@ -479,14 +811,14 @@ while s:idlist != ""
" If the class has some attributes, export the style, otherwise DELETE all " If the class has some attributes, export the style, otherwise DELETE all
" its occurences to make the HTML shorter " its occurences to make the HTML shorter
if s:attr != "" if s:attr != ""
if exists("html_use_css") if exists("s:html_use_css")
execute "normal! A\n." . s:id_name . " { " . s:attr . "}" execute "normal! A\n." . s:id_name . " { " . s:attr . "}"
else else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+' . s:HtmlOpening(s:id) . '\1' . s:HtmlClosing(s:id) . '+g' execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+' . s:HtmlOpening(s:id) . '\1' . s:HtmlClosing(s:id) . '+g'
endif endif
else else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+\1+ge' execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+\1+ge'
if exists("html_use_css") if exists("s:html_use_css")
1;/<style type="text/+1 1;/<style type="text/+1
endif endif
endif endif
@@ -531,16 +863,28 @@ endif
" Save a little bit of memory (worth doing?) " Save a little bit of memory (worth doing?)
unlet s:htmlfont unlet s:htmlfont
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc s:old_magic unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_magic
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:numblines unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:numblines
unlet s:orgwin s:newwin s:orgbufnr unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset
if !v:profiling if !v:profiling
delfunc s:HtmlColor delfunc s:HtmlColor
delfunc s:HtmlFormat delfunc s:HtmlFormat
delfunc s:CSS1 delfunc s:CSS1
if !exists("html_use_css") if !exists("s:html_use_css")
delfunc s:HtmlOpening delfunc s:HtmlOpening
delfunc s:HtmlClosing delfunc s:HtmlClosing
endif endif
endif endif
silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline s:firstfold s:foldcolumn
unlet s:foldstack s:allfolds s:foldId s:numcol
if exists("s:html_dynamic_folds")
delfunc s:FoldCompare
endif
silent! unlet s:html_dynamic_folds s:html_hover_unfold s:html_use_css
let &cpo = s:cpo_sav
unlet s:cpo_sav
" vim: noet sw=2 sts=2

Some files were not shown because too many files have changed in this diff Show More